Unreviewed, roll out http://trac.webkit.org/changeset/164493.
        
It causes crashes, apparently because it's removing too many barriers. I will investigate
later.

* bytecode/SpeculatedType.cpp:
(JSC::speculationToAbbreviatedString):
* bytecode/SpeculatedType.h:
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertStoreBarrier):
* dfg/DFGNode.h:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotNully):
(JSC::FTL::LowerDFGToLLVM::isNully):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateNotCell):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make it possible to set the visited link provider on a per page basis
https://bugs.webkit.org/show_bug.cgi?id=129288

Reviewed by Andreas Kling.

Source/WebCore:

* WebCore.exp.in:
Export symbols needed by WebKit2.

* WebCore.xcodeproj/project.pbxproj:
Make VisitedLinkProvider a private header.

* page/Page.cpp:
(WebCore::Page::Page):
Take the visited link provider from the PageClients object.

(WebCore::Page::visitedLinkProvider):
If the page has a visited link provider set, return it.

* page/Page.h:
Add VisitedLinkProvider to Page and PageClients.

Source/WebKit2:

Add WebVisitedLinkProvider which just calls the web process.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/WebVisitedLinkProvider.cpp: Added.
(WebKit::WebVisitedLinkProvider::create):
(WebKit::WebVisitedLinkProvider::WebVisitedLinkProvider):
(WebKit::WebVisitedLinkProvider::~WebVisitedLinkProvider):
(WebKit::WebVisitedLinkProvider::isLinkVisited):
(WebKit::WebVisitedLinkProvider::addVisitedLink):
* WebProcess/WebPage/WebVisitedLinkProvider.h: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JIT Engines use the wrong stack limit for stack checks
https://bugs.webkit.org/show_bug.cgi?id=129314

Reviewed by Filip Pizlo.

Change the Baseline and DFG code to use VM::m_stackLimit for stack limit checks.

* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileFunction):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
* jit/JITCall.cpp:
(JSC::JIT::compileLoadVarargs):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileLoadVarargs):
* runtime/VM.h:
(JSC::VM::addressOfStackLimit):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tighten bitfields in live NodeLists and HTMLCollections
https://bugs.webkit.org/show_bug.cgi?id=129300

Reviewed by Geoffrey Garen.

Reduce the number of bits used for m_rootType and m_type in LiveNodeList.
Also use enum class for LiveNodeList types. We keep "Type" suffix not to
confuse old-ish compilers.

* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::ClassNodeList):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getElementsByTagName):
(WebCore::ContainerNode::getElementsByName):
(WebCore::ContainerNode::getElementsByClassName):
(WebCore::ContainerNode::radioNodeList):
* dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::collectionFirst):
(WebCore::LiveNodeList::collectionTraverseForward):
* dom/LiveNodeList.h:
(WebCore::LiveNodeList::LiveNodeList):
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
* dom/NameNodeList.h:
(WebCore::NameNodeList::create):
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::namedNodeListKey):
* dom/TagNodeList.cpp:
(WebCore::HTMLTagNodeList::HTMLTagNodeList):
* dom/TagNodeList.h:
(WebCore::TagNodeList::create):
(WebCore::HTMLTagNodeList::create):
* html/HTMLCollection.h:
* html/LabelableElement.cpp:
(WebCore::LabelableElement::labels):
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::LabelsNodeList):
* html/LabelsNodeList.h:
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::RadioNodeList):
* html/RadioNodeList.h:
(WebCore::RadioNodeList::create):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MediaStream] Adding mock implementation of UserMediaClient
https://bugs.webkit.org/show_bug.cgi?id=129274

Reviewed by Eric Carlson.

* platform/mock/UserMediaClientMock.h: Added.
(WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier):
* testing/Internals.cpp:
(WebCore::Internals::Internals):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EME][Mac] Fix a few issues in CDMSessionMediaSourceAVFObjC.
https://bugs.webkit.org/show_bug.cgi?id=129310

Reviewed by Eric Carlson.

Only send a 'keyerror' event if an actual error code was returned, not just
when no key was added:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::addKeyTimerFired):

The 'length' parameter to a typed ArrayBufferView is the number of entries
in the array, not the byte length:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest):

The return value of streamingContentKeyRequestDataForApp:contentIdentifier:trackId:options:error
is autoreleased; do not wrap it in an adoptNS:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::update):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Added myself as a committer.

Unreviewed.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK build fix after r164652.

* GNUmakefile.list.am: Add WebVisitedLinkProvider build targets.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Grid Layout] Add ENABLE flag
https://bugs.webkit.org/show_bug.cgi?id=129153

Reviewed by Simon Fraser.

.:

Added the ENABLE_CSS_GRID_LAYOUT feature flag to the cmake and
autotools build systems. The feature is disabled by default for
production builds.

* Source/autotools/SetupWebKitFeatures.m4:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: added ENABLE_CSS_GRID_LAYOUT feature flag.

Source/WebCore:

Added ENABLE_CSS_GRID_LAYOUT feature flag.

* Configurations/FeatureDefines.xcconfig:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSGridTemplateAreasValue.cpp:
* css/CSSGridTemplateAreasValue.h:
* css/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSParser.h:
* css/CSSParserMode.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSPropertyNames.in:
* css/CSSValue.cpp:
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue):
* css/StylePropertyShorthand.cpp:
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
* css/StyleResolver.cpp:
(WebCore::equivalentBlockDisplay):
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::applyProperty):
* css/StyleResolver.h:
* dom/Document.cpp:
* dom/Document.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
* rendering/RenderGrid.cpp:
* rendering/RenderGrid.h:
* rendering/style/GridCoordinate.h:
* rendering/style/GridLength.h:
* rendering/style/GridPosition.h:
* rendering/style/GridTrackSize.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleAllInOne.cpp:
* rendering/style/StyleGridData.cpp:
* rendering/style/StyleGridData.h:
* rendering/style/StyleGridItemData.cpp:
* rendering/style/StyleGridItemData.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:

Source/WebKit/mac:

Added ENABLE_CSS_GRID_LAYOUT feature flag.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Added ENABLE_CSS_GRID_LAYOUT feature flag.

* Configurations/FeatureDefines.xcconfig:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

Added ENABLE_CSS_GRID_LAYOUT feature flag. It's on by default for
all ports for developer builds.

* Scripts/webkitperl/FeatureList.pm:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@164659 268f45cc-cd09-0410-ab3c-d52691b4dbfc