Remove more unnecessary #if PLATFORM(IOS)s in ApplicationCacheStorage.cpp
[WebKit-https.git] / Source / WebCore / ChangeLog
index 9a9930d..aea1015 100644 (file)
+2014-01-25  Sam Weinig  <sam@webkit.org>
+
+        Remove more unnecessary #if PLATFORM(IOS)s in ApplicationCacheStorage.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=127635
+
+        Reviewed by Antti Koivisto.
+
+        * loader/appcache/ApplicationCacheStorage.cpp:
+        (WebCore::ApplicationCacheStorage::executeSQLCommand):
+        (WebCore::ApplicationCacheStorage::verifySchemaVersion):
+        (WebCore::ApplicationCacheStorage::executeStatement):
+        (WebCore::ApplicationCacheStorage::store):
+        (WebCore::ApplicationCacheStorage::ensureOriginRecord):
+        (WebCore::ApplicationCacheStorage::loadCache):
+
+2014-01-25  Sam Weinig  <sam@webkit.org>
+
+        Remove some iOS #ifdefs by adding SQLiteDatabaseTracker to all the builds
+        https://bugs.webkit.org/show_bug.cgi?id=127632
+
+        Reviewed by Darin Adler.
+
+        Move the SQLiteDatabaseTracker and client from platform/sql/ios to platform/sql,
+        as there is nothing iOS specific about it. Then, un-#ifdef all its uses. For
+        ports that don't setup a client, this has no change in behavior.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * Modules/webdatabase/DatabaseBackendBase.cpp:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * loader/appcache/ApplicationCacheStorage.cpp:
+        * platform/ScrollableArea.h:
+        (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded):
+        * platform/sql/SQLiteDatabaseTracker.cpp: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp.
+        * platform/sql/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h.
+        * platform/sql/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h.
+        * platform/sql/ios: Removed.
+        * platform/sql/ios/SQLiteDatabaseTracker.cpp: Removed.
+        * platform/sql/ios/SQLiteDatabaseTracker.h: Removed.
+        * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Removed.
+        * storage/StorageAreaSync.cpp:
+        (WebCore::StorageAreaSync::openDatabase):
+        (WebCore::StorageAreaSync::sync):
+        * storage/StorageTracker.cpp:
+
+2014-01-25  Anders Carlsson  <andersca@apple.com>
+
+        Remove an unused FrameLoaderClient function
+        https://bugs.webkit.org/show_bug.cgi?id=127628
+
+        Reviewed by Andreas Kling.
+
+        All implementations of FrameLoaderClient::shouldStopLoadingForHistoryItem return true and this function
+        was only used by Chromium so we can get rid of it.
+
+        * loader/EmptyClients.h:
+        * loader/FrameLoaderClient.h:
+        * loader/HistoryController.cpp:
+        (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
+
+2014-01-25  Darin Adler  <darin@apple.com>
+
+        Call deprecatedCharacters instead of characters at more call sites
+        https://bugs.webkit.org/show_bug.cgi?id=127631
+
+        Reviewed by Sam Weinig.
+
+        * bindings/objc/WebScriptObject.mm:
+        (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
+        * editing/CompositeEditCommand.cpp:
+        (WebCore::containsOnlyWhitespace):
+        * editing/TypingCommand.cpp:
+        (WebCore::TypingCommand::insertText):
+        * editing/VisibleUnits.cpp:
+        (WebCore::startOfParagraph):
+        (WebCore::endOfParagraph):
+        * html/parser/HTMLParserIdioms.cpp:
+        (WebCore::stripLeadingAndTrailingHTMLSpaces):
+        (WebCore::parseHTMLNonNegativeInteger):
+        * inspector/InspectorStyleSheet.cpp:
+        (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
+        * inspector/InspectorStyleTextEditor.cpp:
+        (WebCore::InspectorStyleTextEditor::insertProperty):
+        (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
+        * platform/Length.cpp:
+        (WebCore::newCoordsArray):
+        * platform/LinkHash.cpp:
+        (WebCore::visitedLinkHash):
+        * platform/graphics/Color.cpp:
+        (WebCore::Color::parseHexColor):
+        (WebCore::Color::Color):
+        * platform/graphics/TextRun.h:
+        (WebCore::TextRun::TextRun):
+        * platform/text/TextEncodingRegistry.cpp:
+        (WebCore::atomicCanonicalTextEncodingName):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::constructTextRun):
+        * rendering/RenderCombineText.cpp:
+        (WebCore::RenderCombineText::width):
+        * svg/SVGFontElement.cpp:
+        (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
+        * xml/XPathFunctions.cpp:
+        (WebCore::XPath::FunId::evaluate):
+        Use the new name.
+
+2014-01-25  Darin Adler  <darin@apple.com>
+
+        Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
+        https://bugs.webkit.org/show_bug.cgi?id=127623
+
+        Reviewed by Anders Carlsson.
+
+        * CMakeLists.txt: Removed SmartReplaceICU.cpp.
+        * GNUmakefile.list.am: Ditto.
+        * PlatformEfl.cmake: Ditto.
+        * PlatformGTK.cmake: Ditto.
+
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::modifyMovingRight): Ditto.
+        (WebCore::FrameSelection::modifyMovingLeft): Ditto.
+
+        * editing/SmartReplace.cpp: Moved code here from SmartReplaceICU,
+        since we always support ICU now. Added some FIXME comments about
+        bugs and mistakes I spotted in the code as I was moving it.
+        * editing/SmartReplaceICU.cpp: Removed.
+
+        * editing/TextIterator.cpp: Removed unneeded checks.
+        * platform/ThreadGlobalData.cpp:
+        (WebCore::ThreadGlobalData::ThreadGlobalData): Ditto.
+        (WebCore::ThreadGlobalData::destroy): Ditto.
+        * platform/ThreadGlobalData.h: Ditto.
+        * platform/URL.cpp:
+        (WebCore::appendEncodedHostname): Ditto.
+        * platform/graphics/SurrogatePairAwareTextIterator.cpp: Ditto.
+        Also removed unneeded "using namespace".
+        * platform/text/TextCodecICU.cpp: Ditto.
+        * platform/text/TextEncoding.cpp:
+        (WebCore::TextEncoding::encode): Ditto.
+        * platform/text/TextEncodingRegistry.cpp:
+        (WebCore::extendTextCodecMaps): Ditto.
+
+2014-01-25  Darin Adler  <darin@apple.com>
+
+        Get rid of UnicodeRange.h/cpp, using ICU instead
+        https://bugs.webkit.org/show_bug.cgi?id=127622
+
+        Reviewed by Anders Carlsson.
+
+        * CMakeLists.txt: Remove UnicodeRange.h/cpp.
+        * GNUmakefile.list.am: Ditto.
+        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
+        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
+        * WebCore.xcodeproj/project.pbxproj: Ditto.
+
+        * platform/graphics/win/FontCacheWin.cpp:
+        (WebCore::FontCache::systemFallbackForCharacters): To check if a character has
+        multiple code pages, use UCHAR_UNIFIED_IDEOGRAPH instead of cRangeSetCJK.
+        * platform/graphics/wince/FontCacheWinCE.cpp:
+        (WebCore::FontCache::systemFallbackForCharacters): Ditto. Also, to check if a
+        character is in the Thai block, use UBLOCK_THAI.
+
+        * platform/graphics/wince/FontPlatformData.cpp: Removed include of UnicodeRange.h.
+
+        * platform/text/UnicodeRange.cpp: Removed.
+        * platform/text/UnicodeRange.h: Removed.
+
+        * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
+        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): To figure
+        out if a character is full width, use UCHAR_EAST_ASIAN_WIDTH, instead of hard-coding
+        "not Latin or Arabic" as the rule.
+
+2014-01-25  Tim Horton  <timothy_horton@apple.com>
+
+        Remove an unnecessary platform #if in BitmapImage(CG)::checkForSolidColor()
+        https://bugs.webkit.org/show_bug.cgi?id=127610
+
+        Reviewed by Simon Fraser.
+
+        * platform/graphics/cg/BitmapImageCG.cpp:
+        (WebCore::BitmapImage::checkForSolidColor):
+        Over time, the two sides of this #if !PLATFORM(IOS) converged. Remove the #if
+        and merge the code. We explicitly use kCGBitmapByteOrder32Big to be correct everywhere.
+
+2014-01-25  Tim Horton  <timothy_horton@apple.com>
+
+        [cg] Look in the PNG dictionary for image duration information
+        https://bugs.webkit.org/show_bug.cgi?id=127611
+        <rdar://problem/15408643>
+
+        Reviewed by Simon Fraser.
+
+        We should look in the PNG properties dictionary for frame duration and loop count data.
+
+        * platform/graphics/cg/ImageSourceCG.cpp:
+        (WebCore::ImageSource::repetitionCount):
+        Mush repetitionCount a bit more to make it easier to read (early returns, etc.)
+        Also, look in the PNG properties dictionary for a loop count.
+
+        (WebCore::ImageSource::frameDurationAtIndex):
+        Look in the PNG properties dictionary for delay time.
+        Get rid of WebCoreCGImagePropertyGIFUnclampedDelayTime; it hasn't
+        been needed since Snow Leopard.
+
+2014-01-25  Anders Carlsson  <andersca@apple.com>
+
+        Remove atomicIncrement/atomicDecrement
+        https://bugs.webkit.org/show_bug.cgi?id=127625
+
+        Reviewed by Andreas Kling.
+
+        Replace atomicIncrement/atomicDecrement with std::atomic.
+
+        * Modules/webaudio/AudioContext.cpp:
+        (WebCore::AudioContext::incrementActiveSourceCount):
+        (WebCore::AudioContext::decrementActiveSourceCount):
+        * Modules/webaudio/AudioContext.h:
+        * Modules/webaudio/AudioNode.cpp:
+        (WebCore::AudioNode::~AudioNode):
+        (WebCore::AudioNode::ref):
+        (WebCore::AudioNode::finishDeref):
+        * Modules/webaudio/AudioNode.h:
+        * Modules/webdatabase/OriginLock.h:
+
+2014-01-25  Alex Christensen  <achristensen@webkit.org>
+
+        Unreviewed build fix for WinCairo.
+
+        * platform/network/curl/CurlDownload.h:
+        Included wtf/Threading.h for ThreadIdentifier definition.
+
+2014-01-25  Anders Carlsson  <andersca@apple.com>
+
+        Modernize HashTable threading code
+        https://bugs.webkit.org/show_bug.cgi?id=127621
+
+        Reviewed by Darin Adler.
+
+        Explicitly include headers that used to be brought in by HashTable.h
+
+        * platform/DragData.h:
+        Change a Windows-specific typedef to avoid having to include WindDef.h from a header.
+
+        * platform/audio/AudioSession.h:
+        * platform/network/cf/SocketStreamHandle.h:
+
+2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
+
+        Move CSSGroupingRule, CSSStyleSheet, ElementRuleCollector to std::unique_ptr
+        https://bugs.webkit.org/show_bug.cgi?id=127575
+
+        Reviewed by Andreas Kling.
+
+        Use std::unique_ptr and std::make_unique in place of OwnPtr and adoptPtr
+        in the CSSGroupingRule, CSSStyleSheet and ElementRuleCollector classes.
+
+        * css/CSSFunctionValue.cpp: Remove the unnecessary PassOwnPtr header inclusion.
+        * css/CSSGroupingRule.cpp:
+        (WebCore::CSSGroupingRule::cssRules):
+        * css/CSSGroupingRule.h:
+        * css/CSSStyleSheet.cpp:
+        (WebCore::CSSStyleSheet::cssRules):
+        * css/CSSStyleSheet.h:
+        * css/ElementRuleCollector.cpp:
+        (WebCore::ElementRuleCollector::addMatchedRule):
+        * css/ElementRuleCollector.h:
+
+2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
+
+        Move MediaQueryMatcher, SelectorFilter to std::unique_ptr
+        https://bugs.webkit.org/show_bug.cgi?id=127574
+
+        Reviewed by Andreas Kling.
+
+        Replace the use of OwnPtr and adoptPtr with std::unique_ptr and std::make_unique
+        in the MediaQueryMatcher and SelectorFilter classes.
+
+        * css/MediaQueryMatcher.cpp:
+        (WebCore::MediaQueryMatcher::prepareEvaluator):
+        (WebCore::MediaQueryMatcher::evaluate):
+        (WebCore::MediaQueryMatcher::addListener):
+        (WebCore::MediaQueryMatcher::styleResolverChanged):
+        * css/MediaQueryMatcher.h:
+        * css/SelectorFilter.cpp:
+        (WebCore::SelectorFilter::popParentStackFrame):
+        (WebCore::SelectorFilter::setupParentStack):
+        * css/SelectorFilter.h:
+
+2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
+
+        Move PropertySetCSSStyleDeclaration, WebKitCSSKeyframesRule to std::unique_ptr
+        https://bugs.webkit.org/show_bug.cgi?id=127572
+
+        Reviewed by Andreas Kling.
+
+        Switch the PropertySetCSSStyleDeclaration and WebKitCSSKeyframesRule classes from using
+        OwnPtr and adoptPtr to using std::unique_ptr and std::make_unique.
+
+        * css/PropertySetCSSStyleDeclaration.cpp:
+        (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
+        (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
+        (WebCore::InlineCSSStyleDeclaration::didMutate):
+        * css/PropertySetCSSStyleDeclaration.h:
+        * css/WebKitCSSKeyframesRule.cpp:
+        (WebCore::WebKitCSSKeyframesRule::cssRules):
+        * css/WebKitCSSKeyframesRule.h:
+
+2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
+
+        Move StyleProperties, StyleResolver to std::unique_ptr
+        https://bugs.webkit.org/show_bug.cgi?id=127570
+
+        Reviewed by Andreas Kling.
+
+        Move the StyleProperties and StyleResolver classes from using OwnPtr and adoptPtr
+        to using std::unique_ptr and std::make_unique.
+
+        * css/StyleInvalidationAnalysis.h: Remove the PassOwnPtr.h header inclusion.
+        * css/StyleProperties.cpp:
+        (WebCore::MutableStyleProperties::ensureCSSStyleDeclaration):
+        (WebCore::MutableStyleProperties::ensureInlineCSSStyleDeclaration):
+        * css/StyleProperties.h:
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::StyleResolver):
+        (WebCore::StyleResolver::addViewportDependentMediaQueryResult):
+        * css/StyleResolver.h:
+        * css/StyleScopeResolver.h:
+
+2014-01-25  Zan Dobersek  <zdobersek@igalia.com>
+
+        Move CSSFontFace, CSSFontSelector to std::unique_ptr
+        https://bugs.webkit.org/show_bug.cgi?id=127569
+
+        Reviewed by Andreas Kling.
+
+        Move the CSSFontFace and CSSFontSelector classes from using OwnPtr, PassOwnPtr and adoptPtr
+        to using std::unique_ptr, move semantics and std::make_unique.
+
+        * css/CSSFontFace.cpp:
+        (WebCore::CSSFontFace::addSource):
+        * css/CSSFontFace.h:
+        * css/CSSFontSelector.cpp:
+        (WebCore::CSSFontSelector::addFontFaceRule):
+        (WebCore::CSSFontSelector::getFontFace):
+        * css/CSSFontSelector.h:
+
+2014-01-24  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Move InspectorRuntimeAgent into JavaScriptCore
+        https://bugs.webkit.org/show_bug.cgi?id=127605
+
+        Reviewed by Timothy Hatcher.
+
+        Covered by existing tests. No change in functionality.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * inspector/InspectorAllInOne.cpp:
+        Remove WebCore InspectorRuntimeAgent.
+
+        * ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h: Added.
+        Add JavaScriptCore InspectorRuntimeAgent.
+
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::InspectorController):
+        * inspector/WorkerInspectorController.h:
+        * inspector/WorkerInspectorController.cpp:
+        (WebCore::WorkerInspectorController::WorkerInspectorController):
+        New constructors for the runtime agent.
+
+        * inspector/PageRuntimeAgent.h:
+        * inspector/PageRuntimeAgent.cpp:
+        (WebCore::PageRuntimeAgent::PageRuntimeAgent):
+        (WebCore::PageRuntimeAgent::enable):
+        (WebCore::PageRuntimeAgent::disable):
+        (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
+        (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
+        (WebCore::PageRuntimeAgent::globalVM):
+        Modernize and implement globalVM.
+
+        * inspector/WorkerRuntimeAgent.h:
+        * inspector/WorkerRuntimeAgent.cpp:
+        (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
+        (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
+        (WebCore::WorkerRuntimeAgent::globalVM):
+        Modernize and implement globalVM.
+
+2014-01-25  Diego Pino Garcia  <dpino@igalia.com>
+
+        [GTK] Add parameters from 'DOM Object Model Core' spec and 'DOM CSS' spec that can be NULL
+
+        https://bugs.webkit.org/show_bug.cgi?id=117536
+
+        Reviewed by Xan Lopez.
+
+        * bindings/scripts/CodeGeneratorGObject.pm:
+        (ParamCanBeNull): Add new pairs (function, parameter) that can be NULL
+
+2014-01-25  Anders Carlsson  <andersca@apple.com>
+
+        Get rid of BackForwardController::isActive()
+        https://bugs.webkit.org/show_bug.cgi?id=127604
+
+        Reviewed by Sam Weinig.
+
+        BackForwardController::isActive() used to mean "my page maintains a back forward
+        list that has zero capacity". Move that logic into WebKit instead, namely the
+        WebFrameLoaderClient::canCachePage function so we can simplify WebCore.
+
+        * history/BackForwardClient.h:
+        * history/BackForwardController.cpp:
+        * history/BackForwardController.h:
+        * history/BackForwardList.h:
+        * history/PageCache.cpp:
+        (WebCore::logCanCachePageDecision):
+        (WebCore::PageCache::canCache):
+
+2014-01-25  Antti Koivisto  <antti@apple.com>
+
+        REGRESSION(r162744): wsj.com paints white
+        https://bugs.webkit.org/show_bug.cgi?id=127619
+
+        Reviewed by Sam Weinig.
+
+        Test: fast/css/stylesheet-layout-with-pending-paint.html
+
+        * dom/Document.cpp:
+        (WebCore::Document::styleResolverChanged):
+        
+            Ensure we switch out from IgnoreLayoutWithPendingSheets state after stylesheet loads complete.
+
+2014-01-24  Dan Bernstein  <mitz@apple.com>
+
+        Reverted r162760. It broke more things.
+
+        * WebCore.exp.in:
+
+2014-01-24  Dan Bernstein  <mitz@apple.com>
+
+        Try to fix some 32-bit builds.
+
+        * WebCore.exp.in:
+
+2014-01-24  Jinwoo Song  <jinwoo7.song@samsung.com>
+
+        [EFL] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed in WebCore/platform/efl
+        https://bugs.webkit.org/show_bug.cgi?id=127607
+
+        Reviewed by Anders Carlsson.
+
+        * platform/efl/EflKeyboardUtilities.cpp:
+        (WebCore::keyMap): Use NeverDestroyed instead of DEFINE_STATIC_LOCAL.
+        (WebCore::windowsKeyMap): Ditto.
+        (WebCore::keyDownCommandsMap): Ditto.
+        (WebCore::keyPressCommandsMap): Ditto.
+        * platform/efl/GamepadsEfl.cpp:
+        (WebCore::sampleGamepads): Ditto.
+        * platform/efl/RenderThemeEfl.cpp:
+        (WebCore::RenderThemeEfl::systemFont): Do not use unnecessary DEFINE_STATIC_LOCAL.
+
+2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
+        https://bugs.webkit.org/show_bug.cgi?id=127543
+
+        Reviewed by Geoffrey Garen.
+
+        Covered by existing tests.
+
+        * ForwardingHeaders/inspector/ScriptDebugServer.h: Added.
+        * GNUmakefile.list.am:
+        * UseJSC.cmake:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/JSBindingsAllInOne.cpp:
+        * inspector/JavaScriptCallFrame.idl: Removed.
+        Update builds now that ScriptDebugServer moved to JavaScriptCore.
+
+        * bindings/js/PageScriptDebugServer.h:
+        * bindings/js/PageScriptDebugServer.cpp:
+        (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
+        (WebCore::PageScriptDebugServer::isContentScript):
+        (WebCore::PageScriptDebugServer::reportException):
+        * bindings/js/WorkerScriptDebugServer.h:
+        * bindings/js/WorkerScriptDebugServer.cpp:
+        (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
+        (WebCore::WorkerScriptDebugServer::reportException):
+        Handle ScriptDebugServer functionality depending on WebCore knowledge.
+
+        * inspector/InspectorDebuggerAgent.h:
+        * inspector/InspectorDebuggerAgent.cpp:
+        (WebCore::InspectorDebuggerAgent::breakpointActionSound):
+        Handle ScriptDebugServer functionality that depended on WebCore knowledge.
+        This will eventually be written in a non-WebCore specific way.
+
+        * inspector/InspectorRuntimeAgent.cpp:
+        * inspector/InspectorRuntimeAgent.h:
+        Update ScriptDebugServer type now that it is in namespace Inspector.
+
+        * workers/WorkerGlobalScope.h:
+        Make addConsoleMessage public again so the inspector can call it.
+
+        * inspector/PageDebuggerAgent.cpp:
+        (WebCore::PageDebuggerAgent::breakpointActionLog):
+        * inspector/PageDebuggerAgent.h:
+        * inspector/WorkerDebuggerAgent.cpp:
+        (WebCore::WorkerDebuggerAgent::breakpointActionLog):
+        * inspector/WorkerDebuggerAgent.h:
+        Let each of these handle console logs in their own way. Both of these
+        eventually go through the PageConsole and log through the InspectorConsoleAgent
+        and ChromeClient.
+
+2014-01-24  Brent Fulgham  <bfulgham@apple.com>
+
+        Improve latching behavior for wheel events
+        https://bugs.webkit.org/show_bug.cgi?id=127386
+        <rdar://problem/12176858>
+
+        Reviewed by Simon Fraser.
+
+        * page/scrolling/ScrollingTree.cpp:
+        (WebCore::ScrollingTree::ScrollingTree): Initialize new values used for tracking
+        scroll latching state.
+        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
+        latched node and stay in fast scrolling mode if possible.
+        (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
+        (WebCore::ScrollingTree::latchedNode): Added
+        (WebCore::ScrollingTree::setLatchedNode): Added
+        (WebCore::ScrollingTree::clearLatchedNode): Added
+        * page/scrolling/ScrollingTree.h:
+        (WebCore::ScrollingTree::hasLatchedNode): Added
+        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
+        (WebCore::shouldConsiderLatching): Added
+        (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
+        based on wheel event state and position of mouse pointer in the document.
+
+2014-01-24  Anders Carlsson  <andersca@apple.com>
+
+        Another attempted build fix.
+
+        Use wildcards in the the std::duration symbol.
+
+        * WebCore.exp.in:
+
+2014-01-24  Simon Fraser  <simon.fraser@apple.com>
+
+        Start using the RemoteScrollingCoordinatorProxy on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=127598
+
+        Reviewed by Tim Horton.
+
+        Add a scrollPositionChangedViaDelegatedScrolling() function to
+        ScrollingTree, allowing the ScrollingTree to be informed about
+        external sources of scrolling.
+        
+        Also add a convenience getter for nodes, nodeForID().
+
+        * WebCore.exp.in:
+        * page/scrolling/ScrollingTree.cpp:
+        (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
+        (WebCore::ScrollingTree::nodeForID):
+        * page/scrolling/ScrollingTree.h:
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
+        To avoid assertions on iOS, bail from iOS WK1 fixed position code if
+        we have a ScrollingCoordinator.
+        (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
+        Ditto.
+
+2014-01-24  Simon Fraser  <simon.fraser@apple.com>
+
+        Add typesafe casts for ScrollingTreeNode classes
+        https://bugs.webkit.org/show_bug.cgi?id=127597
+
+        Reviewed by Tim Horton.
+
+        Add a ScrollingNodeType member to ScrollingTreeNodes and
+        use it for type-safe casting.
+
+        * page/scrolling/ScrollingTreeNode.cpp:
+        (WebCore::ScrollingTreeNode::ScrollingTreeNode):
+        * page/scrolling/ScrollingTreeNode.h:
+        (WebCore::ScrollingTreeNode::nodeType):
+        (WebCore::ScrollingTreeNode::scrollingNodeID):
+        * page/scrolling/ScrollingTreeScrollingNode.cpp:
+        (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
+        * page/scrolling/ScrollingTreeScrollingNode.h:
+        * page/scrolling/mac/ScrollingTreeFixedNode.h:
+        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
+        (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
+        * page/scrolling/mac/ScrollingTreeStickyNode.h:
+        * page/scrolling/mac/ScrollingTreeStickyNode.mm:
+        (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
+
+2014-01-24  Anders Carlsson  <andersca@apple.com>
+
+        Remove back/forward list related functions from Page
+        https://bugs.webkit.org/show_bug.cgi?id=127596
+
+        Reviewed by Andreas Kling.
+
+        * WebCore.exp.in:
+        * history/BackForwardController.cpp:
+        (WebCore::BackForwardController::canGoBackOrForward):
+        (WebCore::BackForwardController::goBackOrForward):
+        (WebCore::BackForwardController::goBack):
+        (WebCore::BackForwardController::goForward):
+        (WebCore::BackForwardController::count):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::defaultBackspaceEventHandler):
+        * page/Page.cpp:
+        * page/Page.h:
+
+2014-01-24  Antti Koivisto  <antti@apple.com>
+
+        Update style asynchronously after style sheet load
+        https://bugs.webkit.org/show_bug.cgi?id=127563
+
+        Reviewed by Andreas Kling.
+        
+        Since we don't attach synchronously we don't need to recalc style synchronously either.
+
+        * dom/Document.cpp:
+        (WebCore::Document::didRemoveAllPendingStylesheet):
+
+2014-01-24  Zalan Bujtas  <zalan@apple.com>
+
+        Subpixel layout: Default style of input type=checkbox/radio (0.5ex) adds 1px extra margin on both left and right.
+        https://bugs.webkit.org/show_bug.cgi?id=125728
+
+        Reviewed by Simon Fraser.
+
+        Using the 0.5ex value to set checkbox/radio left and right margins is a long-standing
+        (khtml) behavior. While it indicates dynamic behavior, in order to get the margins changed,
+        the widget's font size needs to be set, which is rather rare for such input types.
+        It also results in odd layout, where the checkbox's indentation may seem to change randomly.
+
+        '<input style="font-size: 30px;" type="checkbox">foo' changes neither the checkbox
+        nor the text size, but it indents the line by about 15px.
+
+        Other browsers (FF, Opera with Presto) disagree and they set static margins values.
+        2px is the current default computed value.
+
+        * css/html.css:
+        (input[type="radio"], input[type="checkbox"]):
+
+2014-01-24  Oliver Hunt  <oliver@apple.com>
+
+        Put functions need to take a base object and a this value, and perform type checks on |this|
+        https://bugs.webkit.org/show_bug.cgi?id=127594
+
+        Reviewed by Geoffrey Garen.
+
+        Update bindings generator to emit setters with correct type, and perform
+        type checks on |this|, instead of the baseObject.
+
+        Test: js/dom/dom-as-prototype-assignment-exception.html
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateHeader):
+        (GenerateImplementation):
+        (GenerateHashTable):
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+        * bindings/scripts/test/JS/JSTestException.cpp:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+        * bindings/scripts/test/JS/JSTestInterface.cpp:
+        (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
+        (WebCore::setJSTestInterfaceImplementsStr2):
+        (WebCore::setJSTestInterfaceImplementsStr3):
+        (WebCore::setJSTestInterfaceImplementsNode):
+        (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
+        (WebCore::setJSTestInterfaceSupplementalStr2):
+        (WebCore::setJSTestInterfaceSupplementalStr3):
+        (WebCore::setJSTestInterfaceSupplementalNode):
+        * bindings/scripts/test/JS/JSTestInterface.h:
+        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestNode.cpp:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        (WebCore::setJSTestObjConstructorStaticStringAttr):
+        (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
+        (WebCore::setJSTestObjEnumAttr):
+        (WebCore::setJSTestObjByteAttr):
+        (WebCore::setJSTestObjOctetAttr):
+        (WebCore::setJSTestObjShortAttr):
+        (WebCore::setJSTestObjUnsignedShortAttr):
+        (WebCore::setJSTestObjLongAttr):
+        (WebCore::setJSTestObjLongLongAttr):
+        (WebCore::setJSTestObjUnsignedLongLongAttr):
+        (WebCore::setJSTestObjStringAttr):
+        (WebCore::setJSTestObjTestObjAttr):
+        (WebCore::setJSTestObjXMLObjAttr):
+        (WebCore::setJSTestObjCreate):
+        (WebCore::setJSTestObjReflectedStringAttr):
+        (WebCore::setJSTestObjReflectedIntegralAttr):
+        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
+        (WebCore::setJSTestObjReflectedBooleanAttr):
+        (WebCore::setJSTestObjReflectedURLAttr):
+        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
+        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
+        (WebCore::setJSTestObjReflectedCustomURLAttr):
+        (WebCore::setJSTestObjTypedArrayAttr):
+        (WebCore::setJSTestObjAttrWithGetterException):
+        (WebCore::setJSTestObjAttrWithSetterException):
+        (WebCore::setJSTestObjStringAttrWithGetterException):
+        (WebCore::setJSTestObjStringAttrWithSetterException):
+        (WebCore::setJSTestObjCustomAttr):
+        (WebCore::setJSTestObjWithScriptStateAttribute):
+        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
+        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
+        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
+        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
+        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
+        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
+        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
+        (WebCore::setJSTestObjConditionalAttr1):
+        (WebCore::setJSTestObjConditionalAttr2):
+        (WebCore::setJSTestObjConditionalAttr3):
+        (WebCore::setJSTestObjConditionalAttr4Constructor):
+        (WebCore::setJSTestObjConditionalAttr5Constructor):
+        (WebCore::setJSTestObjConditionalAttr6Constructor):
+        (WebCore::setJSTestObjAnyAttribute):
+        (WebCore::setJSTestObjMutablePoint):
+        (WebCore::setJSTestObjImmutablePoint):
+        (WebCore::setJSTestObjStrawberry):
+        (WebCore::setJSTestObjStrictFloat):
+        (WebCore::setJSTestObjId):
+        (WebCore::setJSTestObjReplaceableAttribute):
+        (WebCore::setJSTestObjNullableLongSettableAttribute):
+        (WebCore::setJSTestObjNullableStringValue):
+        (WebCore::setJSTestObjAttributeWithReservedEnumType):
+        * bindings/scripts/test/JS/JSTestObj.h:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
+        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+        (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
+        (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
+        (WebCore::setJSTestTypedefsAttrWithGetterException):
+        (WebCore::setJSTestTypedefsAttrWithSetterException):
+        (WebCore::setJSTestTypedefsStringAttrWithGetterException):
+        (WebCore::setJSTestTypedefsStringAttrWithSetterException):
+        * bindings/scripts/test/JS/JSTestTypedefs.h:
+        * bindings/scripts/test/JS/JSattribute.cpp:
+        * bindings/scripts/test/JS/JSreadonly.cpp:
+
+2014-01-24  Oliver Hunt  <oliver@apple.com>
+
+        Generic JSObject::put should handle static properties in the classinfo hierarchy
+        https://bugs.webkit.org/show_bug.cgi?id=127523
+
+        Reviewed by Geoffrey Garen.
+
+        Update the bindings generator to emit the flag indicating the presence
+        of setters, and remove the many (now unnecessary) put overrides.
+        Tested with run-jsc-benchmarks and shows neutral performance. A few of the
+        micro benchmarks actually get a significant performance increase which
+        is nice.
+
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::JSDOMWindow::put):
+            We still need a custom call to lookupPut here in order
+            to get the magic security semantics of the window object.
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (hashTableAccessor):
+        (prototypeHashTableAccessor):
+        (constructorHashTableAccessor):
+        (GenerateImplementation):
+        (GenerateHashTable):
+        (GenerateConstructorHelperMethods):
+
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::JSDOMWindow::put):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (hashTableAccessor):
+        (prototypeHashTableAccessor):
+        (constructorHashTableAccessor):
+        (InstanceOverridesPutImplementation):
+        (InstanceOverridesPutDeclaration):
+        (GenerateHeader):
+        (GenerateImplementation):
+        (GenerateHashTable):
+        (GenerateConstructorHelperMethods):
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+        * bindings/scripts/test/JS/JSTestException.cpp:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+        * bindings/scripts/test/JS/JSTestInterface.cpp:
+        (WebCore::JSTestInterface::put):
+        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestNode.cpp:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        * bindings/scripts/test/JS/JSTestObj.h:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+        * bindings/scripts/test/JS/JSTestTypedefs.h:
+        * bindings/scripts/test/JS/JSattribute.cpp:
+        * bindings/scripts/test/JS/JSreadonly.cpp:
+        * html/canvas/WebGLRenderingContext.idl:
+          Remove bogus attribute, as it has never been in the spec and should not
+          have been added.
+
+2014-01-24  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r162713.
+        http://trac.webkit.org/changeset/162713
+        https://bugs.webkit.org/show_bug.cgi?id=127593
+
+        broke media/network-no-source-const-shadow (Requested by
+        thorton on #webkit).
+
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::JSDOMWindow::put):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (hashTableAccessor):
+        (prototypeHashTableAccessor):
+        (constructorHashTableAccessor):
+        (GenerateHeader):
+        (GenerateImplementation):
+        (GenerateHashTable):
+        (GenerateConstructorHelperMethods):
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+        * bindings/scripts/test/JS/JSTestException.cpp:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+        * bindings/scripts/test/JS/JSTestInterface.cpp:
+        (WebCore::JSTestInterface::put):
+        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestNode.cpp:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        (WebCore::JSTestObj::put):
+        * bindings/scripts/test/JS/JSTestObj.h:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+        (WebCore::JSTestSerializedScriptValueInterface::put):
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+        (WebCore::JSTestTypedefs::put):
+        * bindings/scripts/test/JS/JSTestTypedefs.h:
+        * bindings/scripts/test/JS/JSattribute.cpp:
+        * bindings/scripts/test/JS/JSreadonly.cpp:
+        * html/canvas/WebGLRenderingContext.idl:
+
+2014-01-24  Zalan Bujtas  <zalan@apple.com>
+
+        Replace LayoutUnit() calls to a more descriptive LayoutUnit::fromPixel(int).
+        https://bugs.webkit.org/show_bug.cgi?id=127580
+
+        Reviewed by Simon Fraser.
+
+        LayoutUnit(1) statement is ambiguous. While it is intended to set one (CSS) pixel, it
+        could be interpreted as 1 layout unit (1/64th of a CSS pixel atm).
+
+        No change in behavior.
+
+        * inspector/InspectorOverlay.cpp:
+        (WebCore::buildObjectForRegionHighlight):
+        * rendering/FloatingObjects.cpp:
+        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::layoutShapeInsideInfo):
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::RenderBlockFlow::collapseMargins):
+        * rendering/RenderFlexibleBox.cpp:
+        (WebCore::RenderFlexibleBox::mainAxisContentExtent):
+        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
+        (WebCore::RenderFlexibleBox::alignChildren):
+        * rendering/RenderMultiColumnFlowThread.cpp:
+        (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
+        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
+
+2014-01-24  Simon Fraser  <simon.fraser@apple.com>
+
+        Prepare scrolling tree to handle > 1 scrolling node
+        https://bugs.webkit.org/show_bug.cgi?id=127590
+
+        Reviewed by Tim Horton.
+
+        Clean up the code path called after the ScrollingTree has scrolled a node,
+        to prepare for multiple scrolling nodes.
+        
+        Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
+        and pass along the ScrollingNodeID that scrolled.
+        
+        Move updateMainFrameScrollPosition-related code from ScrollingCoordinator to
+        AsyncScrollingCoordinator, since this sync-up is only necessary when doing
+        async scrolling.
+
+        * WebCore.exp.in:
+        * page/scrolling/AsyncScrollingCoordinator.cpp:
+        (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
+        (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
+        (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
+        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
+        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
+        * page/scrolling/AsyncScrollingCoordinator.h:
+        (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
+        (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::matchesUpdateType):
+        Package up the data related to a scheduled scroll into a ScheduledScrollUpdate struct,
+        for easier comparison and cleaner code.
+        * page/scrolling/ScrollingCoordinator.cpp:
+        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
+        * page/scrolling/ScrollingCoordinator.h:
+        * page/scrolling/ScrollingTree.h:
+        * page/scrolling/ThreadedScrollingTree.cpp:
+        (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
+        * page/scrolling/ThreadedScrollingTree.h:
+        * page/scrolling/ios/ScrollingTreeIOS.cpp:
+        (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
+        * page/scrolling/ios/ScrollingTreeIOS.h:
+        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
+        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
+        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
+        (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
+
+2014-01-24  Mark Lam  <mark.lam@apple.com>
+
+        ASSERT(!m_markedSpace.m_currentDelayedReleaseScope) reloading page in inspector.
+        <https://webkit.org/b/127582>
+
+        Reviewed by Mark Hahnenberg.
+
+        No new tests.
+
+        * bindings/js/ScriptController.cpp:
+        (WebCore::ScriptController::attachDebugger):
+        * bindings/js/WorkerScriptController.cpp:
+        (WebCore::WorkerScriptController::detachDebugger):
+        - Adding reasons for detaching a globalObject from the debugger.
+
+2014-01-24  Zalan Bujtas  <zalan@apple.com>
+
+        Subpixel rendering: Make PaintInfo layout unit aware.
+        https://bugs.webkit.org/show_bug.cgi?id=127562
+
+        Reviewed by Simon Fraser.
+
+        Replace PaintInfo's IntRect with LayoutRect to be able to render to
+        subpixel positions.
+
+        No functional changes.
+
+        * platform/graphics/LayoutRect.h:
+        * rendering/PaintInfo.h:
+        (WebCore::PaintInfo::PaintInfo):
+        (WebCore::PaintInfo::applyTransform):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::paint):
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+        * rendering/RenderLayer.cpp:
+        (WebCore::cornerRect):
+        (WebCore::RenderLayer::scrollCornerRect):
+        (WebCore::resizerCornerRect):
+        (WebCore::RenderLayer::scrollCornerAndResizerRect):
+        (WebCore::RenderLayer::horizontalScrollbarStart):
+        (WebCore::RenderLayer::drawPlatformResizerImage):
+        (WebCore::RenderLayer::paintResizer):
+        (WebCore::RenderLayer::hitTestOverflowControls):
+        * rendering/RenderLayer.h:
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::paintContents):
+        * rendering/RenderListBox.cpp:
+        (WebCore::RenderListBox::paintScrollbar):
+        * rendering/RenderWidget.cpp:
+        (WebCore::RenderWidget::paintContents):
+        * rendering/mathml/RenderMathMLOperator.cpp:
+        (WebCore::RenderMathMLOperator::fillWithExtensionGlyph):
+        * rendering/svg/SVGRenderingContext.h:
+
+2014-01-24  Simon Fraser  <simon.fraser@apple.com>
+
+        #ifdef out handleWheelEventPhase for iOS
+        https://bugs.webkit.org/show_bug.cgi?id=127583
+
+        Reviewed by Tim Horton.
+
+        handleWheelEventPhase() doesn't make any sense for iOS, which
+        has no wheel events.
+
+        * page/scrolling/ScrollingTree.h:
+        * page/scrolling/ThreadedScrollingTree.cpp:
+        * page/scrolling/ThreadedScrollingTree.h:
+        * page/scrolling/ios/ScrollingTreeIOS.h:
+
+2014-01-24  David Hyatt  <hyatt@apple.com>
+
+        [New Multicolumn] Don't destroy all the renderers when a multi-column block stops being multi-column (and vice versa)
+        https://bugs.webkit.org/show_bug.cgi?id=127584
+
+        Make the logic for when you need columns and when you don't shared between the
+        old multi-column code and the new multi-column code. Make sure that the flow thread
+        and sets get created lazily and destroyed on-demand when whether or not we should
+        have multiple columns changes.
+
+        Reviewed by Beth Dakin.
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
+        No longer virtual. The new column code now uses this function too.
+
+        (WebCore::RenderBlock::availableLogicalWidth):
+        Renamed desiredColumnWidth() to computedColumnWidth().
+
+        (WebCore::RenderBlock::computeColumnCountAndWidth):
+        Renamed calcColumnWidth to computeColumnCountAndWidth.
+
+        (WebCore::RenderBlock::setComputedColumnCountAndWidth):
+        Rename setDesiredColumnCountAndWidth to computed.
+
+        (WebCore::RenderBlock::computedColumnWidth):
+        (WebCore::RenderBlock::computedColumnCount):
+        Renamed desiredColumnWidth/Count to computedColumnWidth/Count and made them virtual.
+
+        (WebCore::RenderBlock::updateFirstLetterStyle):
+        desired -> computed rename.
+
+        * rendering/RenderBlock.h:
+        Renames and made a few functions virtual so that RenderBlockFlow can override.
+
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::RenderBlockFlow::RenderBlockFlow):
+        Don't create the flow thread at construction time any longer.
+
+        (WebCore::RenderBlockFlow::createMultiColumnFlowThread):
+        (WebCore::RenderBlockFlow::destroyMultiColumnFlowThread):
+        The methods to create and destroy flow threads. These work at any time now and will
+        fix up the render tree accordingly.
+
+        (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
+        Virtual override that creates/destroys the new multi-column information as needed.
+
+        (WebCore::RenderBlockFlow::computedColumnWidth):
+        (WebCore::RenderBlockFlow::computedColumnCount):
+        Overrides to return the cached column width and count from the flow thread.
+
+        * rendering/RenderBlockFlow.h:
+        Has overrides of the virtual functions needed to turn multi-column state on/off and
+        to hand back computed count/width information.
+
+        * rendering/RenderMultiColumnFlowThread.cpp:
+        * rendering/RenderMultiColumnFlowThread.h:
+        Removed the algorithm to compute column count and width, since this has been combined
+        with the old multi-column layout code.
+
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::computeColumnCountAndWidth):
+        Renamed desired -> computed.
+
+        * rendering/RenderView.h:
+        Renamed desired -> computed.
+
+        * style/StyleResolveTree.cpp:
+        (WebCore::Style::determineChange):
+        (WebCore::Style::resolveLocal):
+        (WebCore::Style::resolveTree):
+        * style/StyleResolveTree.h:
+        The Settings argument is no longer needed now that we don't destroy and re-create
+        the renderer for a block flow if it stops being (or becomes) multi-column.
+
+2014-01-24  Anders Carlsson  <andersca@apple.com>
+
+        Fix 32-bit build.
+
+        * WebCore.exp.in:
+
+2014-01-24  Brent Fulgham  <bfulgham@apple.com>
+
+        [Win] Convert some NMake files to MSBuild project files
+        https://bugs.webkit.org/show_bug.cgi?id=127579
+
+        Reviewed by Tim Horton.
+
+        * WebCore.vcxproj/WebCore.make: Removed.
+        * WebCore.vcxproj/WebCore.proj: Added.
+
+2014-01-24  Joseph Pecoraro  <pecoraro@apple.com>
+
+        fast/profiler tests ASSERTing after moving recompileAllJSFunctions off a timer
+        https://bugs.webkit.org/show_bug.cgi?id=127566
+
+        Reviewed by Oliver Hunt.
+
+        Covered by existing tests.
+
+        * testing/Internals.cpp:
+        (WebCore::Internals::closeDummyInspectorFrontend):
+        Now that we don't have to fake that this is a page being destroyed to
+        avoid recompilation. Use the InspectorDestroyed reason.
+
+2014-01-24  Anders Carlsson  <andersca@apple.com>
+
+        Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
+        https://bugs.webkit.org/show_bug.cgi?id=127571
+
+        Reviewed by Antti Koivisto.
+
+        WebCore.exp.in:
+        Update symbols.
+
+        * dom/Document.cpp:
+        (WebCore::Document::Document):
+        (WebCore::Document::implicitClose):
+        (WebCore::Document::setParsing):
+        (WebCore::Document::isLayoutTimerActive):
+        (WebCore::Document::minimumLayoutDelay):
+        (WebCore::Document::elapsedTime):
+        (WebCore::Document::write):
+        (WebCore::Document::styleResolverChanged):
+        * dom/Document.h:
+        Use std::chrono instead of doubles for the times and durations.
+
+        * fileapi/FileReader.cpp:
+        (WebCore::FileReader::FileReader):
+        (WebCore::FileReader::didReceiveData):
+        * fileapi/FileReader.h:
+        Switch over to std::chrono.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::layout):
+        (WebCore::FrameView::layoutTimerFired):
+        (WebCore::FrameView::scheduleRelayout):
+        (WebCore::FrameView::scheduleRelayoutOfSubtree):
+        Update for Document::elapsedTime() changes.
+
+        * page/Settings.cpp:
+        (WebCore::Settings::setLayoutInterval):
+        * page/Settings.h:
+        (WebCore::Settings::layoutInterval):
+        Change layoutInterval to be std::chrono::milliseconds instead of int.
+
+        * platform/Timer.h:
+        (WebCore::TimerBase::startOneShot):
+        Add an overload that takes std::chrono::milliseconds.
+
+2014-01-24  Oliver Hunt  <oliver@apple.com>
+
+        Generic JSObject::put should handle static properties in the classinfo hierarchy
+        https://bugs.webkit.org/show_bug.cgi?id=127523
+
+        Reviewed by Geoffrey Garen.
+
+        Update the bindings generator to emit the flag indicating the presence
+        of setters, and remove the many (now unnecessary) put overrides.
+        Tested with run-jsc-benchmarks and shows neutral performance. A few of the
+        micro benchmarks actually get a significant performance increase which
+        is nice.
+
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::JSDOMWindow::put):
+            We still need a custom call to lookupPut here in order
+            to get the magic security semantics of the window object.
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (hashTableAccessor):
+        (prototypeHashTableAccessor):
+        (constructorHashTableAccessor):
+        (GenerateImplementation):
+        (GenerateHashTable):
+        (GenerateConstructorHelperMethods):
+
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::JSDOMWindow::put):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (hashTableAccessor):
+        (prototypeHashTableAccessor):
+        (constructorHashTableAccessor):
+        (InstanceOverridesPutImplementation):
+        (InstanceOverridesPutDeclaration):
+        (GenerateHeader):
+        (GenerateImplementation):
+        (GenerateHashTable):
+        (GenerateConstructorHelperMethods):
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+        * bindings/scripts/test/JS/JSTestException.cpp:
+        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+        * bindings/scripts/test/JS/JSTestInterface.cpp:
+        (WebCore::JSTestInterface::put):
+        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+        * bindings/scripts/test/JS/JSTestNode.cpp:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        * bindings/scripts/test/JS/JSTestObj.h:
+        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+        * bindings/scripts/test/JS/JSTestTypedefs.h:
+        * bindings/scripts/test/JS/JSattribute.cpp:
+        * bindings/scripts/test/JS/JSreadonly.cpp:
+        * html/canvas/WebGLRenderingContext.idl:
+          Remove bogus attribute, as it has never been in the spec and should not
+          have been added.
+
+2014-01-24  David Hyatt  <hyatt@apple.com>
+
+        [New Multicolumn] Eliminate RenderMultiColumnBlock
+        https://bugs.webkit.org/show_bug.cgi?id=127565
+
+        Reviewed by Antti Koivisto.
+
+        This patch eliminates RenderMultiColumnBlock and folds all of its remaining code
+        back into RenderBlockFlow. This allows all block flows to support multi-column
+        layout, including table cells, list items, and the RenderView itself.
+
+        * CMakeLists.txt:
+        * WebCore.order:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        Remove RenderMultiColumnBlock from the makefiles.
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
+        Tweak the comment, since it was no longer accurate.
+
+        * rendering/RenderBlock.h:
+        Move some functions down into RenderBlockFlow.
+
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::RenderBlockFlow::RenderBlockFlow):
+        (WebCore::RenderBlockFlow::createMultiColumnFlowThreadIfNeeded):
+        (WebCore::RenderBlockFlow::styleDidChange):
+        (WebCore::RenderBlockFlow::relayoutForPagination):
+        (WebCore::RenderBlockFlow::layoutSpecialExcludedChild):
+        (WebCore::RenderBlockFlow::updateLogicalWidthAndColumnWidth):
+        (WebCore::RenderBlockFlow::addChild):
+        (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
+         * rendering/RenderBlockFlow.h:
+         Move a bunch of functions from RenderMultiColumnBlock up into RenderBlockFlow.
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::isUnsplittableForPagination):
+        Calls isMultiColumnBlockFlow() now instead of testing for a specific renderer type.
+
+        * rendering/RenderElement.cpp:
+        (WebCore::RenderElement::createFor):
+        Remove the multicolumn block creation code, since we always make a block flow now.
+
+        * rendering/RenderMultiColumnBlock.cpp: Removed.
+        * rendering/RenderMultiColumnBlock.h: Removed.
+        Nuke the files.
+
+        * rendering/RenderMultiColumnFlowThread.cpp:
+        (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
+        (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
+        (WebCore::RenderMultiColumnSet::addForcedBreak):
+        (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
+        (WebCore::RenderMultiColumnSet::updateLogicalWidth):
+        (WebCore::RenderMultiColumnSet::prepareForLayout):
+        (WebCore::RenderMultiColumnSet::columnGap):
+        (WebCore::RenderMultiColumnSet::paintColumnRules):
+        Change all of the functions in the multicolumnset and multicolumnflowthread classes
+        to cast the parent to a RenderBlockFlow now instead of a RenderMultiColumnBlock.
+        Change the code to call through to multiColumnFlowThread() for column-specific information
+        for that parent block.
+
+        * rendering/RenderObject.h:
+        (WebCore::RenderObject::isMultiColumnBlockFlow):
+        Remove isRenderMultiColumnBlock() and replace with isMultiColumnBlockFlow().
+
+        * rendering/RenderingAllInOne.cpp:
+        Remove RenderMultiColumnBlock include.
+        
+2014-01-24  Brady Eidson  <beidson@apple.com>
+
+        IDB: support createIndex/deleteIndex messaging
+        https://bugs.webkit.org/show_bug.cgi?id=127546
+
+        Reviewed by Tim Horton.
+
+        * WebCore.exp.in: Export a needed CrossThreadCopier
+
+2014-01-24  Daniel Bates  <dabates@apple.com>
+
+        Fix the Windows build after <http://trac.webkit.org/changeset/162704>
+        (https://bugs.webkit.org/show_bug.cgi?id=127293)
+
+        Only include TargetConditionals.h when building on a Darwin-based OS.
+        Also, check that TARGET_OS_IPHONE is defined before referencing its value
+        since it will be undefined when building on Windows.
+
+        * bindings/objc/PublicDOMInterfaces.h:
+
+2014-01-24  Daniel Bates  <dabates@apple.com>
+
+        Bindings generation tests hit an error trying to include wtf/Platform.h after r161638
+        https://bugs.webkit.org/show_bug.cgi?id=127293
+
+        Reviewed by Alexey Proskuryakov.
+
+        Include TargetConditionals.h instead of wtf/Platform.h as the latter isn't available
+        in the public SDK.
+
+        As a side effect of this change, replace usage of PLATFORM(IOS) with TARGET_OS_IPHONE.
+
+        * bindings/objc/PublicDOMInterfaces.h:
+
+2014-01-21  David Hyatt  <hyatt@apple.com>
+
+        [New Multicolumn] Table cells and list items need to work as multicolumn blocks.
+        https://bugs.webkit.org/show_bug.cgi?id=127365
+        
+        This patch is a first step towards eliminating RenderMultiColumnBlock and moving
+        all its functionality into RenderBlockFlow. Doing so will allow table cells, list
+        items and the RenderView to use the new multi-column layout.
+        
+        Reviewed by Simon Fraser.
+
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::RenderBlockFlow::setMultiColumnFlowThread):
+        * rendering/RenderBlockFlow.h:
+        (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
+        (WebCore::RenderBlockFlow::multiColumnFlowThread):
+        Add the flow thread pointer to the multi-column flow thread to RenderBlockFlow's
+        rare data. This lets us use only one pointer in the rare data to point to an object
+        that can hold all of the rest of the multi-column info.
+
+        * rendering/RenderMultiColumnBlock.cpp:
+        (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
+        Move the construction of the flow thread to the constructor. This ensures we
+        never have a null flow thread and lets us avoid having to null check it for
+        empty multi-column blocks.
+
+        (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
+        (WebCore::RenderMultiColumnBlock::columnWidth):
+        (WebCore::RenderMultiColumnBlock::columnCount):
+        (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
+        The above functions now call through to the multi-column flow thread for results.
+
+        (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
+         Set the column height available on the flow thread.
+
+        (WebCore::RenderMultiColumnBlock::relayoutForPagination):
+        The balancing pass and guard is in the multi-column flow thread now.
+
+        (WebCore::RenderMultiColumnBlock::addChild):
+        Don't have to create the flow thread here any longer, since we do it up front
+        in the constructor of RenderMultiColumnBlock.
+
+        (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
+        Don't need the null check of the flow thread any more.
+
+        * rendering/RenderMultiColumnBlock.h:
+        Change the inlined functions to not be inlined, since they need to call
+        RenderMultiColumnFlowThread functions now.
+
+        * rendering/RenderMultiColumnFlowThread.cpp:
+        (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
+        Init the new member variables we moved here from RenderMultiColumnBlock.
+
+        (WebCore::RenderMultiColumnFlowThread::computeColumnCountAndWidth):
+        Moved from RenderMultiColumnBlock.
+
+        * rendering/RenderMultiColumnFlowThread.h:
+        Add public getters/setters to the member variables so that RenderMultiColumnBlock can
+        still see them. Move the member variables here from RenderMultiColumnBlock.
+
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
+        (WebCore::RenderMultiColumnSet::prepareForLayout):
+        (WebCore::RenderMultiColumnSet::columnCount):
+        Call through to the flow thread instead.
+
+2014-01-24  Zan Dobersek  <zdobersek@igalia.com>
+
+        Unreviewed GTK build fix after r162663.
+
+        * platform/gtk/ScrollViewGtk.cpp:
+        (WebCore::ScrollView::visibleContentRectInternal): Renamed from visibleContentRect.
+
+2014-01-24  Zan Dobersek  <zdobersek@igalia.com>
+
+        Move HistoryItem to std::unique_ptr
+        https://bugs.webkit.org/show_bug.cgi?id=127275
+
+        Reviewed by Darin Adler.
+
+        Replace the uses of OwnPtr and PassOwnPtr in the HistoryItem class with std::unique_ptr.
+
+        * history/HistoryItem.cpp:
+        (WebCore::HistoryItem::HistoryItem):
+        (WebCore::HistoryItem::reset):
+        (WebCore::HistoryItem::addRedirectURL):
+        (WebCore::HistoryItem::setRedirectURLs):
+        * history/HistoryItem.h:
+        * history/mac/HistoryItemMac.mm:
+        (WebCore::HistoryItem::setTransientProperty):
+        WebCore.exp.in: Update the symbol.
+
+2014-01-23  Morten Stenshorne  <mstensho@opera.com>
+
+        Region based multicol: unresolvable percent height results in 1px tall multicol
+        https://bugs.webkit.org/show_bug.cgi?id=122826
+
+        Reviewed by David Hyatt.
+
+        If a box has a percentage height, but the computed height of its
+        containing block is auto, the computed height of the box also becomes
+        auto. computeContentLogicalHeight() returns -1 if the height isn't
+        resolvable, and we need to make sure that such a value doesn't
+        constrain the height of the multicol container.
+
+        Tests: fast/multicol/newmulticol/unresolvable-percent-height-2.html
+               fast/multicol/newmulticol/unresolvable-percent-height.html
+               fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
+               fast/multicol/newmulticol/unresolvable-percent-max-height.html
+
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
+        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
+        (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
+        (WebCore::RenderMultiColumnSet::prepareForLayout):
+
+2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Move ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCore for inspector
+        https://bugs.webkit.org/show_bug.cgi?id=127537
+
+        Reviewed by Timothy Hatcher.
+
+          - Rename ContentSearchUtils => ContentSearchUtilities and move to JavaScriptCore.
+          - Move ScriptBreakpoint and ScriptDebugListener to JavaScriptCore.
+          - Move them all to namespace Inspector.
+          - Update build files and users to the new names.
+
+        No change in functionality, just moving code.
+
+        * CMakeLists.txt:
+        * ForwardingHeaders/inspector/ContentSearchUtilities.h: Added.
+        * ForwardingHeaders/inspector/ScriptBreakpoint.h: Added.
+        * ForwardingHeaders/inspector/ScriptDebugListener.h: Added.
+        * GNUmakefile.list.am:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/PageScriptDebugServer.cpp:
+        * bindings/js/PageScriptDebugServer.h:
+        * bindings/js/ScriptDebugServer.cpp:
+        * bindings/js/ScriptDebugServer.h:
+        * bindings/js/WorkerScriptDebugServer.cpp:
+        * bindings/js/WorkerScriptDebugServer.h:
+        * inspector/InspectorAllInOne.cpp:
+        * inspector/InspectorDebuggerAgent.cpp:
+        (WebCore::InspectorDebuggerAgent::searchInContent):
+        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
+        (WebCore::InspectorDebuggerAgent::didParseSource):
+        * inspector/InspectorDebuggerAgent.h:
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::sourceMapURLForResource):
+        (WebCore::InspectorPageAgent::searchInResource):
+        (WebCore::InspectorPageAgent::searchInResources):
+        * inspector/InspectorStyleSheet.cpp:
+        (WebCore::buildSourceRangeObject):
+        (WebCore::InspectorStyleSheet::lineEndings):
+        (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
+
+2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Move RegularExpression into JavaScriptCore for inspector
+        https://bugs.webkit.org/show_bug.cgi?id=127526
+
+        Reviewed by Geoffrey Garen.
+
+        Update as appropriate for the moved file and namespace
+        change for class RegularExpression.
+
+        * CMakeLists.txt:
+        * ForwardingHeaders/yarr/RegularExpression.h: Added.
+        * GNUmakefile.list.am:
+        * WebCore.exp.in:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * dom/DOMImplementation.h:
+        * html/BaseCheckableInputType.cpp:
+        * html/BaseTextInputType.cpp:
+        (WebCore::BaseTextInputType::patternMismatch):
+        * html/EmailInputType.cpp:
+        (WebCore::isValidEmailAddress):
+        * html/InputType.cpp:
+        * inspector/ContentSearchUtils.cpp:
+        (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
+        (WebCore::ContentSearchUtils::createSearchRegex):
+        (WebCore::ContentSearchUtils::countRegularExpressionMatches):
+        (WebCore::ContentSearchUtils::searchInTextByLines):
+        * inspector/ContentSearchUtils.h:
+        * inspector/InspectorDebuggerAgent.cpp:
+        (WebCore::matches):
+        (WebCore::InspectorDebuggerAgent::breakpointActionLog):
+        (WebCore::InspectorDebuggerAgent::breakpointActionSound):
+        * inspector/InspectorDebuggerAgent.h:
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::searchInResources):
+        * inspector/InspectorPageAgent.h:
+        * inspector/InspectorRuntimeAgent.cpp:
+        * inspector/InspectorRuntimeAgent.h:
+        * inspector/InspectorStyleSheet.cpp:
+        (WebCore::selectorsFromSource):
+        * inspector/WorkerDebuggerAgent.cpp:
+        * page/Frame.cpp:
+        (WebCore::createRegExpForLabels):
+        (WebCore::Frame::searchForLabelsAboveCell):
+        (WebCore::Frame::searchForLabelsBeforeElement):
+        (WebCore::matchLabelsAgainstString):
+        * page/Frame.h:
+        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+        (WebCore::GraphicsContext3D::getUnmangledInfoLog):
+
+2014-01-23  Brady Eidson  <beidson@apple.com>
+
+        IDB: Support IDBObjectStore.clear()
+        https://bugs.webkit.org/show_bug.cgi?id=127541
+        
+        Reviewed by Anders Carlsson.
+
+        The backing store should never be performing callbacks directly:
+        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
+        (WebCore::IDBServerConnectionLevelDB::clearObjectStore):
+
+        Instead, the transaction operations should do that themselves:
+        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
+        (WebCore::ClearObjectStoreOperation::perform):
+        * Modules/indexeddb/IDBTransactionBackendOperations.h:
+        (WebCore::ClearObjectStoreOperation::transaction):
+
+2014-01-23  Dan Bernstein  <mitz@apple.com>
+
+        <rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be reached) in CSSPreloadScanner::tokenize()
+        https://bugs.webkit.org/show_bug.cgi?id=127540
+
+        Reviewed by Anders Carlsson.
+
+        No new tests, because I could not reproduce the bug reliably and I don’t know how to trigger
+        it.
+
+        * html/parser/CSSPreloadScanner.cpp:
+        (WebCore::CSSPreloadScanner::scan): Check for the DoneParsingImportRules before tokenizing
+        a character, not after. This restores the logic from before r162257.
+
+2014-01-23  Jer Noble  <jer.noble@apple.com>
+
+        [iOS] Protect against possbile deadlock by delaying video layer creation
+        https://bugs.webkit.org/show_bug.cgi?id=127505
+
+        Reviewed by Eric Carlson.
+
+        Work around a possible deadlock on iOS when creating a media element
+        backed by AVFoundation by delaying creation of the AVPlayerLayer.
+        The deadlock can occur when the web thread is doing CALayer layout
+        while taking the web thread lock, while CoreMedia is doing property
+        access on an async thread while taking the CM lock, and each is waiting
+        for the other's lock to be released.
+
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
+
+2014-01-23  Jer Noble  <jer.noble@apple.com>
+
+        [MSE][Mac] Crash when reloading a page during playback
+        https://bugs.webkit.org/show_bug.cgi?id=126903
+
+        Reviewed by Eric Carlson.
+
+        Periodic time observers added to AVSampleBufferRenderSynchronizer will execute their
+        callback block even after being removed with -removeTimeObserver:, which is tracked by
+        <rdar://problem/15798050>. Work around this problem by passing a WeakPtr into the block
+        and bail early if the owning media player has been destroyed.
+
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
+
+2014-01-23  ChangSeok Oh  <changseok.oh@collabora.com>
+
+        Dragging from inner side of video to outside causes a crash
+        https://bugs.webkit.org/show_bug.cgi?id=126338
+
+        Reviewed by Jer Noble.
+
+        The crash happens while dragging mouse cursor through timeline control to outside
+        of video region. This is beacause media controls are selected with the drag.
+        The media controls disappear when mouse cursor goes outside of video though
+        the dragging/selection proceeds. If once media controls are hidden, related element
+        lose their renderers. However the drag is still under going. it requires shadowPseudoId
+        of the selected controls. Untorntunately, SliderThumbElement/SliderContainerElement
+        don't return a static value for the shadowPseudoId unlike other media controls,
+        but they need a renderer to determine it. This is the reason of crash.
+
+        Test: media/media-controller-drag-crash.html
+
+        * html/shadow/SliderThumbElement.cpp:
+        (WebCore::SliderThumbElement::shadowPseudoId):
+        (WebCore::SliderContainerElement::shadowPseudoId):
+
+2014-01-23  Brady Eidson  <beidson@apple.com>
+
+        IDB: Implement SQLite backing store 'get' support
+        https://bugs.webkit.org/show_bug.cgi?id=127502
+
+        Reviewed by Tim Horton.
+
+        Get a KeyRange from a KeyRangeData:
+        * Modules/indexeddb/IDBKeyRangeData.cpp:
+        (WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange):
+        * Modules/indexeddb/IDBKeyRangeData.h:
+
+        Add collation function support to SQLiteDatabase:
+        * platform/sql/SQLiteDatabase.cpp:
+        (WebCore::destroyCollationFunction):
+        (WebCore::callCollationFunction):
+        (WebCore::SQLiteDatabase::setCollationFunction):
+        (WebCore::SQLiteDatabase::removeCollationFunction):
+        * platform/sql/SQLiteDatabase.h:
+
+        * WebCore.exp.in:
+
+2014-01-23  Jon Honeycutt  <jhoneycutt@apple.com>
+
+        Assertion failure in WebCore::PseudoElement::didRecalcStyle()
+        <https://bugs.webkit.org/show_bug.cgi?id=126761>
+        <rdar://problem/15793540>
+
+        Reviewed by Andy Estes.
+
+        Test: fast/images/animate-list-item-image-assertion.html
+
+        * dom/PseudoElement.cpp:
+        (WebCore::PseudoElement::didRecalcStyle):
+        Check isRenderImage() rather than isImage() before casting to
+        RenderImage.
+
+        * editing/ios/EditorIOS.mm:
+        (WebCore::getImage):
+        Ditto.
+
+        * editing/mac/EditorMac.mm:
+        (WebCore::getImage):
+        Ditto.
+
+        * html/HTMLImageElement.cpp:
+        (WebCore::HTMLImageElement::parseAttribute):
+        (WebCore::HTMLImageElement::didAttachRenderers):
+        Ditto.
+
+        * loader/ImageLoader.cpp:
+        (WebCore::ImageLoader::renderImageResource):
+        Ditto.
+
+        * page/DragController.cpp:
+        (WebCore::getCachedImage):
+        Ditto.
+
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
+        (WebCore::RenderLayerBacking::updateImageContents):
+        Ditto.
+
+2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
+        https://bugs.webkit.org/show_bug.cgi?id=127409
+
+        Reviewed by Geoffrey Garen.
+
+        Covered by existing tests.
+
+        * bindings/js/ScriptDebugServer.h:
+        * bindings/js/ScriptDebugServer.cpp:
+        (WebCore::ScriptDebugServer::ScriptDebugServer):
+        Remove m_recompileTimer and the recompile soon function.
+        We can just recompile immediately in all existing cases.
+
+        * bindings/js/PageScriptDebugServer.h:
+        * bindings/js/PageScriptDebugServer.cpp:
+        (WebCore::PageScriptDebugServer::addListener):
+        (WebCore::PageScriptDebugServer::removeListener):
+        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
+        (WebCore::PageScriptDebugServer::didAddFirstListener):
+        (WebCore::PageScriptDebugServer::didRemoveLastListener):
+        Add a "didAddFirstListener" to match "didRemoveLastListener".
+        Only recompile functions when we attach the debugger and when
+        we detach the last listener.
+
+        * bindings/js/WorkerScriptDebugServer.cpp:
+        (WebCore::WorkerScriptDebugServer::addListener):
+        (WebCore::WorkerScriptDebugServer::removeListener):
+        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
+        Same thing. Also rearrange the functions to read better.
+
+        * inspector/InspectorProfilerAgent.cpp:
+        Use the direct recompile function instead of the removed "soon" version.
+
+        * WebCore.exp.in:
+        Update disconnectFrontend symbol.
+
+        * page/PageDebuggable.cpp:
+        (WebCore::PageDebuggable::disconnect):
+        * testing/Internals.cpp:
+        (WebCore::Internals::closeDummyInspectorFrontend):
+        * workers/WorkerMessagingProxy.cpp:
+        (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
+        Include an InspectorDisconnectReason when calling disconnectFrontend.
+
+        * inspector/InspectorDatabaseAgent.h:
+        * inspector/InspectorDebuggerAgent.cpp:
+        (WebCore::InspectorDebuggerAgent::disable):
+        (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
+        If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
+
+        * inspector/InspectorProfilerAgent.h:
+        * inspector/InspectorProfilerAgent.cpp:
+        (WebCore::InspectorProfilerAgent::enable):
+        (WebCore::InspectorProfilerAgent::disable):
+        (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
+        If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
+
+        * inspector/InspectorController.h:
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::inspectedPageDestroyed):
+        (WebCore::InspectorController::disconnectFrontend):
+        (WebCore::InspectorController::close):
+        Pass different reasons for the different disconnect reasons.
+
+        * inspector/WorkerInspectorController.h:
+        * inspector/WorkerInspectorController.cpp:
+        (WebCore::WorkerInspectorController::~WorkerInspectorController):
+        (WebCore::WorkerInspectorController::disconnectFrontend):
+        Pass different reasons for the different disconnect reasons.
+
+        * inspector/InspectorApplicationCacheAgent.cpp:
+        (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorApplicationCacheAgent.h:
+        * inspector/InspectorCSSAgent.cpp:
+        (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorCSSAgent.h:
+        * inspector/InspectorCanvasAgent.cpp:
+        (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorCanvasAgent.h:
+        * inspector/InspectorConsoleAgent.cpp:
+        (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorConsoleAgent.h:
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorDOMAgent.h:
+        * inspector/InspectorDOMDebuggerAgent.cpp:
+        (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorDOMDebuggerAgent.h:
+        * inspector/InspectorDOMStorageAgent.cpp:
+        (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorDOMStorageAgent.h:
+        * inspector/InspectorDatabaseAgent.cpp:
+        (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorDebuggerAgent.h:
+        * inspector/InspectorHeapProfilerAgent.cpp:
+        (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorHeapProfilerAgent.h:
+        * inspector/InspectorIndexedDBAgent.cpp:
+        (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorIndexedDBAgent.h:
+        * inspector/InspectorInputAgent.cpp:
+        (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorInputAgent.h:
+        * inspector/InspectorLayerTreeAgent.cpp:
+        (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorLayerTreeAgent.h:
+        * inspector/InspectorMemoryAgent.cpp:
+        (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorMemoryAgent.h:
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorPageAgent.h:
+        * inspector/InspectorResourceAgent.cpp:
+        (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorResourceAgent.h:
+        * inspector/InspectorTimelineAgent.cpp:
+        (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorTimelineAgent.h:
+        * inspector/InspectorWorkerAgent.cpp:
+        (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
+        * inspector/InspectorWorkerAgent.h:
+        * inspector/PageDebuggerAgent.cpp:
+        (WebCore::PageDebuggerAgent::disable):
+        (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
+        * inspector/PageDebuggerAgent.h:
+        * inspector/PageRuntimeAgent.cpp:
+        (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
+        * inspector/PageRuntimeAgent.h:
+        * inspector/WorkerDebuggerAgent.cpp:
+        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
+        * inspector/WorkerDebuggerAgent.h:
+        * inspector/WorkerRuntimeAgent.cpp:
+        (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
+        * inspector/WorkerRuntimeAgent.h:
+        Include InspectorDisconnectReason param.
+
+2014-01-23  Simon Fraser  <simon.fraser@apple.com>
+
+        Another Windows fix: include <algorithm> for std::min and std::max.
+        
+        * platform/graphics/IntSize.h:
+
+2014-01-23  Simon Fraser  <simon.fraser@apple.com>
+
+        Try to fix Windows build.
+
+        * platform/win/PopupMenuWin.cpp:
+        (WebCore::PopupMenuWin::visibleSize):
+        * platform/win/PopupMenuWin.h:
+
+2014-01-23  Simon Fraser  <simon.fraser@apple.com>
+
+        Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
+        https://bugs.webkit.org/show_bug.cgi?id=127456
+        
+        Reviewed by Antti Koivisto.
+        
+        On iOS, visibleContentRect() returns the entire document rect for historical
+        reasons, and actualVisibleContentRect() returns what visibleContentRect()
+        returns on other platforms.
+        
+        In addition, actualVisibleContentRect() was returning an empty rect in WK2.
+        
+        Reduce the confusion of #ifdefs by making visibleContentRect() behave like
+        actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
+        an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
+        
+        Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
+        which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
+        
+        Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
+        with non-virtual visibleHeight() and visibleWidth().
+        
+        ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
+        
+        Mechanically change all the call sites of actualVisibleContentRect() to
+        use visibleContentRect(), and the call sites of visibleContentRect()
+        to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
+        where this may not be appropriate.
+        
+        Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
+        
+        Also add actualScrollPosition(), and clean up some actualScroll* call sites.
+        
+        No behavior change.
+
+        * WebCore.exp.in:
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::AccessibilityObject::isOnscreen):
+        (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::isOffScreen):
+        * dom/Document.cpp:
+        (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
+        (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
+        * dom/MouseRelatedEvent.cpp:
+        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
+        * editing/Editor.cpp:
+        (WebCore::Editor::countMatchesForText):
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::bounds):
+        (WebCore::FrameSelection::getClippedVisibleTextRectangles):
+        * html/HTMLBodyElement.cpp:
+        (WebCore::HTMLBodyElement::scrollLeft):
+        (WebCore::HTMLBodyElement::scrollTop):
+        * html/ImageDocument.cpp:
+        (WebCore::ImageDocument::imageFitsInWindow):
+        (WebCore::ImageDocument::windowSizeChanged):
+        * inspector/InspectorOverlay.cpp:
+        (WebCore::InspectorOverlay::update):
+        * page/DOMWindow.cpp:
+        (WebCore::DOMWindow::innerHeight):
+        (WebCore::DOMWindow::innerWidth):
+        (WebCore::DOMWindow::scrollX):
+        (WebCore::DOMWindow::scrollY):
+        (WebCore::DOMWindow::scrollBy):
+        * page/FrameView.cpp:
+        (WebCore::FrameView::calculateScrollbarModesForLayout):
+        (WebCore::FrameView::layout):
+        (WebCore::FrameView::scrollContentsSlowPath):
+        (WebCore::FrameView::repaintContentRectangle):
+        (WebCore::FrameView::sendResizeEventIfNeeded):
+        (WebCore::FrameView::windowClipRect):
+        (WebCore::FrameView::isScrollable):
+        (WebCore::FrameView::paintControlTints):
+        * page/SpatialNavigation.cpp:
+        (WebCore::canScrollInDirection):
+        * platform/ScrollView.cpp:
+        (WebCore::ScrollView::unscaledVisibleContentSize):
+        (WebCore::ScrollView::visibleContentRectInternal):
+        (WebCore::ScrollView::updateScrollbars):
+        (WebCore::ScrollView::paint):
+        * platform/ScrollView.h:
+        (WebCore::ScrollView::scrollOffset):
+        (WebCore::ScrollView::actualScrollX):
+        (WebCore::ScrollView::actualScrollY):
+        (WebCore::ScrollView::actualScrollPosition):
+        * platform/ScrollableArea.cpp:
+        (WebCore::ScrollableArea::visibleContentRect):
+        (WebCore::ScrollableArea::visibleContentRectIncludingScrollbars):
+        (WebCore::ScrollableArea::visibleContentRectInternal):
+        * platform/ScrollableArea.h:
+        (WebCore::ScrollableArea::visibleWidth):
+        (WebCore::ScrollableArea::visibleHeight):
+        * platform/graphics/IntSize.h:
+        (WebCore::IntSize::expandedTo): Drive-by cleanup.
+        (WebCore::IntSize::shrunkTo):
+        * platform/gtk/ScrollViewGtk.cpp:
+        (WebCore::ScrollView::visibleContentRect):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::scrollRectToVisible):
+        (WebCore::RenderLayer::maximumScrollPosition):
+        (WebCore::RenderLayer::visibleContentRectInternal):
+        (WebCore::RenderLayer::hitTest):
+        * rendering/RenderLayer.h:
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateCompositedBounds):
+        * rendering/RenderListBox.cpp:
+        * rendering/RenderListBox.h:
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::viewRect):
+        (WebCore::RenderView::viewportSize):
+
+2014-01-20  Myles C. Maxfield  <mmaxfield@apple.com>
+
+       Turn text-decoration-skip: ink on for all underlines
+       https://bugs.webkit.org/show_bug.cgi?id=127331
+
+       Reviewed by Antti Koivisto.
+
+       No new tests are necessary because tests already exist
+
+       * rendering/style/RenderStyle.h:
+
+2014-01-23  Hans Muller  <hmuller@adobe.com>
+
+        [CSS Shapes] Image valued shape size and position should conform to the spec
+        https://bugs.webkit.org/show_bug.cgi?id=123295
+
+        Reviewed by Andreas Kling.
+
+        Implement image valued shape-outside scaling and translation per the spec,
+        http://dev.w3.org/csswg/css-shapes/#shapes-from-image:
+
+        "The image is sized and positioned as if it were a replaced element whose
+        specified width and height are the same as the element’s used content box size."
+
+        This change doesn't completely fulfill the spec, it's limited to image elements
+        and shape-outside.
+
+        Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
+               fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
+               fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
+               fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html
+
+        * rendering/shapes/Shape.h:
+        * rendering/shapes/Shape.cpp:
+        (WebCore::Shape::createRasterShape):
+        Added an imageRect parameter which specifies where the shape image is to
+        appear relative to the content box. The imageRect implies both scaling and
+        translation of the shape image.
+
+        * rendering/shapes/ShapeInfo.cpp:
+        (WebCore::ShapeInfo<RenderType>::computedShape):
+        (WebCore::getShapeImageRect):
+        For replaced elements, compute the shape's imageRect with
+        RenderReplaced::replacedContentRect().
+
+
+2014-01-23  Max Vujovic  <mvujovic@adobe.com>
+
+        Remove CSS Custom Filters code and tests
+        https://bugs.webkit.org/show_bug.cgi?id=127382
+
+        Reviewed by Simon Fraser.
+
+        No new tests. Removing functionality.
+
+        * CMakeLists.txt:
+        * Configurations/FeatureDefines.xcconfig:
+        * DerivedSources.cpp:
+        * DerivedSources.make:
+        * GNUmakefile.list.am:
+        * WebCore.order:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/JSCSSRuleCustom.cpp:
+        (WebCore::toJS):
+        * bindings/js/JSCSSValueCustom.cpp:
+        (WebCore::toJS):
+        * bindings/objc/DOMCSS.mm:
+        (kitClass):
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::ComputedStyleExtractor::valueForFilter):
+        (WebCore::ComputedStyleExtractor::propertyValue):
+        * css/CSSComputedStyleDeclaration.h:
+        * css/CSSGrammar.y.in:
+        * css/CSSParser.cpp:
+        (WebCore::CSSParserContext::CSSParserContext):
+        (WebCore::operator==):
+        (WebCore::CSSParser::CSSParser):
+        (WebCore::CSSParser::parseValue):
+        (WebCore::filterInfoForName):
+        (WebCore::CSSParser::parseFilter):
+        (WebCore::CSSParser::detectAtToken):
+        * css/CSSParser.h:
+        * css/CSSParserMode.h:
+        * css/CSSPropertyNames.in:
+        * css/CSSPropertySourceData.h:
+        * css/CSSRule.h:
+        * css/CSSRule.idl:
+        * css/CSSValue.cpp:
+        (WebCore::CSSValue::equals):
+        (WebCore::CSSValue::cssText):
+        (WebCore::CSSValue::destroy):
+        (WebCore::CSSValue::cloneForCSSOM):
+        * css/CSSValue.h:
+        * css/CSSValueKeywords.in:
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::State::clear):
+        (WebCore::StyleResolver::applyProperty):
+        (WebCore::filterOperationForType):
+        (WebCore::StyleResolver::createFilterOperations):
+        (WebCore::StyleResolver::loadPendingResources):
+        * css/StyleResolver.h:
+        (WebCore::StyleResolver::State::State):
+        * css/StyleRule.cpp:
+        (WebCore::StyleRuleBase::destroy):
+        (WebCore::StyleRuleBase::copy):
+        (WebCore::StyleRuleBase::createCSSOMWrapper):
+        * css/StyleRule.h:
+        * css/StyleSheetContents.cpp:
+        (WebCore::childRulesHaveFailedOrCanceledSubresources):
+        * css/WebKitCSSArrayFunctionValue.cpp: Removed.
+        * css/WebKitCSSArrayFunctionValue.h: Removed.
+        * css/WebKitCSSFilterRule.cpp: Removed.
+        * css/WebKitCSSFilterRule.h: Removed.
+        * css/WebKitCSSFilterRule.idl: Removed.
+        * css/WebKitCSSFilterValue.cpp:
+        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
+        (WebCore::WebKitCSSFilterValue::customCSSText):
+        * css/WebKitCSSFilterValue.h:
+        * css/WebKitCSSFilterValue.idl:
+        * css/WebKitCSSMatFunctionValue.cpp: Removed.
+        * css/WebKitCSSMatFunctionValue.h: Removed.
+        * css/WebKitCSSMixFunctionValue.cpp: Removed.
+        * css/WebKitCSSMixFunctionValue.h: Removed.
+        * css/WebKitCSSMixFunctionValue.idl: Removed.
+        * css/WebKitCSSShaderValue.cpp: Removed.
+        * css/WebKitCSSShaderValue.h: Removed.
+        * loader/cache/CachedResource.cpp:
+        (WebCore::defaultPriorityForResourceType):
+        * loader/cache/CachedResource.h:
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::createResource):
+        (WebCore::CachedResourceLoader::checkInsecureContent):
+        (WebCore::CachedResourceLoader::canRequest):
+        * loader/cache/CachedResourceLoader.h:
+        * loader/cache/CachedShader.cpp: Removed.
+        * loader/cache/CachedShader.h: Removed.
+        * page/Settings.cpp:
+        (WebCore::Settings::Settings):
+        * page/Settings.h:
+        * page/animation/CSSPropertyAnimation.cpp:
+        (WebCore::blendFilter):
+        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+        (PlatformCALayerMac::filtersCanBeComposited):
+        * platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
+        * platform/graphics/filters/CustomFilterColorParameter.h: Removed.
+        * platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
+        * platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
+        * platform/graphics/filters/CustomFilterConstants.h: Removed.
+        * platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
+        * platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
+        * platform/graphics/filters/CustomFilterMesh.cpp: Removed.
+        * platform/graphics/filters/CustomFilterMesh.h: Removed.
+        * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
+        * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
+        * platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
+        * platform/graphics/filters/CustomFilterOperation.cpp: Removed.
+        * platform/graphics/filters/CustomFilterOperation.h: Removed.
+        * platform/graphics/filters/CustomFilterParameter.h: Removed.
+        * platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
+        * platform/graphics/filters/CustomFilterParameterList.h: Removed.
+        * platform/graphics/filters/CustomFilterProgram.cpp: Removed.
+        * platform/graphics/filters/CustomFilterProgram.h: Removed.
+        * platform/graphics/filters/CustomFilterProgramClient.h: Removed.
+        * platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
+        * platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
+        * platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
+        * platform/graphics/filters/CustomFilterRenderer.h: Removed.
+        * platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
+        * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
+        * platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
+        * platform/graphics/filters/FECustomFilter.cpp: Removed.
+        * platform/graphics/filters/FECustomFilter.h: Removed.
+        * platform/graphics/filters/FilterOperation.h:
+        * platform/graphics/filters/FilterOperations.cpp:
+        (WebCore::FilterOperations::outsets):
+        * platform/graphics/filters/FilterOperations.h:
+        * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
+        * platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
+        * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
+        * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
+        * platform/graphics/gpu/Texture.cpp:
+        * platform/graphics/texmap/TextureMapper.h:
+        * platform/graphics/texmap/TextureMapperGL.cpp:
+        (WebCore::getPassesRequiredForFilter):
+        (WebCore::BitmapTextureGL::applyFilters):
+        * platform/graphics/texmap/TextureMapperGL.h:
+        * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
+        (WebCore::CompositingCoordinator::clearPendingStateChanges):
+        (WebCore::CompositingCoordinator::syncLayerState):
+        * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
+        * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
+        * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
+        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
+        (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
+        (WebCore::CoordinatedGraphicsScene::commitSceneState):
+        (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
+        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
+        * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
+        * rendering/FilterEffectRenderer.cpp:
+        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
+        (WebCore::FilterEffectRenderer::build):
+        (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
+        * rendering/FilterEffectRenderer.h:
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
+        (WebCore::RenderLayer::calculateClipRects):
+        * rendering/RenderLayer.h:
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateFilters):
+        * rendering/RenderLayerFilterInfo.cpp:
+        (WebCore::RenderLayer::FilterInfo::~FilterInfo):
+        * rendering/RenderLayerFilterInfo.h:
+        * rendering/RenderView.cpp:
+        * rendering/RenderView.h:
+        * rendering/style/StyleCachedShader.cpp: Removed.
+        * rendering/style/StyleCachedShader.h: Removed.
+        * rendering/style/StyleCustomFilterProgram.cpp: Removed.
+        * rendering/style/StyleCustomFilterProgram.h: Removed.
+        * rendering/style/StyleCustomFilterProgramCache.cpp: Removed.
+        * rendering/style/StyleCustomFilterProgramCache.h: Removed.
+        * rendering/style/StylePendingShader.h: Removed.
+        * rendering/style/StyleShader.h: Removed.
+
+2014-01-22  Jon Honeycutt  <jhoneycutt@apple.com>
+
+        REGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
+        <https://webkit.org/b/127151>
+        <rdar://problem/15840760>
+
+        There were two issues introduced here; the first is a use-after-free of
+        CachedSVGDocumentReference objects.
+
+        The previous code kept a map from FilterOperation ->
+        RefPtr<WebKitCSSSVGDocumentValue>, which retained the
+        CachedSVGDocument. In r161967, this was changed to use a weak HashSet,
+        which allows stale CachedSVGDocumentReferences in the pending document
+        set if the owning FilterOperation is deleted. To fix this, we'll keep a
+        vector of RefPtr<FilterOperation> with pending SVG documents.
+
+        The second issue is a null deref in CachedSVGDocumentReference::load();
+        CachedResourceLoader::requestSVGDocument() can return 0 if (for
+        example) an invalid URL is passed. r161967 removed a null check as part
+        of the refactoring.
+
+        Reviewed by Dirk Schulze.
+
+        Tests: css3/filters/crash-filter-animation-invalid-url.html
+               css3/filters/crash-invalid-url.html
+
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::State::clear):
+        Use new member var name.
+        (WebCore::StyleResolver::loadPendingSVGDocuments):
+        For each FilterOperation with a pending SVG document, get or create a
+        CachedSVGDocumentReference, and tell it to load. Changed to use new
+        function names.
+        (WebCore::StyleResolver::createFilterOperations):
+        Append the FilterOperation to the list of FilterOperations with
+        unloaded SVG documents.
+
+        * css/StyleResolver.h:
+        Changed from using PendingSVGDocumentSet, a weak set, to
+        a Vector<RefPtr<ReferenceFilterOperation>>.
+        (WebCore::StyleResolver::State::filtersWithPendingSVGDocuments):
+        Return the vector.
+
+        * loader/cache/CachedSVGDocumentReference.cpp:
+        (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
+        Null check m_document rather than checking m_loadRequested.
+        m_loadRequested may be true when m_document is 0.
+        (WebCore::CachedSVGDocumentReference::load):
+        Null check the result of CachedResourceLoader::requestSVGDocument().
+
+        * platform/graphics/filters/FilterOperation.cpp:
+        (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
+        Create, if necessary, and return the CachedSVGDocumentReference.
+
+        * platform/graphics/filters/FilterOperation.h:
+        Replaced createCachedSVGDocumentReference() with
+        getOrCreateCachedSVGDocumentReference(), which makes for slightly
+        cleaner code.
+
 2014-01-23  Antti Koivisto  <antti@apple.com>
 
         Don't enable speculative tiles immediately after main load stops progressing