2013-10-29  Santosh Mahto  <santosh.ma@samsung.com>

        Text selected with double-click gets unselected after DOM modification
        https://bugs.webkit.org/show_bug.cgi?id=114227

        Reviewed by Ryosuke Niwa.

        Before this patch when selection is done by double-click (start and base remain
        same) and DOM is modified then selection gets vanished. This does not
        happen when selection is done by dragging mouse. This happens because
        on double-click base and extent remain the same and on DOM
        modification we update the selection with base and extent, so we loose
        the selection. Since in double-click case start/end contain the
        correct selection, same should be used after dom modification to
        update selection.

        Test: editing/selection/double-click-selection-with-dom-mutation.html

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::textWasReplaced): use start/end to update
        selection in case double click selection. Added a check for base !=
        extent, if base != extent use base/extent to update the selection
        otherwise use start/end with directionality check.

2013-10-29  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Display anonymous regions in DRT
        https://bugs.webkit.org/show_bug.cgi?id=122963

        Reviewed by Alexandru Chiculita.

        After https://bugs.webkit.org/show_bug.cgi?id=119135, css regions are modelled using an anonymous
        RenderNamedFlowFragment object inside the block having a valid -webkit-flow-from.
        This patch changes the way elements | pseudo-elements with -webkit-flow-from are displayed
        in test dumps.

        Before:
            RenderRegion {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
        After:
            RenderBlock (positioned) {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
                RenderNamedFlowFragment at (1,1) size 50x50

        Before:
            Flow Threads
                Thread with flow-name 'article'
                Regions for flow 'article'
                    RenderRegion {DIV} #region_1
                    RenderRegion {DIV} #region_2
        After:
            Named flows
                Named flow 'article'
                Regions for named flow 'article'
                    RenderNamedFlowFragment (anonymous child of {DIV::before} #region_1)
                    RenderNamedFlowFragment (anonymous child of {DIV} #region_2)

        Changed existing tests based on the new dumps.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::renderName):
        * rendering/RenderNamedFlowFragment.h: Add a comment explaining the purpose of the class.
        * rendering/RenderRegion.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        (WebCore::writeRenderRegionList): Adjust function to display info for anonymous regions too.
        (WebCore::writeRenderNamedFlowThreads): Separate dump of valid and invalid regions for a named flow.

2013-10-29  Zan Dobersek  <zdobersek@igalia.com>

        Move writeIndent, overloaded << operators from RenderTreeAsText to TextStream
        https://bugs.webkit.org/show_bug.cgi?id=116012

        Reviewed by Simon Fraser.

        The writeIndent method and overloaded << operators for writing out vectors and points and rectangles
        of various types are not specific to the render tree nor do they depend on any rendering-specific interface.

        * page/scrolling/ScrollingStateNode.cpp:
        * page/scrolling/ScrollingStateNode.h:
        (ScrollingStateNode): Remove the writeIndent declaration, it's functionally the same as the TextStream method.
        * platform/graphics/GraphicsLayer.cpp:
        * platform/graphics/GraphicsLayer.h:
        (GraphicsLayer): Ditto.
        * platform/graphics/filters/DistantLightSource.cpp: Remove the RenderTreeAsText.h inclusion or replace it with
        the inclusion of the TextStream.h header where required. The writeIndent method is now declared there.
        * platform/graphics/filters/FEBlend.cpp: Ditto.
        * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
        * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
        * platform/graphics/filters/FEComposite.cpp: Ditto.
        * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
        * platform/graphics/filters/FECustomFilter.cpp: Ditto.
        * platform/graphics/filters/FEDiffuseLighting.cpp: Ditto.
        * platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
        * platform/graphics/filters/FEDropShadow.cpp: Ditto.
        * platform/graphics/filters/FEFlood.cpp: Ditto.
        * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
        * platform/graphics/filters/FEMerge.cpp: Ditto.
        * platform/graphics/filters/FEMorphology.cpp: Ditto.
        * platform/graphics/filters/FEOffset.cpp: Ditto.
        * platform/graphics/filters/FESpecularLighting.cpp: Ditto.
        * platform/graphics/filters/FETurbulence.cpp: Ditto.
        * platform/graphics/filters/SourceAlpha.cpp: Ditto.
        * platform/graphics/filters/SourceGraphic.cpp: Ditto.
        * platform/text/TextStream.cpp: Move the writeIndent and operators' definitions here.
        (WebCore::operator<<):
        (WebCore):
        (WebCore::writeIndent):
        * platform/text/TextStream.h: Move the writeIndent and operators' declarations here.
        (WebCore):
        (TextStream):
        (WebCore::TextStream::operator<<):
        * rendering/RenderTreeAsText.cpp: Move the writeIndent and operators' definitions into TextStream.
        (WebCore):
        * rendering/RenderTreeAsText.h: Move the writeIndent and operators' declarations into TextStream.
        (WebCore):

2013-10-28  Zan Dobersek  <zdobersek@igalia.com>

        Clean up ScopedEventQueue
        https://bugs.webkit.org/show_bug.cgi?id=123408

        Reviewed by Darin Adler.

        Clean up the ScopedEventQueue implementation. ScopedEventQueue::instance() should return a reference to a
        NeverDestroyed<ScopedEventQueue> object. The static ScopedEventQueue::s_instance pointer is removed.

        The ScopedEventQueue destructor, the dispatchAllEvents method and the scope level incrementation/decrementation
        methods are made private. NeverDestroyed<ScopedEventQueue> and EventQueueScope are made friends of the
        ScopedEventQueue class so they can access the constructor and the incrementation/decrementation methods, respectively.

        ScopedEventQueue method definitions are reordered to follow the order of their declarations in the header file.
        ScopedEventQueue::dispatchAllEvents() now uses std::move to efficiently dispatch and clear all currently queued events.

        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchScopedEvent):
        * dom/ScopedEventQueue.cpp:
        (WebCore::ScopedEventQueue::instance):
        (WebCore::ScopedEventQueue::dispatchAllEvents):
        * dom/ScopedEventQueue.h:
        (WebCore::EventQueueScope::EventQueueScope):
        (WebCore::EventQueueScope::~EventQueueScope):

2013-10-28  Andreas Kling  <akling@apple.com>

        applyTextTransform() should take a const RenderStyle&.
        <https://webkit.org/b/123434>

        This function is always called with an existing RenderStyle object.

        Reviewed by Anders Carlsson.

2013-10-28  Andreas Kling  <akling@apple.com>

        RenderSVGResource::applyResource() should take a const RenderStyle&.
        <https://webkit.org/b/123433>

        These functions are always called with an existing RenderStyle object
        so let them take a const reference instead of a raw pointer.
        Also sprinkled some missing OVERRIDEs.

        Reviewed by Anders Carlsson.

2013-10-28  Andreas Kling  <akling@apple.com>

        Remove unused RenderTextControl::textBaseStyle().
        <https://webkit.org/b/123432>

        Reviewed by Anders Carlsson.

2013-10-28  Zan Dobersek  <zdobersek@igalia.com>

        HTML input type objects should be managed through std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=123160

        Reviewed by Darin Adler.

        Make the constructors of the InputType subclasses public. This makes it possible to use std::make_unique on these classes
        and makes the T::create() helpers redundant. New instances of these classes are now managed through std::unique_ptr.

        InputType::create() now uses a NeverDestroyed InputTypeFactoryMap that maps type names to InputTypeFactoryFunctions and
        gets populated when the method is first called and the map is still empty. Certain types are not added to the factory map
        if they're disabled at runtime.

        The factory is used to create the new InputType object if the requested type was found in the map, and TextInputType is used otherwise.

        * html/ButtonInputType.cpp:
        * html/ButtonInputType.h:
        (WebCore::ButtonInputType::ButtonInputType):
        * html/CheckboxInputType.cpp:
        * html/CheckboxInputType.h:
        (WebCore::CheckboxInputType::CheckboxInputType):
        * html/ColorInputType.cpp:
        * html/ColorInputType.h:
        (WebCore::ColorInputType::ColorInputType):
        * html/DateInputType.cpp:
        * html/DateInputType.h:
        * html/DateTimeInputType.cpp:
        * html/DateTimeInputType.h:
        (WebCore::DateTimeInputType::DateTimeInputType):
        * html/DateTimeLocalInputType.cpp:
        * html/DateTimeLocalInputType.h:
        (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
        * html/EmailInputType.cpp:
        * html/EmailInputType.h:
        (WebCore::EmailInputType::EmailInputType):
        * html/FileInputType.cpp:
        * html/FileInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateType):
        * html/HTMLInputElement.h:
        * html/HiddenInputType.cpp:
        * html/HiddenInputType.h:
        (WebCore::HiddenInputType::HiddenInputType):
        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::ImageInputType):
        * html/ImageInputType.h:
        * html/InputType.cpp:
        (WebCore::createInputType): A templated helper that constructs a new InputType subclass object through std::make_unique.
        (WebCore::populateInputTypeFactoryMap): Populates the passed-in map with type-createInputType<T> pairs.
        (WebCore::InputType::create): Get the InputTypeFactoryFunction for the specified type, or fall back to TextInputType.
        (WebCore::InputType::createText):
        * html/InputType.h:
        * html/MonthInputType.cpp:
        * html/MonthInputType.h:
        (WebCore::MonthInputType::MonthInputType):
        * html/NumberInputType.cpp:
        * html/NumberInputType.h:
        (WebCore::NumberInputType::NumberInputType):
        * html/PasswordInputType.cpp:
        * html/PasswordInputType.h:
        (WebCore::PasswordInputType::PasswordInputType):
        * html/RadioInputType.cpp:
        * html/RadioInputType.h:
        (WebCore::RadioInputType::RadioInputType):
        * html/RangeInputType.cpp:
        * html/RangeInputType.h:
        * html/ResetInputType.cpp:
        * html/ResetInputType.h:
        (WebCore::ResetInputType::ResetInputType):
        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::SearchInputType):
        * html/SearchInputType.h:
        * html/SubmitInputType.cpp:
        * html/SubmitInputType.h:
        (WebCore::SubmitInputType::SubmitInputType):
        * html/TelephoneInputType.cpp:
        * html/TelephoneInputType.h:
        (WebCore::TelephoneInputType::TelephoneInputType):
        * html/TextInputType.cpp:
        * html/TextInputType.h:
        (WebCore::TextInputType::TextInputType):
        * html/TimeInputType.cpp:
        * html/TimeInputType.h:
        * html/URLInputType.cpp:
        * html/URLInputType.h:
        (WebCore::URLInputType::URLInputType):
        * html/WeekInputType.cpp:
        * html/WeekInputType.h:
        (WebCore::WeekInputType::WeekInputType):

2013-10-28  Brady Eidson  <beidson@apple.com>

        Refactor IDB factory creation.
        https://bugs.webkit.org/show_bug.cgi?id=123347

        Reviewed by Andreas Kling.

        - Rework how database directory location is passed around.
        - Make (some) SecurityOrigin arguments be references instead of pointers.
        - Add two SecurityOrigin arguments to opening databases for future use.

        * Modules/indexeddb/IDBFactory.cpp:
        (WebCore::IDBFactory::openInternal):

        * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
        (WebCore::IDBFactoryBackendInterface::create):
        * Modules/indexeddb/IDBFactoryBackendInterface.h:

        * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
        (WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase):
        (WebCore::PageGroupIndexedDatabase::from):
        (WebCore::PageGroupIndexedDatabase::factoryBackend):
        * Modules/indexeddb/PageGroupIndexedDatabase.h:

        * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
        (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
        (WebCore::WorkerGlobalScopeIndexedDatabase::from):
        (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
        * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:

        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
        (WebCore::IDBBackingStoreLevelDB::open):
        (WebCore::IDBBackingStoreLevelDB::openInMemory):
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
        (WebCore::computeFileIdentifier):
        (WebCore::computeUniqueIdentifier):
        (WebCore::IDBFactoryBackendLevelDB::IDBFactoryBackendLevelDB):
        (WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):
        (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
        (WebCore::IDBFactoryBackendLevelDB::openBackingStore):
        (WebCore::IDBFactoryBackendLevelDB::open):
        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
        (WebCore::IDBFactoryBackendLevelDB::create):

        * WebCore.exp.in:

        * platform/DatabaseStrategy.cpp:
        (WebCore::DatabaseStrategy::createIDBFactoryBackend):
        * platform/DatabaseStrategy.h:

2013-10-28  Andreas Kling  <akling@apple.com>

        RenderElement::style() should return a reference.
        <https://webkit.org/b/123414>

        Now that renderers always have style, go ahead and make style()
        return a RenderStyle&.

        There are countless opportunities for further cleanup enabled by
        this change. I'm simply passing &style() in many cases where we
        can really do something nicer instead.

        Reviewed by Anders Carlsson.

2013-10-28  Tim Horton  <timothy_horton@apple.com>

        Make TileController create the appropriate PlatformCALayer subclasses
        https://bugs.webkit.org/show_bug.cgi?id=123418

        Reviewed by Simon Fraser.

        Add PlatformCALayer::createCompatibleLayer, which is overridden in
        each of the subclasses to create a PlatformCALayer instance of the same
        subclass. This is used in TileController to make bare PlatformCALayers
        of the correct type (Mac, Win, or Remote).

        * platform/graphics/ca/PlatformCALayer.h:
        * platform/graphics/ca/mac/PlatformCALayerMac.h:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayerMac::createCompatibleLayer):
        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (PlatformCALayerWin::createCompatibleLayer):
        * platform/graphics/ca/win/PlatformCALayerWin.h:
        Add createCompatibleLayer and implement it in the subclasses.

        * platform/graphics/ca/mac/TileController.mm:
        (WebCore::TileController::TileController):
        (WebCore::TileController::tiledScrollingIndicatorLayer):
        (WebCore::TileController::createTileLayer):
        Make use of createCompatibleLayer when creating PlatformCALayers.

2013-10-28  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: CSS Regions: Add protocol API to expose content nodes addition/removal
        https://bugs.webkit.org/show_bug.cgi?id=123424

        Reviewed by Timothy Hatcher.

        Test: inspector-protocol/model/content-flow-content-nodes.html

        Adding two new inspector-protocol APIs to handle the cases when new elements are
        added or removed from a named flow. These APIs will trigger even though there
        is no region associated with the named flow.

        * inspector/Inspector.json:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
        (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
        (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
        (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
        (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):

2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused inspector/inline-javascript-imports.py
        https://bugs.webkit.org/show_bug.cgi?id=123425

        Reviewed by Timothy Hatcher.

        * inspector/inline-javascript-imports.py: Removed.

2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused "externs" files and generators
        https://bugs.webkit.org/show_bug.cgi?id=123427

        Reviewed by Timothy Hatcher.

        * inspector/InjectedScriptExterns.js: Removed.
        * inspector/generate_protocol_externs.py: Removed.

2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>

        Upstream remaining PLATFORM(IOS) and ENABLE(REMOTE_INSPECTOR) pieces
        https://bugs.webkit.org/show_bug.cgi?id=123411

        Reviewed by Timothy Hatcher.

        Include an InspectorClient hook for when node searching is enabled / disabled.

        * inspector/InspectorClient.h:
        (WebCore::InspectorClient::didSetSearchingForNode):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setSearchingForNode):
        * inspector/InspectorOverlay.cpp:
        (WebCore::InspectorOverlay::didSetSearchingForNode):
        * inspector/InspectorOverlay.h:

2013-10-28  Benjamin Poulain  <benjamin@webkit.org>

        Rename applyPageScaleFactorInCompositor to delegatesPageScaling
        https://bugs.webkit.org/show_bug.cgi?id=123417

        Reviewed by Simon Fraser.

        * page/Frame.cpp:
        (WebCore::Frame::frameScaleFactor):
        * page/FrameView.cpp:
        (WebCore::FrameView::visibleContentScaleFactor):
        * page/Page.cpp:
        (WebCore::Page::setPageScaleFactor):
        * page/Settings.in:
        * platform/ScrollView.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::addToOverlapMap):

2013-10-28  Myles C. Maxfield  <mmaxfield@apple.com>

        Parsing support for -webkit-text-decoration-skip: ink
        https://bugs.webkit.org/show_bug.cgi?id=123358

        Reviewed by Dean Jackson.

        Adds initial parsing support for parsing -webkit-text-decoration-skip with
        values of "none" and "ink". This work is behind the new
        ENABLE(CSS3_TEXT_DECORATION) compile-time flag.

        Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html

        * Configurations/FeatureDefines.xcconfig: Adding ENABLE(CSS3_TEXT_DECORATION)
        * css/CSSComputedStyleDeclaration.cpp: Mapping internal representation of text-decoration-skip
        to a CSSValue
        (WebCore::renderTextDecorationSkipFlagsToCSSValue):
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSParser.cpp: Actually parsing tokens
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseTextDecorationSkip):
        * css/CSSParser.h:
        * css/CSSPropertyNames.in: adding -webkit-text-decoration-skip
        * css/CSSValueKeywords.in: adding ink
        * css/DeprecatedStyleBuilder.cpp: Mapping from CSSValue to internal representation
        (WebCore::ApplyPropertyTextDecorationSkip::valueToDecorationSkip):
        (WebCore::ApplyPropertyTextDecorationSkip::applyValue):
        (WebCore::ApplyPropertyTextDecorationSkip::createHandler):
        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
        * css/StyleResolver.cpp: decoration-skip uses DeprecatedStyleBuilder
        (WebCore::StyleResolver::applyProperty):
        * rendering/style/RenderStyle.h: Adding functions for modifying and accessing decoration-skip properties
        * rendering/style/RenderStyleConstants.h: Definition of internal representation
        * rendering/style/StyleRareInheritedData.cpp: Setting up constructors and comparators
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h: Holds actual value of internal representation

2013-10-28  Anders Carlsson  <andersca@apple.com>

        RunLoop::dispatch should take an std::function
        https://bugs.webkit.org/show_bug.cgi?id=123407

        Reviewed by Andreas Kling.

        * WebCore.exp.in:
        * platform/RunLoop.cpp:
        (WebCore::RunLoop::performWork):
        (WebCore::RunLoop::dispatch):
        * platform/RunLoop.h:

2013-10-28  Tim Horton  <timothy_horton@apple.com>

        Make TileController manipulate PlatformCALayers instead of CALayers
        https://bugs.webkit.org/show_bug.cgi?id=123279

        Reviewed by Simon Fraser.

        In the interest of making TileController more platform-independent
        (so that it can be used with the remote layer tree, and maybe Windows),
        move TileController onto our PlatformCALayer abstraction instead of
        direct manipulation of CALayers.

        Some fallout from this includes getting rid of special Mac-specific
        TileController-specific CALayer subclasses, and reworking tile
        painting to work in a more generic way.

        This is a first step, and doesn't get us all the way to a platform independent
        TileController, but more patches are forthcoming.

        No new tests, just a (largeish) refactor.

        * WebCore.exp.in:
        The signature of some methods has changed.

        * WebCore.xcodeproj/project.pbxproj:
        Remove WebTileLayer.*

        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
        Use the "isTile" key on the CALayer dictionary instead of the layer's
        class to determine if it's a tile. TileController will set this on a tile
        when it is created, for now.

        * platform/graphics/TiledBacking.h:
        tiledScrollingIndicatorLayer() should return a PlatformCALayer.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
        * platform/graphics/ca/PlatformCALayerClient.h:
        The PlatformCALayerClient paintContents and incrementRepaintCount callbacks
        should include the platformCALayer that caused the callback.

        * platform/graphics/ca/PlatformCALayer.h:
        Add LayerTypeSimpleLayer, which is similar to LayerTypeWebLayer
        except it just calls back its client to paint, instead of doing
        complicated things with repaint rects. This is so that TileController
        doesn't re-enter drawLayerContents when asking its GraphicsLayer
        to paint for each PlatformCALayer (it will be entering drawLayerContents
        for the first time for each layer). It also happens to be useful
        for things like the tile controller overlay, which don't need
        all that complication.

        Add LayerTypeTiledBackingTileLayer, which is used simply to distinguish
        TileController Tile layers from other LayerTypeSimpleLayers.

        * platform/graphics/ca/mac/LayerPool.h:
        * platform/graphics/ca/mac/LayerPool.mm:
        (WebCore::LayerPool::addLayer):
        (WebCore::LayerPool::takeLayerWithSize):
        LayerPool should operate on PlatformCALayers now.

        * platform/graphics/ca/mac/PlatformCALayerMac.h:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayerMac::PlatformCALayerMac):
        Set the "isTile" key on the CALayer to true for TiledBackingTileLayers,
        so that the scrolling performance logging can tell a tile apart from
        any other layer, on the scrolling thread, without touching PlatformCALayers
        or the TileController or any other main-thread data structures.

        (PlatformCALayerMac::setEdgeAntialiasingMask): Added.
        * platform/graphics/ca/mac/TileController.h:
        Remove references to Objective-C classes; instead use PlatformCALayer everywhere.
        TileController is now a PlatformCALayerClient, and the layers it owns are
        all PlatformCALayers (and it is constructed with a PlatformCALayer, etc.).
        Hand in the tile debug border color as a WebCore color, instead of a CGColorRef.
        blankPixelCountForTiles() now operates on a list of PlatformLayers instead of
        WebTileLayers specifically, since WebTileLayer is gone.
        Make drawTileMapContents private because WebTileCacheMapLayer no longer exists.

        (WebCore::TileController::platformCALayerDrawsContent):
        All of the layers who have TileController as their client paint their contents.

        (WebCore::TileController::platformCALayerContentsOpaque):
        This will only be called for layers which paint via drawLayerContents,
        so it's OK that we don't special-case the debugging overlay here.

        (WebCore::TileController::owningGraphicsLayer):
        Return the GraphicsLayer that owns the TileController's main
        layer, via its conformance to PlatformCALayerClient. This is
        a bit strange (because it's not strictly a GraphicsLayer, despite
        always being so at the moment), but is done for clarity inside
        TileController itself.

        * platform/graphics/ca/mac/TileController.mm:
        Remove CALayer (WebCALayerDetails), WebTiledScrollingIndicatorLayer,
        and a bunch of includes that we don't need anymore.

        (WebCore::TileController::create):
        (WebCore::TileController::TileController):
        TileController is passed a PlatformCALayer for the tile cache root layer,
        instead of a WebTiledBackingLayer. It also creates a PlatformCALayer with
        LayerTypeLayer instead of a bare CALayer for the container layer.
        It's OK to remove the transaction because it was only used to stop
        the implicit animation, which PlatformCALayer will do for us.

        (WebCore::TileController::~TileController):
        Clear the owner of the PlatformCALayers which the TileController previously owned,
        so they don't try to call back a destroyed TileController.

        (WebCore::TileController::tileCacheLayerBoundsChanged):
        (WebCore::TileController::setNeedsDisplay):
        Straightforward adjustments towards use of PlatformCALayer.

        (WebCore::TileController::setTileNeedsDisplayInRect):
        Adjustments towards use of PlatformCALayer; we need FloatRects so we can
        pass pointers to PlatformCALayer::setNeedsDisplay.

        (WebCore::TileController::platformCALayerPaintContents):
        Replace drawLayer with platformCALayerPaintContents, which will be called
        back from our various WebSimpleLayers. If the PlatformCALayer is our
        tiled scrolling debug indicator, paint that. Otherwise, it's a tile.
        Make use of drawLayerContents() to paint the tile contents.
        Make use of drawRepaintIndicator() to paint the repaint indicator if needed.
        Move scrolling performance logging code that used to be in WebTileLayer here.

        (WebCore::TileController::platformCALayerDeviceScaleFactor):
        (WebCore::TileController::platformCALayerShowDebugBorders):
        (WebCore::TileController::platformCALayerShowRepaintCounter):
        Forward these to the owning GraphicsLayerCA, because it will have the right answers.

        (WebCore::TileController::setScale):
        Adjustments towards use of PlatformCALayer; remove some code that Simon
        caused to be unused in 156291 but did not remove.

        (WebCore::TileController::setAcceleratesDrawing):
        (WebCore::TileController::setTilesOpaque):
        (WebCore::TileController::setVisibleRect):
        (WebCore::TileController::revalidateTiles):
        (WebCore::TileController::setTileDebugBorderWidth):
        (WebCore::TileController::setTileDebugBorderColor):
        (WebCore::TileController::bounds):
        (WebCore::TileController::blankPixelCount):
        (WebCore::TileController::blankPixelCountForTiles):
        (WebCore::queueTileForRemoval):
        (WebCore::TileController::setNeedsRevalidateTiles):
        (WebCore::TileController::ensureTilesForRect):
        (WebCore::TileController::retainedTileBackingStoreMemory):
        Straightforward adjustments towards use of PlatformCALayer.

        (WebCore::TileController::updateTileCoverageMap):
        Adjustments towards use of PlatformCALayer; rename backgroundColor
        to visibleRectIndicatorColor, since it's actually a border, not a background.

        (WebCore::TileController::tiledScrollingIndicatorLayer):
        Create a LayerTypeSimpleLayer PlatformCALayer for the tiled scrolling indicator.
        It will be asked to paint straightforwardly, like a CALayer would.
        Create a LayerTypeLayer PlatformCALayer for the visible rect indicator.
        It doesn't need to paint anything, so it doesn't get an owner.

        (WebCore::TileController::createTileLayer):
        When creating a new tile layer, adopt it by setting its owner.
        Otherwise, straightforward adjustments towards use of PlatformCALayer.

        (WebCore::TileController::platformCALayerIncrementRepaintCount):
        Manage repaint counts for tiles in TileController now.

        (WebCore::TileController::drawTileMapContents):
        Adjustments towards use of PlatformCALayer.

        * platform/graphics/ca/mac/WebTileLayer.h: Removed.
        * platform/graphics/ca/mac/WebTileLayer.mm: Removed.
        We don't need WebTileLayer anymore, tiles are now just WebSimpleLayers
        owned by TileController. Its behavior has been moved into TileController.

        * platform/graphics/ca/mac/WebTiledBackingLayer.h:
        * platform/graphics/ca/mac/WebTiledBackingLayer.mm:
        (-[WebTiledBackingLayer createTileController:]):
        Add createTileController: so that the WebTiledBackingLayer's owner can
        hand the TileController the PlatformCALayer for the WebTiledBackingLayer
        without propagating additional usage of PlatformCALayer::platformCALayer(),
        which we need to remove in light of the remote layer tree work.

        (-[WebTiledBackingLayer setBorderColor:]):

        * platform/graphics/ca/win/PlatformCALayerWin.h:
        Add an empty implementation of setEdgeAntialiasingMask.
        We'll probably want to implement it before adopting TileController on Windows.

        * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
        (PlatformCALayerWinInternal::displayCallback):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount):
        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
        (WebCore::LayerClient::platformCALayerPaintContents):
        (WebCore::LayerClient::platformCALayerIncrementRepaintCount):
        Adjust for new parameters on PlatformCALayerClient callbacks.

        * platform/graphics/mac/WebLayer.h:
        Add WebSimpleLayer, which inherits directly from CALayer, and make
        our standard WebLayer (which is used for compositing layers in web content)
        inherit from that.

        * platform/graphics/mac/WebLayer.mm:
        Move most of the behavior of WebLayer onto WebSimpleLayer, except for its
        complex painting code. That stays as an override on WebLayer.

        (WebCore::drawLayerContents):
        Use the PlatformCALayer's PlatformLayer - if it exists - to extract
        fine-grained repaint rects. If it doesn't, we'll just use the CGContext's
        clip rect as our single repaint rect.
        Rename platformLayer to platformCALayer for accuracy.
        Remove special code for CATiledLayer since we ought not use it on Mac anymore.

        (WebCore::drawRepaintIndicator):
        Factor repaint indicator code out into its own function so that TileController
        can use it. It can't be called from drawLayerContents for TileController, since
        the PlatformCALayer that TileController passes in to drawLayerContents is actually
        that of the tile cache's root layer, not the tile itself.
        Also, add a custom background color parameter so TileController can override
        the default green color with its own standard purple.

        (-[WebLayer drawInContext:]):
        (-[WebSimpleLayer drawInContext:]):
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer drawInContext:]):
        Removed a param from drawLayerContents because it's trivially acquirable
        from the PlatformCALayer.

2013-10-24  Sam Weinig  <sam@webkit.org>

        Move RenderBlock functions only used by RenderBlockFlow to RenderBlockFlow
        https://bugs.webkit.org/show_bug.cgi?id=123318

        Reviewed by David Hyatt.

        * rendering/LineLayoutState.h:
        Move FloatWithRect from RenderBlock.

        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.cpp:
        * rendering/RenderBlockFlow.h:
        * rendering/RenderBlockLineLayout.cpp:
        Move pagination and float functions.

2013-10-28  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Add support for order inside grid items
        https://bugs.webkit.org/show_bug.cgi?id=123208

        Reviewed by Antti Koivisto.

        Based on Blink r153457 and r153536 by <jchaffraix@chromium.org>

        Added support for sorting grid items by using -webkit-order
        property. Used OrderIterator to implement it so it had to be moved
        out of RenderFlexibleBox to be shared with RenderGrid.

        Tests: fast/css-grid-layout/grid-item-order-auto-flow-resolution.html
               fast/css-grid-layout/grid-item-order-paint-order.html

        * CMakeLists.txt: Added new file.
        * GNUmakefile.list.am: Ditto.
        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * rendering/OrderIterator.cpp: Added. Ripped out of RenderFlexibleBox.
        (WebCore::OrderIterator::OrderIterator):
        (WebCore::OrderIterator::setOrderValues): Use std::move semantics.
        (WebCore::OrderIterator::first): Use an integer as iterator.
        (WebCore::OrderIterator::next): Ditto.
        (WebCore::OrderIterator::reset): Ditto.
        * rendering/OrderIterator.h: Added.
        (WebCore::OrderIterator::currentChild):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::RenderFlexibleBox):
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderFlexibleBox.h:
        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::RenderGrid):
        (WebCore::RenderGrid::placeItemsOnGrid):
        (WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
        (WebCore::RenderGrid::paintChildren):
        * rendering/RenderGrid.h:

2013-10-28  Afonso R. Costa Jr.  <afonso.costa@samsung.com>

        Methods on window.internals shouldn't pass a document.
        https://bugs.webkit.org/show_bug.cgi?id=107301

        Reviewed by Alexey Proskuryakov.

        Each 'Internals' instance is associated with a 'Document'. So, it
        is not necessary to pass a document as argument. Only nodesFromRect and
        layerTreeAsText methods were kept because, in some Layout Tests, the
        'Document' object is not the same used by Internals::contextDocument.

        * testing/Internals.cpp: Removed 'document' parameter.
        (WebCore::Internals::animationsAreSuspended):
        (WebCore::Internals::suspendAnimations):
        (WebCore::Internals::resumeAnimations):
        (WebCore::Internals::inspectorHighlightRects):
        (WebCore::Internals::inspectorHighlightObject):
        (WebCore::Internals::setScrollViewPosition):
        (WebCore::Internals::setPagination):
        (WebCore::Internals::configurationForViewport):
        (WebCore::Internals::paintControlTints):
        (WebCore::Internals::setDelegatesScrolling):
        (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
        (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
        (WebCore::Internals::touchPositionAdjustedToBestContextMenuNode):
        (WebCore::Internals::touchNodeAdjustedToBestContextMenuNode):
        (WebCore::Internals::bestZoomableAreaForTouchPoint):
        (WebCore::Internals::lastSpellCheckRequestSequence):
        (WebCore::Internals::lastSpellCheckProcessedSequence):
        (WebCore::Internals::wheelEventHandlerCount):
        (WebCore::Internals::touchEventHandlerCount):
        (WebCore::Internals::setBatteryStatus):
        (WebCore::Internals::setNetworkInformation):
        (WebCore::Internals::setDeviceProximity):
        (WebCore::Internals::hasSpellingMarker):
        (WebCore::Internals::hasAutocorrectedMarker):
        (WebCore::Internals::isOverwriteModeEnabled):
        (WebCore::Internals::toggleOverwriteModeEnabled):
        (WebCore::Internals::consoleMessageArgumentCounts):
        (WebCore::Internals::hasGrammarMarker):
        (WebCore::Internals::numberOfScrollableAreas):
        (WebCore::Internals::isPageBoxVisible):
        (WebCore::Internals::repaintRectsAsText):
        (WebCore::Internals::scrollingStateTreeAsText):
        (WebCore::Internals::mainThreadScrollingReasons):
        (WebCore::Internals::nonFastScrollableRects):
        (WebCore::Internals::garbageCollectDocumentResources):
        (WebCore::Internals::insertAuthorCSS):
        (WebCore::Internals::insertUserCSS):
        (WebCore::Internals::shortcutIconURLs):
        (WebCore::Internals::allIconURLs):
        (WebCore::Internals::setHeaderHeight):
        (WebCore::Internals::setFooterHeight):
        (WebCore::Internals::webkitWillEnterFullScreenForElement):
        (WebCore::Internals::webkitDidEnterFullScreenForElement):
        (WebCore::Internals::webkitWillExitFullScreenForElement):
        (WebCore::Internals::webkitDidExitFullScreenForElement):
        (WebCore::Internals::startTrackingRepaints):
        (WebCore::Internals::stopTrackingRepaints):
        (WebCore::Internals::getCurrentCursorInfo):
        * testing/Internals.h:
        (WebCore::Internals::setPagination):
        * testing/Internals.idl:

2013-10-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>

        Remove HTMLMediaElement.startTime
        https://bugs.webkit.org/show_bug.cgi?id=123264

        Reviewed by Eric Carlson.

        Patch based on one by: philipj@opera.com
        Blink review URL: https://codereview.chromium.org/32583003

        startTime has been removed from the HTMLMediaElement and its use
        in the rest of components.

        * Modules/mediacontrols/mediaControlsApple.js:
        (Controller.prototype.handleRewindButtonClicked):
        (Controller.prototype.handleTimelineMouseMove):
        (Controller.prototype.updateDuration):
        (Controller.prototype.updateTime): Removed used of startTime().
        * bindings/gobject/WebKitDOMCustom.cpp:
        (webkit_dom_html_media_element_get_start_time):
        * bindings/gobject/WebKitDOMCustom.h:
        * bindings/gobject/WebKitDOMCustom.symbols: Added phony function.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
        (WebCore::HTMLMediaElement::isBlockedOnMediaController): Removed
        use of startTime()
        * html/HTMLMediaElement.h:
        * html/HTMLMediaElement.idl: Removed startTime()
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::paintSliderThumb): Removed use of
        startTime()

2013-10-28  Andreas Kling  <akling@apple.com>

        RenderElement::m_style should be a Ref.
        <https://webkit.org/b/123401>

        Made RenderElement::m_style a Ref. This codifies the fact that it
        can never be null after construction.

        Removed a couple of unnecessary null checks that were exposed as
        compilation failures.

        Reviewed by Antti Koivisto.

2013-10-28  Bastien Nocera <hadess@hadess.net>

        Name all the GLib timeout sources
        https://bugs.webkit.org/show_bug.cgi?id=123229

        Reviewed by Anders Carlsson.

        Give a name to GLib timeout sources, this is helpful when
        profiling WebKitGTK applications.

        No new tests, no change in functionality.

2013-10-28  Philippe Normand  <pnormand@igalia.com>

        MediaStreamTrackPrivate's m_client uninitialized
        https://bugs.webkit.org/show_bug.cgi?id=123403

        Reviewed by Eric Carlson.

        No new tests, no change in functionality.

        * platform/mediastream/MediaStreamTrackPrivate.cpp:
        (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
        Initialize the m_client member variable.

2013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.am: Add crypto idl files to EXTRA_DIST and remove
        css/fullscreenQuickTime.css that was removed.

2013-10-28  Antti Koivisto  <antti@apple.com>

        Prepare simple line layout to support multiple runs per line
        https://bugs.webkit.org/show_bug.cgi?id=123400

        Reviewed by Andreas Kling.

        Bunch of renaming and some refactoring for future support for text runs.

        SimpleLineLayout::Lines -> SimpleLineLayout::Layout and becomes a class instead of a typedef.
        SimpleLineLayout::Resolver::Line -> SimpleLineLayout::Resolver::Run
        SimpleLineLayout::createLines() -> SimpleLineLayout::create()
        RenderBlockFlow::simpleLines() -> RenderBlockFlow::simpleLineLayout()
        RenderText::simpleLines() -> RenderText::simpleLineLayout()
        
        Added resolver construction functions:
        
        SimpleLineLayout::runResolver()
        SimpleLineLayout::lineResolver()

2013-10-28  Mario Sanchez Prada  <mario.prada@samsung.com>

        [GTK] Expose title and alternative text for links in image maps
        https://bugs.webkit.org/show_bug.cgi?id=84045

        Reviewed by Chris Fleizach.

        Change the way we decide when the title attribute should be
        used for the accessible description, by not relying in the
        titleTagShouldBeUsedInDescriptionField() helper function but
        in whether we have found a visible text for it or not.

        This actually mimics what the Mac port does and so makes possible
        to share both the layout test and its expected results.

        * accessibility/atk/WebKitAccessibleUtil.cpp:
        (accessibilityDescription): Update the method to determine
        whether the title attribute should be used for the description.

2013-10-28  Bastien Nocera <hadess@hadess.net>

        Replace 0 timeouts g_timeout_add() by g_idle_add()
        https://bugs.webkit.org/show_bug.cgi?id=123260

        Reviewed by Carlos Garcia Campos.

        A zero timeout should be equivalent to using g_idle_add_full(G_PRIORITY_DEFAULT, ...)
        without the nagging feeling that the wrong API was used.

        No new tests, no change in functionality.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Use g_idle_add() instead
        of 0-timer.
        (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
        (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Ditto.
        (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
        (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
        * platform/gtk/GtkDragAndDropHelper.cpp: Ditto.
        (WebCore::GtkDragAndDropHelper::handleDragLeave):

2013-10-28  Zan Dobersek  <zdobersek@igalia.com>

        Re-enable simple line layout for GTK
        https://bugs.webkit.org/show_bug.cgi?id=123388

        Reviewed by Andreas Kling.

        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for the GTK port, so the port
        can use the simple line layout.

2013-10-27  Andreas Kling  <akling@apple.com>

        Fix 4 asserting SVG tests after r158097.

        RenderElement::setStyle() is, quite surprisingly, a virtual function
        with a single override in RenderSVGBlock.
        To match the old behavior, we have to rewrite the display type from
        any inline type to block instead.

        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::initializeStyle):

2013-10-27  Andreas Kling  <akling@apple.com>

        Tone down overzealous assertion from r158097.

        RenderElement::initializeStyle() really only cares that there are no
        text renderers that we should be calling styleDidChange() on.

        Tweak the code to only check that there are no text children.

        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::initializeStyle):

2013-10-27  Antti Koivisto  <antti@apple.com>

        Enable center and right text alignment for simple lines
        https://bugs.webkit.org/show_bug.cgi?id=123398

        Reviewed by Andreas Kling.

        Support text-align:center and text-align:right on simple line layout path.

        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor):
        
            text-align:justify is still not supported.

        (WebCore::SimpleLineLayout::computeLineLeft):
        (WebCore::SimpleLineLayout::createLines):
        
            Do a rounding dance that matches the line boxes.

        * rendering/SimpleLineLayout.h:
        
            Add left position to lines.

        * rendering/SimpleLineLayoutResolver.h:
        (WebCore::SimpleLineLayout::Resolver::Line::rect):
        
            We now do rounding during layout.

        (WebCore::SimpleLineLayout::Resolver::Line::baseline):

2013-10-27  Andreas Kling  <akling@apple.com>

        Renderers should receive their style at construction.
        <https://webkit.org/b/123396>

        Pass the RenderStyle to all non-text renderer constructors.
        After construction, initializeStyle() must be called (as a stopgap
        measure) until we are able to do style-derived initialization
        without virtual function calls.

        With this change, RenderElement::m_style is never null. Subsequent
        patches will add enforcement for this and also make style() return
        a RenderStyle&.

        I'm adding three FIXME's in this patch:

            - createRendererIfNeeded() calls AnimationController to set up
              the initial style manually instead of asking RenderElement's
              setAnimatedStyle() to do it. This can probably be done in a
              nicer way, but it's not clear yet how.

            - ImageContentData::createRenderer() does a bit of unnecessary
              work. This should be easy to clean up but got too distracting
              to be part of this patch.

            - Document::createRenderTree() creates the RenderView with an
              initial dummy RenderStyle. I've done this because resolving
              the document style assumes we already have a RenderView.

        For styleWillChange() implementations to detect that they are
        reacting to the initial style, I've added a hasInitializedStyle()
        function on RenderElement. This will return false until you've
        called initializeStyle() on the renderer. This should go away
        along with initializeStyle() eventually.

        Reviewed by Antti Koivisto.

2013-10-26  Tim Horton  <timothy_horton@apple.com>

        [mac] Remove WebTiledLayer
        https://bugs.webkit.org/show_bug.cgi?id=123395

        Reviewed by Anders Carlsson.

        Mac doesn't use CATiledLayer at all anymore. We have to keep
        LayerTypeTiledLayer around for Windows, for now, but we can
        get rid of WebTiledLayer and some related Mac-specific code.

        No new tests, just removing dead code.

        * WebCore.xcodeproj/project.pbxproj:
        Remove WebTiledLayer.*

        * platform/graphics/ca/PlatformCALayer.h:
        * platform/graphics/ca/mac/PlatformCALayerMac.h:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayerMac::PlatformCALayerMac):
        Remove synchronouslyDisplayTilesInRect, which was only used for WebTiledLayer on Mac.
        Remove WebTiledLayer instantiation and setup code.

        * platform/graphics/mac/WebTiledLayer.h: Removed.
        * platform/graphics/mac/WebTiledLayer.mm: Removed.

2013-10-26  Andreas Kling  <akling@apple.com>

        CTTE: RenderImageResourceStyleImage always has a StyleImage.
        <https://webkit.org/b/123390>

        Codify the fact that RenderImageResourceStyleImage always wraps an
        existing StyleImage object.

        Reviewed by Antti Koivisto.

2013-10-26  Antti Koivisto  <antti@apple.com>

        Revert some accidental changes.

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData):
        * css/CSSFontSelector.cpp:
        * css/CSSFontSelector.h:

2013-10-26  Mark Lam  <mark.lam@apple.com>

        Gardening: fixed broken build.
        https://bugs.webkit.org/show_bug.cgi?id=123354.

        * css/CSSFontSelector.h:

2013-10-26  Antti Koivisto  <antti@apple.com>

        fast/frames/seamless/seamless-nested-crash.html asserts on wk2 only
        https://bugs.webkit.org/show_bug.cgi?id=123354

        Reviewed by Andreas Kling.

        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor):
        
            Don't enable simple line layout if the primary font is loading. The code expects
            to use the primary font metrics for all lines but those won't match the fallbacks
            when font is not loaded.

2013-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Deprecate public dispatch_event method in objects implementing EventTarget interface
        https://bugs.webkit.org/show_bug.cgi?id=123261

        Reviewed by Gustavo Noronha Silva.

        The interface function should be used instead.

        * bindings/scripts/CodeGeneratorGObject.pm:
        (GetFunctionDeprecationInformation): Helper function to return the
        version when the function was deprecated and the function
        replacing the deprecated one.
        (GenerateFunction): Check if the function is deprecated to mark it
        as such in the header and API docs.
        * bindings/scripts/gobject-generate-headers.pl: Replace the unused
        WEBKIT_OBSOLETE_API macro with new macros to mark function as
        deprecated, using the glib macros so that we don't need checks for
        the platform.
        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
        * bindings/scripts/test/GObject/WebKitDOMTestException.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
        * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
        * bindings/scripts/test/GObject/WebKitDOMattribute.h:

2013-10-25  Mark Lam  <mark.lam@apple.com>

        DatabaseManager's ProposedDatabases need to be thread-safe.
        https://bugs.webkit.org/show_bug.cgi?id=123313.

        Reviewed by Geoffrey Garen.

        No new tests.

        * Modules/webdatabase/DatabaseManager.cpp:
        (WebCore::DatabaseManager::DatabaseManager):
        (WebCore::DatabaseManager::existingDatabaseContextFor):
        (WebCore::DatabaseManager::registerDatabaseContext):
        (WebCore::DatabaseManager::unregisterDatabaseContext):
        (WebCore::DatabaseManager::didConstructDatabaseContext):
        (WebCore::DatabaseManager::didDestructDatabaseContext):
        (WebCore::DatabaseManager::openDatabaseBackend):
        (WebCore::DatabaseManager::addProposedDatabase):
        (WebCore::DatabaseManager::removeProposedDatabase):
        (WebCore::DatabaseManager::fullPathForDatabase):
        (WebCore::DatabaseManager::detailsForNameAndOrigin):
        * Modules/webdatabase/DatabaseManager.h:

2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>

        Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
        https://bugs.webkit.org/show_bug.cgi?id=123111

        Reviewed by Timothy Hatcher.

        * Configurations/FeatureDefines.xcconfig:
        * WebCore.exp.in:

2013-10-25  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] CORS-enabled fetch for shape image values
        https://bugs.webkit.org/show_bug.cgi?id=123114

        Reviewed by Andreas Kling.

        Access to shape images is now controlled by CORS CSS shape per
        http://dev.w3.org/csswg/css-shapes/#shape-outside-property.
        Previously shape images had to be same-origin.

        Shape image URL access is defined by the same logic that defines
        canvas tainting: same-origin and data URLs are allowed and images
        with a "Access-Control-Allow-Origin:" header that's either "*" or
        that matches the document's origin.

        A PotentiallyCrossOriginEnabled RequestOriginPolicy was added to
        ResourceLoaderOptions, to indicate that a "potentially CORS-enabled fetch"
        was to be undertaken. The CSSImageValue::cachedImage() method handles this
        option by effectively setting the "Origin:" request header (see
        updateRequestForAccessControl() in CrossOriginAccessControl.cpp).
        StyleResolver::loadPendingShapeImage() uses the new ResourceLoaderOption.

        The static ShapeInsideInfo and ShapeOutsideInfo isEnabledFor() method
        now performs the CORS check for image valued shapes. The private
        isOriginClean() method from CanvasRenderingContext2D has been moved to
        the CachedImage class so that it can be shared by the Canvas and Shape
        implementations. It checks the response headers per the CORS spec.

        Test: http/tests/security/shape-image-cors.html

        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::cachedImage): Handle the new ResourceLoaderOption.
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::loadPendingShapeImage): Set the new ResourceLoaderOption.
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::createPattern): Use the CachedImage::isOriginClean().
        * loader/ResourceLoaderOptions.h: Added PotentiallyCrossOriginEnabled to RequestOriginPolicy.
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::isOriginClean): Migrated from CanvasRenderingContext2D.
        * loader/cache/CachedImage.h:
        * rendering/shapes/ShapeInfo.cpp:
        (WebCore::::checkImageOrigin): Do the CORS check and log an error message if neccessary.
        * rendering/shapes/ShapeInfo.h:
        * rendering/shapes/ShapeInsideInfo.cpp:
        (WebCore::ShapeInsideInfo::isEnabledFor): Call checkImageOrigin() for images.
        * rendering/shapes/ShapeOutsideInfo.cpp:
        (WebCore::ShapeOutsideInfo::isEnabledFor): Ditto.

2013-10-25  Jer Noble  <jer.noble@apple.com>

        [MSE] Fix runtime errors caused by mediasource IDL attributes.
        https://bugs.webkit.org/show_bug.cgi?id=123352

        Reviewed by Eric Carlson.

        Due to http://webkit.org/b/123178, MediaSource classes must add a GenerateIsReachable
        (and also a JSGenerateToJSObject) attribute to avoid runtime asserts and crashes.

        * Modules/mediasource/MediaSource.idl:
        * Modules/mediasource/SourceBuffer.idl:
        * Modules/mediasource/SourceBufferList.idl:
        * Modules/mediasource/WebKitMediaSource.idl:
        * Modules/mediasource/WebKitSourceBufferList.idl:

2013-10-25  Jacky Jiang  <zhajiang@blackberry.com>

        [BlackBerry] Browser crashed at PlatformGraphicsContext::addDrawLineForText() when trying to upload a video to youtube
        https://bugs.webkit.org/show_bug.cgi?id=123349

        Reviewed by George Staikos.
        Internally reviewed by George Staikos, Konrad Piascik, Eli Fidler and Arvid Nilsson.

        Browser crashed when dereferencing null PlatformGraphicsContext*.
        In FrameView::paintControlTints(), we intentionally constructed GraphicsContext
        with null PlatformGraphicsContext* and disabled painting by doing
        context.setUpdatingControlTints(true). So we should not go further in
        GraphicsContext::drawLineForText() if painting is disabled.
        Check paintingDisabled() for the other functions in PathBlackBerry.cpp
        as well; otherwise, it is likely we will crash at those places.

        * platform/graphics/blackberry/PathBlackBerry.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::drawLine):
        (WebCore::GraphicsContext::drawLineForDocumentMarker):
        (WebCore::GraphicsContext::drawLineForText):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::canvasClip):
        (WebCore::GraphicsContext::clipOut):

2013-10-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Adding platform implementation of MediaStreamTrack
        https://bugs.webkit.org/show_bug.cgi?id=123301

        Reviewed by Eric Carlson.

        No new tests needed.

        * CMakeLists.txt:
        * Modules/mediastream/AudioStreamTrack.cpp:
        (WebCore::AudioStreamTrack::create): Create method now receives a MediaStreamTrackPrivate as parameter.

        (WebCore::AudioStreamTrack::AudioStreamTrack):
        * Modules/mediastream/AudioStreamTrack.h:
        * Modules/mediastream/MediaStream.cpp:
        (WebCore::MediaStream::MediaStream): Constructor now iterates through a set of MediaStreamTrackPrivate
        instances to create each MediaStreamTrack of MediaStream.

        (WebCore::MediaStream::addRemoteSource): Calling AudioStreamTrack and VideoStreamTrack with
        MediaStreamTrackPrivate as parameter.

        * Modules/mediastream/MediaStreamTrack.cpp:
        (WebCore::MediaStreamTrack::MediaStreamTrack): Constructor now receives a MediaStreamTrackPrivate, instead of a
        MediaStreamSource.

        (WebCore::MediaStreamTrack::~MediaStreamTrack):
        (WebCore::MediaStreamTrack::kind): Calling method from MediaStreamTrackPrivate.

        (WebCore::MediaStreamTrack::setSource): Ditto.

        (WebCore::MediaStreamTrack::id): Ditto.

        (WebCore::MediaStreamTrack::label): Ditto.

        (WebCore::MediaStreamTrack::enabled): Ditto.

        (WebCore::MediaStreamTrack::setEnabled): Ditto.

        (WebCore::MediaStreamTrack::muted): Ditto.

        (WebCore::MediaStreamTrack::readonly): Ditto.

        (WebCore::MediaStreamTrack::remote): Ditto.

        (WebCore::MediaStreamTrack::readyState): Ditto.

        (WebCore::MediaStreamTrack::states):
        (WebCore::MediaStreamTrack::capabilities):
        (WebCore::MediaStreamTrack::clone):
        (WebCore::MediaStreamTrack::stopProducingData):
        (WebCore::MediaStreamTrack::ended): Ditto.

        (WebCore::MediaStreamTrack::sourceStateChanged): Ditto.

        (WebCore::MediaStreamTrack::sourceMutedChanged): Ditto.

        (WebCore::MediaStreamTrack::sourceEnabledChanged): Ditto.
        (WebCore::MediaStreamTrack::configureTrackRendering):
        (WebCore::MediaStreamTrack::stopped): Ditto.

        (WebCore::MediaStreamTrack::trackDidEnd): Setting Ended ready state in MediaStreamTrackPrivate.

        (WebCore::MediaStreamTrack::trackReadyStateChanged): Dispatches Live or Ended event.

        (WebCore::MediaStreamTrack::trackMutedChanged): Dispatches Muted event.

        * Modules/mediastream/MediaStreamTrack.h: Now inheriting from MediaStreamTrackPrivateClient.

        (WebCore::MediaStreamTrack::source): Calling method from MediaStreamTrackPrivate.
        (WebCore::MediaStreamTrack::privateTrack):
        * Modules/mediastream/VideoStreamTrack.cpp:
        (WebCore::VideoStreamTrack::create):
        (WebCore::VideoStreamTrack::VideoStreamTrack): Create method now receives a MediaStreamTrackPrivate as parameter.
        * Modules/mediastream/VideoStreamTrack.h:
        * platform/mediastream/MediaStreamDescriptor.cpp:
        (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Stores the private tracks in a Vector (property of
        MediaStreamDescriptor class).

        (WebCore::MediaStreamDescriptor::addTrack): Adds a private track to the tracks' Vector

        (WebCore::MediaStreamDescriptor::removeTrack): Removes a private track from the tracks' Vector

        * platform/mediastream/MediaStreamDescriptor.h:
        (WebCore::MediaStreamDescriptor::numberOfAudioSources): Renamed from numberOfAudioStreams.

        (WebCore::MediaStreamDescriptor::audioSources): Renamed from audioStreams.

        (WebCore::MediaStreamDescriptor::numberOfVideoSources): Renamed from numberOfVideoStreams.

        (WebCore::MediaStreamDescriptor::videoSources): Renamed from videoStreams.

        (WebCore::MediaStreamDescriptor::numberOfAudioTracks): Returns the number of audio tracks this MediaStreamDescriptor
        has.

        (WebCore::MediaStreamDescriptor::audioTracks): Returns a audio track, given an index

        (WebCore::MediaStreamDescriptor::numberOfVideoTracks): Returns the number of video tracks this MediaStreamDescriptor
        has.
        (WebCore::MediaStreamDescriptor::videoTracks): Returns a video track, given an index
        * platform/mediastream/MediaStreamTrackPrivate.cpp: Added.
        * platform/mediastream/MediaStreamTrackPrivate.h: Added.

2013-10-25  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with multiple regions
        <https://webkit.org/b/123210>

        Reviewed by David Hyatt.

        I simplified the determination of the next region part of updateShapeAndSegmentsForCurrentLineInFlowThread's implementation
        in order to make the code more straightforward. I also tried to avoid using regionAtBlockOffset(...) function where it's possible,
        since it's not always that reliable, what I'll will report in a separate bug.

        No new tests, covered by existing tests.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):

2013-10-25  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with the first lines
        <https://bugs.webkit.org/show_bug.cgi?id=123275>

        Reviewed by David Hyatt.

        We have a complex condition in updateShapeAndSegmentsForCurrentLineInFlowThread, which is
        adjusting the first line to the shape's top. This patch adds two boolean to make that clear.

        No new tests, no behavior change.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):

2013-10-25  Antti Koivisto  <antti@apple.com>

        Faster way for simple line layout to check if text has fallback fonts
        https://bugs.webkit.org/show_bug.cgi?id=123342

        Reviewed by Andreas Kling.
        
        Don't use RenderText::knownToHaveNoOverflowAndNoFallbackFonts as it is slow.

        Simple text code path test already guarantees there is no overflow. Test for fallback
        fonts explicitly.

        * platform/graphics/SimpleFontData.h:
        
            Make FINAL.

        * rendering/RenderText.cpp:
        * rendering/RenderText.h:
        
            Remove knownToHaveNoOverflowAndNoFallbackFonts() as it has no clients.

        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor):
        
            Check if all characters can be found from the primary font.

2013-10-25  Andreas Kling  <akling@apple.com>

        SVGResourcesCache::clientDestroyed() should take a RenderElement&.
        <https://webkit.org/b/123339>

        This function is always called with an object, and that object
        is guaranteed to never be a text renderer.

        Reviewed by Antti Koivisto.

2013-10-25  Andreas Kling  <akling@apple.com>

        SVGResourcesCache::clientLayoutChanged() should take a RenderElement&.
        <https://webkit.org/b/123336>

        This function is always called with an object, and that object
        is guaranteed to never be a text renderer.

        Reviewed by Antti Koivisto.

2013-10-25  Andreas Kling  <akling@apple.com>

        SVGResourcesCache::clientStyleChanged() should take a RenderElement&.
        <https://webkit.org/b/123335>

        This function is always called with an object, and that object
        is guaranteed to never be a text renderer.

        Reviewed by Antti Koivisto.

2013-10-25  Andreas Kling  <akling@apple.com>

        SVG: postApplyResource() should take a RenderElement&.
        <https://webkit.org/b/123334>

        This function is always called with an object, and that object
        is guaranteed to never be a text renderer.

        Reviewed by Antti Koivisto.

2013-10-25  Antti Koivisto  <antti@apple.com>

        REGRESSION(r157950): It made many tests assert on Windows, EFL, GTK
        https://bugs.webkit.org/show_bug.cgi?id=123309

        Reviewed by Andreas Kling.

        Disable simple line layout on non-Mac plaforms for now.

        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor):

2013-10-24  Andreas Kling  <akling@apple.com>

        SVG: applyResource() should take a RenderElement&.
        <https://webkit.org/b/123286>

        This function is always called with an object, and that object
        is guaranteed to never be a text renderer.

        Reviewed by Antti Koivisto.

2013-10-25  Andreas Kling  <akling@apple.com>

        RenderElement::styleWillChange() should pass newStyle as reference.
        <https://webkit.org/b/123332>

        When styleWillChange() is called, there is always a new style getting
        set so there's no need to handle the null style case.
        This flushed out a couple of unnecessary checks.

        Reviewed by Antti Koivisto.

2013-10-25  peavo@outlook.com  <peavo@outlook.com>

        [WinCairo] Compile fixes.
        https://bugs.webkit.org/show_bug.cgi?id=123269

        Reviewed by Csaba Osztrogonác.

        * platform/graphics/win/ImageCairoWin.cpp: Added new parameter to BitmapImage::draw() calls.
        (WebCore::BitmapImage::getHBITMAPOfSize):
        (WebCore::BitmapImage::drawFrameMatchingSourceSize):

2013-10-25  Sergio Villar Senin  <svillar@igalia.com>

        Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
        https://bugs.webkit.org/show_bug.cgi?id=118620

        Reviewed by Antti Koivisto.

        Turns out that order is extremelly uncommon so using a Vector is
        much less expensive. This also special-cases the much common case
        of only having order of value 0 by using Vectors with just one
        preallocated member.

        Also added the performance test that shows a ~1% win when using a
        vector instead of the HashSet.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
        (WebCore::RenderFlexibleBox::layoutBlock):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        * rendering/RenderFlexibleBox.h:

2013-10-25  Sergio Villar Senin  <svillar@igalia.com>

        Non-SVG build broken after r157950
        https://bugs.webkit.org/show_bug.cgi?id=123328

        Reviewed by Xan Lopez.

        The isSVGInlineTest() check should be done only if SVG is enabled.

        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor):

2013-10-24  Jer Noble  <jer.noble@apple.com>

        [Mac] Add helper methods to convert CMTime <--> MediaTime
        https://bugs.webkit.org/show_bug.cgi?id=123285

        Reviewed by Eric Carlson.

        Add utility methods to convert between CMTime (a rational time class) and MediaTime.
        Once there, PlatformClockCM can now vend and accept MediaTimes for currentTime.

        * platform/mac/MediaTimeMac.h:
        * platform/mac/MediaTimeMac.cpp:
        (WebCore::toMediaTime): Added conversion utility method.
        (WebCore::toCMTime): Ditto.

        * platform/mac/PlatformClockCM.h:
        * platform/mac/PlatformClockCM.mm:
        (PlatformClockCM::setCurrentMediaTime): Added.
        (PlatformClockCM::currentMediaTime): Added.

        * WebCore.xcodeproj/project.pbxproj: Add new files to project.

2013-10-24  Mark Rowe  <mrowe@apple.com>

        Remove references to OS X 10.7 from Xcode configuration settings.

        Now that we're not building for OS X 10.7 they're no longer needed.

        Reviewed by Anders Carlsson.


        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/FeatureDefines.xcconfig:
        * Configurations/Version.xcconfig:

2013-10-24  Antti Koivisto  <antti@apple.com>

        Cache line layout path
        https://bugs.webkit.org/show_bug.cgi?id=123298

        Reviewed by Sam Weinig.
        
        Determining the path can be non-trivial. Avoid computing it repeatedly on relayouts.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
        (WebCore::RenderBlock::invalidateLineLayoutPath):
        (WebCore::RenderBlock::removeChild):
        
            Invalidate the path when children change.

        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::layoutInlineChildren):
        (WebCore::RenderBlockFlow::styleDidChange):
        
            Invalidate the path when style changes.

        (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
        (WebCore::RenderBlockFlow::ensureLineBoxes):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::setText):
        
            Invalidate the path when text changes.

2013-10-24  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/15312643> Prepare for the mysterious future.

        Reviewed by David Kilzer.


        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/FeatureDefines.xcconfig:
        * Configurations/Version.xcconfig:

2013-10-24  Andreas Kling  <akling@apple.com>

        DocumentLoader::cachedResourceLoader() should return a reference.
        <https://webkit.org/b/123303>

        ..and while we're at it, make DocumentLoader::m_cachedResourceLoader
        a Ref, and have CachedResourceLoader::create return a PassRef.

        Reviewed by Sam Weinig.

2013-10-24  Anders Carlsson  <andersca@apple.com>

        Stop bringing in the std namespace
        https://bugs.webkit.org/show_bug.cgi?id=123273

        Reviewed by Andreas Kling.

        * Modules/webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::renderFromBuffer):
        (WebCore::AudioBufferSourceNode::startGrain):
        (WebCore::AudioBufferSourceNode::totalPitchRate):
        * Modules/webaudio/AudioNodeInput.cpp:
        (WebCore::AudioNodeInput::numberOfChannels):
        * Modules/webaudio/AudioParamTimeline.cpp:
        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
        * Modules/webaudio/AudioScheduledSourceNode.cpp:
        (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
        (WebCore::AudioScheduledSourceNode::stop):
        * Modules/webaudio/AudioSummingJunction.cpp:
        * Modules/webaudio/DelayDSPKernel.cpp:
        (WebCore::DelayDSPKernel::process):
        * Modules/webaudio/OfflineAudioDestinationNode.cpp:
        (WebCore::OfflineAudioDestinationNode::offlineRender):
        * Modules/webaudio/OscillatorNode.cpp:
        * Modules/webaudio/PannerNode.cpp:
        (WebCore::PannerNode::dopplerRate):
        * Modules/webaudio/WaveShaperDSPKernel.cpp:
        (WebCore::WaveShaperDSPKernel::processCurve):
        * Modules/webdatabase/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
        * Modules/websockets/WebSocket.cpp:
        (WebCore::saturateAdd):
        * Modules/websockets/WebSocketChannel.cpp:
        * Modules/websockets/WebSocketFrame.cpp:
        (WebCore::WebSocketFrame::parseFrame):
        * accessibility/AccessibilityARIAGrid.cpp:
        * accessibility/AccessibilityARIAGridCell.cpp:
        * accessibility/AccessibilityARIAGridRow.cpp:
        * accessibility/AccessibilityList.cpp:
        * accessibility/AccessibilityListBox.cpp:
        * accessibility/AccessibilityListBoxOption.cpp:
        * accessibility/AccessibilityNodeObject.cpp:
        * accessibility/AccessibilityObject.cpp:
        * accessibility/AccessibilityRenderObject.cpp:
        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::addChildren):
        * accessibility/AccessibilityTableCell.cpp:
        * accessibility/AccessibilityTableColumn.cpp:
        * accessibility/AccessibilityTableHeaderContainer.cpp:
        * accessibility/AccessibilityTableRow.cpp:
        * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
        * bindings/js/JSGeolocationCustom.cpp:
        (WebCore::setTimeout):
        (WebCore::setMaximumAge):
        * bindings/js/ScriptController.cpp:
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::writeLittleEndian):
        (WebCore::CloneSerializer::write):
        (WebCore::CloneDeserializer::deserialize):
        (WebCore::CloneDeserializer::readString):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::getFontFace):
        * css/CSSGradientValue.cpp:
        (WebCore::CSSRadialGradientValue::createGradient):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseColorParameters):
        (WebCore::CSSParser::parseHSLParameters):
        * css/CSSReflectValue.cpp:
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::ApplyPropertyFontSize::applyValue):
        * css/PropertySetCSSStyleDeclaration.cpp:
        * css/SVGCSSParser.cpp:
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getLayeredShorthandValue):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::viewportPercentageValue):
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::parserAppendData):
        * dom/ContainerNode.cpp:
        * dom/Document.cpp:
        (WebCore::Document::minimumLayoutDelay):
        * dom/Node.cpp:
        (WebCore::Node::compareDocumentPosition):
        * dom/Range.cpp:
        (WebCore::Range::toString):
        (WebCore::Range::textRects):
        (WebCore::Range::textQuads):
        * dom/ScriptedAnimationController.cpp:
        (WebCore::ScriptedAnimationController::scheduleAnimation):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::makePresentationAttributeCacheKey):
        * dom/Text.cpp:
        * dom/ViewportArguments.cpp:
        (WebCore::clampLengthValue):
        (WebCore::clampScaleValue):
        (WebCore::ViewportArguments::resolve):
        (WebCore::computeMinimumScaleFactorForContentContained):
        (WebCore::restrictMinimumScaleFactorToViewportSize):
        * editing/AlternativeTextController.cpp:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::deleteInsignificantText):
        * editing/Editor.cpp:
        (WebCore::Editor::setComposition):
        (WebCore::Editor::compositionRange):
        * editing/EditorCommand.cpp:
        (WebCore::verticalScrollDistance):
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextNode):
        (WebCore::TextIterator::handleTextBox):
        (WebCore::CharacterIterator::string):
        (WebCore::SearchBuffer::SearchBuffer):
        (WebCore::SearchBuffer::append):
        (WebCore::SearchBuffer::prependContext):
        (WebCore::SearchBuffer::search):
        * editing/VisibleUnits.cpp:
        (WebCore::startOfParagraph):
        * editing/htmlediting.cpp:
        * editing/markup.cpp:
        * fileapi/FileReaderLoader.cpp:
        (WebCore::FileReaderLoader::didReceiveResponse):
        (WebCore::FileReaderLoader::didReceiveData):
        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::backListWithLimit):
        (WebCore::BackForwardList::forwardListWithLimit):
        * history/PageCache.cpp:
        (WebCore::PageCache::setCapacity):
        * html/BaseDateAndTimeInputType.cpp:
        * html/FTPDirectoryDocument.cpp:
        * html/HTMLAreaElement.cpp:
        (WebCore::HTMLAreaElement::getRegion):
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseAttribute):
        (WebCore::parseColorStringWithCrazyLegacyRules):
        * html/HTMLFormControlElement.cpp:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::getTextFieldValues):
        * html/HTMLImageElement.cpp:
        * html/HTMLInputElement.cpp:
        * html/HTMLMapElement.cpp:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
        (WebCore::HTMLMediaElement::textTrackAddCue):
        (WebCore::HTMLMediaElement::textTrackRemoveCue):
        (WebCore::HTMLMediaElement::rewind):
        (WebCore::HTMLMediaElement::seek):
        (WebCore::HTMLMediaElement::duration):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::parseAttribute):
        (WebCore::HTMLSelectElement::updateListBoxSelection):
        * html/HTMLSourceElement.cpp:
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::colSpan):
        (WebCore::HTMLTableCellElement::rowSpan):
        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::parseAttribute):
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::setSelectionStart):
        (WebCore::HTMLTextFormControlElement::setSelectionEnd):
        (WebCore::HTMLTextFormControlElement::select):
        (WebCore::HTMLTextFormControlElement::setSelectionRange):
        * html/HTMLTrackElement.cpp:
        * html/ImageDocument.cpp:
        (WebCore::ImageDocument::scale):
        * html/InputType.cpp:
        (WebCore::InputType::valueAsDouble):
        * html/MediaController.cpp:
        (MediaController::duration):
        (MediaController::currentTime):
        (MediaController::setCurrentTime):
        (MediaController::updateReadyState):
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::setValueAsDouble):
        (WebCore::NumberInputType::setValueAsDecimal):
        (WebCore::NumberInputType::createStepRange):
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleKeydownEvent):
        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::startSearchEventTimer):
        * html/StepRange.cpp:
        (WebCore::StepRange::clampValue):
        (WebCore::StepRange::parseStep):
        * html/TimeRanges.cpp:
        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
        (WebCore::adjustBubblePosition):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::normalizeRect):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
        (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
        * html/shadow/MediaControlsApple.cpp:
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::setPositionFromPoint):
        * inspector/ContentSearchUtils.cpp:
        * inspector/DOMEditor.cpp:
        * inspector/DOMPatchSupport.cpp:
        (WebCore::DOMPatchSupport::diff):
        * inspector/InjectedScriptHost.cpp:
        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::incrementProgress):
        * loader/cache/CachedImage.cpp:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::adjustWindowRect):
        * page/EventHandler.cpp:
        (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
        * page/FrameTree.cpp:
        * page/FrameView.cpp:
        (WebCore::FrameView::adjustedDeferredRepaintDelay):
        (WebCore::FrameView::autoSizeIfEnabled):
        * page/PrintContext.cpp:
        (WebCore::PrintContext::computeAutomaticScaleFactor):
        * page/SpatialNavigation.cpp:
        (WebCore::entryAndExitPointsForDirection):
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::blendFilterOperations):
        (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
        * platform/graphics/FloatRect.cpp:
        (WebCore::FloatRect::FloatRect):
        (WebCore::FloatRect::intersect):
        (WebCore::FloatRect::uniteEvenIfEmpty):
        (WebCore::FloatRect::extend):
        (WebCore::FloatRect::fitToPoints):
        * platform/graphics/GlyphPageTreeNode.cpp:
        (WebCore::GlyphPageTreeNode::initializePage):
        (WebCore::GlyphPageTreeNode::getChild):
        * platform/graphics/IntRect.cpp:
        (WebCore::IntRect::intersect):
        (WebCore::IntRect::unite):
        (WebCore::IntRect::uniteIfNonZero):
        * platform/graphics/LayoutRect.cpp:
        (WebCore::LayoutRect::intersect):
        (WebCore::LayoutRect::unite):
        (WebCore::LayoutRect::uniteIfNonZero):
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::platformApplyGeneric):
        (WebCore::FEMorphology::platformApplySoftware):
        * platform/mac/MemoryPressureHandlerMac.mm:
        (WebCore::MemoryPressureHandler::respondToMemoryPressure):
        * platform/text/TextCodecICU.cpp:
        * rendering/LineWidth.cpp:
        (WebCore::LineWidth::fitBelowFloats):
        (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::availableLogicalWidthForLine):
        (WebCore::RenderBlock::availableLogicalWidthForContent):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::computePreferredLogicalWidths):
        (WebCore::RenderFieldset::layoutSpecialExcludedChild):
        (WebCore::RenderFieldset::paintBoxDecorations):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::updateLogicalWidth):
        (WebCore::RenderFlowThread::addForcedRegionBreak):
        * rendering/RenderFrameBase.cpp:
        (WebCore::RenderFrameBase::layoutWithFlattening):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::layOutAxis):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::computePreferredLogicalWidths):
        * rendering/RenderTableCell.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeLayers):
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::selectionHeight):
        (WebCore::RootInlineBox::selectionHeightAdjustedForPrecedingBlock):
        * rendering/mathml/RenderMathMLRow.cpp:
        (WebCore::RenderMathMLRow::layout):
        * rendering/mathml/RenderMathMLScripts.cpp:
        (WebCore::RenderMathMLScripts::layout):
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleGeneratedImage.cpp:
        (WebCore::StyleGeneratedImage::imageSize):
        * style/StyleFontSizeFunctions.cpp:
        (WebCore::Style::fontSizeForKeyword):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::setCurrentTime):

2013-10-24  Andreas Kling  <akling@apple.com>

        Uncomplicate some of SVGTextRunRenderingContext.
        <https://webkit.org/b/123294>

        This class was weird about a few things, so I've taken these steps
        to clear things up:

        - FINAL and OVERRIDE all the things.
        - Constructor now takes a RenderObject&.
        - renderer() now returns a RenderObject&.
        - drawSVGGlyphs() no longer takes a TextRun.
        - glyphDataForCharacter() no longer takes a TextRun.

        To expand on the last two, there was also some awkward hoop-jumping
        where we'd go through the TextRun passed by argument to find its
        rendering context, which was really just |this| all along.

        Reviewed by Antti Koivisto.

2013-10-24  Roger Fong  <roger_fong@apple.com>

        Add texture level dependent size checks to textureImage2D calls.
        https://bugs.webkit.org/show_bug.cgi?id=123290
        <rdar://problem/15201382>

        Reviewed by Dean Jackson

        Test covered by WebGL Conformance suite 1.0.2 test, textures/texture-size-limit.html.

        There are different size limits when calling textureImage2D on different texture levels.
        We should be throwing an error if our texture size exceeds these limits.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::validateTexFuncParameters):

2013-10-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [MediaStream API] allow a stream source to be shared
        https://bugs.webkit.org/show_bug.cgi?id=121954

        Reviewed by Eric Carlson.

        Now, the MediaStreamSource don't know about the MediaStream that owns it,
        since there can be more than one MediaStream that has it as source for some track.
        MediaStreamTrack classes now have observers registered, in case there are more than
        one MediaStream owning that track

        No new tests, no change in functionality.

        * Modules/mediastream/MediaStream.cpp:
        (WebCore::MediaStream::MediaStream): Adding the MediaStream as an observer for each track it owns.

        (WebCore::MediaStream::addTrack): Now adding the MediaStream as an observer the new added track
        and adding the source to the MediaStreamDescriptor.

        (WebCore::MediaStream::removeTrack): Instead of removing the source right away, we first check if
        there isn't any other track using that source, if not we remove the source.

        (WebCore::MediaStream::haveTrackWithSource):
        (WebCore::MediaStream::addRemoteSource): MediaStreamSource has no information about the MediaStream
        that uses it, so now we don't set the stream in the source anymore.

        (WebCore::MediaStream::removeRemoteSource): There can be more than on track using the source. So we
        get each track that is using the source and then remove it and fire the ended event.

        * Modules/mediastream/MediaStream.h:
        * Modules/mediastream/MediaStreamTrack.cpp:
        (WebCore::MediaStreamTrack::addObserver):
        (WebCore::MediaStreamTrack::removeObserver):
        (WebCore::MediaStreamTrack::trackDidEnd): Does not get the client from the MediaStreamDescriptor, it now
        notify each of its observers that the track ended.

        * Modules/mediastream/MediaStreamTrack.h: Adding Observer class.

        * platform/mediastream/MediaStreamDescriptor.cpp: Destructor now does nothing. Previously it was setting
        each MediaStreamSource's descriptor to null.

        (WebCore::MediaStreamDescriptor::removeSource): Not setting the stream in source anymore.

        (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Ditto.

        (WebCore::MediaStreamDescriptor::setEnded): Not setting the state of the source to Ended

        * platform/mediastream/MediaStreamDescriptor.h:
        (WebCore::MediaStreamDescriptor::~MediaStreamDescriptor):
        * platform/mediastream/MediaStreamSource.cpp: Removing references to MediaStream object
        (WebCore::MediaStreamSource::MediaStreamSource):
        (WebCore::MediaStreamSource::reset):
        * platform/mediastream/MediaStreamSource.h:

2013-10-24  Daniel Bates  <dabates@apple.com>

        Crash in WebCore::NavigationScheduler::startTimer()
        https://bugs.webkit.org/show_bug.cgi?id=123288
        <rdar://problem/14055644>

        Reviewed by Alexey Proskuryakov.

        Currently NavigationScheduler::startTimer() synchronously notifies the client
        before the Web Inspector of a scheduled redirect. If a client cancels this
        redirect then NavigationScheduler::m_redirect will become null and we'll
        subsequently crash when informing the Web Inspector of this formerly scheduled
        redirect. Instead, NavigationScheduler::startTimer() should notify the Web
        Inspector before it notifies the client of a scheduled redirect.

        As a side benefit of this change, the Web Inspector is notified of a scheduled
        redirect before being notified of it being canceled when a client chooses to cancel
        a scheduled redirect.

        * loader/NavigationScheduler.cpp:
        (WebCore::NavigationScheduler::startTimer):

2013-10-24  Antti Koivisto  <antti@apple.com>

        Try to fix build without CSS_SHAPES.

        * rendering/SimpleLineLayout.cpp:
        (WebCore::SimpleLineLayout::canUseFor):

2013-10-24  Antti Koivisto  <antti@apple.com>

        Simple line layout
        https://bugs.webkit.org/show_bug.cgi?id=122458

        Reviewed by Darin Adler.

        Line box based inline layout is powerful but also rather slow and memory intensive. Simple line layout
        is a compact alternative data structure and fast code path to cover common cases without requiring line
        boxes.
        
        This patch handles a case single left-aligned text renderer inside flow with no floats. Even this very basic
        case is sufficiently common to handle up to 25% of all text lines on some popular new sites. The decision
        which path to use is made per block flow (paragraph).
        
        Simple line layout aims to produce pixel-exact rendering result when compared to the line box layout.
        
        The goal is to handle everything that requires line level access in cases that allow use of simple lines.
        This is not quite the case yet. For example selections and outline painting are not supported. In these
        cases we seamlessly switch to the line boxes.

        The simple line data structure currently uses 12 bytes per line. Lineboxes take ~160 bytes minimum per line.
        Laying out the lines is also several times faster as is iterating over them.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Position.cpp:
        (WebCore::Position::upstream):
        (WebCore::Position::downstream):
        (WebCore::Position::getInlineBoxAndOffset):
        
            Creating positions within a simple line flow causes switch to line boxes.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleTextNode):
        
            TextIterator traverses line boxes if available. In case simple line case we need to replicate the
            same results (for compatibility but especially to avoid changing test results). This is done here
            by just traversing the string without actually using the layout.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::layoutShapeInsideInfo):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::layoutInlineChildren):
        
            Select the layout path to use.

        (WebCore::RenderBlockFlow::deleteLines):
        (WebCore::RenderBlockFlow::hitTestInlineChildren):
        (WebCore::RenderBlockFlow::adjustForBorderFit):
        (WebCore::RenderBlockFlow::firstLineBaseline):
        (WebCore::RenderBlockFlow::inlineBlockBaseline):
        (WebCore::RenderBlockFlow::inlineSelectionGaps):
        (WebCore::RenderBlockFlow::clearTruncation):
        (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
        (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
        (WebCore::RenderBlockFlow::paintInlineChildren):
        (WebCore::RenderBlockFlow::hasLines):
        (WebCore::RenderBlockFlow::layoutSimpleLines):
        
            Do simple layout.

        (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
        (WebCore::RenderBlockFlow::ensureLineBoxes):
        
            This function switches from simple lines to line boxes. The switching can be done outside normal layout.
            This is used to cover some cases that are not yet supported by simple lines (like selections).

        * rendering/RenderBlockFlow.h:
        (WebCore::RenderBlockFlow::simpleLines):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::layoutLineBoxes):
        
            Rename the line box layout function.

        (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::deleteLineBoxesBeforeSimpleLineLayout):
        (WebCore::RenderText::absoluteRects):
        (WebCore::RenderText::absoluteRectsForRange):
        (WebCore::RenderText::absoluteQuadsClippedToEllipsis):
        (WebCore::RenderText::absoluteQuads):
        (WebCore::RenderText::absoluteQuadsForRange):
        (WebCore::RenderText::positionForPoint):
        (WebCore::RenderText::knownToHaveNoOverflowAndNoFallbackFonts):
        (WebCore::RenderText::setSelectionState):
        (WebCore::RenderText::setTextWithOffset):
        (WebCore::RenderText::ensureLineBoxes):
        (WebCore::RenderText::simpleLines):
        (WebCore::RenderText::linesBoundingBox):
        (WebCore::RenderText::linesVisualOverflowBoundingBox):
        (WebCore::RenderText::selectionRectForRepaint):
        (WebCore::RenderText::caretMinOffset):
        (WebCore::RenderText::caretMaxOffset):
        (WebCore::RenderText::countRenderedCharacterOffsetsUntil):
        (WebCore::RenderText::containsRenderedCharacterOffset):
        (WebCore::RenderText::containsCaretOffset):
        (WebCore::RenderText::hasRenderedText):
        * rendering/RenderText.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::RenderTreeAsText::writeRenderObject):
        (WebCore::writeSimpleLine):
        (WebCore::write):
        * rendering/SimpleLineLayout.cpp: Added.
        (WebCore::SimpleLineLayout::canUseFor):
        
            This check for the cases supported by the simple line layout path.

        (WebCore::SimpleLineLayout::isWhitespace):
        (WebCore::SimpleLineLayout::skipWhitespaces):
        (WebCore::SimpleLineLayout::textWidth):
        (WebCore::SimpleLineLayout::createLines):
        
            The main layout functions that breaks text to lines. It only handles the cases allowed by 
            SimpleLineLayout::canUseFor. What it handles it aims to break exactly as line box layout does.

        * rendering/SimpleLineLayout.h: Added.
        * rendering/SimpleLineLayoutFunctions.cpp: Added.
        (WebCore::SimpleLineLayout::paintFlow):
        (WebCore::SimpleLineLayout::hitTestFlow):
        (WebCore::SimpleLineLayout::collectFlowOverflow):
        (WebCore::SimpleLineLayout::computeTextBoundingBox):
        * rendering/SimpleLineLayoutFunctions.h: Added.
        (WebCore::SimpleLineLayout::computeFlowHeight):
        (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
        (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
        (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
        (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
        (WebCore::SimpleLineLayout::containsTextCaretOffset):
        (WebCore::SimpleLineLayout::isTextRendered):
        (WebCore::SimpleLineLayout::lineHeightFromFlow):
        
            Support functions called from RenderBlockFlow and RenderText. They are equivalent to
            similar line box functions.

        (WebCore::SimpleLineLayout::baselineFromFlow):
        * rendering/SimpleLineLayoutResolver.h: Added.
        (WebCore::SimpleLineLayout::Resolver::Line::Line):
        (WebCore::SimpleLineLayout::Resolver::Line::rect):
        (WebCore::SimpleLineLayout::Resolver::Line::baseline):
        (WebCore::SimpleLineLayout::Resolver::Line::text):
        (WebCore::SimpleLineLayout::Resolver::Iterator::Iterator):
        (WebCore::SimpleLineLayout::Resolver::Iterator::operator++):
        (WebCore::SimpleLineLayout::Resolver::Iterator::operator--):
        (WebCore::SimpleLineLayout::Resolver::Iterator::operator==):
        (WebCore::SimpleLineLayout::Resolver::Iterator::operator!=):
        (WebCore::SimpleLineLayout::Resolver::Iterator::operator*):
        
            Lazy iterator for deriving line metrics. This keeps the line data structure small as
            we don't need to keep easily derived values around.

        (WebCore::SimpleLineLayout::Resolver::Resolver):
        (WebCore::SimpleLineLayout::Resolver::size):
        (WebCore::SimpleLineLayout::Resolver::begin):
        (WebCore::SimpleLineLayout::Resolver::end):
        (WebCore::SimpleLineLayout::Resolver::last):
        (WebCore::SimpleLineLayout::Resolver::operator[]):

2013-10-24  Myles C. Maxfield  <mmaxfield@apple.com>

        Gaps between underlines in adjacent underlined text runs
        https://bugs.webkit.org/show_bug.cgi?id=123236

        Reviewed by Simon Fraser and Darin Adler.

        There are two pieces to this change. The first piece is in
        InlineTextBox::paint(). We were putting floating-point
        extents into a LayoutSize, which simply uses ints (for now),
        and then immediately converting this back to a FloatSize.
        Instead, we should be using floats throughout all of
        this code.

        In addition, inside GraphicsContext::drawLineForText(), we are
        rounding the underline to pixel boundaries so that it appears
        very crisp on the screen. However, we should round once after
        performing computations, rather than rounding twice and then
        performing computations on the rounded numbers.

        Test: fast/css3-text/css3-text-decoration/no-gap-between-two-rounded-textboxes.html

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawLineForText): Change rounding mode
            to perform computations before rounding
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint): Don't convert to a LayoutSize
            just to convert to a FloatSize

2013-10-24  Andreas Kling  <akling@apple.com>

        SVGRenderingContext should wrap a RenderElement.
        <https://webkit.org/b/123283>

        The SVG rendering context class is never used with text renderers
        so we can have it wrap a RenderElement for tighter code.

        Also renamed SVGRenderingContext::m_object to m_renderer.

        Reviewed by Antti Koivisto.

2013-10-24  Santosh Mahto  <santosh.ma@samsung.com>

        [contenteditable] Content after non-editable element disappears when merging lines using backspace
        https://bugs.webkit.org/show_bug.cgi?id=122748

        Reviewed by Ryosuke Niwa.

        In case of paragraph merging after deletion if second paragraph
        contains non-editable element, then content after the non-editable
        element(including non-editable element) will be removed while the
        content before the element will be merged with the first paragraph.
        This happens becasue endOfParagraphToMove calculation in merging function
        stop at editing boundary so endOfParagraphToMove becomes position just
        before non-editable content.
        With this patch now endOfParagraphToMove is calculated by skipping
        over the non-editable element.

        Test: editing/deleting/merge-paragraph-contatining-noneditable.html

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::mergeParagraphs): use CanSkipOverEditingBoundary
        condition while calculating endOfParagraphToMove.

2013-10-24  Antoine Quint  <graouts@apple.com>

        Web Inspector: Inspector doesn't show webkitTransitionEnd events in the timeline
        https://bugs.webkit.org/show_bug.cgi?id=123263

        Reviewed by Timothy Hatcher.

        A legacy event type is only set on an event in EventTarget::fireEventListeners(Event*)
        which is called after we used to call InspectorInstrumentation::willDispatchEvent(), the method
        that would ultimately yield the creation of a TimelineRecord for the event in the Web Inspector
        frontend, and as a result we would try to dispatch an event with an unprefixed event type to
        the frontend, which wouldn't even happen because most likely it wouldn't have listeners for this
        unprefixed type.

        We now move the call to InspectorInstrumentation::willDispatchEvent() in
        EventTarget::fireEventListeners(Event*, EventTargetData*, EventListenerVector&) such that the
        correct event type and list of listeners is used to determine what event to dispatch to the frontend.

        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchEvent):
        Remove calls to InspectorInstrumentation::willDispatchEvent() and InspectorInstrumentation::didDispatchEvent().

        * dom/EventTarget.cpp:
        (WebCore::EventTarget::fireEventListeners):
        Add call to InspectorInstrumentation::willDispatchEvent() before we go through each listener and
        call InspectorInstrumentation::willHandleEvent(). Additionally, we refactor some code since we're
        getting references to the ScriptExecutionContext and Document upfront now.

2013-10-24  Andreas Kling  <akling@apple.com>

        SVG: RenderElement-ize intersectRepaintRectWithResources().
        <https://webkit.org/b/123278>

        SVGRenderSupport::intersectRepaintRectWithResources() is only ever
        called with non-text renderers so make it take RenderElement&.

        Had to tweak RenderSVGResource::resourceBoundingBox() to take the
        renderer by reference.

        Reviewed by Antti Koivisto.

2013-10-24  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Breakpoints in sourceURL named scripts do not work
        https://bugs.webkit.org/show_bug.cgi?id=123231

        Reviewed by Timothy Hatcher.

        Remember a Script's sourceURL and sourceMappingURL. When setting a
        breakpoint by URL, check it against the sourceURL or original URL.
        If a script had a sourceURL that would have been the only URL sent
        to the frontend, so that receives priority.

        Test: inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html

        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/ScriptDebugListener.h:

2013-10-23  Alexey Proskuryakov  <ap@apple.com>

        Add CryptoKey base class and bindings
        https://bugs.webkit.org/show_bug.cgi?id=123216

        Reviewed by Sam Weinig.

        * crypto/CryptoKey.idl: Added.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.list.am:
        Process the IDL.

        * WebCore.xcodeproj/project.pbxproj: Added files.

        * bindings/js/JSCryptoKeyCustom.cpp: Added.
        (WebCore::JSCryptoKey::algorithm): Use a visitor to build algorithm dictionary
        for the key.

        * crypto/CryptoAlgorithmDescriptionBuilder.cpp: Added.
        * crypto/CryptoAlgorithmDescriptionBuilder.h: Added.
        An interface for a visitor we'll use to expose CrytoKey.algorithm in bindings,
        and possibly also for storage serialization. Not complete yet, we'll need support
        for a few more simple types, and less trivially, for nested algorithms.

        * bindings/js/JSCryptoAlgorithmBuilder.cpp: Added.
        * bindings/js/JSCryptoAlgorithmBuilder.h: Added.
        An implementation that builds an algorithm description dictionary for JS bindings.

        * crypto/CryptoKey.cpp: Added.
        (WebCore::CryptoKey::~CryptoKey):
        (WebCore::CryptoKey::buildAlgorithmDescription):
        * crypto/CryptoKey.h: Added.
        Added an almost empty implementation. Some of the functions that are currently
        marked as pure virtual will likely be implemented in this base class.

2013-10-24  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r157916.
        http://trac.webkit.org/changeset/157916
        https://bugs.webkit.org/show_bug.cgi?id=123274

        Broke Layout/flexbox-lots-of-data.html on perfbot (Requested
        by ap on #webkit).

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::OrderHashTraits::emptyValue):
        (WebCore::RenderFlexibleBox::OrderHashTraits::constructDeletedValue):
        (WebCore::RenderFlexibleBox::OrderHashTraits::isDeletedValue):
        (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
        (WebCore::RenderFlexibleBox::layoutBlock):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        * rendering/RenderFlexibleBox.h:

2013-10-24  Zan Dobersek  <zdobersek@igalia.com>

        Comment in ScopedEventQueue::dispatchEvent is unnecessarily verbose
        https://bugs.webkit.org/show_bug.cgi?id=123252

        Reviewed by Darin Adler.

        Shorten the comment about the crash avoidance in ScopedEventQueue::dispatchEvent due to
        the calling convention in C++ is left unspecified. The problem was already fixed in r157219
        and later adjusted in r157401, but the comment could have been shorter and simpler in both cases.

        * dom/ScopedEventQueue.cpp:
        (WebCore::ScopedEventQueue::dispatchEvent):

2013-10-24  Alex Christensen  <achristensen@webkit.org>

        Removed unused ThreadSafeCoordinatedSurface and CertificateInfoCurl files.
        https://bugs.webkit.org/show_bug.cgi?id=123246

        Reviewed by Noam Rosenthal.

        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        Removed references to ThreadSafeCoordinatedSurface and CertificateInfoCurl.
        * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp: Removed.
        * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h: Removed.
        * platform/network/curl/CertificateInfoCurl.cpp: Removed.

2013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>

        Removed Qt workaround.
        https://bugs.webkit.org/show_bug.cgi?id=123258

        Reviewed by Csaba Osztrogonác.

        No change of functionality, no new tests needed.

        !$defines case can be removed, because Qt and Android aren't in WebKit trunk,
        all ports (Mac,EFL,GTK,Windows) call this script with --defines option now

        * css/make-css-file-arrays.pl:

2013-10-24  Antti Koivisto  <antti@apple.com>

        Remove a stray space.
        
        Not reviewed.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::addImageMapChildren):

2013-10-24  Antti Koivisto  <antti@apple.com>

        Element iterator functions should take reference
        https://bugs.webkit.org/show_bug.cgi?id=123267

        Reviewed by Andreas Kling.

        The argument has to be non-null.

2013-10-24  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Build break with latest EFL 1.8 libraries.
        https://bugs.webkit.org/show_bug.cgi?id=123245

        Reviewed by Gyuyoung Kim.

        After fixed build break on EFL 1.8 at r138326, EFL libraries are changed
        Eo typedef and splitted header files which contain version macro.

        * platform/Widget.h: Changed Eo typedef.
        * platform/efl/EflScreenUtilities.h: Ditto.
        * platform/graphics/Image.h: Ditto.

2013-10-24  Andreas Kling  <akling@apple.com>

        RenderSVGResource: Pass RenderElement to fill/strokePaintingResource.
        <https://webkit.org/b/123242>

        We never pass text renderers to these functions, so make them take
        RenderElement instead.

        Reviewed by Anders Carlsson.

2013-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GObject bindings] Make EventTarget interface introspectable
        https://bugs.webkit.org/show_bug.cgi?id=77835

        Reviewed by Gustavo Noronha Silva.

        Add webkit_dom_event_target_add_event_listener_with_closure and
        webkit_dom_event_target_remove_event_listener_with_closure to be
        used by GObject instrospection bindings. Instead of receving a
        GCallback, which makes the function not introspectable, they
        receive a GClosure.

        * bindings/gobject/GObjectEventListener.cpp:
        (WebCore::GObjectEventListener::GObjectEventListener):
        (WebCore::GObjectEventListener::~GObjectEventListener):
        (WebCore::GObjectEventListener::gobjectDestroyed):
        (WebCore::GObjectEventListener::handleEvent):
        (WebCore::GObjectEventListener::operator==):
        * bindings/gobject/GObjectEventListener.h:
        (WebCore::GObjectEventListener::addEventListener):
        (WebCore::GObjectEventListener::removeEventListener):
        * bindings/gobject/WebKitDOMEventTarget.cpp:
        (webkit_dom_event_target_dispatch_event):
        (webkit_dom_event_target_add_event_listener):
        (webkit_dom_event_target_remove_event_listener):
        (webkit_dom_event_target_add_event_listener_with_closure):
        (webkit_dom_event_target_remove_event_listener_with_closure):
        * bindings/gobject/WebKitDOMEventTarget.h:
        * bindings/scripts/CodeGeneratorGObject.pm:
        (GenerateEventTargetIface):
        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
        (webkit_dom_test_event_target_dispatch_event):
        (webkit_dom_test_event_target_add_event_listener):
        (webkit_dom_test_event_target_remove_event_listener):
        * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
        (webkit_dom_test_node_dispatch_event):
        (webkit_dom_test_node_add_event_listener):
        (webkit_dom_test_node_remove_event_listener):

2013-10-14  Sergio Villar Senin  <svillar@igalia.com>

        Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
        https://bugs.webkit.org/show_bug.cgi?id=118620

        Reviewed by Antti Koivisto.

        Turns out that order is extremelly uncommon so using a Vector is
        much less expensive. This also special-cases the much common case
        of only having order of value 0 by using Vectors with just one
        preallocated member.

        Also added the performance test that shows a ~1% win when using a
        vector instead of the HashSet.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
        (WebCore::RenderFlexibleBox::layoutBlock):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        * rendering/RenderFlexibleBox.h:

2013-10-23  ChangSeok Oh  <changseok.oh@collabora.com>

        Unreviewed build fix since r157823.
        FilterOperation::getOperationType() is renamed FilterOperation::type().

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::prepareFilterProgram):
        (WebCore::TextureMapperGL::drawTexture):
        (WebCore::TextureMapperGL::drawUsingCustomFilter):
        (WebCore::TextureMapperGL::drawFiltered):
        (WebCore::BitmapTextureGL::applyFilters):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
        (WebCore::CoordinatedGraphicsScene::injectCachedCustomFilterPrograms):

2013-10-23  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on CMake based ports when CMAKE_BUILD_TYPE is not given.

        When CMAKE_BUILD_TYPE is empty, FIND command will be failed.

        * CMakeLists.txt:

2013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Integrate css3-images image-orientation with existing EXIF support
        https://bugs.webkit.org/show_bug.cgi?id=91566

        Reviewed by Beth Dakin.

        Original patch by David Barr(davidbarr@chromium.org).

        This patch passes an information of image orientation into existing EXIF support functions
        (draw() functions of image classes mainly). We need to let the functions to know the information
        in order to meet the image-orientation requirement.

        Spec: http://dev.w3.org/csswg/css-images-3/#the-image-orientation
        The css3-images module specification is at last call.

        Test: fast/css/image-orientation/image-orientation.html
        Image orientation test is to check if incorrect rotation value can be fixed with correct orientation.

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::imageSizeForRenderer):
        * page/DragController.cpp:
        (WebCore::DragController::doImageDrag):
        * page/Frame.cpp:
        (WebCore::Frame::nodeImage):
        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::updateSize):
        (WebCore::BitmapImage::sizeRespectingOrientation):
        (WebCore::BitmapImage::drawPattern):
        * platform/graphics/BitmapImage.h:
        * platform/graphics/CrossfadeGeneratedImage.cpp:
        (WebCore::CrossfadeGeneratedImage::draw):
        * platform/graphics/CrossfadeGeneratedImage.h:
        * platform/graphics/GeneratedImage.h:
        * platform/graphics/GradientImage.cpp:
        (WebCore::GradientImage::draw):
        * platform/graphics/GradientImage.h:
        * platform/graphics/Image.cpp:
        (WebCore::Image::draw):
        (WebCore::Image::drawTiled):
        * platform/graphics/Image.h:
        * platform/graphics/blackberry/ImageBlackBerry.cpp:
        * platform/graphics/cairo/BitmapImageCairo.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/cg/BitmapImageCG.cpp:
        * platform/graphics/cg/PDFDocumentImage.cpp:
        (WebCore::PDFDocumentImage::draw):
        * platform/graphics/cg/PDFDocumentImage.h:
        * platform/graphics/win/ImageCGWin.cpp:
        (WebCore::BitmapImage::getHBITMAPOfSize):
        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::BufferedImage::draw):
        * platform/graphics/wince/ImageWinCE.cpp:
        (WebCore::BitmapImage::draw):
        * platform/mac/DragImageMac.mm:
        (WebCore::createDragImageFromImage):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paintSnapshotImage):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::styleDidChange):
        * rendering/RenderSnapshottedPlugIn.cpp:
        (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::changeRequiresLayout):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::drawForContainer):
        (WebCore::SVGImage::nativeImageForCurrentFrame):
        (WebCore::SVGImage::draw):
        * svg/graphics/SVGImage.h:
        * svg/graphics/SVGImageForContainer.cpp:
        (WebCore::SVGImageForContainer::draw):
        * svg/graphics/SVGImageForContainer.h:

2013-10-23  Andreas Kling  <akling@apple.com>

        Tighten typing in SVGInlineTextBox a bit.
        <https://webkit.org/b/123238>

        Use RenderBoxModelObject& instead of generic RenderObject* in some
        places where it happens as a natural consequence of keeping the
        original return type from InlineBox::parent()->renderer().

        Reviewed by Anders Carlsson.

2013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Introduce RENDER_OBJECT_TYPE_CASTS to replace manual toFoo() in child render object
        https://bugs.webkit.org/show_bug.cgi?id=123150

        Reviewed by Andreas Kling.

        As a step to let toFoo use TYPE_CASTS_BASE, toRenderFoo() can use it for child render object.
        So, this patch introduces RENDER_OBJECT_TYPE_CASTS based on the TYPE_CASTS_BASE. This will
        generate plenty more helper functions for render object type cast.

        Some unnecessary type casts are fixed by this change.

        No new tests, no behavior changes.

        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.h:
        * rendering/RenderBox.h:
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderButton.h:
        * rendering/RenderCounter.h:
        * rendering/RenderElement.h:
        (WebCore::RenderElement::generatingElement):
        * rendering/RenderEmbeddedObject.h:
        * rendering/RenderFieldset.h:
        * rendering/RenderFileUploadControl.h:
        * rendering/RenderFlexibleBox.h:
        * rendering/RenderFlowThread.h:
        * rendering/RenderFrame.h:
        * rendering/RenderFrameSet.h:
        * rendering/RenderFullScreen.h:
        * rendering/RenderHTMLCanvas.h:
        * rendering/RenderIFrame.h:
        * rendering/RenderImage.h:
        * rendering/RenderInline.h:
        * rendering/RenderLayerModelObject.h:
        * rendering/RenderLineBreak.h:
        * rendering/RenderListBox.h:
        * rendering/RenderListItem.h:
        * rendering/RenderMedia.h:
        * rendering/RenderMenuList.h:
        * rendering/RenderMeter.h:
        * rendering/RenderMultiColumnBlock.h:
        * rendering/RenderMultiColumnSet.h:
        * rendering/RenderNamedFlowFragment.h:
        * rendering/RenderNamedFlowThread.h:
        * rendering/RenderObject.h:
        * rendering/RenderProgress.h:
        * rendering/RenderQuote.h:
        * rendering/RenderRegion.h:
        * rendering/RenderReplaced.h:
        * rendering/RenderRubyRun.h:
        * rendering/RenderScrollbarPart.h:
        * rendering/RenderSearchField.h:
        * rendering/RenderSlider.h:
        * rendering/RenderSnapshottedPlugIn.h:
        * rendering/RenderTable.h:
        * rendering/RenderTableCaption.h:
        * rendering/RenderTableCell.h:
        * rendering/RenderTableCol.h:
        * rendering/RenderTableRow.h:
        * rendering/RenderTableSection.h:
        * rendering/RenderText.h:
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderWidget.h:
        * rendering/mathml/RenderMathMLBlock.h:
        * rendering/svg/RenderSVGContainer.h:
        * rendering/svg/RenderSVGGradientStop.h:
        * rendering/svg/RenderSVGImage.h:
        * rendering/svg/RenderSVGInlineText.h:
        * rendering/svg/RenderSVGPath.h:
        * rendering/svg/RenderSVGResourceFilter.h:
        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
        (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
        * rendering/svg/RenderSVGRoot.h:
        * rendering/svg/RenderSVGShape.h:
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/RenderSVGTextPath.h:
        * rendering/svg/RenderSVGViewportContainer.h:
        * rendering/svg/SVGInlineFlowBox.cpp:
        (WebCore::SVGInlineFlowBox::paint):

2013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>

        Include misspelling dot gap width when centering misspelling dots
        https://bugs.webkit.org/show_bug.cgi?id=122365

        Reviewed by Simon Fraser.

        When calculating where to place the misspelling dots, we find the
        maximum number of full dots that can fit under the misspelled word,
        and then center a run of that many dots. However, when we're
        centering the run, we are only considering the size of the extra
        fractional dot that we cut off. However, the dot image has a "gap"
        of transparent pixels (which visually provide tracking for the dots)
        which visually appears to be empty space. We should take this gap
        space into consideration when centering the run of dots. We also
        should make sure that our dots start on integral pixel boundaries
        because otherwise we can't set the phase of the dot run properly.

        Test: editing/spelling/centering-misspelling-dots.html

        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::drawLineForDocumentMarker):

2013-10-23  Andreas Kling  <akling@apple.com>

        SVGFilterBuilder should not be ref-counted.
        <https://webkit.org/b/123222>

        These objects are singly-owned and do not need ref counting.

        Reviewed by Anders Carlsson.

2013-10-23  Brady Eidson  <beidson@apple.com>

        Remove unused IDBBackingStoreLevelDB default constructor.

        Rubberstamped by Anders Carlsson.

        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

2013-10-23  Alex Christensen  <achristensen@webkit.org>

        Added Texture Mapper and Coordinated Graphics to Windows build for WinCairo.
        https://bugs.webkit.org/show_bug.cgi?id=123215

        Reviewed by Brent Fulgham.

        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        Added source files for Texture Mapper to Windows build.
        * WebCore.vcxproj/WebCoreCairo.props:
        Added Texture Mapper include directories for WinCairo.

2013-10-23  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Adding mock class to test RTCDataChannelHandler
        https://bugs.webkit.org/show_bug.cgi?id=123205

        Reviewed by Eric Carlson.

        Now RTCPeerConnectionHandler-datachannel LayouTest can run properly.
        Also updated the expected file, removing the reliable property check (which was removed in the spec)

        Existing tests updated.

        * CMakeLists.txt:
        * platform/mediastream/RTCDataChannelHandlerClient.h:
        * platform/mock/RTCDataChannelHandlerMock.cpp: Added.
        * platform/mock/RTCDataChannelHandlerMock.h: Added.
        * platform/mock/RTCNotifiersMock.cpp:
        (WebCore::RemoteDataChannelNotifier::RemoteDataChannelNotifier):
        (WebCore::RemoteDataChannelNotifier::fire):
        (WebCore::DataChannelStateNotifier::DataChannelStateNotifier):
        (WebCore::DataChannelStateNotifier::fire):
        * platform/mock/RTCNotifiersMock.h:
        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
        (WebCore::RTCPeerConnectionHandlerMock::createDataChannel):

2013-10-23  Andreas Kling  <akling@apple.com>

        Clock should not be ref-counted.
        <https://webkit.org/b/123217>

        The Clock object is only ever owned by the MediaController,
        so remove the ref counting and store it in a std::unique_ptr.

        Also slapped the Clock subclasses with FINAL and OVERRIDE.

        Reviewed by Anders Carlsson.

2013-10-23  Mark Lam  <mark.lam@apple.com>

        Fix assertion in DatabaseManager::detailsForNameAndOrigin() to be iOS friendly.
        https://bugs.webkit.org/show_bug.cgi?id=123218.

        Reviewed by Joseph Pecoraro.

        No new tests.

        * Modules/webdatabase/DatabaseManager.cpp:
        (WebCore::DatabaseManager::detailsForNameAndOrigin):

2013-10-23  Alex Christensen  <achristensen@webkit.org>

        Separated USE(CA) from USE(ACCELERATED_COMPOSITING) to prepare WinCairo for accelerated compositing.
        https://bugs.webkit.org/show_bug.cgi?id=123214

        Reviewed by Brent Fulgham.

        * platform/graphics/PlatformLayer.h:
        Added TextureMapperPlatformLayer PlatformLayer declaration for WinCairo.
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
        Added USE(CA) where necessary to compile WinCairo with accelerated compositing.

2013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>

        Antialias underlines if they're not axis-aligned
        https://bugs.webkit.org/show_bug.cgi?id=123004

        Reviewed by Simon Fraser.

        In order to make underlines crisp, GraphicsContext:drawLineForText
        modifies the bounds of the underline rect in order to make the rect
        device-pixel-aligned, and then turns off antialiasing when drawing
        the line. This makes sense when the underline is axis-aligned, but
        doesn't when the rect is rotated or skewed. Therefore, we should
        only opt-in to this behavior if the underline we're about to draw
        is axis-aligned. This requires figuring out whether or not the
        current transformation is axis-aligned every time
        GraphicsContext::drawLineForText is called, which will incur a small
        performance hit. However, this is justified by underlines looking
        much better (antialiased) when the context is rotated or skewed.

        Tests: svg/custom/foreign-object-skew.html
               svg/zoom/page/zoom-foreignObject.html
               svg/zoom/text/zoom-foreignObject.html:

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::drawLineForText):

2013-10-23  Mark Lam  <mark.lam@apple.com>

        Re-instate ProposedDatabases needed by detailsForNameAndOrigin().
        https://bugs.webkit.org/show_bug.cgi?id=123131.

        Reviewed by Geoffrey Garen.

        Test: storage/websql/open-database-expand-quota.html

        If a webpage tries to create a database that exceeds the database size
        quota for that security origin, the WebKit1 quota request mechanism
        uses detailsForNameAndOrigin() to get the requested size of the database
        (that the webpage is attempting to open) in order to determine whether
        to increase the quota or not.

        Previously, detailsForNameAndOrigin() relies on the ProposedDatabase
        mechanism to provide this size information. This change re-instates the
        ProposedDatabase mechanism so that WebKit1 client code that relies on
        this behavior will continue to work.

        * Modules/webdatabase/DatabaseManager.cpp:
        (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
        (WebCore::DatabaseManager::ProposedDatabase::~ProposedDatabase):
        (WebCore::DatabaseManager::DatabaseManager):
        (WebCore::DatabaseManager::openDatabaseBackend):
        (WebCore::DatabaseManager::fullPathForDatabase):
        (WebCore::DatabaseManager::detailsForNameAndOrigin):
        * Modules/webdatabase/DatabaseManager.h:
        (WebCore::DatabaseManager::ProposedDatabase::origin):
        (WebCore::DatabaseManager::ProposedDatabase::details):

2013-10-23  Tim Horton  <timothy_horton@apple.com>

        [cg] Fix the capitalization of kCGImageSourceSkipMetaData (-> Metadata)
        https://bugs.webkit.org/show_bug.cgi?id=122918

        Reviewed by Anders Carlsson.

        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::imageSourceOptions):
        The capitalization of kCGImageSourceSkipMetaData changed to
        kCGImageSourceSkipMetadata in Mountain Lion.

2013-10-23  Brady Eidson  <beidson@apple.com>

        Make IDBDatabaseBackendLevelDB.cpp be cross platform
        https://bugs.webkit.org/show_bug.cgi?id=123027

        Attentively reviewed by Dean Jackson.

        Move it out of the indexeddb/leveldb directory, and rename it to IDBDatabaseBackendImpl.

        Project files:
        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp.
        * Modules/indexeddb/IDBDatabaseBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h.

        * Modules/indexeddb/IDBDatabaseBackendInterface.h:
        (WebCore::IDBDatabaseBackendInterface::isIDBDatabaseBackendImpl): Add to support a required cast in LevelDB code.

        * Modules/indexeddb/IDBFactoryBackendInterface.h:

        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
        (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
        (WebCore::IDBFactoryBackendLevelDB::open):
        (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
        * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:

        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
        (WebCore::IDBTransactionBackendLevelDB::create):
        (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
        (WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
        (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
        (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:

2013-10-23  Daniel Bates  <dabates@apple.com>

        [iOS] Upstream more ARMv7s bits
        https://bugs.webkit.org/show_bug.cgi?id=123052

        Reviewed by Joseph Pecoraro.

        Define exported symbol file for armv7s and arm64.

        * Configurations/WebCore.xcconfig:

2013-10-23  Krzysztof Wolanski  <k.wolanski@samsung.com>

        [GTK] accessibility/self-referencing-aria-labelledby.html is failing
        https://bugs.webkit.org/show_bug.cgi?id=121594

        Reviewed by Mario Sanchez Prada.

        According to http://www.w3.org/TR/REC-html40/struct/objects.html#edef-IMG
        description of image element should be determined by alt attribute, then
        if it is empty by title attributte.

        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
        (webkitAccessibleGetDescription):

2013-10-15  Andreas Kling  <akling@apple.com>

        Tighten animation-driven restyle to operate on Element only.
        <https://webkit.org/b/122820>

        Text nodes are never directly animated, so we can tighten this code
        to work on Element only. This happens naturally since the code was
        already working with RenderElement everywhere.

        Reviewed by Antti Koivisto.

2013-10-22  Andreas Kling  <akling@apple.com>

        Even more PassRef<RenderStyle>!
        <https://webkit.org/b/123147>

        Convert more of the WebCore code to use PassRef for RenderStyle
        in places where they are known to be non-null.

        Re-landing this without region styling since that caused some
        assertions last time.

        Reviewed by Antti Koivisto.

2013-10-22  Zoltan Horvath  <zoltan@webkit.org>

        Refactor LineBreaker::nextSegmentBreak, add BreakingContext that holds all its state
        https://bugs.webkit.org/show_bug.cgi?id=123038

        Reviewed by David Hyatt.

        I followed Levi's logic on Blink's nextSegmentBreak refactoring (https://chromiumcodereview.appspot.com/25054004). 
        I mostly did the same changes, but the code is too diverged at this point to just apply that patch on our trunk. The patch
        introduces BreakingContext as a separate class. I added new methods for each condition, which were originally located in
        nextSegmentBreak. I also removed the goto-s from the code. All the new methods are inline in order to avoid introducing any
        performance regression. The change makes the code so much cleaner and understandable.

        This change would be the first step of the nextSegmentBreak refactoring, I wanted to keep things in place in RenderBlockLineLayout.cpp
        for now, but I'm planning to separate BreakingContext into a new file and do additional changes to make things nicer. I'm tracking
        the entire progress under http://webkit.org/b/121261 meta bug.

        No new tests, covered by existing tests.
        - I updated 1 expected result, because there was a 1 pixel difference on the result, which I believe comes from a rounding situation.

        * rendering/RenderBlockFlow.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::BreakingContext::BreakingContext):
        (WebCore::BreakingContext::currentObject):
        (WebCore::BreakingContext::lineBreak):
        (WebCore::BreakingContext::lineBreakRef):
        (WebCore::BreakingContext::lineWidth):
        (WebCore::BreakingContext::atEnd):
        (WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
        (WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
        (WebCore::BreakingContext::initializeForCurrentObject):
        (WebCore::BreakingContext::increment):
        (WebCore::BreakingContext::handleBR):
        (WebCore::BreakingContext::handleOutOfFlowPositioned):
        (WebCore::BreakingContext::handleFloat):
        (WebCore::BreakingContext::handleEmptyInline):
        (WebCore::BreakingContext::handleReplaced):
        (WebCore::nextCharacter):
        (WebCore::BreakingContext::handleText):
        (WebCore::textBeginsWithBreakablePosition):
        (WebCore::BreakingContext::canBreakAtThisPosition):
        (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
        (WebCore::BreakingContext::handleEndOfLine):
        (WebCore::LineBreaker::nextSegmentBreak):

2013-10-22  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r157826.
        http://trac.webkit.org/changeset/157826
        https://bugs.webkit.org/show_bug.cgi?id=123197

        Caused some regions tests to assert (Requested by smfr on
        #webkit).

        * dom/Document.cpp:
        (WebCore::Document::styleForElementIgnoringPendingStylesheets):
        * dom/Document.h:
        * dom/Element.cpp:
        (WebCore::Element::styleForRenderer):
        * dom/Element.h:
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::setComputedStyle):
        (WebCore::ElementRareData::resetComputedStyle):
        * html/HTMLTitleElement.cpp:
        (WebCore::HTMLTitleElement::textWithDirection):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationController::updateAnimations):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::animate):
        * page/animation/CompositeAnimation.h:
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::createFor):
        * rendering/RenderElement.h:
        (WebCore::RenderElement::setStyleInternal):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::setRegionObjectsRegionStyle):
        (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
        (WebCore::RenderRegion::computeStyleInRegion):
        (WebCore::RenderRegion::computeChildrenStyleInRegion):
        (WebCore::RenderRegion::setObjectStyleInRegion):
        * rendering/RenderRegion.h:
        * style/StyleResolveTree.cpp:
        (WebCore::Style::resolveLocal):

2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Remove HAVE_GLX macro
        https://bugs.webkit.org/show_bug.cgi?id=123191

        Reviewed by Gyuyoung Kim.

        Since r138313, HAVE(GLX) was replaced to USE(GLX) except in GraphicsSurfaceToken.h.

        * platform/graphics/surfaces/GraphicsSurfaceToken.h:
        Replace HAVE(GLX) to USE(GLX)

2013-10-22  Mark Lam  <mark.lam@apple.com>

        Gardening: fix broken build on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=123174.

        Not reviewed.

        No new tests.

        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:

2013-10-22  Brady Eidson  <beidson@apple.com>

        Get rid of IDBObjectStoreBackendLevelDB
        https://bugs.webkit.org/show_bug.cgi?id=123174

        Reviewed by Tim Horton.

        This file was kind of a dumping ground.
        Its contents can be merged into IDBBackingStoreInterface and a new IDBIndexWriter class.

        Also took the opportunity to do a little bit of RefPtr<> and pointer-vs-reference cleanup.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.xcodeproj/project.pbxproj:

        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Removed.
        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Removed.

        * Modules/indexeddb/IDBIndexWriter.cpp: Added.
        (WebCore::IDBIndexWriter::IDBIndexWriter):
        (WebCore::IDBIndexWriter::writeIndexKeys):
        (WebCore::IDBIndexWriter::verifyIndexKeys):
        (WebCore::IDBIndexWriter::addingKeyAllowed):
        * Modules/indexeddb/IDBIndexWriter.h: Added.
        (WebCore::IDBIndexWriter::create):

        * Modules/indexeddb/IDBBackingStoreInterface.h:
        * Modules/indexeddb/IDBDatabaseBackendInterface.h:

        * Modules/indexeddb/IDBMetadata.h:
        * Modules/indexeddb/IDBTransactionBackendInterface.h:

        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
        (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
        (WebCore::IDBBackingStoreLevelDB::generateKey):
        (WebCore::IDBBackingStoreLevelDB::updateKeyGenerator):
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
        (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
        (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
        (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
        (WebCore::PutOperation::perform):
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
        (WebCore::PutOperation::create):
        (WebCore::PutOperation::PutOperation):

2013-10-22  Dean Jackson  <dino@apple.com>

        [WebGL] Implement a software rendering option on Mac
        https://bugs.webkit.org/show_bug.cgi?id=123177

        Reviewed by Tim Horton.

        Implement a way to force software OpenGL rendering
        for WebGL, via a Setting/Preference.

        No new tests. We intentionally hide the capabilities of
        the renderer from the content, so you can't test for
        this setting. However, manual inspection is pretty
        obvious. Just go to a page with a complex shader
        such as https://www.shadertoy.com/view/lss3WS.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::create): If we're forcing software
        rendering, mark the context attributes as such.
        * page/Settings.in: New setting key.
        * platform/graphics/GraphicsContext3D.h: New flag in Attributes.
        (WebCore::GraphicsContext3D::Attributes::Attributes):
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::GraphicsContext3D): Slight update to the
        algorithm that sets a pixel format. If we're forcing software rendering,
        obviously we never want to create an accelerated pixel format.
        * platform/graphics/filters/CustomFilterGlobalContext.cpp:
        (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded): Set the attribute
        here before trying to create the context.
        * platform/graphics/filters/CustomFilterGlobalContext.h: Add a forceSoftwareRendering
        flag to prepareContextIfNeeded.
        * rendering/FilterEffectRenderer.cpp:
        (WebCore::createCustomFilterEffect): Check the Setting before creating a custom
        filter context.

2013-10-22  Anders Carlsson  <andersca@apple.com>

        Revert r157445 since it broke certificates on Mac.
        <rdar://problem/15246926&15254017&15269117>

        * GNUmakefile.list.am:
        * PlatformEfl.cmake:
        * WebCore.exp.in:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/ResourceErrorBase.h:
        * platform/network/ResourceResponseBase.h:
        * platform/network/cf/CertificateInfoCFNet.cpp: Removed.
        * platform/network/cf/ResourceResponse.h:
        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::setCertificateChain):
        (WebCore::ResourceResponse::certificateChain):
        * platform/network/soup/ResourceError.h:
        (WebCore::ResourceError::ResourceError):
        (WebCore::ResourceError::tlsErrors):
        (WebCore::ResourceError::setTLSErrors):
        (WebCore::ResourceError::certificate):
        (WebCore::ResourceError::setCertificate):
        * platform/network/soup/ResourceErrorSoup.cpp:
        (WebCore::ResourceError::tlsError):
        (WebCore::ResourceError::platformCopy):
        (WebCore::ResourceError::platformCompare):
        * platform/network/soup/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        (WebCore::ResourceResponse::soupMessageCertificate):
        (WebCore::ResourceResponse::setSoupMessageCertificate):
        (WebCore::ResourceResponse::soupMessageTLSErrors):
        (WebCore::ResourceResponse::setSoupMessageTLSErrors):
        * platform/network/soup/ResourceResponseSoup.cpp:
        (WebCore::ResourceResponse::toSoupMessage):
        (WebCore::ResourceResponse::updateFromSoupMessage):

2013-10-22  Jer Noble  <jer.noble@apple.com>

        [Media] Refactor supportsType() factory method to take a parameters object.
        https://bugs.webkit.org/show_bug.cgi?id=122489

        Reviewed by Eric Carlson.

        In order to support adding new conditional properties with which to decide
        what MediaPlayerPrivate subclass to create, replace the two versions of the
        supportsType() factory method with a single one taking a parameters object.

        At the same time, add a 'isMediaSource' parameter to that object, allowing
        MediaPlayerPrivate subclasses which support the same type and codecs but
        which do not both support MediaSource to be distinguised.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::bestMediaEngineForSupportParameters): Renamed from
            bestMediaEngineForTypeAndCodecs.
        (WebCore::MediaPlayer::nextBestMediaEngine): Added convenience function.
        (WebCore::MediaPlayer::loadWithNextMediaEngine): Call nextBestMediaEngine()
        (WebCore::MediaPlayer::supportsType): Pass parameter object.
        (WebCore::MediaPlayer::networkStateChanged): Call nextBestMediaEngine().
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
        (WebCore::MediaPlayerPrivateAVFoundationCF::supportsType): Handle parameter object.
        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): Remove extraneous
            extendedSupportsType method.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Handle parameter object.
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::supportsType): Ditto.
        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Remove extraneous
            extendedSupportsType method.
        (WebCore::MediaPlayerPrivateQTKit::supportsType): Handle parameter object.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsType): Ditto.
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/wince/MediaPlayerPrivateWinCE.h:

2013-10-22  Andreas Kling  <akling@apple.com>

        Merge SVGRenderBlock::styleWillChange() into styleDidChange().
        <https://webkit.org/b/123181>

        I meant to do this one in r157787, but better late than never.

        Reviewed by Geoffrey Garen.

2013-10-22  Sam Weinig  <sam@webkit.org>

        CTTE: Modernize RenderBlock a bit
        https://bugs.webkit.org/show_bug.cgi?id=123162

        Reviewed by Andreas Kling.

        Start threading references through RenderBlock. While we 
        are here, do some selective modernization as well.

2013-10-22  Andreas Kling  <akling@apple.com>

        Even more PassRef<RenderStyle>!
        <https://webkit.org/b/123147>

        Convert the remaining WebCore code to use PassRef for RenderStyle
        wherever they are known to be non-null.

        Reviewed by Antti Koivisto.

2013-10-22  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r157819.
        http://trac.webkit.org/changeset/157819
        https://bugs.webkit.org/show_bug.cgi?id=123180

        Broke 32-bit builds (Requested by smfr on #webkit).

        * Configurations/WebCore.xcconfig:

2013-10-22  Antti Koivisto  <antti@apple.com>

        Rename deleteLineBoxTree to deleteLines
        https://bugs.webkit.org/show_bug.cgi?id=123176

        Reviewed by Andreas Kling.

        RenderBlock::deleteLineBoxTree -> RenderBlock::deleteLines
        RenderInline::deleteLineBoxTree -> RenderInline::deleteLines

2013-10-22  Tim Horton  <timothy_horton@apple.com>

        {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
        https://bugs.webkit.org/show_bug.cgi?id=123172

        Reviewed by Simon Fraser.

        No new tests, just a rename.

        "get" in WebCore tends to mean that the function has out arguments; these have no arguments.
        Rename FilterOperation::getOperationType() to FilterOperation::type().
        I noticed that ClipPathOperation had the same mistake, so I fixed it there too.

        Removed long and useless list of files.

2013-10-22  Samuel White  <samuel_white@apple.com>

        AX: Add paramAttrs to fetch start and end text markers in a given rect.
        https://bugs.webkit.org/show_bug.cgi?id=122164

        Reviewed by Chris Fleizach.

        Added ability to fetch end and start text markers inside a given bounds. This gives ScreenReaders
        like VoiceOver a way to retrieve the text markers for a specified column of page text.

        Test: platform/mac/accessibility/text-marker-for-bounds.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::mainFrame):
        (WebCore::AccessibilityObject::topDocument):
        (WebCore::AccessibilityObject::visiblePositionForBounds):
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper screenToContents:]):
        (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2013-10-22  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Match adjustLogicalLineTopAndLogicalHeightIfNeeded's implementation with Blink's
        https://bugs.webkit.org/show_bug.cgi?id=123033

        Reviewed by David Hyatt.

        In Blink I made this function in a bit different way. This change modifies it
        to be identical, which helps a lot in the future cross-merging patches.

        No new tests, covered by existing texts.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):

2013-10-22  Daniel Bates  <dabates@apple.com>

        [iOS] Upstream more ARMv7s bits
        https://bugs.webkit.org/show_bug.cgi?id=123052

        Reviewed by Joseph Pecoraro.

        * Configurations/WebCore.xcconfig:

2013-10-22  Simon Fraser  <simon.fraser@apple.com>

        Try to fix Mavericks build; use <> for framework include.

        * page/CaptionUserPreferencesMediaAF.cpp:

2013-10-22  Tim Horton  <timothy_horton@apple.com>

        GammaFilterOperation seems to be dead code
        https://bugs.webkit.org/show_bug.cgi?id=123173

        Reviewed by Simon Fraser.

        * platform/graphics/filters/FilterOperation.cpp:
        * platform/graphics/filters/FilterOperation.h:
        Remove dead code.

2013-10-22  Antti Koivisto  <antti@apple.com>

        Rename some line box functions to be just about lines
        https://bugs.webkit.org/show_bug.cgi?id=123168

        Reviewed by Dave Hyatt.

        firstLineBoxBaseline -> firstLineBaseline
        hasInlineBoxChildren -> hasLines
        
        Also use hasLines in a bunch of places where firstLineBox() was used.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
        
            Also use hasRenderedText() instead of firstTextBox()

        * rendering/RenderFullScreen.cpp:
        
            Fix namespace.

2013-10-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Adding Mock class to test RTCPeerConnection
        https://bugs.webkit.org/show_bug.cgi?id=122848

        Reviewed by Eric Carlson.

        The following tests can be run:

            RTCPeerConnection-createAnswer.html
            RTCPeerConnection-createOffer.html
            RTCPeerConnection-ice.html
            RTCPeerConnection-localDescription.html
            RTCPeerConnection-remoteDescription.html
            RTCPeerConnection-state.html

        Tests that require a MediaStream object, by invoking getUserMedia,
        are not ready to run yet.

        No new tests needed.

        * CMakeLists.txt:
        * platform/mediastream/RTCPeerConnectionHandler.cpp:
        (WebCore::createHandler):
        * platform/mediastream/RTCPeerConnectionHandler.h:
        * platform/mediastream/RTCPeerConnectionHandlerClient.h:
        * platform/mock/RTCNotifiersMock.cpp: Added.
        * platform/mock/RTCNotifiersMock.h: Added.
        * platform/mock/RTCPeerConnectionHandlerMock.cpp: Added.
        * platform/mock/RTCPeerConnectionHandlerMock.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
        * platform/mock/TimerEventBasedMock.h: Added.
        * testing/Internals.cpp:
        (WebCore::Internals::Internals):
        (WebCore::Internals::enableMockRTCPeerConnectionHandler):
        * testing/Internals.h:

2013-10-22  Zan Dobersek  <zdobersek@igalia.com>

        WebCore::fillWithEmptyClients adopts new empty clients before leaking their pointers
        https://bugs.webkit.org/show_bug.cgi?id=122945

        Reviewed by Anders Carlsson.

        * loader/EmptyClients.cpp:
        (WebCore::fillWithEmptyClients): Store the static empty clients as NeverDestroyed, rather than
        adopting the pointer of each heap-allocated object and then immediately leaking that pointer.

2013-10-22  Zan Dobersek  <zdobersek@igalia.com>

        Simplify HRTFDatabaseLoader's load map
        https://bugs.webkit.org/show_bug.cgi?id=122944

        Reviewed by Eric Carlson.

        * platform/audio/HRTFDatabaseLoader.cpp:
        (WebCore::loaderMap): Return a reference to a NeverDestroyed HashMap that maps sample rates to loaders.
        (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
        (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
        * platform/audio/HRTFDatabaseLoader.h: Remove the LoaderMap type definition, the private singleton of that type
        and the singleton's unused getter.

2013-10-22  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Support hardware accelerated filters
        https://bugs.webkit.org/show_bug.cgi?id=123139

        Reviewed by Anders Carlsson.

        * WebCore.exp.in:
        Export a variety of filter-related things.

        * platform/graphics/ca/PlatformCAFilters.h:
        * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayerMac::setFilters):
        * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
        (PlatformCAFilters::setFiltersOnLayer):
        setFiltersOnLayer should take a PlatformLayer instead of a PlatformCALayer
        as its argument, because it doesn't need a PlatformCALayer, and this way
        we can share code with the RemoteLayerTreeHost, which only has PlatformLayers
        and not PlatformCALayers.

2013-10-22  Brendan Long  <b.long@cablelabs.com>

        cue.text fails for some track element cues
        https://bugs.webkit.org/show_bug.cgi?id=81123

        Reviewed by Eric Carlson.

        Test: media/track/track-long-captions-file.html

        * html/track/WebVTTParser.cpp:
        (WebCore::WebVTTParser::parseBytes): Use buffer when we don't have full lines.
        (WebCore::WebVTTParser::fileFinished): Force file to finish parsing.
        (WebCore::WebVTTParser::hasRequiredFileIdentifier): Simplify due to using String.
        (WebCore::WebVTTParser::collectCueText): Don't automatically create cues when we run out of data.
        (WebCore::WebVTTParser::collectNextLine): Use buffer.
        * html/track/WebVTTParser.h: Add m_buffer and Finished state.
        * loader/TextTrackLoader.cpp:
        (WebCore::TextTrackLoader::notifyFinished): Call m_parser->fileFinished() when done.

2013-10-22  peavo@outlook.com  <peavo@outlook.com>

        [WinCairo] Compile error.
        https://bugs.webkit.org/show_bug.cgi?id=123161

        Reviewed by Brent Fulgham.

        * rendering/RenderFlowThread.h: Move USE(ACCELERATED_COMPOSITING) guard to expose needed type.

2013-10-21  Brady Eidson  <beidson@apple.com>

        Add a cross-platform IDBRecordIdentifier
        https://bugs.webkit.org/show_bug.cgi?id=123138

        Reviewed by Andreas Kling.

        Add the cross-platform header:
        * Modules/indexeddb/IDBRecordIdentifier.h: Added.
        (WebCore::IDBRecordIdentifier::create):
        (WebCore::IDBRecordIdentifier::encodedPrimaryKey):
        (WebCore::IDBRecordIdentifier::version):
        (WebCore::IDBRecordIdentifier::reset):
        (WebCore::IDBRecordIdentifier::IDBRecordIdentifier):
        * WebCore.xcodeproj/project.pbxproj:
        * GNUmakefile.list.am:

        Remove the old abstract and LevelDB classes:
        * Modules/indexeddb/IDBBackingStoreInterface.h:
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:

        Use the cross-platform one everywhere:
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
        (WebCore::IDBBackingStoreLevelDB::putRecord):
        (WebCore::IDBBackingStoreLevelDB::deleteRecord):
        (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
        (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
        (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
        (WebCore::ObjectStoreCursorImpl::loadCurrentRow):

        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
        (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):

        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):

        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
        (WebCore::PutOperation::perform):

2013-10-22  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Possible performance regression after r157567
        https://bugs.webkit.org/show_bug.cgi?id=123016

        Reviewed by Andreas Kling.

        The revision 157567 http://trac.webkit.org/changeset/157567 may have regressed
        Parser/html5-full-render by ~1.1% and Parser/html-parser by ~2%. These changes
        try to optimize the initial patch, based on Andreas Kling's review.

        The patch also adds a couple of refactorings that should make the code easier to read:
        - the CSS Shapes functions are now wrapped in a single #if clause
        - the CSS Shapes and CSS Regions pre-layout preparations are wrapped in a helper function

        The RenderFlowThread::logicalWidthChangedInRegionsForBlock function is optimized by passing
        it information about the state of the relayout children flag. If the flag is true already,
        some of the steps are skipped.

        Tests: no new tests.

        * dom/Element.cpp:
        (WebCore::Element::webkitGetRegionFlowRanges):
        * inspector/InspectorOverlay.cpp:
        (WebCore::buildObjectForElementInfo):
        * rendering/RenderBlock.cpp:
        (WebCore::shapeInfoRequiresRelayout):
        (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
        (WebCore::RenderBlock::computeShapeSize):
        (WebCore::RenderBlock::prepareShapesAndPaginationBeforeBlockLayout):
        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::layoutBlock):
        (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
        (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
        (WebCore::RenderBlockFlow::ensureRareData):
        * rendering/RenderBlockFlow.h:
        (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
        (WebCore::RenderElement::isRenderNamedFlowFragmentContainer):
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
        * rendering/RenderElement.h:
        (WebCore::RenderElement::generatingElement):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
        * rendering/RenderFlowThread.h:
        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::layoutBlock):
        * rendering/RenderNamedFlowFragment.h:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        * style/StyleResolveTree.cpp:
        (WebCore::Style::elementInsideRegionNeedsRenderer):

2013-10-22  Andreas Kling  <akling@apple.com>

        CSSStyleSheet constructor functions should return PassRef.
        <https://webkit.org/b/123156>

        Make CSSStyleSheet::create*() return PassRef and tighten some call
        sites that were using them. Most callers didn't need any tweaks to
        take advantage of PassRef.

        Reviewed by Antti Koivisto.

2013-10-22  Andreas Kling  <akling@apple.com>

        CTTE: RenderMathMLFraction always has a MathMLInlineContainerElement.
        <https://webkit.org/b/123154>

        This renderer is never anonymous and always has a corresponding
        MathMLInlineContainerElement. Overload element() with a tighter
        return type.

        Also marked the class FINAL and made most member functions private.

        Reviewed by Antti Koivisto.

2013-10-22  Andreas Kling  <akling@apple.com>

        FontGlyphs constructor functions should return PassRef.
        <https://webkit.org/b/123159>

        Made the two FontGlyphs creator functions return PassRef and tweaked
        the FontGlyphsCache in Font.cpp to make more efficient use of it.

        Reviewed by Antti Koivisto.

2013-10-22  Andreas Kling  <akling@apple.com>

        Fix some more code to use RenderElement instead of RenderObject.
        <https://webkit.org/b/123149>

        Using RenderElement where possible lets us skip the isRenderElement()
        branch in RenderObject::style() and generates much tighter code.

        Reviewed by Antti Koivisto.

2013-10-22  Andreas Kling  <akling@apple.com>

        Merge SVG renderers' styleWillChange() into styleDidChange().
        <https://webkit.org/b/123108>

        This work can just as well be done after setting the style.
        Three more styleWillChange() overloads gone.

        Reviewed by Antti Koivisto.

2013-10-22  Andreas Kling  <akling@apple.com>

        CSSValueList constructor functions should return PassRef.
        <https://webkit.org/b/123151>

        These functions always return objects, and thus can return PassRef.
        Also made CSSValueList::createFromParserValueList() take a reference
        since that function is only ever called with a non-null value.

        Reviewed by Antti Koivisto.

2013-10-22  Andreas Kling  <akling@apple.com>

        Avoid parent style ref churn in createTextRendererIfNeeded().
        <https://webkit.org/b/123148>

        There's no need to take a temporary ref on the parent's RenderStyle
        while creating a text renderer. It's not going away, and the text
        renderer is not going to participate in ownership afterwards.

        Reviewed by Antti Koivisto.

2013-10-22  Andreas Kling  <akling@apple.com>

        Remove some unnecessary null checks in RenderElement::setStyle().
        <https://webkit.org/b/123146>

        After assigning the new style to RenderElement::m_style, we know that
        it'll be non-null, so remove all the checking for this.

        Reviewed by Antti Koivisto.

2013-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Introduce ACCESSIBILITY_OBJECT_TYPE_CASTS to replace manual toFoo() in accessibility child class
        https://bugs.webkit.org/show_bug.cgi?id=123140

        Reviewed by Andreas Kling.

        As a step to let toFoo use TYPE_CASTS_BASE, DEFINE_TYPE_CASTS can be used for toFoo() in accessibility
        child class. The DEFINE_TYPE_CASTS will generate plenty more helper functions for accessibility type cast.

        No new tests, no behavior changes.

        * accessibility/AccessibilityList.h:
        * accessibility/AccessibilityMenuList.h:
        * accessibility/AccessibilityMockObject.h:
        * accessibility/AccessibilityNodeObject.h:
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilitySVGRoot.h:
        * accessibility/AccessibilityScrollView.h:
        * accessibility/AccessibilitySpinButton.h:
        * accessibility/AccessibilityTable.h:

2013-10-22  Brian Holt  <brian.holt@samsung.com>

        [GTK] Add WebKit2 API for TLS errors
        https://bugs.webkit.org/show_bug.cgi?id=120160

        Reviewed by Carlos Garcia Campos.

        Added a new constructor for CertificateInfo under Soup.

        * platform/network/CertificateInfo.h:
        * platform/network/soup/CertificateInfoSoup.cpp:
        (WebCore::CertificateInfo::CertificateInfo): New constructor using
        GTlsCertificateFlags and GTlsCertificate.

2013-10-22  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Use RenderStyle::hasFlowFrom when needed
        https://bugs.webkit.org/show_bug.cgi?id=122543

        Reviewed by David Hyatt.

        Rename RenderStyle::hasStyleRegion -> RenderStyle::hasFlowFrom.
        Use RenderStyle::hasFlowFrom() helper function instead of directly
        checking the value of RenderStyle::regionThread().

        No change of functionality, covered by existing tests.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::contentToCSSValue):
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::adjustRenderStyle):
        * dom/PseudoElement.cpp:
        (WebCore::PseudoElement::didAttachRenderers):
        * dom/PseudoElement.h:
        (WebCore::pseudoElementRendererIsNeeded):
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
        * rendering/style/RenderStyle.h:

2013-10-21  Brent Fulgham  <bfulgham@apple.com>

        [WIN] Properly support reverse animations without needing software fallback.
        https://bugs.webkit.org/show_bug.cgi?id=85121

        Reviewed by Dean Jackson.

        Testing is provided by existing animation tests.

        * platform/animation/TimingFunction.h:
        (WebCore::CubicBezierTimingFunction::createReversed): Added.
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::addAnimation): The early return when performing a reverse or
        autoreverse animation is no longer needed.
        * platform/graphics/ca/PlatformCAAnimation.h:
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        (toCAMediaTimingFunction): Use new reversed function.
        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
        (toCACFTimingFunction): Ditto.
        (PlatformCAAnimation::setTimingFunction): Pass 'reverse' flag.
        (PlatformCAAnimation::setTimingFunctions): Ditto.

2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Use TYPE_CASTS_BASE for CSS_VALUE_TYPE_CASTS
        https://bugs.webkit.org/show_bug.cgi?id=123126

        Reviewed by Andreas Kling.

        TYPE_CASTS_BASE was moved to common place to be used by all toFoo().
        CSS_VALUE_TYPE_CASTS starts to use it for CSS child value. This change
        generates plenty more helper functions for toCSSFooValue().

        Additionally, this use support that toWebKitCSSFooValue, which couldn't
        use CSS_VALUE_TYPE_CASTS macro.

        No new tests, no behavior change.

        * css/CSSAspectRatioValue.h:
        * css/CSSBorderImageSliceValue.h:
        * css/CSSCalculationValue.h:
        * css/CSSCanvasValue.h:
        * css/CSSCrossfadeValue.h:
        * css/CSSCursorImageValue.h:
        * css/CSSFilterImageValue.h:
        * css/CSSFontFaceSrcValue.h:
        * css/CSSFontFeatureValue.h:
        * css/CSSFontValue.h:
        * css/CSSFunctionValue.h:
        * css/CSSGradientValue.h:
        * css/CSSGridTemplateValue.h:
        * css/CSSImageSetValue.h:
        * css/CSSImageValue.h:
        * css/CSSInheritedValue.h:
        * css/CSSInitialValue.h:
        * css/CSSLineBoxContainValue.h:
        * css/CSSPrimitiveValue.h:
        * css/CSSReflectValue.h:
        * css/CSSShadowValue.h:
        * css/CSSTimingFunctionValue.h:
        * css/CSSUnicodeRangeValue.h:
        * css/CSSValue.h:
        * css/CSSValueList.h:
        * css/CSSVariableValue.h:
        * css/WebKitCSSArrayFunctionValue.h:
        * css/WebKitCSSFilterValue.h:
        * css/WebKitCSSMatFunctionValue.h:
        * css/WebKitCSSMixFunctionValue.h:
        * css/WebKitCSSSVGDocumentValue.h:
        * css/WebKitCSSShaderValue.h:

2013-10-21  Joone Hur  <joone.hur@intel.com>

        Bad cast with toRenderBoxModelObject in RenderBlock::updateFirstLetter()
        https://bugs.webkit.org/show_bug.cgi?id=123013

        Reviewed by Andreas Kling.

        No new tests because this was reported by Google ClusterFuzz.
        https://codereview.chromium.org/25713009/

        There is a case that toRenderBoxModelObject causes a crash in RenderBlock::updateFirstLetter() 
        due to bad cast, so we need to check whether the RenderObject is a RenderBoxModelObject 
        by running isBoxModelObject() before calling toRenderBoxModelObject.  

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter):

2013-10-21  Brady Eidson  <beidson@apple.com>

        Make IDBTransactionCoordinatorLevelDB cross platform
        https://bugs.webkit.org/show_bug.cgi?id=123124

        Enthusiastically reviewed by Tim Horton.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.xcodeproj/project.pbxproj:

        Make more methods pure virtual in the interface:
        * Modules/indexeddb/IDBTransactionBackendInterface.h:
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:

        Update the name of the class, and use IDBTransactionBackendInterface instead of IDBTransactionBackendLeveDB:
        * Modules/indexeddb/IDBTransactionCoordinator.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp.
        (WebCore::IDBTransactionCoordinator::create):
        (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
        (WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
        (WebCore::IDBTransactionCoordinator::didCreateTransaction):
        (WebCore::IDBTransactionCoordinator::didStartTransaction):
        (WebCore::IDBTransactionCoordinator::didFinishTransaction):
        (WebCore::IDBTransactionCoordinator::isActive):
        (WebCore::IDBTransactionCoordinator::processStartedTransactions):
        (WebCore::doScopesOverlap):
        (WebCore::IDBTransactionCoordinator::canRunTransaction):
        * Modules/indexeddb/IDBTransactionCoordinator.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h.

        Update the name of the class elsewhere:
        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
        (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
        (WebCore::IDBDatabaseBackendLevelDB::transactionCoordinator):
        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:

2013-10-21  Daniel Bates  <dabates@apple.com>

        [iOS] Upstream JSGlobalObject::shouldInterruptScriptBeforeTimeout()
        https://bugs.webkit.org/show_bug.cgi?id=123045

        Reviewed by Joseph Pecoraro.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): Added.
        (WebCore::JSDOMWindowBase::shouldInterruptScript): Extracted comment and assertion
        about null Page object into WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage()
        so that it can be shared by both this function and JSDOMWindowBase::shouldInterruptScriptBeforeTimeout().
        (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSWorkerGlobalScopeBase.cpp:
        (WebCore::JSWorkerGlobalScopeBase::shouldInterruptScriptBeforeTimeout): Added.
        * bindings/js/JSWorkerGlobalScopeBase.h:
        * loader/EmptyClients.h: Added isStopping(). We'll land the iOS chrome client implementation
        in a subsequent patch.
        * page/ChromeClient.h: Added isStopping().

2013-10-21  Anders Carlsson  <andersca@apple.com>

        Navigation policy callback not called when performing the same fragment navigation twice
        https://bugs.webkit.org/show_bug.cgi?id=123121
        <rdar://problem/15230466>

        Reviewed by Beth Dakin.

        There's code in PolicyChecker::checkNavigationPolicy that will call the decision function right away 
        if the requests are equal, without consulting any policy client. Because of this, make sure to empty out
        the last checked request of the document loader when doing a fragment navigation.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURL):
        (WebCore::FrameLoader::loadWithDocumentLoader):

2013-10-21  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix; unprotect the declaration of updateSleepDisabling();

        * html/HTMLMediaElement.h:

2013-10-20  Mark Lam  <mark.lam@apple.com>

        Avoid JSC debugger overhead unless needed.
        https://bugs.webkit.org/show_bug.cgi?id=123084.

        Reviewed by Geoffrey Garen.

        No new tests.

        - If no breakpoints are set, we now avoid calling the debug hook callbacks.
        - If no break on exception is set, we also avoid exception event debug callbacks.
        - When we return from the ScriptDebugServer to the JSC::Debugger, we may no
          longer call the debug hook callbacks if not needed. Hence, the m_currentCallFrame
          pointer in the ScriptDebugServer may become stale. To avoid this issue, before
          returning, the ScriptDebugServer will clear its m_currentCallFrame if
          needsOpDebugCallbacks() is false.

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        (WebCore::ScriptDebugServer::clearBreakpoints):
        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
        (WebCore::ScriptDebugServer::breakProgram):
        (WebCore::ScriptDebugServer::stepIntoStatement):
        (WebCore::ScriptDebugServer::dispatchDidContinue):
        (WebCore::ScriptDebugServer::exception):
        (WebCore::ScriptDebugServer::didReachBreakpoint):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::reset):

2013-10-21  Myles C. Maxfield  <mmaxfield@apple.com>

        Grammar markers are not updated when switching between 1x and 2x
        https://bugs.webkit.org/show_bug.cgi?id=122146

        Reviewed by Dean Jackson.

        When running editing/spelling/grammar-markers-hidpi.html, the 2x
        grammar/spelling dot resources are cached. If you then run
        editing/spelling/grammar-markers.html without tearing down WebKit,
        it re-uses the 2x dots. The difference between the two tests is a call
        to testRunner.setBackingScaleFactor().

        We create a NSColor from an NSImage, and remember it in a static
        variable. However, NSColor inspects the current graphics context to
        determine which resolution to use, and then remembers that decision.
        Therefore, we want to recreate the NSColor whenever the device pixel
        ratio changes. This patch adds a new static function to GraphicsContext
        which recreates this NSColor every time the ratio changes.

        Tests: editing/spelling/grammar-markers.html
               editing/spelling/inline_spelling_markers.html

        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::makePattern):
        (WebCore::GraphicsContext::drawLineForDocumentMarker):

2013-10-21  Simon Fraser  <simon.fraser@apple.com>

        Use pink layer borders for compositing layers with a contents layer
        https://bugs.webkit.org/show_bug.cgi?id=123118

        Reviewed by Dean Jackson.

        With the existing layer border colors, it's not possible to distinguish an empty
        layer from one with solid color, image or video contents. So use a pink color
        for those. This makes it easier to diagnose bugs like 122784.

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::getDebugBorderInfo):

2013-10-21  Jer Noble  <jer.noble@apple.com>

        Limit use of display sleep assertion when <video> element is off-screen.
        https://bugs.webkit.org/show_bug.cgi?id=123041

        Reviewed by Darin Adler.

        Use page visibility changes to suspend and resume the use of sleep assertions in
        HTMLMediaElement.

        Page will propogate the page visibility change notifications to its Documents, which
        will further propogate those notifications to registered elements.  Upon receiving
        these notifications, HTMLMediaElement will release or take a DisplaySleepDisabler
        token if necessary.

        Also, rename HTMLMediaElement's updateDisableSleep() to updateSleepDisabling() and wrap
        the implementation in a PLATFORM(MAC) guard rather than at each call site.

        * dom/Document.cpp:
        (WebCore::Document::registerForVisibilityStateCallbacks): Added registration method.
        (WebCore::Document::unregisterForVisibilityStateCallbacks): Added unregistration method.
        (WebCore::Document::visibilityStateChanged): Call all registered clients.
        * dom/Document.h:
        * dom/Element.h:
        (WebCore::Element::visibilityStateChanged): Added default virtual method to be overridden
            by subclasses.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Register for the notification, and check the
            current status of Document::hidden().
        (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for the notification.
        (WebCore::HTMLMediaElement::visibilityStateChanged): Set m_displaySleepDisablingSuspended
            and call updateSleepDisabling().
        (WebCore::HTMLMediaElement::shouldDisableSleep): Add a check for m_displaySleepDisablingSuspended.
        * html/HTMLMediaElement.h:
        * page/Page.cpp:
        (WebCore::Page::setVisibilityState): Pass to every child document.

        Rename updateDisableSleep() -> updateSleepDisabling():
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement):
        (WebCore::HTMLMediaElement::~HTMLMediaElement):
        (WebCore::HTMLMediaElement::parseAttribute):
        (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
        (WebCore::HTMLMediaElement::clearMediaPlayer):
        (WebCore::HTMLMediaElement::stop):

2013-10-21  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        MediaStreamTrack now tracks its own state
        https://bugs.webkit.org/show_bug.cgi?id=123025

        Reviewed by Jer Noble.

        The spec says that a MediaStreamSource can be shared by different tracks,
        so a track must have its own state tracking, synchronizing with its MediaStreamSource when
        the underlying MediaStreamSource changes the readyState.
        In the old implementation if a user invoked the stop method, its readyState method was still
        returning the MediaStreamSource state, which was wrong.
        This also adds a setEnabled method, which can be used to set the state of a track when a
        remote peer ends it, for instance.

        No new tests needed.

        * Modules/mediastream/MediaStreamTrack.cpp:
        (WebCore::MediaStreamTrack::readyState):
        (WebCore::MediaStreamTrack::setState):
        (WebCore::MediaStreamTrack::stopProducingData):
        (WebCore::MediaStreamTrack::ended):
        (WebCore::MediaStreamTrack::sourceStateChanged):
        (WebCore::MediaStreamTrack::trackDidEnd):
        * Modules/mediastream/MediaStreamTrack.h:

2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Clean up transaction logging
        https://bugs.webkit.org/show_bug.cgi?id=123116

        Reviewed by Anders Carlsson.

        * WebCore.exp.in:
        Export some TextStream functions.

2013-10-21  Brady Eidson  <beidson@apple.com>

        Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
        https://bugs.webkit.org/show_bug.cgi?id=123105

        Reviewed by Anders Carlsson.

        Export more required headers:
        * WebCore.xcodeproj/project.pbxproj:

        Flesh out many of the pure virtual methods on IDBBackingStoreInterface, as well as
        the RecordIdentifier and Cursor classes:

        * Modules/indexeddb/IDBBackingStoreInterface.h:
        (WebCore::IDBBackingStoreInterface::RecordIdentifier::~RecordIdentifier):
        (WebCore::IDBBackingStoreInterface::Cursor::~Cursor):

        Use IDBBackingStoreInterface, IDBBackingStoreInterface::RecordIdentifier, and
        IDBBackingStoreInterface::Cursor wherever possible:

        * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
        * Modules/indexeddb/IDBFactoryBackendInterface.h:

        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
        (WebCore::IDBBackingStoreLevelDB::putRecord):
        (WebCore::IDBBackingStoreLevelDB::deleteRecord):
        (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
        (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
        (WebCore::ObjectStoreKeyCursorImpl::clone):
        (WebCore::ObjectStoreCursorImpl::clone):
        (WebCore::IndexKeyCursorImpl::clone):
        (WebCore::IndexCursorImpl::clone):
        (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
        (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
        (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
        (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
        (WebCore::IDBBackingStoreLevelDB::Transaction::Transaction):
        (WebCore::IDBBackingStoreLevelDB::Transaction::begin):
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
        (WebCore::IDBBackingStoreLevelDB::RecordIdentifier::RecordIdentifier):

        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
        (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:

        (WebCore::IDBCursorBackendLevelDB::create):
        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
        (WebCore::IDBDatabaseBackendLevelDB::create):
        (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
        (WebCore::IDBDatabaseBackendLevelDB::backingStore):
        (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
        (WebCore::IDBDatabaseBackendLevelDB::createTransaction):
        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
        (WebCore::IDBFactoryBackendLevelDB::createTransactionBackend):
        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
        (WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
        (WebCore::IDBObjectStoreBackendLevelDB::generateKey):
        (WebCore::IDBObjectStoreBackendLevelDB::updateKeyGenerator):
        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
        (WebCore::IDBTransactionBackendLevelDB::create):
        (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
        (WebCore::GetOperation::perform):
        (WebCore::OpenCursorOperation::perform):
        (WebCore::CountOperation::perform):
        (WebCore::DeleteRangeOperation::perform):
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
        (WebCore::CreateObjectStoreOperation::create):
        (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
        (WebCore::DeleteObjectStoreOperation::create):
        (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
        (WebCore::CreateIndexOperation::create):
        (WebCore::CreateIndexOperation::CreateIndexOperation):
        (WebCore::DeleteIndexOperation::create):
        (WebCore::DeleteIndexOperation::DeleteIndexOperation):
        (WebCore::GetOperation::create):
        (WebCore::GetOperation::GetOperation):
        (WebCore::PutOperation::create):
        (WebCore::PutOperation::PutOperation):
        (WebCore::OpenCursorOperation::create):
        (WebCore::OpenCursorOperation::OpenCursorOperation):
        (WebCore::CountOperation::create):
        (WebCore::CountOperation::CountOperation):
        (WebCore::DeleteRangeOperation::create):
        (WebCore::DeleteRangeOperation::DeleteRangeOperation):
        (WebCore::ClearOperation::create):
        (WebCore::ClearOperation::ClearOperation):

2013-10-21  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes][CSS Regions] Don't apply shape-inside when we have multiple auto-height regions and the height is not resolved
        https://bugs.webkit.org/show_bug.cgi?id=123103

        Reviewed by David Hyatt.

        When we have multiple regions with auto-height, the region's height is not resolved from other elements we can't apply the
        the shape on the region. This patch prevents to apply the shape and fixes the behavior for these cases.

        Test: fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutShapeInsideInfo):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):

2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Backing store should take contentsScale into account
        https://bugs.webkit.org/show_bug.cgi?id=123106

        Reviewed by Simon Fraser.

        * WebCore.exp.in:
        Export FloatRect::scale.

2013-10-21  Andreas Kling  <akling@apple.com>

        RenderScrollbarPart doesn't need styleWillChange().
        <https://webkit.org/b/123113>

        We will call setInline(false) in styleDidChange(), there's no need
        to override styleWillChange() just to do it twice.

        Reviewed by Darin Adler.

2013-10-21  Mihai Maerean  <mmaerean@adobe.com>

        [CSS Regions] The layers from the flow thread should be collected under the regions' layers.
        https://bugs.webkit.org/show_bug.cgi?id=120457

        Reviewed by David Hyatt.

        This patch is based on the work of Alexandru Chiculita at https://bugs.webkit.org/attachment.cgi?id=203872&action=review

        The composited layers inside the named flow threads are collected as part of the regions (as children of the
        GraphicsLayer of the layer that corresponds to the region (which is attached to the parent renderer of
        RenderNameFlowFragment)).
        When a region displays a layer that needs accelerated compositing we activate the accelerated compositing for
        that region too (inside RenderLayerCompositor::computeRegionCompositingRequirements).

        This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
        fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
        that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.

        Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
        the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
        parent renderer, not in the region renderer (RenderNamedFlowFragment).

        Tests: compositing/regions/crash-transform-inside-region.html
               compositing/regions/floated-region-with-transformed-child.html
               compositing/regions/move-layer-from-one-region-to-another.html
               compositing/regions/propagate-region-box-shadow-border-padding-for-video.html
               compositing/regions/propagate-region-box-shadow-border-padding.html
               compositing/regions/region-as-layer-in-another-flowthread.html
               compositing/regions/transform-transparent-positioned-video-inside-region.html
               compositing/regions/transformed-layer-inside-transformed-layer.html
               compositing/regions/z-index-update.html
               compositing/regions/z-index.html

        * rendering/FlowThreadController.cpp:
        (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::propagateStyleToAnonymousChildren): Not for RenderFlowThreads, as they are updated
        through the RenderView::styleDidChange function.
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::layout): When the layout of the flow thread is over (including the 2 phase layout),
        we update all the mappings between the layers inside the flow thread and the regions where those layers will be
        painted.
        (WebCore::RenderFlowThread::hasCompositingRegionDescendant): Whether any of the regions has a compositing descendant.
        (WebCore::RenderFlowThread::getLayerListForRegion):
        (WebCore::RenderFlowThread::regionForCompositedLayer):
        (WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
        (WebCore::RenderFlowThread::collectsGraphicsLayersUnderRegions):
        (WebCore::RenderFlowThread::updateLayerToRegionMappings): Triggers an update of the layers if a layer has moved
        from a region to another since the last update.
        (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
        * rendering/RenderFlowThread.h:
        * rendering/RenderGeometryMap.cpp:
        (WebCore::RenderGeometryMap::pushRenderFlowThread):
        * rendering/RenderGeometryMap.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintList):
        (WebCore::RenderLayer::enclosingFlowThreadAncestor):
        (WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions):
        (WebCore::RenderLayer::hitTestList):
        (WebCore::RenderLayer::calculateLayerBounds): When we calculate the bounds of the RenderView, we ignore those
        flow threads that collect the graphics layers under the regions.
        (WebCore::RenderLayer::dirtyZOrderLists):
        (WebCore::RenderLayer::dirtyNormalFlowList):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Not if it's a flow thread that collects the graphics
        layers under the regions
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Now adjusts the ancestorCompositingBounds for the FlowThread.
        (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): Make sure that the region propagates
        its borders, paddings, outlines or box-shadows to layers inside it.
        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Now calls computeRegionCompositingRequirements.
        (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Do not iterate the RenderFlowThread directly if
        we are going to collect the composited layers as part of regions.
        (WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
        (WebCore::RenderLayerCompositor::canBeComposited): CSS Regions flow threads do not need to be composited as we
        use composited RenderRegions to render the background of the RenderFlowThread.
        (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): If it's a container of a css region.
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderMultiColumnSet.cpp:
        (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
        * rendering/RenderMultiColumnSet.h:
        * rendering/RenderNamedFlowFragment.h:
        (WebCore::RenderNamedFlowFragment::layerOwner): When the content inside the region requires the region to have a
        layer, the layer will be created on the region's parent renderer instead. This method returns that renderer
        holding the layer. The return value may be null.
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
        (WebCore::RenderNamedFlowThread::nextRendererForNode):
        (WebCore::RenderNamedFlowThread::previousRendererForNode):
        (WebCore::RenderNamedFlowThread::addFlowChild):
        (WebCore::RenderNamedFlowThread::removeFlowChild):
        (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
        * rendering/RenderNamedFlowThread.h: m_flowThreadChildList is now allocated through an OwnPtr to keep the render
        arena under the size limit.
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
        * rendering/RenderRegion.h:
        (WebCore::toRenderRegion):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeLayers):
        * WebCore.exp.in: WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions

2013-10-21  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Fixing mediastream debug build
        https://bugs.webkit.org/show_bug.cgi?id=123104

        Reviewed by Andreas Kling.

        No new tests needed.

        * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
        (WebCore::RTCDTMFToneChangeEvent::create):

2013-10-21  Andreas Kling  <akling@apple.com>

        Merge RenderListMarker::styleWillChange() into styleDidChange().
        <https://webkit.org/b/123098>

        If the marker's list-style-type or list-style-position changed, we
        need to dirty the layout. Move this logic to styleDidChange() so we
        can get rid of one styleWillChange() overload.

        Reviewed by Antti Koivisto.

2013-10-21  Mihai Maerean  <mmaerean@adobe.com>

        [CSS Regions] Fix WHITESPACE issues in the CSS grammar.
        https://bugs.webkit.org/show_bug.cgi?id=123082

        Reviewed by Andreas Kling.

        This is a port of Rune Lillesveen's patch from https://codereview.chromium.org/25607005

        Fix WHITESPACE issues in the CSS grammar.

        A single WHITESPACE token consumes consecutive spaces, but does not consume
        spaces separated by comments. That means S* and S+ in CSS grammars need to
        accept multiple WHITESPACE tokens. Additionally, white spaces are not
        mandatory to separate an @-symbol and the rest of the prelude.

        Use space non-terminal instead of WHITESPACE for S+ in calc expressions.

        Use maybe_space non-terminal instead of WHITESPACE for S* after @-webkit-filter
        and @-webkit-region.

        Tests: fast/css/calc-comments-allowed.html
               fast/regions/webkit-region-syntax-space.html

        * css/CSSGrammar.y.in:

2013-10-21  Anton Obzhirov  <a.obzhirov@samsung.com>

        [ATK] Use atk_object_notify_state_change instead of manually emitting signals
        https://bugs.webkit.org/show_bug.cgi?id=122968

        Reviewed by Mario Sanchez Prada.

        Refactor emitting "state-change" event to use atk_object_notify_state_change
        instead of using g_signal_emit_by_name.

        * accessibility/atk/AXObjectCacheAtk.cpp:
        (WebCore::notifyChildrenSelectionChange):
        (WebCore::AXObjectCache::postPlatformNotification):
        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
        (webkitAccessibleDetach):
        * editing/atk/FrameSelectionAtk.cpp:
        (WebCore::maybeEmitTextFocusChange):

2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Make TYPE_CASTS_BASE more flexible
        https://bugs.webkit.org/show_bug.cgi?id=122951

        Reviewed by Andreas Kling.

        TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
        to be used by other type casts. For instance, CSSValue, Accessibility and so on.
        This patch modifies TYPE_CASTS_BASE which can support other type casts.

        Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.

        No new tests, no behavior changes.

        * dom/Document.h:
        * dom/Node.h:

2013-10-21  Santosh Mahto  <santosh.ma@samsung.com>

        ASSERTION FAILED: !style->propertyIsImportant(propertyID) in WebCore::setTextDecorationProperty
        https://bugs.webkit.org/show_bug.cgi?id=122097

        Reviewed by Ryosuke Niwa.

        When remove format command is called we pushdown the ancestor style
        down to its children. Currently applying inline style to iframe
        while pushing down style which causes iframe to be reinserted in tree and
        triggres again subframe loading which repeats everytime and finally
        crash happens. So we should avoid applying inline style to iframe
        element as it doesnot reflect in its content while pushing down style
        on it.

        And ASSERT call has been removed from setTextDecoration property as
        the scenario is perfectly valid case.

        Test: editing/execCommand/remove-format-textdecoration-in-iframe.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Return if
        element is iframe.
        * editing/EditingStyle.cpp:
        (WebCore::StyleChange::setTextDecorationProperty): Remove ASSERT.

2013-10-20  Sam Weinig  <sam@webkit.org>

        Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 5)
        https://bugs.webkit.org/show_bug.cgi?id=122969

        Reviewed by Antti Koivisto.

        - Move m_lineBoxes to RenderBlockFlow.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::innerTextIfTruncated):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::willBeDestroyed):
        (WebCore::RenderBlock::deleteLineBoxTree):
        (WebCore::RenderBlock::isSelfCollapsingBlock):
        (WebCore::RenderBlock::removeFromDelayedUpdateScrollInfoSet):
        (WebCore::RenderBlock::paintContents):
        (WebCore::blockDirectionOffset):
        (WebCore::inlineDirectionOffset):
        (WebCore::RenderBlock::inlineSelectionGaps):
        (WebCore::RenderBlock::hitTestContents):
        (WebCore::positionForPointRespectingEditingBoundaries):
        (WebCore::RenderBlock::positionForPointWithInlineChildren):
        (WebCore::RenderBlock::firstLineBoxBaseline):
        (WebCore::RenderBlock::inlineBlockBaseline):
        (WebCore::RenderBlock::addFocusRingRectsForInlineChildren):
        (WebCore::RenderBlock::addFocusRingRects):
        (WebCore::RenderBlock::showLineTreeAndMark):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::addOverflowFromInlineChildren):
        (WebCore::RenderBlock::hasInlineBoxChildren):
        (WebCore::RenderBlock::paintInlineChildren):
        (WebCore::RenderBlock::hitTestInlineChildren):
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::RenderBlockFlow):
        (WebCore::RenderBlockFlow::willBeDestroyed):
        (WebCore::RenderBlockFlow::deleteLineBoxTree):
        (WebCore::RenderBlockFlow::hitTestInlineChildren):
        (WebCore::RenderBlockFlow::adjustForBorderFit):
        (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
        (WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
        (WebCore::RenderBlockFlow::firstLineBoxBaseline):
        (WebCore::RenderBlockFlow::inlineBlockBaseline):
        (WebCore::RenderBlockFlow::inlineSelectionGaps):
        (WebCore::RenderBlockFlow::positionForBox):
        (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
        (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
        (WebCore::RenderBlockFlow::paintInlineChildren):
        (WebCore::RenderBlockFlow::relayoutForPagination):
        (WebCore::RenderBlockFlow::showLineTreeAndMark):
        * rendering/RenderBlockFlow.h:
        (WebCore::RenderBlockFlow::lineBoxes):
        (WebCore::RenderBlockFlow::firstLineBox):
        (WebCore::RenderBlockFlow::lastLineBox):
        (WebCore::RenderBlockFlow::firstRootBox):
        (WebCore::RenderBlockFlow::lastRootBox):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):

2013-10-20  Andreas Kling  <akling@apple.com>

        Avoid unnecessary vector copy in AnimationController event dispatch.
        <https://webkit.org/b/122994>

        Use Vector's move constructor instead of making a copy of the pending
        events queue and then clearing it.

        Reviewed by Simon Fraser.

2013-10-19  Brady Eidson  <beidson@apple.com>

        Add abstract IDBBackingStoreInterface, use it to get IDBDatabaseBackendLevelDB closer to going cross-platform
        https://bugs.webkit.org/show_bug.cgi?id=123074

        Reviewed by Andreas Kling.

        * Modules/indexeddb/IDBBackingStoreInterface.h: Added.
        (WebCore::IDBBackingStoreInterface::~IDBBackingStoreInterface):
        (WebCore::IDBBackingStoreInterface::Transaction::~Transaction):

        * Modules/indexeddb/IDBTransactionBackendInterface.h:

        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
        (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
        (WebCore::IDBBackingStoreLevelDB::createObjectStore):
        (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
        (WebCore::IDBBackingStoreLevelDB::getRecord):
        (WebCore::IDBBackingStoreLevelDB::putRecord):
        (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
        (WebCore::IDBBackingStoreLevelDB::deleteRecord):
        (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
        (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
        (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
        (WebCore::IDBBackingStoreLevelDB::createIndex):
        (WebCore::IDBBackingStoreLevelDB::deleteIndex):
        (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
        (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
        (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
        (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
        (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
        (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
        (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
        (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
        (WebCore::IDBBackingStoreLevelDB::Transaction::reset):
        (WebCore::IDBBackingStoreLevelDB::Transaction::levelDBTransactionFrom):

        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
        (WebCore::IDBCursorBackendLevelDB::deleteFunction):
        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
        (WebCore::IDBTransactionBackendLevelDB::backingStoreTransaction):

        * WebCore.xcodeproj/project.pbxproj:
        * GNUmakefile.list.am:

2013-10-20  Andreas Kling  <akling@apple.com>

        Use PassRef for StyleSheetContents.
        <https://webkit.org/b/123083>

        Let functions that return newly-constructed StyleSheetContents
        objects vend PassRef<StyleSheetContents> instead of PassRefPtr.

        Updated functions that take StyleSheetContents in arguments
        accordingly. And CSSStyleSheet now has a Ref internally. Woo!

        Reviewed by Antti Koivisto.

2013-10-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Removing "unused parameter" compiling warnings from WebKit2 and WebCore
        https://bugs.webkit.org/show_bug.cgi?id=123075

        Reviewed by Andreas Kling.

        No new tests needed.

        * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
        (WebCore::RTCDTMFToneChangeEvent::create):
        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
        (lineAtPositionForAtkBoundary):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):

2013-10-19  Andreas Kling  <akling@apple.com>

        Use PassRef for constructing StyleRules.
        <https://webkit.org/b/123072>

        Let functions that return newly-constructed StyleRuleFoo objects
        vend PassRef<StyleRuleFoo> instead of PassRefPtr.

        Since StyleRuleBase::copy() has to return something, we can't rely
        on ASSERT_NOT_REACHED() + return nullptr anymore, so I've replaced
        those with CRASH(). No call sites actually handled null anyway.

        Reviewed by Sam Weinig.

2013-10-19  Jer Noble  <jer.noble@apple.com>

        Unreviewed roll out of r157695; broke Mac builds.

        * Configurations/FeatureDefines.xcconfig:

2013-10-07  Jer Noble  <jer.noble@apple.com>

        [MSE] [Mac] Enable MediaSource on the Mac
        https://bugs.webkit.org/show_bug.cgi?id=122484

        Reviewed by Darin Adler.

        Enable ENABLE_MEDIA_SOURCE.

        * Configurations/FeatureDefines.xcconfig:

2013-10-19  Sam Weinig  <sam@webkit.org>

        CTTE: Tighten up type usage around InputType::innerTextElement()
        https://bugs.webkit.org/show_bug.cgi?id=123078

        Reviewed by Anders Carlsson.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::handleReplacedElement):
        * html/HTMLElement.h:
        (WebCore::HTMLElement::isTextControlInnerTextElement):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::innerTextElement):
        * html/HTMLInputElement.h:
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::innerTextElement):
        * html/HTMLTextAreaElement.h:
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::hasVisibleTextArea):
        (WebCore::HTMLTextFormControlElement::selection):
        (WebCore::HTMLTextFormControlElement::innerTextValue):
        (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
        * html/HTMLTextFormControlElement.h:
        * html/InputType.h:
        (WebCore::InputType::innerTextElement):
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::forwardEvent):
        (WebCore::TextFieldInputType::innerTextElement):
        * html/TextFieldInputType.h:
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerTextElement::renderer):
        * html/shadow/TextControlInnerElements.h:
        (WebCore::isTextControlInnerTextElement):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isTextControlInnerBlock):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::innerTextElement):
        (WebCore::RenderTextControl::styleDidChange):
        (WebCore::RenderTextControl::textBlockLogicalWidth):
        (WebCore::RenderTextControl::updateFromElement):
        (WebCore::RenderTextControl::computeLogicalHeight):
        (WebCore::RenderTextControl::hitInnerTextElement):
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::layout):
        (WebCore::RenderTextControlSingleLine::styleDidChange):
        (WebCore::RenderTextControlSingleLine::autoscroll):
        (WebCore::RenderTextControlSingleLine::scroll):
        (WebCore::RenderTextControlSingleLine::logicalScroll):
        * rendering/RenderTextControlSingleLine.h:
        (WebCore::toRenderTextControlInnerBlock):

2013-10-19  Sam Weinig  <sam@webkit.org>

        Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 4)
        https://bugs.webkit.org/show_bug.cgi?id=122969

        Reviewed by Andreas Kling.

        - Fix classes derived from RenderBlockFlow that were still calling
          up to RenderBlock rather than RenderBlockFlow.

        * rendering/RenderDetailsMarker.cpp:
        (WebCore::RenderDetailsMarker::paint):
        * rendering/RenderFieldset.cpp:
        (WebCore::RenderFieldset::computePreferredLogicalWidths):
        (WebCore::RenderFieldset::paintBoxDecorations):
        (WebCore::RenderFieldset::paintMask):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::paintObject):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::styleDidChange):
        (WebCore::RenderFlowThread::layout):
        (WebCore::RenderFlowThread::nodeAtPoint):
        * rendering/RenderFullScreen.cpp:
        (RenderFullScreenPlaceholder::willBeDestroyed):
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::styleDidChange):
        * rendering/RenderMultiColumnBlock.cpp:
        (WebCore::RenderMultiColumnBlock::styleDidChange):
        (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
        (WebCore::RenderMultiColumnBlock::addChild):
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::updateFromElement):
        * rendering/RenderRuby.cpp:
        (WebCore::RenderRubyAsBlock::styleDidChange):
        (WebCore::RenderRubyAsBlock::addChild):
        (WebCore::RenderRubyAsBlock::removeChild):
        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::rubyBaseSafe):
        (WebCore::RenderRubyRun::addChild):
        (WebCore::RenderRubyRun::removeChild):
        (WebCore::RenderRubyRun::layout):
        * rendering/RenderRubyText.cpp:
        (WebCore::RenderRubyText::textAlignmentForLine):
        (WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
        * rendering/RenderTableCaption.cpp:
        (WebCore::RenderTableCaption::willBeRemovedFromTree):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::willBeRemovedFromTree):
        (WebCore::RenderTableCell::computePreferredLogicalWidths):
        (WebCore::RenderTableCell::offsetFromContainer):
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
        (WebCore::RenderTableCell::computeRectForRepaint):
        (WebCore::RenderTableCell::styleDidChange):
        (WebCore::RenderTableCell::borderLeft):
        (WebCore::RenderTableCell::borderRight):
        (WebCore::RenderTableCell::borderTop):
        (WebCore::RenderTableCell::borderBottom):
        (WebCore::RenderTableCell::borderStart):
        (WebCore::RenderTableCell::borderEnd):
        (WebCore::RenderTableCell::borderBefore):
        (WebCore::RenderTableCell::borderAfter):
        (WebCore::RenderTableCell::paint):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::styleDidChange):
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::scrollWidth):
        (WebCore::RenderTextControlSingleLine::scrollHeight):
        (WebCore::RenderTextControlSingleLine::scrollLeft):
        (WebCore::RenderTextControlSingleLine::scrollTop):
        (WebCore::RenderTextControlSingleLine::scroll):
        (WebCore::RenderTextControlSingleLine::logicalScroll):
        * rendering/RenderTextTrackCue.cpp:
        (WebCore::RenderTextTrackCue::layout):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::layoutContent):
        (WebCore::RenderView::addChild):
        (WebCore::RenderView::visualOverflowRect):
        (WebCore::RenderView::styleDidChange):
        * rendering/svg/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::setStyle):
        (WebCore::RenderSVGBlock::updateFromStyle):
        (WebCore::RenderSVGBlock::willBeDestroyed):
        (WebCore::RenderSVGBlock::styleWillChange):
        (WebCore::RenderSVGBlock::styleDidChange):
        * rendering/svg/SVGTextQuery.cpp:
        (WebCore::flowBoxForRenderer):

2013-10-19  Sam Weinig  <sam@webkit.org>

        Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 3)
        https://bugs.webkit.org/show_bug.cgi?id=122969

        Reviewed by Andreas Kling.

        - Move containsNonZeroBidiLevel to RenderBlockFlow.

        * editing/Editor.cpp:
        (WebCore::Editor::hasBidiSelection):
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::containsNonZeroBidiLevel):
        * rendering/RenderBlockFlow.h:

2013-10-18  Sam Weinig  <sam@webkit.org>

        Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 2)
        https://bugs.webkit.org/show_bug.cgi?id=122969

        Reviewed by Antti Koivisto.

        - Move truncation (e.g. line clamp and ellipse) support to RenderBlockFlow.

        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::EllipsisBox):
        (WebCore::EllipsisBox::paint):
        (WebCore::EllipsisBox::markupBox):
        (WebCore::EllipsisBox::selectionRect):
        (WebCore::EllipsisBox::paintSelection):
        (WebCore::EllipsisBox::nodeAtPoint):
        * rendering/EllipsisBox.h:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.cpp:
        (WebCore::shouldCheckLines):
        (WebCore::RenderBlockFlow::lineAtIndex):
        (WebCore::RenderBlockFlow::lineCount):
        (WebCore::getHeightForLineCount):
        (WebCore::RenderBlockFlow::heightForLineCount):
        (WebCore::RenderBlockFlow::clearTruncation):
        * rendering/RenderBlockFlow.h:
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
        (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::placeEllipsis):

2013-10-19  Andreas Kling  <akling@apple.com>

        StyleResolver should deal in PassRef<RenderStyle> where possible.
        <https://webkit.org/b/123061>

        Make StyleResolver functions that returned or took RenderStyles
        by PassRefPtr use PassRef instead where possible.

        Reviewed by Anders Carlsson.

2013-10-19  Brady Eidson  <beidson@apple.com>

        Global rename of the class "IDBBackingStore" to "IDBBackingStoreLevelDB"

        Rubberstamped by Anders Carlsson (And Andreas Kling wanted to, but he wasn’t around)

        * Modules/indexeddb/IDBTransactionBackendInterface.h:
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:

2013-10-19  peavo@outlook.com  <peavo@outlook.com>

        [WinCairo] Link fails.
        https://bugs.webkit.org/show_bug.cgi?id=123019

        Reviewed by Darin Adler.

        Added empty CertificateInfo implementation for Curl.

        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * platform/network/curl/CertificateInfoCurl.cpp: Added.
        (WebCore::CertificateInfo::CertificateInfo):
        (WebCore::CertificateInfo::~CertificateInfo):

2013-10-19  Filip Pizlo  <fpizlo@apple.com>

        libWebCoreTestSupport should have explicit exports
        https://bugs.webkit.org/show_bug.cgi?id=123053

        Reviewed by Oliver Hunt.

        No new tests because there is no change in behavior.

        * Configurations/WebCoreTestSupport.xcconfig:
        * testing/js/WebCoreTestSupport.h:

2013-10-18  Andreas Kling  <akling@apple.com>

        Start passing RenderStyle around with PassRef.
        <https://webkit.org/b/123051>

        Made the RenderStyle::create methods return PassRef<RenderStyle>
        and RenderElement::setStyle take a PassRef<RenderStyle>.

        Reviewed by Darin Adler.

2013-10-18  Sam Weinig  <sam@webkit.org>

        Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 1)
        https://bugs.webkit.org/show_bug.cgi?id=122969

        Reviewed by Dan Bernstein.

        - Make the RootInlineBox constructor take a RenderBlockFlow.
        - Move createRootInlineBox, and createAndAppendRootInlineBox to RenderBlockFlow.

        * editing/VisibleUnits.cpp:
        (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::locationIncludingFlipping):
        (WebCore::InlineBox::flipForWritingMode):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderBlockFlow.h:
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlockFlow::createRootInlineBox):
        (WebCore::RenderBlockFlow::createAndAppendRootInlineBox):
        (WebCore::createInlineBoxForRenderer):
        (WebCore::RenderBlockFlow::createLineBoxes):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionLineBox):
        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::localSelectionRect):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::localSelectionRect):
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::RootInlineBox):
        (WebCore::RootInlineBox::rendererLineBoxes):
        (WebCore::RootInlineBox::placeEllipsis):
        (WebCore::RootInlineBox::containingRegion):
        (WebCore::RootInlineBox::setContainingRegion):
        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
        (WebCore::RootInlineBox::lineSnapAdjustment):
        (WebCore::RootInlineBox::lineSelectionGap):
        (WebCore::RootInlineBox::computeCaretRect):
        (WebCore::RootInlineBox::selectionTop):
        (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
        (WebCore::RootInlineBox::selectionBottom):
        (WebCore::RootInlineBox::blockDirectionPointInLine):
        (WebCore::RootInlineBox::blockFlow):
        (WebCore::RootInlineBox::closestLeafChildForPoint):
        (WebCore::RootInlineBox::removeLineBoxFromRenderObject):
        (WebCore::RootInlineBox::extractLineBoxFromRenderObject):
        (WebCore::RootInlineBox::attachLineBoxToRenderObject):
        * rendering/RootInlineBox.h:
        * rendering/TrailingFloatsRootInlineBox.h:
        * rendering/svg/RenderSVGText.h:
        (WebCore::toRenderSVGText):
        * rendering/svg/SVGRootInlineBox.cpp:
        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
        (WebCore::SVGRootInlineBox::renderSVGText):
        (WebCore::SVGRootInlineBox::paint):
        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
        (WebCore::SVGRootInlineBox::layoutRootBox):
        * rendering/svg/SVGRootInlineBox.h:

2013-10-18  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Double-buffering and minimization of repaints
        https://bugs.webkit.org/show_bug.cgi?id=123043

        Reviewed by Simon Fraser.

        No new tests, not yet testable.

        * WebCore.exp.in:
        Export one version of drawLayerContents and Region::contains.

        * WebCore.xcodeproj/project.pbxproj:
        Expose WebLayer.h as a private header.

        * platform/graphics/mac/WebLayer.h:
        Clean up this header, and add a new drawLayerContents that can operate without a CALayer.

        * platform/graphics/mac/WebLayer.mm:
        (WebCore::drawLayerContents):
        Split drawLayerContents into one method that acquires properties CALayer,
        and one that just does the painting.

2013-10-18  Anders Carlsson  <andersca@apple.com>

        Try to fix the Lion build.

        * bindings/objc/ObjCNodeFilterCondition.h:

2013-10-18  Daniel Bates  <dabates@apple.com>

        [iOS] Upstream WebSafe{GCActivityCallback, IncrementalSweeper}IOS
        https://bugs.webkit.org/show_bug.cgi?id=123049

        Reviewed by Mark Hahnenberg.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/ios/WebSafeGCActivityCallbackIOS.h: Added.
        * platform/ios/WebSafeIncrementalSweeperIOS.h: Added.

2013-10-18  Anders Carlsson  <andersca@apple.com>

        Remove spaces between template angle brackets
        https://bugs.webkit.org/show_bug.cgi?id=123040

        Reviewed by Andreas Kling.

        * Modules/encryptedmedia/MediaKeySession.h:
        * Modules/encryptedmedia/MediaKeys.h:
        * Modules/geolocation/Geolocation.h:
        * Modules/geolocation/GeolocationController.cpp:
        (WebCore::GeolocationController::positionChanged):
        (WebCore::GeolocationController::errorOccurred):
        * Modules/geolocation/GeolocationController.h:
        * Modules/indexeddb/IDBCallbacks.h:
        * Modules/indexeddb/IDBDatabase.h:
        * Modules/indexeddb/IDBDatabaseBackendInterface.h:
        * Modules/indexeddb/IDBEventDispatcher.cpp:
        (WebCore::IDBEventDispatcher::dispatch):
        * Modules/indexeddb/IDBEventDispatcher.h:
        * Modules/indexeddb/IDBKey.h:
        * Modules/indexeddb/IDBObjectStore.h:
        * Modules/indexeddb/IDBPendingTransactionMonitor.cpp:
        * Modules/indexeddb/IDBRequest.cpp:
        (WebCore::IDBRequest::dispatchEvent):
        * Modules/indexeddb/IDBRequest.h:
        (WebCore::IDBRequest::onSuccessWithPrefetch):
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::dispatchEvent):
        * Modules/indexeddb/IDBTransaction.h:
        * Modules/mediacontrols/MediaControlsHost.cpp:
        (WebCore::MediaControlsHost::sortedTrackListForMenu):
        * Modules/mediacontrols/MediaControlsHost.h:
        * Modules/mediasource/MediaSource.cpp:
        (WebCore::MediaSource::activeRanges):
        * Modules/mediasource/MediaSource.h:
        * Modules/mediasource/MediaSourceBase.cpp:
        (WebCore::MediaSourceBase::buffered):
        * Modules/mediasource/MediaSourceBase.h:
        * Modules/mediasource/MediaSourceRegistry.cpp:
        (WebCore::MediaSourceRegistry::unregisterURL):
        * Modules/mediasource/MediaSourceRegistry.h:
        * Modules/mediasource/SourceBufferList.h:
        * Modules/mediasource/WebKitMediaSource.cpp:
        (WebCore::WebKitMediaSource::activeRanges):
        * Modules/mediasource/WebKitMediaSource.h:
        * Modules/mediasource/WebKitSourceBufferList.h:
        * Modules/mediastream/MediaStream.cpp:
        (WebCore::MediaStream::scheduledEventTimerFired):
        * Modules/mediastream/MediaStream.h:
        * Modules/mediastream/MediaStreamRegistry.h:
        * Modules/mediastream/MediaStreamTrack.h:
        * Modules/mediastream/RTCDTMFSender.cpp:
        (WebCore::RTCDTMFSender::scheduledEventTimerFired):
        * Modules/mediastream/RTCDTMFSender.h:
        * Modules/mediastream/RTCDataChannel.cpp:
        (WebCore::RTCDataChannel::scheduledEventTimerFired):
        * Modules/mediastream/RTCDataChannel.h:
        * Modules/mediastream/RTCPeerConnection.cpp:
        (WebCore::RTCPeerConnection::stop):
        (WebCore::RTCPeerConnection::scheduledEventTimerFired):
        * Modules/mediastream/RTCPeerConnection.h:
        * Modules/mediastream/RTCStatsResponse.h:
        (WebCore::RTCStatsResponse::result):
        * Modules/notifications/Notification.h:
        * Modules/notifications/NotificationCenter.h:
        * Modules/speech/SpeechSynthesis.cpp:
        (WebCore::SpeechSynthesis::getVoices):
        * Modules/speech/SpeechSynthesis.h:
        * Modules/webaudio/AudioBuffer.h:
        * Modules/webaudio/AudioNode.h:
        * Modules/webaudio/AudioNodeOutput.h:
        * Modules/webaudio/MediaStreamAudioSource.cpp:
        (WebCore::MediaStreamAudioSource::setAudioFormat):
        (WebCore::MediaStreamAudioSource::consumeAudio):
        * Modules/webaudio/PeriodicWave.h:
        * Modules/webaudio/ScriptProcessorNode.h:
        * Modules/webdatabase/AbstractDatabaseServer.h:
        * Modules/webdatabase/DatabaseBackend.h:
        * Modules/webdatabase/DatabaseManager.cpp:
        (WebCore::DatabaseManager::origins):
        * Modules/webdatabase/DatabaseManager.h:
        * Modules/webdatabase/DatabaseServer.cpp:
        (WebCore::DatabaseServer::origins):
        * Modules/webdatabase/DatabaseServer.h:
        * Modules/webdatabase/DatabaseThread.h:
        * Modules/webdatabase/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
        (WebCore::DatabaseTracker::origins):
        (WebCore::DatabaseTracker::getOpenDatabases):
        (WebCore::DatabaseTracker::deleteAllDatabases):
        (WebCore::DatabaseTracker::deleteDatabaseFile):
        * Modules/webdatabase/DatabaseTracker.h:
        * Modules/webdatabase/SQLStatementBackend.cpp:
        * Modules/webdatabase/SQLTransactionBackend.cpp:
        * Modules/webdatabase/SQLTransactionBackend.h:
        * Modules/webdatabase/SQLTransactionCoordinator.cpp:
        (WebCore::SQLTransactionCoordinator::shutdown):
        * Modules/webdatabase/SQLTransactionCoordinator.h:
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
        (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::didReceiveBinaryData):
        * Modules/websockets/WebSocket.h:
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::processFrame):
        * Modules/websockets/WebSocketChannel.h:
        * Modules/websockets/WebSocketChannelClient.h:
        (WebCore::WebSocketChannelClient::didReceiveBinaryData):
        * Modules/websockets/WebSocketExtensionDispatcher.h:
        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
        (WebCore::workerGlobalScopeDidReceiveBinaryData):
        (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
        (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::~AXObjectCache):
        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::ariaLabeledByText):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityText::AccessibilityText):
        * bindings/js/DOMWrapperWorld.h:
        * bindings/js/JSDOMBinding.h:
        (WebCore::toRefPtrNativeArray):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSMutationCallback.cpp:
        (WebCore::JSMutationCallback::call):
        * bindings/js/JSMutationCallback.h:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
        * bindings/js/PageScriptDebugServer.h:
        * bindings/js/ScheduledAction.h:
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::collectIsolatedContexts):
        * bindings/js/ScriptController.h:
        * bindings/js/ScriptDebugServer.h:
        * bindings/js/ScriptProfile.cpp:
        (WebCore::buildInspectorObjectFor):
        * bindings/objc/ObjCNodeFilterCondition.h:
        * bridge/objc/objc_class.h:
        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::invalidate):
        * bridge/runtime_root.h:
        * css/BasicShapeFunctions.cpp:
        (WebCore::basicShapeForValue):
        * css/CSSBasicShapes.h:
        (WebCore::CSSBasicShapePolygon::values):
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::valueForFilter):
        * css/CSSFontFace.h:
        * css/CSSFontFaceSource.h:
        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule):
        (WebCore::CSSFontSelector::getFontFace):
        (WebCore::CSSFontSelector::beginLoadTimerFired):
        * css/CSSFontSelector.h:
        * css/CSSGroupingRule.h:
        * css/CSSImageGeneratorValue.h:
        * css/CSSParserValues.cpp:
        (WebCore::CSSParserSelector::adoptSelectorVector):
        * css/CSSParserValues.h:
        * css/CSSPropertySourceData.h:
        * css/CSSRuleList.h:
        (WebCore::StaticCSSRuleList::rules):
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::fontLoaded):
        * css/CSSSegmentedFontFace.h:
        * css/CSSSelectorList.cpp:
        (WebCore::CSSSelectorList::adoptSelectorVector):
        * css/CSSSelectorList.h:
        * css/CSSStyleSheet.h:
        * css/CSSValue.h:
        (WebCore::compareCSSValueVector):
        * css/CSSValuePool.h:
        * css/DocumentRuleSets.cpp:
        (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
        (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
        * css/DocumentRuleSets.h:
        * css/ElementRuleCollector.cpp:
        (WebCore::ElementRuleCollector::matchedRuleList):
        * css/ElementRuleCollector.h:
        * css/FontLoader.h:
        * css/InspectorCSSOMWrappers.cpp:
        (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents):
        (WebCore::InspectorCSSOMWrappers::collectFromStyleSheets):
        * css/InspectorCSSOMWrappers.h:
        * css/MediaList.cpp:
        (WebCore::MediaQuerySet::parse):
        (WebCore::MediaList::item):
        (WebCore::reportMediaQueryWarningIfNeeded):
        * css/MediaList.h:
        (WebCore::MediaQuerySet::queryVector):
        * css/MediaQueryEvaluator.cpp:
        (WebCore::MediaQueryEvaluator::eval):
        * css/MediaQueryMatcher.h:
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
        * css/PropertySetCSSStyleDeclaration.h:
        * css/RuleSet.cpp:
        (WebCore::RuleSet::addToRuleSet):
        (WebCore::RuleSet::addRegionRule):
        (WebCore::RuleSet::addChildRules):
        (WebCore::RuleSet::addRulesFromSheet):
        * css/RuleSet.h:
        * css/SelectorFilter.h:
        * css/StyleInvalidationAnalysis.cpp:
        (WebCore::StyleInvalidationAnalysis::analyzeStyleSheet):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::getLayeredShorthandValue):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::appendAuthorStyleSheets):
        (WebCore::StyleResolver::keyframeStylesForAnimation):
        (WebCore::StyleResolver::styleRulesForElement):
        (WebCore::StyleResolver::pseudoStyleRulesForElement):
        (WebCore::StyleResolver::resolveVariables):
        (WebCore::StyleResolver::applyProperty):
        (WebCore::StyleResolver::loadPendingSVGDocuments):
        (WebCore::StyleResolver::loadPendingShaders):
        * css/StyleResolver.h:
        * css/StyleRule.cpp:
        (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
        (WebCore::StyleRuleGroup::StyleRuleGroup):
        (WebCore::StyleRuleMedia::StyleRuleMedia):
        (WebCore::StyleRuleSupports::StyleRuleSupports):
        (WebCore::StyleRuleRegion::StyleRuleRegion):
        * css/StyleRule.h:
        (WebCore::StyleRule::parserAdoptSelectorVector):
        (WebCore::StyleRulePage::parserAdoptSelectorVector):
        (WebCore::StyleRuleGroup::childRules):
        (WebCore::StyleRuleMedia::create):
        (WebCore::StyleRuleSupports::create):
        (WebCore::StyleRuleRegion::create):
        (WebCore::StyleRuleHost::create):
        (WebCore::StyleRuleHost::StyleRuleHost):
        * css/StyleScopeResolver.h:
        * css/StyleSheetContents.cpp:
        (WebCore::StyleSheetContents::parserAppendRule):
        (WebCore::childRulesHaveFailedOrCanceledSubresources):
        * css/StyleSheetContents.h:
        (WebCore::StyleSheetContents::childRules):
        (WebCore::StyleSheetContents::importRules):
        * css/StyleSheetList.cpp:
        (WebCore::StyleSheetList::styleSheets):
        (WebCore::StyleSheetList::item):
        * css/StyleSheetList.h:
        * css/WebKitCSSKeyframesRule.h:
        (WebCore::StyleRuleKeyframes::keyframes):
        * dom/CheckedRadioButtons.h:
        * dom/ClientRectList.h:
        * dom/ContainerNode.h:
        (WebCore::ChildNodesLazySnapshot::nextNode):
        (WebCore::ChildNodesLazySnapshot::takeSnapshot):
        * dom/CrossThreadTask.h:
        * dom/Document.cpp:
        (WebCore::Document::webkitCancelFullScreen):
        (WebCore::Document::webkitExitFullscreen):
        (WebCore::Document::fullScreenChangeDelayTimerFired):
        (WebCore::Document::didAssociateFormControlsTimerFired):
        * dom/Document.h:
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::removeMarkers):
        * dom/DocumentMarkerController.h:
        * dom/DocumentStyleSheetCollection.cpp:
        (WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
        (WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
        (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
        (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
        (WebCore::styleSheetsUseRemUnits):
        (WebCore::filterEnabledNonemptyCSSStyleSheets):
        (WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
        (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
        * dom/DocumentStyleSheetCollection.h:
        * dom/Element.cpp:
        (WebCore::Element::attrNodeList):
        (WebCore::Element::webkitGetRegionFlowRanges):
        * dom/Element.h:
        * dom/EventListenerMap.h:
        * dom/EventSender.h:
        (WebCore::EventSender::timerFired):
        * dom/IdTargetObserverRegistry.h:
        * dom/MutationCallback.h:
        * dom/MutationObserver.cpp:
        (WebCore::MutationObserver::takeRecords):
        (WebCore::MutationObserver::deliver):
        (WebCore::MutationObserver::deliverAllMutations):
        * dom/MutationObserver.h:
        * dom/MutationObserverRegistration.h:
        * dom/NamedFlowCollection.cpp:
        (WebCore::NamedFlowCollection::namedFlows):
        * dom/NamedFlowCollection.h:
        * dom/Node.cpp:
        (WebCore::Node::didMoveToNewDocument):
        (WebCore::Node::mutationObserverRegistry):
        (WebCore::Node::registerMutationObserver):
        (WebCore::Node::unregisterMutationObserver):
        (WebCore::Node::notifyMutationObserversNodeWillDetach):
        * dom/Node.h:
        * dom/NodeRareData.h:
        * dom/Range.cpp:
        (WebCore::Range::processContents):
        (WebCore::Range::processNodes):
        (WebCore::Range::processAncestorsAndTheirSiblings):
        * dom/Range.h:
        * dom/ScopedEventQueue.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::reportException):
        * dom/ScriptExecutionContext.h:
        * dom/ScriptedAnimationController.h:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::removeChildrenInRange):
        (WebCore::CompositeEditCommand::deleteInsignificantText):
        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
        * editing/CompositeEditCommand.h:
        * editing/EditingStyle.cpp:
        (WebCore::htmlElementEquivalents):
        (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement):
        (WebCore::htmlAttributeEquivalents):
        (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
        (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
        (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
        (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
        (WebCore::styleFromMatchedRulesForElement):
        * editing/Editor.cpp:
        (WebCore::Editor::countMatchesForText):
        * editing/Editor.h:
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock):
        (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/InsertParagraphSeparatorCommand.h:
        * editing/MergeIdenticalElementsCommand.cpp:
        (WebCore::MergeIdenticalElementsCommand::doApply):
        (WebCore::MergeIdenticalElementsCommand::doUnapply):
        * editing/RemoveNodePreservingChildrenCommand.cpp:
        (WebCore::RemoveNodePreservingChildrenCommand::doApply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::removeUnrenderedNodes):
        * editing/SimplifyMarkupCommand.cpp:
        (WebCore::SimplifyMarkupCommand::doApply):
        (WebCore::SimplifyMarkupCommand::pruneSubsequentAncestorsToRemove):
        * editing/SimplifyMarkupCommand.h:
        * editing/SpellChecker.h:
        * editing/SplitElementCommand.cpp:
        (WebCore::SplitElementCommand::executeApply):
        (WebCore::SplitElementCommand::doUnapply):
        * editing/WrapContentsInDummySpanCommand.cpp:
        (WebCore::WrapContentsInDummySpanCommand::executeApply):
        (WebCore::WrapContentsInDummySpanCommand::doUnapply):
        * editing/mac/AlternativeTextUIController.h:
        * fileapi/FileList.h:
        * history/BackForwardList.h:
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::setRedirectURLs):
        * history/HistoryItem.h:
        * history/mac/HistoryItemMac.mm:
        (WebCore::HistoryItem::setTransientProperty):
        * html/FormController.h:
        * html/HTMLAnchorElement.cpp:
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::append):
        * html/HTMLCollection.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::checkValidity):
        * html/HTMLFormControlElement.h:
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::validateInteractively):
        (WebCore::HTMLFormElement::checkValidity):
        (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
        * html/HTMLFormElement.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
        (WebCore::HTMLMediaElement::platformTextTracks):
        (WebCore::HTMLMediaElement::configureTextTrackGroup):
        * html/HTMLMediaElement.h:
        * html/HTMLPlugInImageElement.cpp:
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::setLength):
        * html/MediaController.cpp:
        (MediaController::asyncEventTimerFired):
        * html/MediaController.h:
        * html/MediaFragmentURIParser.h:
        * html/ValidationMessage.h:
        * html/canvas/WebGLFramebuffer.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getAttachedShaders):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLTexture.h:
        * html/parser/BackgroundHTMLParser.cpp:
        (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
        * html/parser/BackgroundHTMLParser.h:
        (WebCore::BackgroundHTMLParser::create):
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::startBackgroundParser):
        * html/parser/HTMLDocumentParser.h:
        * html/parser/HTMLMetaCharsetParser.h:
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::TokenPreloadScanner::scan):
        (WebCore::TokenPreloadScanner::scanCommon):
        * html/parser/HTMLResourcePreloader.h:
        * html/parser/XSSAuditor.h:
        * html/shadow/ContentDistributor.cpp:
        (WebCore::ContentDistributor::ensureInsertionPointList):
        (WebCore::ContentDistributor::distribute):
        (WebCore::ContentDistributor::invalidate):
        * html/shadow/ContentDistributor.h:
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
        (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
        * html/shadow/MediaControlElements.h:
        * html/track/InbandGenericTextTrack.h:
        * html/track/InbandWebVTTTextTrack.cpp:
        (WebCore::InbandWebVTTTextTrack::newCuesParsed):
        * html/track/LoadableTextTrack.cpp:
        (WebCore::LoadableTextTrack::newCuesAvailable):
        (WebCore::LoadableTextTrack::newRegionsAvailable):
        * html/track/TextTrackCueList.h:
        * html/track/TextTrackList.cpp:
        (TextTrackList::invalidateTrackIndexesAfterTrack):
        (TextTrackList::remove):
        (TextTrackList::contains):
        * html/track/TextTrackList.h:
        * html/track/TrackListBase.cpp:
        (TrackListBase::asyncEventTimerFired):
        * html/track/TrackListBase.h:
        * html/track/WebVTTParser.cpp:
        (WebCore::WebVTTParser::getNewCues):
        (WebCore::WebVTTParser::getNewRegions):
        * html/track/WebVTTParser.h:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::addToFrontend):
        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
        (WebCore::ContentSearchUtils::lineEndings):
        (WebCore::ContentSearchUtils::searchInTextByLines):
        * inspector/ContentSearchUtils.h:
        * inspector/DOMPatchSupport.cpp:
        (WebCore::DOMPatchSupport::patchNode):
        (WebCore::DOMPatchSupport::diff):
        (WebCore::DOMPatchSupport::innerPatchChildren):
        * inspector/DOMPatchSupport.h:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::getProperties):
        (WebCore::InjectedScript::getInternalProperties):
        (WebCore::InjectedScript::wrapCallFrames):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.h:
        * inspector/InspectorAgent.cpp:
        (WebCore::InspectorAgent::enable):
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
        * inspector/InspectorApplicationCacheAgent.h:
        * inspector/InspectorBaseAgent.h:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::SelectorProfile::toInspectorObject):
        (WebCore::UpdateRegionLayoutTask::onTimer):
        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
        (WebCore::InspectorCSSAgent::getAllStyleSheets):
        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
        (WebCore::InspectorCSSAgent::getNamedFlowCollection):
        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
        (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
        (WebCore::InspectorCSSAgent::buildArrayForRegions):
        (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::RevalidateStyleAttributeTask::onTimer):
        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
        (WebCore::InspectorDOMAgent::getEventListenersForNode):
        (WebCore::InspectorDOMAgent::performSearch):
        (WebCore::InspectorDOMAgent::getSearchResults):
        (WebCore::InspectorDOMAgent::getAttributes):
        (WebCore::InspectorDOMAgent::buildObjectForNode):
        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
        (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMStorageAgent.cpp:
        (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
        * inspector/InspectorDOMStorageAgent.h:
        * inspector/InspectorDatabaseAgent.cpp:
        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
        * inspector/InspectorDatabaseAgent.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
        (WebCore::InspectorDebuggerAgent::searchInContent):
        (WebCore::InspectorDebuggerAgent::setScriptSource):
        (WebCore::InspectorDebuggerAgent::currentCallFrames):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorHeapProfilerAgent.cpp:
        (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
        * inspector/InspectorHeapProfilerAgent.h:
        * inspector/InspectorHistory.h:
        * inspector/InspectorIndexedDBAgent.cpp:
        * inspector/InspectorLayerTreeAgent.cpp:
        (WebCore::InspectorLayerTreeAgent::layersForNode):
        (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
        (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
        * inspector/InspectorLayerTreeAgent.h:
        * inspector/InspectorMemoryAgent.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::buildArrayForCookies):
        (WebCore::InspectorPageAgent::getCookies):
        (WebCore::InspectorPageAgent::searchInResource):
        (WebCore::InspectorPageAgent::searchInResources):
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        * inspector/InspectorPageAgent.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::getProfileHeaders):
        * inspector/InspectorProfilerAgent.h:
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:
        (WebCore::InspectorRuntimeAgent::getProperties):
        * inspector/InspectorRuntimeAgent.h:
        * inspector/InspectorState.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::asCSSRuleList):
        (WebCore::InspectorStyle::buildArrayForComputedStyle):
        (WebCore::InspectorStyle::styleWithProperties):
        (WebCore::selectorsFromSource):
        (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
        (WebCore::InspectorStyleSheet::buildObjectForRule):
        (WebCore::InspectorStyleSheet::lineEndings):
        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
        (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
        * inspector/InspectorStyleSheet.h:
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorArrayBase::writeJSON):
        * inspector/InspectorValues.h:
        * inspector/PageRuntimeAgent.cpp:
        (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
        * inspector/ScriptCallStack.cpp:
        (WebCore::ScriptCallStack::buildInspectorArray):
        * inspector/ScriptCallStack.h:
        * loader/CrossOriginPreflightResultCache.h:
        * loader/DocumentLoader.cpp:
        (WebCore::cancelAll):
        (WebCore::setAllDefersLoading):
        (WebCore::DocumentLoader::getSubresources):
        * loader/DocumentLoader.h:
        * loader/FormState.h:
        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::create):
        * loader/ProgressTracker.h:
        * loader/ResourceLoadScheduler.h:
        * loader/TextTrackLoader.cpp:
        (WebCore::TextTrackLoader::getNewCues):
        (WebCore::TextTrackLoader::getNewRegions):
        * loader/TextTrackLoader.h:
        * loader/WorkerThreadableLoader.cpp:
        (WebCore::workerGlobalScopeDidReceiveData):
        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
        * loader/appcache/ApplicationCache.cpp:
        (WebCore::ApplicationCache::removeResource):
        (WebCore::ApplicationCache::dump):
        * loader/appcache/ApplicationCache.h:
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
        * loader/archive/Archive.cpp:
        (WebCore::Archive::clearAllSubframeArchives):
        (WebCore::Archive::clearAllSubframeArchivesImpl):
        * loader/archive/Archive.h:
        (WebCore::Archive::subresources):
        (WebCore::Archive::subframeArchives):
        * loader/archive/ArchiveResourceCollection.cpp:
        (WebCore::ArchiveResourceCollection::addAllResources):
        * loader/archive/ArchiveResourceCollection.h:
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::createPropertyListRepresentation):
        (WebCore::LegacyWebArchive::create):
        (WebCore::LegacyWebArchive::createFromSelection):
        * loader/archive/cf/LegacyWebArchive.h:
        * loader/archive/mhtml/MHTMLParser.h:
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/MemoryCache.h:
        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::notifyPendingLoadDecisions):
        * loader/icon/IconDatabase.h:
        * page/CaptionUserPreferencesMediaAF.cpp:
        (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
        * page/CaptionUserPreferencesMediaAF.h:
        * page/ChromeClient.h:
        (WebCore::ChromeClient::didAssociateFormControls):
        * page/Console.h:
        * page/ContentSecurityPolicy.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::getMatchedCSSRules):
        * page/DeviceController.cpp:
        (WebCore::DeviceController::dispatchDeviceEvent):
        (WebCore::DeviceController::fireDeviceEvent):
        * page/DeviceController.h:
        * page/EditorClient.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTouchEvent):
        * page/EventHandler.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::serviceScriptedAnimations):
        * page/Page.cpp:
        (WebCore::Page::findStringMatchingRanges):
        * page/Page.h:
        * page/PageGroup.h:
        * page/Performance.cpp:
        (WebCore::Performance::webkitGetEntriesByType):
        (WebCore::Performance::webkitGetEntriesByName):
        * page/Performance.h:
        * page/PerformanceEntryList.cpp:
        (WebCore::PerformanceEntryList::appendAll):
        * page/PerformanceEntryList.h:
        * page/SecurityOriginHash.h:
        * page/SecurityPolicy.cpp:
        * page/SpeechInputResult.h:
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
        * page/animation/AnimationControllerPrivate.h:
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
        * page/animation/CompositeAnimation.h:
        * page/scrolling/ScrollingStateNode.cpp:
        (WebCore::ScrollingStateNode::appendChild):
        * page/scrolling/ScrollingStateNode.h:
        (WebCore::ScrollingStateNode::children):
        * page/scrolling/ScrollingThread.cpp:
        (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
        * page/scrolling/ScrollingThread.h:
        * page/scrolling/ScrollingTree.cpp:
        (WebCore::ScrollingTree::updateTreeFromStateNode):
        * page/scrolling/ScrollingTreeNode.cpp:
        (WebCore::ScrollingTreeNode::appendChild):
        * page/scrolling/ScrollingTreeNode.h:
        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinatorMac::syncChildPositions):
        * platform/CrossThreadCopier.cpp:
        * platform/CrossThreadCopier.h:
        * platform/DragData.h:
        * platform/MainThreadTask.h:
        * platform/PODFreeListArena.h:
        (WebCore::PODFreeListArena::freeObject):
        (WebCore::PODFreeListArena::allocate):
        * platform/PODIntervalTree.h:
        * platform/PODRedBlackTree.h:
        (WebCore::PODRedBlackTree::PODRedBlackTree):
        * platform/PlatformSpeechSynthesizer.cpp:
        (WebCore::PlatformSpeechSynthesizer::voiceList):
        * platform/PlatformSpeechSynthesizer.h:
        * platform/RunLoop.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::frameRectsChanged):
        (WebCore::ScrollView::clipRectChanged):
        (WebCore::ScrollView::setParentVisible):
        (WebCore::ScrollView::show):
        (WebCore::ScrollView::hide):
        * platform/ScrollView.h:
        * platform/SharedBuffer.h:
        * platform/Supplementable.h:
        (WebCore::Supplement::provideTo):
        (WebCore::Supplementable::provideSupplement):
        * platform/URL.cpp:
        (WebCore::findHostnamesInMailToURL):
        (WebCore::encodeHostnames):
        * platform/audio/AudioBus.h:
        * platform/audio/AudioDSPKernelProcessor.h:
        * platform/audio/AudioResampler.h:
        * platform/audio/DynamicsCompressor.h:
        * platform/audio/DynamicsCompressorKernel.h:
        * platform/audio/HRTFDatabase.h:
        * platform/audio/HRTFKernel.h:
        * platform/audio/MultiChannelResampler.h:
        * platform/audio/Reverb.h:
        * platform/audio/ReverbConvolver.h:
        * platform/cf/SharedBufferCF.cpp:
        (WebCore::SharedBuffer::copyBufferAndClear):
        (WebCore::SharedBuffer::copySomeDataFromDataArray):
        * platform/graphics/FloatPolygon.cpp:
        (WebCore::FloatPolygon::FloatPolygon):
        * platform/graphics/FloatPolygon.h:
        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::getCachedFontData):
        (WebCore::FontCache::purgeInactiveFontData):
        * platform/graphics/GlyphMetricsMap.h:
        (WebCore::::locatePageSlowCase):
        * platform/graphics/GlyphPageTreeNode.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/GraphicsLayer.cpp:
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/PlatformTextTrackMenu.h:
        * platform/graphics/SimpleFontData.h:
        * platform/graphics/WidthCache.h:
        * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::processLegacyClosedCaptionsTracks):
        (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
        (WebCore::GraphicsLayerCA::fetchCloneLayers):
        * platform/graphics/ca/GraphicsLayerCA.h:
        * platform/graphics/ca/PlatformCAAnimation.h:
        * platform/graphics/ca/PlatformCALayer.h:
        * platform/graphics/ca/mac/LayerPool.h:
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        (PlatformCAAnimation::setValues):
        * platform/graphics/ca/mac/TileController.h:
        * platform/graphics/cg/SubimageCacheWithTimer.h:
        * platform/graphics/filters/CustomFilterParameterList.h:
        * platform/graphics/filters/FilterEffect.h:
        * platform/graphics/filters/FilterOperations.h:
        (WebCore::FilterOperations::operations):
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::Texture):
        (WebCore::Texture::create):
        * platform/graphics/gpu/Texture.h:
        * platform/graphics/mac/ComplexTextController.h:
        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
        (WebCore::SimpleFontData::getCFStringAttributes):
        * platform/graphics/transforms/TransformOperations.h:
        (WebCore::TransformOperations::operations):
        * platform/ios/PasteboardIOS.mm:
        (WebCore::documentFragmentWithRTF):
        * platform/mac/PlatformSpeechSynthesizerMac.mm:
        (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
        * platform/mediastream/MediaStreamDescriptor.h:
        * platform/mediastream/MediaStreamSource.h:
        * platform/mediastream/RTCConfiguration.h:
        * platform/network/BlobRegistryImpl.h:
        * platform/network/HTTPHeaderMap.h:
        * platform/network/ResourceResponseBase.cpp:
        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
        (WebCore::parseCacheHeader):
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::clientCerts):
        (WebCore::ResourceHandle::createCFURLConnection):
        * platform/text/cf/HyphenationCF.cpp:
        (WebCore::::createValueForNullKey):
        (WebCore::::createValueForKey):
        (WebCore::cfLocaleCache):
        * plugins/PluginMainThreadScheduler.h:
        * rendering/HitTestResult.h:
        * rendering/InlineFlowBox.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::paintContinuationOutlines):
        (WebCore::RenderBlock::removeFromTrackedRendererMaps):
        * rendering/RenderBlock.h:
        * rendering/RenderButton.h:
        * rendering/RenderCounter.cpp:
        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::GridIterator::GridIterator):
        * rendering/RenderGrid.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
        (WebCore::RenderLayer::rebuildZOrderLists):
        (WebCore::RenderLayer::collectLayers):
        * rendering/RenderLayer.h:
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::getRanges):
        * rendering/RenderNamedFlowThread.h:
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::getRanges):
        * rendering/RenderRegion.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::selectionBounds):
        (WebCore::RenderView::setSelection):
        * rendering/RootInlineBox.h:
        * rendering/shapes/PolygonShape.cpp:
        (WebCore::computeShapePaddingBounds):
        (WebCore::computeShapeMarginBounds):
        * rendering/shapes/PolygonShape.h:
        (WebCore::PolygonShape::PolygonShape):
        * rendering/shapes/Shape.cpp:
        (WebCore::createPolygonShape):
        (WebCore::Shape::createShape):
        * rendering/shapes/ShapeInfo.h:
        * rendering/shapes/ShapeInterval.h:
        * rendering/style/QuotesData.cpp:
        (WebCore::QuotesData::create):
        (WebCore::QuotesData::QuotesData):
        * rendering/style/QuotesData.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::requireTransformOrigin):
        (WebCore::RenderStyle::applyTransform):
        * rendering/style/StyleGridData.h:
        * rendering/svg/RenderSVGResourceGradient.h:
        * rendering/svg/RenderSVGResourcePattern.h:
        * rendering/svg/SVGResourcesCache.h:
        * storage/StorageEventDispatcher.cpp:
        (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
        (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
        (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
        (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
        * storage/StorageEventDispatcher.h:
        * storage/StorageNamespaceImpl.h:
        * storage/StorageThread.h:
        * storage/StorageTracker.cpp:
        (WebCore::StorageTracker::origins):
        * storage/StorageTracker.h:
        * svg/SVGAnimatedPath.cpp:
        (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
        * svg/SVGAnimatedTypeAnimator.cpp:
        (WebCore::SVGElementAnimatedProperties::SVGElementAnimatedProperties):
        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
        * svg/SVGAnimatedTypeAnimator.h:
        * svg/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::startAnimations):
        (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
        (WebCore::SVGDocumentExtensions::addPendingResource):
        (WebCore::SVGDocumentExtensions::isElementPendingResources):
        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
        (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
        (WebCore::SVGDocumentExtensions::addElementReferencingTarget):
        (WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget):
        * svg/SVGDocumentExtensions.h:
        * svg/SVGFontElement.h:
        * svg/SVGGlyphMap.h:
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::orientTypeAnimated):
        * svg/SVGMarkerElement.h:
        * svg/SVGPathSegList.h:
        * svg/animation/SMILTimeContainer.h:
        * svg/graphics/SVGImageCache.h:
        * svg/graphics/filters/SVGFilterBuilder.h:
        (WebCore::SVGFilterBuilder::addBuiltinEffects):
        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
        (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
        * svg/properties/SVGAnimatedListPropertyTearOff.h:
        (WebCore::SVGAnimatedListPropertyTearOff::create):
        * svg/properties/SVGAnimatedPropertyTearOff.h:
        (WebCore::SVGAnimatedPropertyTearOff::create):
        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
        (WebCore::SVGAnimatedStaticPropertyTearOff::create):
        * svg/properties/SVGAttributeToPropertyMap.cpp:
        (WebCore::SVGAttributeToPropertyMap::animatedPropertiesForAttribute):
        * svg/properties/SVGAttributeToPropertyMap.h:
        * svg/properties/SVGStaticListPropertyTearOff.h:
        (WebCore::SVGStaticListPropertyTearOff::create):
        * svg/properties/SVGTransformListPropertyTearOff.h:
        (WebCore::SVGTransformListPropertyTearOff::create):
        (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
        (WebCore::SVGTransformListPropertyTearOff::consolidate):
        * workers/DefaultSharedWorkerRepository.h:
        * workers/WorkerMessagingProxy.h:
        * xml/XMLHttpRequestProgressEventThrottle.cpp:
        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
        * xml/XMLHttpRequestProgressEventThrottle.h:
        * xml/XPathNodeSet.cpp:
        (WebCore::XPath::NodeSet::sort):
        (WebCore::XPath::NodeSet::traversalSort):
        * xml/XSLStyleSheet.h:
        * xml/parser/XMLDocumentParserLibxml2.cpp:

2013-10-18  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Cleaning warning messages from StyleResolveTree
        https://bugs.webkit.org/show_bug.cgi?id=123030

        Reviewed by Andreas Kling.

        No new tests needed.

        * style/StyleResolveTree.cpp:
        (WebCore::Style::elementInsideRegionNeedsRenderer):
        (WebCore::Style::createRendererIfNeeded):

2013-10-18  Brady Eidson  <beidson@apple.com>

        Get rid of IDBFactoryBackendLevelDB and IDBTransactionBackendLevelDB in IDBDatabaseBackendLevelDB.
        https://bugs.webkit.org/show_bug.cgi?id=123039

        Reviewed by Anders Carlsson.

        Add a few concepts to the interfaces to make this work:
        * Modules/indexeddb/IDBFactoryBackendInterface.h:
        * Modules/indexeddb/IDBTransactionBackendInterface.h:
        (WebCore::IDBTransactionBackendInterface::id):
        (WebCore::IDBTransactionBackendInterface::IDBTransactionBackendInterface):

        Adapt to using Interface ptr’s instead of LevelDB ptr’s:
        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
        (WebCore::IDBDatabaseBackendLevelDB::create):
        (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
        (WebCore::IDBDatabaseBackendLevelDB::createObjectStore):
        (WebCore::IDBDatabaseBackendLevelDB::deleteObjectStore):
        (WebCore::IDBDatabaseBackendLevelDB::createIndex):
        (WebCore::IDBDatabaseBackendLevelDB::deleteIndex):
        (WebCore::IDBDatabaseBackendLevelDB::get):
        (WebCore::IDBDatabaseBackendLevelDB::put):
        (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
        (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
        (WebCore::IDBDatabaseBackendLevelDB::openCursor):
        (WebCore::IDBDatabaseBackendLevelDB::count):
        (WebCore::IDBDatabaseBackendLevelDB::deleteRange):
        (WebCore::IDBDatabaseBackendLevelDB::clear):
        (WebCore::IDBDatabaseBackendLevelDB::transactionStarted):
        (WebCore::IDBDatabaseBackendLevelDB::transactionFinished):
        (WebCore::IDBDatabaseBackendLevelDB::transactionFinishedAndAbortFired):
        (WebCore::IDBDatabaseBackendLevelDB::transactionFinishedAndCompleteFired):
        (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
        (WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
        (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
        (WebCore::IDBTransactionBackendLevelDB::abort):
        (WebCore::IDBTransactionBackendLevelDB::commit):
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:

2013-10-18  Dean Jackson  <dino@apple.com>

        Unable to upload <img src="foo.svg"> as WebGL texture
        https://bugs.webkit.org/show_bug.cgi?id=123035

        Reviewed by Tim Horton.

        If the HTMLImageElement passed to texture2D is an SVG
        image, paint it first into a bitmap buffer and upload that.
        Note that the SVG image still needs to have an intrinsic
        or explicit size - see how the test case must set width and
        height.

        I also renamed the cache of ImageBuffers since it is
        no longer only being used for video frames.

        Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image.html

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Rename m_videoCache to m_generatedImageCache.
        (WebCore::WebGLRenderingContext::drawImageIntoBuffer): New method that creates an ImageBuffer
        of the appropriate size and renders into that.
        (WebCore::WebGLRenderingContext::texImage2D): If we see an SVG image, render it first.
        (WebCore::WebGLRenderingContext::videoFrameToImage): Renamed m_generatedImageCache.
        (WebCore::WebGLRenderingContext::texSubImage2D): If we see an SVG image, render it first.
        * html/canvas/WebGLRenderingContext.h: Renaming.

2013-10-18  Brady Eidson  <beidson@apple.com>

        Move IDBTransactionBackend operations to the IDBTransactionBackend itself..
        https://bugs.webkit.org/show_bug.cgi?id=123028

        Reviewed by Alexey Proskuryakov.

        This gets rid of a big blob of LevelDB specific code from IDBDatabaseBackendLevelDB.cpp,
        bringing us much closer to having it be cross platform.

        * CMakeLists.txt:
        * GNUmakefile.list.am:

        * Modules/indexeddb/IDBTransactionBackendInterface.h: Added.
        (WebCore::IDBTransactionBackendInterface::~IDBTransactionBackendInterface):

        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
        (WebCore::IDBCursorBackendLevelDB::CursorAdvanceOperation::perform): Update for new method signature.
        (WebCore::IDBCursorBackendLevelDB::CursorIterationOperation::perform): Ditto.
        (WebCore::IDBCursorBackendLevelDB::CursorPrefetchIterationOperation::perform): Ditto.

        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp: Move all operations into
          IDBTransactionBackendLevelDBOperations, then start scheduling them using the new
          IDBTransactionBackendInterface scheduling methods.
        (WebCore::IDBDatabaseBackendLevelDB::createObjectStore):
        (WebCore::IDBDatabaseBackendLevelDB::deleteObjectStore):
        (WebCore::IDBDatabaseBackendLevelDB::createIndex):
        (WebCore::IDBDatabaseBackendLevelDB::deleteIndex):
        (WebCore::IDBDatabaseBackendLevelDB::get):
        (WebCore::IDBDatabaseBackendLevelDB::put):
        (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
        (WebCore::IDBDatabaseBackendLevelDB::openCursor):
        (WebCore::IDBDatabaseBackendLevelDB::count):
        (WebCore::IDBDatabaseBackendLevelDB::deleteRange):
        (WebCore::IDBDatabaseBackendLevelDB::clear):
        (WebCore::IDBDatabaseBackendLevelDB::createTransaction):
        (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h: Move definitions of PendingOpenCall and
          PendingDeleteCall to the header.
        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::create):
        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::callbacks):
        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::databaseCallbacks):
        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::version):
        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::transactionId):
        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::PendingOpenCall):
        (WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::create):
        (WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::callbacks):
        (WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::PendingDeleteCall):

        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Add a newly required include.
        * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp: Ditto.

        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp: Implement the new interface to
          handle scheduling of operations in a cross platform manner, then rely on the new
          IDBTransactionBackendLevelDBOperations classes for the actual operations.
        (WebCore::IDBTransactionBackendLevelDB::create):
        (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
        (WebCore::IDBTransactionBackendLevelDB::abort):
        (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
        (WebCore::IDBTransactionBackendLevelDB::scheduleCreateObjectStoreOperation):
        (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteObjectStoreOperation):
        (WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
        (WebCore::IDBTransactionBackendLevelDB::scheduleCreateIndexOperation):
        (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteIndexOperation):
        (WebCore::IDBTransactionBackendLevelDB::scheduleGetOperation):
        (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
        (WebCore::IDBTransactionBackendLevelDB::scheduleSetIndexesReadyOperation):
        (WebCore::IDBTransactionBackendLevelDB::scheduleOpenCursorOperation):
        (WebCore::IDBTransactionBackendLevelDB::scheduleCountOperation):
        (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteRangeOperation):
        (WebCore::IDBTransactionBackendLevelDB::scheduleClearOperation):
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:

        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp: Added.
          Move all the LevelDB transaction operations from IDBDatabaseBackendLevelDB to here.
        (WebCore::CreateObjectStoreOperation::perform):
        (WebCore::CreateIndexOperation::perform):
        (WebCore::CreateIndexAbortOperation::perform):
        (WebCore::DeleteIndexOperation::perform):
        (WebCore::DeleteIndexAbortOperation::perform):
        (WebCore::GetOperation::perform):
        (WebCore::PutOperation::perform):
        (WebCore::SetIndexesReadyOperation::perform):
        (WebCore::OpenCursorOperation::perform):
        (WebCore::CountOperation::perform):
        (WebCore::DeleteRangeOperation::perform):
        (WebCore::ClearOperation::perform):
        (WebCore::DeleteObjectStoreOperation::perform):
        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::perform):
        (WebCore::CreateObjectStoreAbortOperation::perform):
        (WebCore::DeleteObjectStoreAbortOperation::perform):
        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::perform):
        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h: Added.
        (WebCore::CreateObjectStoreOperation::create):
        (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
        (WebCore::DeleteObjectStoreOperation::create):
        (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::create):
        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::VersionChangeOperation):
        (WebCore::CreateObjectStoreAbortOperation::create):
        (WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
        (WebCore::DeleteObjectStoreAbortOperation::create):
        (WebCore::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::create):
        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::VersionChangeAbortOperation):
        (WebCore::CreateIndexOperation::create):
        (WebCore::CreateIndexOperation::CreateIndexOperation):
        (WebCore::CreateIndexAbortOperation::create):
        (WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
        (WebCore::DeleteIndexOperation::create):
        (WebCore::DeleteIndexOperation::DeleteIndexOperation):
        (WebCore::DeleteIndexAbortOperation::create):
        (WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
        (WebCore::GetOperation::create):
        (WebCore::GetOperation::GetOperation):
        (WebCore::PutOperation::create):
        (WebCore::PutOperation::PutOperation):
        (WebCore::SetIndexesReadyOperation::create):
        (WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
        (WebCore::OpenCursorOperation::create):
        (WebCore::OpenCursorOperation::OpenCursorOperation):
        (WebCore::CountOperation::create):
        (WebCore::CountOperation::CountOperation):
        (WebCore::DeleteRangeOperation::create):
        (WebCore::DeleteRangeOperation::DeleteRangeOperation):
        (WebCore::ClearOperation::create):
        (WebCore::ClearOperation::ClearOperation):

2013-10-18  Beth Dakin  <bdakin@apple.com>

        Rubber-banding is often not smooth on infinitely scrolling websites
        https://bugs.webkit.org/show_bug.cgi?id=122985

        Reviewed by Simon Fraser.

        totalContentsSize is an important part of the calculation for 
        maximumScrollPosition(). This function is called repeatedly throughout the curve 
        of a rubber-band to determine the stretch amount. To keep the rubber-band 
        animation smooth, it should be allowed to finish its animation using the old 
        totalContentsSize. This patch does that by adding a new variable, 
        m_totalContentsSizeForRubberBand. This value should almost always be equivalent to 
        m_totalContentsSize. It will only vary if m_totalContentsSize has changed in the 
        middle of a rubber-band, and in that case, it will stay equivalent to the old 
        totalContentSize value until the rubber band animation finishes.

        * page/scrolling/ScrollingTreeScrollingNode.cpp:
        (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
        * page/scrolling/ScrollingTreeScrollingNode.h:
        (WebCore::ScrollingTreeScrollingNode::totalContentsSizeForRubberBand):
        (WebCore::ScrollingTreeScrollingNode::setTotalContentsSizeForRubberBand):
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::ScrollingTreeScrollingNodeMac::stopSnapRubberbandTimer):
        (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):

2013-10-18  ChangSeok Oh  <changseok.oh@collabora.com>

        Unreviewed build fix for --no-svg option.
        m_svgStyle of RenderStyle is guarded with the ENABLE_SVG flag.

        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::RenderStyle):

2013-10-17  Brady Eidson  <beidson@apple.com>

        Cleanup the Modules group in the WebCore.xcodeproj
        https://bugs.webkit.org/show_bug.cgi?id=123009

        Rubberstamped by Antti Koivisto.

        * WebCore.xcodeproj/project.pbxproj:

2013-10-18  Denis Nomiyama  <d.nomiyama@samsung.com>

        [ATK] Fix invalid signal to set objects to an unknown state "layout-complete"
        https://bugs.webkit.org/show_bug.cgi?id=122970

        Reviewed by Mario Sanchez Prada.

        Removed an invalid signal to set objects to an unknown state
        layout-complete. This signal was originally generated to notify DRT
        and WKTR in case of page load complete.
        It was replaced by ATK:AtkDocument:load-complete, which is already sent
        by AXObjectCache::frameLoadingEventPlatformNotification().

        There is no new test since the changes are covered by existing ones
        (e.g. accessibility/loading-iframe-sends-notification.html).

        * accessibility/atk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::postPlatformNotification): Removed an invalid
        signal to set objects to an unknown state layout-complete.

2013-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Generate API documentation for GObject DOM bindings
        https://bugs.webkit.org/show_bug.cgi?id=121538

        Reviewed by Gustavo Noronha Silva.

        * bindings/gobject/GNUmakefile.am: Add a explicit rule for all
        .symbols file making them depend on the corresponding header file,
        since the .symbols file is generated by the bindings generator.

2013-10-18  Mario Sanchez Prada  <mario.prada@samsung.com>

        [ATK] Simplify implementation of atk_text_get_text
        https://bugs.webkit.org/show_bug.cgi?id=122644

        Reviewed by Chris Fleizach.

        Simplified code so we only call textUnderElement() directly once
        and only when needed. Also, moved the specific code for ColorWell
        objects up to the beginning of that function, so we don't do any
        additional efforts like computing text ranges in those cases.

        No new tests are needed, just to make sure that the current layout
        and unit tests are still passing, which they are.

        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
        (textForObject): Fixed a issue that got detected while working on
        this patch, which was causing a '\n' to be artificially appended
        at the end of text controls all the time.
        (webkitAccessibleTextGetText): Simplified function.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::doAXStringForRange): Removed
        the check that prevents from pass ranges exceeding the limits of
        the element's text, since those will be checked anyway when
        calling String::substring().

2013-10-18  Brendan Long  <b.long@cablelabs.com>

        [GStreamer][GTK] Add GRefPtr::outPtr()
        https://bugs.webkit.org/show_bug.cgi?id=122996

        Reviewed by Philippe Normand.

        No new tests because this is just simplifying existing code.

        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Add GRefPtr specialization for GstToc.
        * platform/graphics/gstreamer/GRefPtrGStreamer.h: Same.
        * platform/graphics/gstreamer/GStreamerGWorld.cpp: Use GRefPtr::outPtr() to simplify code.
        (WebCore::GStreamerGWorld::enterFullscreen):
        (WebCore::GStreamerGWorld::exitFullscreen):
        (WebCore::GStreamerGWorld::removePlatformVideoSink):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Same.
        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText):
        (WebCore::MediaPlayerPrivateGStreamer::newTextSample):
        (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Same.
        (WebCore::MediaPlayerPrivateGStreamerBase::currentVideoSinkCaps):
        * platform/network/soup/ResourceHandleSoup.cpp: Same.
        (WebCore::HostTLSCertificateSet::computeCertificateHash):

2013-10-17  Alexey Proskuryakov  <ap@apple.com>

        Don't add an include for return type of a [Custom] function in generated bindings code
        https://bugs.webkit.org/show_bug.cgi?id=122972

        Reviewed by Sam Weinig.

        * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Don't.

2013-10-17  Andreas Kling  <akling@apple.com>

        CTTE: RenderMathMLSpace always has a MathMLTextElement.
        <https://webkit.org/b/122992>

        The renderer is never anonymous and always has a corresponding
        MathMLTextElement. Overload element() with a tighter return type.

        Also marked the class FINAL and made most methods private.

        Reviewed by Antti Koivisto.

        * rendering/mathml/RenderMathMLSpace.cpp:
        (WebCore::RenderMathMLSpace::RenderMathMLSpace):
        (WebCore::RenderMathMLSpace::updateFromElement):
        * rendering/mathml/RenderMathMLSpace.h:

2013-10-17  Tim Horton  <timothy_horton@apple.com>

        PlatformCALayer constructor should take layer type as an argument
        https://bugs.webkit.org/show_bug.cgi?id=122915

        Reviewed by Anders Carlsson.

        No new tests, just restoring old code.

        Un-do part of the patch for bug 122915; we can't early-return
        in the constructor, there's still more work to do.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayerMac::PlatformCALayerMac):

2013-10-17  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: [CSS Regions] Crash when highlighting a node of a flow with no regions
        https://bugs.webkit.org/show_bug.cgi?id=122993

        Reviewed by Joseph Pecoraro.

        Test: inspector-protocol/dom/highlight-flow-with-no-region.html

        Even if a named flow has no regions the content of the flow will still have renderer objects created.
        Removed the assumption that all renderers inside a RenderFlowThread will always have an enclosing RenderRegion.

        * inspector/InspectorOverlay.cpp:
        (WebCore::buildObjectForRendererFragments):
        (WebCore::InspectorOverlay::buildObjectForHighlightedNode):

2013-10-17  Andreas Kling  <akling@apple.com>

        CTTE: RenderMathMLOperator always has a MathMLElement.
        <https://webkit.org/b/122988>

        Reviewed by Antti Koivisto.

        The renderer is never anonymous and always has a corresponding
        MathMLElement. Overload element() with a tighter return type.

        Also marked the class FINAL and made most methods private.

2013-10-17  Nico Weber  <thakis@chromium.org>

        Fix three bugs in the equals() implementations for css gradients.
        https://bugs.webkit.org/show_bug.cgi?id=122987

        Reviewed by Andreas Kling.

        1. Linear gradients were considered equal if the first gradient has no x and y
           position and the second has no x but does have y.
        2. Same as 1, for radial gradients. (This doesn't happen in practice as
           CSSParser::parseRadialGradient rejects such input, so no test for this case.)
        3. Radial gradients without x and y position weren't considered equal even if
           they were.

        * css/CSSGradientValue.cpp:
        (WebCore::CSSLinearGradientValue::equals):
        (WebCore::CSSRadialGradientValue::equals):

2013-10-17  Antoine Quint  <graouts@apple.com>

        Web Inspector: allow front-end to trigger the system beep sound to signal an error
        https://bugs.webkit.org/show_bug.cgi?id=122955

        Reviewed by Timothy Hatcher.

        New beep() method exposed on InspectorFrontendHost calling into WebCore's systemBeep().

        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::beep):
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorFrontendHost.idl:

2013-10-17  Anders Carlsson  <andersca@apple.com>

        Remove PlatformCAAnimation::supportsValueFunction()
        https://bugs.webkit.org/show_bug.cgi?id=122990

        Reviewed by Tim Horton.

        PlatformCAAnimation::supportsValueFunction always returns true now, so there's no need for it to exist anymore.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
        * platform/graphics/ca/PlatformCAAnimation.h:
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

2013-10-17  Andreas Kling  <akling@apple.com>

        CTTE: RenderMathMLFenced always has a MathMLInlineContainerElement.
        <https://webkit.org/b/122986>

        This renderer is never anonymous and always has a corresponding
        MathMLInlineContainerElement. Overload element() with a tighter
        return type.

        Also marked the class FINAL and made most methods private.

        Reviewed by Anders Carlsson.

2013-10-17  Myles C. Maxfield  <mmaxfield@apple.com>

        Comment AffineTransform::xScale() and yScale() to make their meanings clearer
        https://bugs.webkit.org/show_bug.cgi?id=122981

        Reviewed by Simon Fraser.

        * platform/graphics/transforms/AffineTransform.h:

2013-10-17  Vivek Galatage  <vivek.vg@samsung.com>

        Remove unnecessary check for RenderLayer and rename ensureLayer to createLayer in RenderLayerModelObject.
        https://bugs.webkit.org/show_bug.cgi?id=122928

        Reviewed by Darin Adler.

        No new tests due to code refactoring.

        RenderLayerModelObject::styleDidChange invokes the ensureLayer() only in case of !layer().
        Again checking for layer existence would be deemed redundant in ensureLayer.
        Replacing it with an ASSERT(!m_layer) and also renaming it to createLayer.

        Blink review URL: https://codereview.chromium.org/27246003/

        * rendering/RenderLayerModelObject.cpp:
        (WebCore::RenderLayerModelObject::createLayer):
        (WebCore::RenderLayerModelObject::styleDidChange):
        * rendering/RenderLayerModelObject.h:

2013-10-17  Tim Horton  <timothy_horton@apple.com>

        Remove PlatformCALayerMac workaround for <rdar://problem/7390716>
        https://bugs.webkit.org/show_bug.cgi?id=122983

        Reviewed by Simon Fraser.

        Remove a workaround for a bug fixed in Lion.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayerMac::setSublayers):
        (PlatformCALayerMac::removeAllSublayers):
        (PlatformCALayerMac::adoptSublayers):

2013-10-17  Robert Hogan  <robert@webkit.org>

        "border-collapse: collapse;" for table removes part of its border (was: Border disappears when close to some elements)
        https://bugs.webkit.org/show_bug.cgi?id=8914

        Reviewed by David Hyatt.

        The table section's side of a collapsed border won't get painted if there are no cells there to paint it. So instead
        of relying solely on cells to paint the collapsed border paint the appropriate section of the border if there's no
        cell to take care of it.

        Tests: fast/table/paint-section-borders-without-cells-rtl.html
               fast/table/paint-section-borders-without-cells-vertical-lr-rtl.html
               fast/table/paint-section-borders-without-cells-vertical-lr.html
               fast/table/paint-section-borders-without-cells-vertical-rl.html
               fast/table/paint-section-borders-without-cells.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintRowGroupBorder):
        (WebCore::RenderTableSection::offsetLeftForRowGroupBorder):
        (WebCore::RenderTableSection::offsetTopForRowGroupBorder):
        (WebCore::RenderTableSection::verticalRowGroupBorderHeight):
        (WebCore::RenderTableSection::horizontalRowGroupBorderWidth):
        (WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
        (WebCore::physicalBorderForDirection):
        (WebCore::RenderTableSection::paintObject):
        * rendering/RenderTableSection.h:

2013-10-17  Andreas Kling  <akling@apple.com>

        StyleRuleFoo::mutableProperties() should return a reference.
        <https://webkit.org/b/122962>

        The mutableProperties() functions always return objects, so make
        them return MutableStylePropertySet&.

        Also tweaked the StyleRuleCSSStyleDeclaration constructor to take
        references to both the properties and the owner rule since both
        are required.

        Reviewed by Antti Koivisto.

2013-10-17  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] Improve the performance of image valued shapes with large shape-margins
        https://bugs.webkit.org/show_bug.cgi?id=122613

        Reviewed by Andreas Kling.

        The cost of computing the shape-margin boundary of an image-valued shape-outside
        is now proportional to (2 * shape-margin + image.height) rather than
        (2 * shape-margin * image.height). The performance improvement comes from skipping
        sequences of rounded-rectangle intervals that will not contribute to the final
        result. Each non-empty row in the original image contributes one rounded-rectangle
        whose corner radius is shape-margin, height is 2 * shape-margin, and width is
        2 * shape-margin plus the width of the limits of the intervals on the row.

        Renamed private method RasterShape::getIntervals() to intervalsAt() to be a little
        more consistent with WebKit naming conventions.

        There are no new tests since is just an internal refactoring.

        * rendering/shapes/RasterShape.cpp:
        (WebCore::MarginIntervalGenerator::set): Changed the x1,x2 parameters to an IntShapeInterval.
        (WebCore::RasterShapeIntervals::contains): Refactor for the getIntervals() => intervalsAt() rename.
        (WebCore::RasterShapeIntervals::getIntervalX1Values): Ditto.
        (WebCore::RasterShapeIntervals::getIncludedIntervals): Ditto.
        (WebCore::RasterShapeIntervals::getExcludedIntervals): Ditto.
        (WebCore::RasterShapeIntervals::computeShapeMarginIntervals): Performance tuning.
        * rendering/shapes/RasterShape.h:
        (WebCore::RasterShapeIntervals::intervalsAt): Renamed getIntervals().
        (WebCore::RasterShapeIntervals::limitIntervalAt): Return the min/max limits of the intervals at Y.
        * rendering/shapes/ShapeInterval.h:
        (WebCore::ShapeInterval::isEmpty): Added.

2013-10-15  Philippe Normand  <pnormand@igalia.com>

        [GTK] Add URLMediaStream in the build
        https://bugs.webkit.org/show_bug.cgi?id=122833

        Reviewed by Carlos Garcia Campos.

        * GNUmakefile.am: Add mediastream/gstreamer in include directories list.
        * GNUmakefile.list.am: Add DOMURLMediaStream files in the build.

2013-10-17  Andreas Kling  <akling@apple.com>

        Use PassRef for constructing StylePropertySets.
        <https://webkit.org/b/122948>

        Make functions that construct StylePropertySets return PassRef
        instead of PassRefPtr. Since they never return null, this gets rid
        of the extra branch in ~PassRefPtr everywhere.

        Also StyleRule* classes now hold a Ref<StylePropertySet>, codifying
        the fact that they always have a property set.

        Reviewed by Antti Koivisto.

2013-10-17  Andreas Kling  <akling@apple.com>

        DataRef<T> should use Ref<T> internally.
        <https://webkit.org/b/122953>

        DataRef is used to hold RenderStyle substructures, and due to the
        way style inheritance is implemented, DataRef will always point to
        a live object.

        Codify this by making DataRef::m_data a Ref, and making all methods
        that create substructure objects return PassRef.

        Reviewed by Antti Koivisto.

2013-10-17  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSS Regions] Anonymous nested regions
        https://bugs.webkit.org/show_bug.cgi?id=119135

        Reviewed by David Hyatt.

        Tests: fast/regions/table-caption-as-region.html
               fast/regions/table-cell-as-region.html

        This patch allows any non-replaced block to behave like a region. When an element is styled with the
        -webkit-flow-from property, instead of making the renderer a RenderRegion, we let the original
        renderer be created the same way and we add a region as an anonymous child for the renderer.
        The anonymous block child, modeled by the new RenderNamedFlowFragment class, will be responsible
        for the fragmentation of the named flow thread content.

        A RenderBlockFlow object will keep a reference to a RenderNamedFlowFragment(RenderRegion) inside its
        rare data structures.

        Contains code contributed by Catalin Badea.
 
        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Element.cpp: Changed to take the anonymous region into account.
        (WebCore::Element::renderRegion):
        (WebCore::Element::webkitGetRegionFlowRanges):
        * dom/WebKitNamedFlow.cpp: Ditto.
        (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
        (WebCore::WebKitNamedFlow::getRegionsByContent):
        (WebCore::WebKitNamedFlow::getRegions):
        * inspector/InspectorOverlay.cpp: Take into account the new model for regions, with an anonymous region inside a block.
        (WebCore::buildObjectForRegionHighlight):
        (WebCore::buildObjectForElementInfo):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeShapeSize): For a render named flow fragment, there is no need to recompute the shape inside
        we can take it from the parent.
        (WebCore::RenderBlock::renderName): Make the block that contains a render named flow fragment (region) report RenderRegion.
        A future patch that will change this will need to rebase a lot of tests.
        * rendering/RenderBlockFlow.cpp:
        (WebCore::RenderBlockFlow::insertedIntoTree): Create the anonymous region if needed (change of -webkit-flow-from determines Node reattach).
        (WebCore::RenderBlockFlow::willBeDestroyed): Clean-up the anonymous region if necessary.
        (WebCore::RenderBlockFlow::clearFloats): Small style change to make sure that check-webkit-style reports 0 failures on RenderBlockFlow.cpp.
        (WebCore::RenderBlockFlow::layoutBlock):
        (WebCore::RenderBlockFlow::styleDidChange): Update the style of the anonymous region too.
        (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded): Helper function to create the anonymous region
        and to add it as a child to the block.
        (WebCore::RenderBlockFlow::canHaveChildren):
        (WebCore::RenderBlockFlow::canHaveGeneratedChildren):
        (WebCore::RenderBlockFlow::namedFlowFragmentNeedsUpdate): Force a layout of the anonymous region if the
        parent block has percentage height (similar to RenderBlock::updateBlockChildDirtyBitsBeforeLayout)
        (WebCore::RenderBlockFlow::updateLogicalHeight): Update the logical height of anonymous region when the height of parent is updated.
        (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
        * rendering/RenderBlockFlow.h:
        (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
        (WebCore::RenderBlockFlow::renderNamedFlowFragment):
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::createFor): Remove the direct creation of RenderRegion objects since they will be
        created as anonymous children of block flow objects.
        * rendering/RenderElement.h:
        (WebCore::RenderElement::generatingElement): Account for anonymous region if necessary.
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent): Take anonymous region into account
        and use the anonymous region parent offset/border.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::shouldBeNormalFlowOnly): Check for style instead of isRenderRegion since
        the parent of the anonymous region will get the layer.
        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::insertedIntoTree): Call RenderBlockFlow method instead.
        * rendering/RenderNamedFlowFragment.cpp: Added. Model the behaviour of the anonymous region.
        Has RenderRegion as a base class.
        (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
        (WebCore::RenderNamedFlowFragment::~RenderNamedFlowFragment):
        (WebCore::RenderNamedFlowFragment::setStyleForNamedFlowFragment):
        (WebCore::RenderNamedFlowFragment::styleDidChange):
        (WebCore::RenderNamedFlowFragment::shouldHaveAutoLogicalHeight):
        (WebCore::RenderNamedFlowFragment::maxPageLogicalHeight):
        * rendering/RenderNamedFlowFragment.h: Added.
        (WebCore::RenderNamedFlowFragment::isPseudoElementRegion):
        (WebCore::RenderNamedFlowFragment::renderName):
        (WebCore::toRenderNamedFlowFragment):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::isRenderNamedFlowFragmentContainer):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderNamedFlowFragment):
        * rendering/RenderRegion.h:
        * rendering/RenderTableCaption.cpp: Call RenderBlockFlow method instead.
        (WebCore::RenderTableCaption::insertedIntoTree):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::write):
        (WebCore::writeRenderRegionList):
        * rendering/shapes/ShapeInfo.h:
        (WebCore::ShapeInfo::shapeSize):
        * style/StyleResolveTree.cpp:
        (WebCore::Style::elementInsideRegionNeedsRenderer):

2013-10-17  Krzysztof Czech  <k.czech@samsung.com>

        [EFL] Properly expose tables in accessibility
        https://bugs.webkit.org/show_bug.cgi?id=122894

        Reviewed by Chris Fleizach.

        All tables should exposed as tables.

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
        (WebCore::AccessibilityTable::addChildren):
        * accessibility/AccessibilityTableColumn.cpp:
        (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
        * accessibility/AccessibilityTableHeaderContainer.cpp:
        (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):

2013-10-17  Brendan Long  <b.long@cablelabs.com>

        [GStreamer] Too many arguments for format in WebKitWebAudioSourceGStreamer.cpp
        https://bugs.webkit.org/show_bug.cgi?id=122932

        Reviewed by Philippe Normand.

        No new tests because this just fixes a build warning.

        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
        (webKitWebAudioSrcLoop): Add another %s for the second part of the pad name.

2013-10-16  Tim Horton  <timothy_horton@apple.com>

        Attempt to fix the Windows build after http://trac.webkit.org/changeset/157547.

        The relevant conversion doesn't happen implicitly.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):

2013-10-16  Tim Horton  <timothy_horton@apple.com>

        Attempt to fix the Windows build after http://trac.webkit.org/changeset/157547.

        Apparently some Windows code uses setFrame and I missed it.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):

2013-10-16  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Complete support for simple layer properties
        https://bugs.webkit.org/show_bug.cgi?id=122933

        Reviewed by Anders Carlsson.

        No new tests, not yet testable.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setName):
        Don't dump the CALayer pointer if we own a PlatformCALayerRemote.

        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
        Fix the visible tile wash (my fault!), and make it use setPosition and
        setBounds instead of setFrame; while more convenient, it is the only
        caller of setFrame, so we'll remove it.

        * platform/graphics/ca/PlatformCALayer.h:
        (WebCore::PlatformCALayer::isRemote): Added.

        * platform/graphics/ca/mac/PlatformCALayerMac.h:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (nullActionsDictionary):
        (toCAFilterType):
        (PlatformCALayerMac::synchronouslyDisplayTilesInRect):
        (PlatformCALayerMac::playerLayer):
        Remove setFrame, fix some pointer sides.

        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        * platform/graphics/ca/win/PlatformCALayerWin.h:
        Remove setFrame.

2013-10-16  Andreas Kling  <akling@apple.com>

        Take RenderObjects out of the arena.
        <https://webkit.org/b/122895>

        Reviewed by Antti Koivisto.

        Stop arena-allocating renderers so we can move forward on improving
        render tree memory management. This will also allow rendering code
        to take advantage of malloc optimizations.

        Line boxes and BiDi runs remain in the arena for now.

2013-10-16  Roger Fong  <roger_fong@apple.com>

        [Windows] Speculative fix for test, media/video-canvas-drawing-output.html.

        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
        (WebCore::AVFWrapper::createImageForTimeInRect):

2013-10-16  Tim Horton  <timothy_horton@apple.com>

        PlatformCALayer constructor should take layer type as an argument
        https://bugs.webkit.org/show_bug.cgi?id=122915

        Reviewed by Simon Fraser.

        No new tests, just a minor refactoring.

        * platform/graphics/ca/PlatformCALayer.h:
        (WebCore::PlatformCALayer::PlatformCALayer):
        Add a LayerType argument.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayerMac::PlatformCALayerMac):
        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (PlatformCALayerWin::PlatformCALayerWin):
        Use the new LayerType argument, and early-return in the case where we
        are wrapping a custom PlatformLayer.
        Drive-by un-indent the switch in the Mac version.

2013-10-15  Brady Eidson  <beidson@apple.com>

        Flesh out the DatabaseProcess (and launch it!)
        https://bugs.webkit.org/show_bug.cgi?id=122884

        Reviewed by Tim Horton.

        * English.lproj/Localizable.strings: Add a localizable string.
        * WebCore.xcodeproj/project.pbxproj: Export some more headers.

2013-10-16  Tim Horton  <timothy_horton@apple.com>

        RemoteLayerTree: Add support for more layer properties and transform layers
        https://bugs.webkit.org/show_bug.cgi?id=122906

        Reviewed by Anders Carlsson.

        No new tests, this code is not yet testable.

        * WebCore.exp.in:
        Export some TextStream and TransformationMatrix stuff.

2013-10-16  KyungTae Kim  <ktf.kim@samsung.com>

        During editing, merge inline style with overriding other author styles
        https://bugs.webkit.org/show_bug.cgi?id=122874

        Reviewed by Ryosuke Niwa.

        Inline styles need to override other author styles even on DoNotOverrideValues mode.
        So, merge and override inline styles to other author styles before merging them to m_mutableStyle.

        Test: editing/deleting/merge-div-with-inline-style.html

        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):

2013-10-16  peavo@outlook.com  <peavo@outlook.com>

        Emphasis marks has wrong color.
        https://bugs.webkit.org/show_bug.cgi?id=122829

        Reviewed by Antti Koivisto.

        Tests: fast/text/text-emphasis.html.
               fast/text/text-emphasis-expected.html.

        Emphasis color should be set as fill color, not stroke color.

        * rendering/TextPaintStyle.cpp:
        (WebCore::updateGraphicsContext):
        * rendering/TextPaintStyle.h:

2013-10-16  Antti Koivisto  <antti@apple.com>

        Move code for finding rendered character offset to RenderTextLineBoxes
        https://bugs.webkit.org/show_bug.cgi?id=122892

        Reviewed by Andreas Kling.

        * rendering/RenderText.cpp:
        (WebCore::RenderText::countRenderedCharacterOffsets):
        (WebCore::RenderText::containsRenderedCharacterOffset):
        
            Renamed for consistency.

        * rendering/RenderTextLineBoxes.cpp:
        (WebCore::RenderTextLineBoxes::countCharacterOffsets):
        
            This used to be Position::renderedPosition.

2013-10-16  Andreas Kling  <akling@apple.com>

        RenderElement::removeChild() should take child as a reference.
        <https://webkit.org/b/122888>

        We can't remove a child without a child to remove.

        Reviewed by Antti Koivisto.

2013-10-16  Antti Koivisto  <antti@apple.com>

        Move test for contained caret offset to RenderTextLineBoxes
        https://bugs.webkit.org/show_bug.cgi?id=122887

        Reviewed by Andreas Kling.

        * dom/Position.cpp:
        (WebCore::Position::renderedOffset):
        (WebCore::Position::isCandidate):
        
            Remove isRenderedText, call RenderText::containsCaretOffset instead.

        (WebCore::Position::isRenderedCharacter):
        (WebCore::Position::rendersInDifferentPosition):
        * dom/Position.h:
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::isCandidate):
        * rendering/InlineTextBox.cpp:
        * rendering/InlineTextBox.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::containsCharacterOffset):
        (WebCore::RenderText::containsCaretOffset):
        * rendering/RenderText.h:
        * rendering/RenderTextLineBoxes.cpp:
        (WebCore::RenderTextLineBoxes::containsOffset):
        
            Combined implementations of Position::isRenderedCharacter and Position::isRenderedText.

        * rendering/RenderTextLineBoxes.h:
        
            Remove containsCaretOffset(), functionality is now in RenderTextLineBoxes::containsOffset.

2013-10-16  Andreas Kling  <akling@apple.com>

        RenderElement::isChildAllowed() should take const references.
        <https://webkit.org/b/122870>

        Reviewed by Anders Carlsson.

        The isChildAllowed() functions expect non-null values to be passed,
        so enforce this at compile-time.

        Reordered some checks to do bit tests before virtual calls.

2013-10-15  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] video info unset if upstream doesn't query allocation
        https://bugs.webkit.org/show_bug.cgi?id=122834

        Reviewed by Gustavo Noronha Silva.

        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
        (webkitVideoSinkRender): If the sink didn't process any allocation
        query then use the configured source pad caps and don't rely on
        invalid video info.

2013-10-16  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] move Logging.h include to GStreamerUtilities.h
        https://bugs.webkit.org/show_bug.cgi?id=122886

        Reviewed by Gustavo Noronha Silva.

        Include Logging.h from GStreamerUtilities.h so the modules using
        the LOG_MEDIA macros don't need to bother, especially for Debug builds.

        * platform/graphics/gstreamer/GStreamerUtilities.h:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

2013-10-16  Mark Rowe  <mrowe@apple.com>

        Fix the build after r157478.

        Rubber-stamped by Tim Horton.

        Due to the way WebCore.exp.in is used, it can't be used to export a differing set of symbols
        for different architectures. We often work around this by tweaking code slightly to avoid
        needing to export different symbols. However, in this case the symbol name itself encodes an
        architecture-specific detail and there's no clear way to avoid the requirement to export it.

        To deal with this case we turn to ld's support for wildcards in the symbol export list.

        * WebCore.exp.in: Use wildcards in place of the number that represents by how much "this"
        should be adjusted when calling through the vtable thunk. Also sort the remainder of the file.
        * make-export-file-generator: Don't attempt to verify symbol names that contain wildcard characters.

2013-10-15  Tim Horton  <timothy_horton@apple.com>

        Two more exports for 32-bit build fix.
        The duality of CGFloat means that we use a different
        version of getRGBA (and the cast operator)
        on 32-bit systems.

        * WebCore.exp.in:

2013-10-15  Tim Horton  <timothy_horton@apple.com>

        Another shot at a build fix; apparently these
        do need exporting for some reason, but are different
        on 32-bit.

        * WebCore.exp.in:

2013-10-15  Alexey Proskuryakov  <ap@apple.com>

        GenerateIsReachable=ImplContext is confusing
        https://bugs.webkit.org/show_bug.cgi?id=122864

        Reviewed by Geoffrey Garen.

        Renamed to ImplWebGLRenderingContext.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/IDLAttributes.txt:
        * html/canvas/EXTDrawBuffers.idl:
        * html/canvas/EXTTextureFilterAnisotropic.idl:
        * html/canvas/OESElementIndexUint.idl:
        * html/canvas/OESStandardDerivatives.idl:
        * html/canvas/OESTextureFloat.idl:
        * html/canvas/OESTextureHalfFloat.idl:
        * html/canvas/OESVertexArrayObject.idl:
        * html/canvas/WebGLCompressedTextureATC.idl:
        * html/canvas/WebGLCompressedTexturePVRTC.idl:
        * html/canvas/WebGLCompressedTextureS3TC.idl:
        * html/canvas/WebGLDebugRendererInfo.idl:
        * html/canvas/WebGLDebugShaders.idl:
        * html/canvas/WebGLDepthTexture.idl:
        * html/canvas/WebGLLoseContext.idl:

        * WebCore.xcodeproj/project.pbxproj: While at it, added OESElementIndexUint.idl
        to Xcode project.

2013-10-15  Tim Horton  <timothy_horton@apple.com>

        Unreviewed build fix; I don't know how to export.
        This may not help.

        * WebCore.exp.in:

2013-10-15  Dean Jackson  <dino@apple.com>

        Add ENABLE_WEB_ANIMATIONS flag
        https://bugs.webkit.org/show_bug.cgi?id=122871

        Reviewed by Tim Horton.

        Eventually might be http://dev.w3.org/fxtf/web-animations/
        but this is just engine-internal work at the moment.

        * Configurations/FeatureDefines.xcconfig:

2013-10-15  Tim Horton  <timothy_horton@apple.com>

        Add a PlatformCALayer subclass that proxies its property changes across the process boundary
        https://bugs.webkit.org/show_bug.cgi?id=122773

        Reviewed by Anders Carlsson.

        No new tests, the new drawing area is not yet testable.

        * WebCore.exp.in:
        Export lots of GraphicsLayerCA stuff so we can inherit from it in WebKit2.

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

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::initialize):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayer::create):
        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
        (WebCore::GraphicsLayerCA::initialize):
        * platform/graphics/ca/GraphicsLayerCA.h:
        Defer creation of the main PlatformCALayer until just after the constructor is finished
        so that GraphicsLayerCA subclasses can successfully override createPlatformCALayer.

        * platform/graphics/ca/PlatformCALayer.h:
        (WebCore::PlatformCALayer::platformLayer):
        Make platformLayer virtual so that subclasses which don't have PlatformLayers can override.

2013-10-14  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION: Crash in XMLDocumentParser::startElementNs
        https://bugs.webkit.org/show_bug.cgi?id=122817

        Reviewed by Darin Adler.

        Exit early in startElementNs when listeners and handlers of synchronous events such as load event
        removes the inserted node inside parserAppendChild.

        Test: fast/parser/xhtml-synchronous-detach-crash.html

        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::startElementNs):

2013-10-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove old frontend localizedStrings.js
        https://bugs.webkit.org/show_bug.cgi?id=122846

        Reviewed by Timothy Hatcher.

        * Configurations/WebCore.xcconfig:
        * English.lproj/localizedStrings.js: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        Remove the file and references to it. We no longer need to exclude
        localizedString.js from some builds.

2013-10-15  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove Windows old front-end related code
        https://bugs.webkit.org/show_bug.cgi?id=122845

        Reviewed by Brent Fulgham.

        * WebCore.vcxproj/copyWebCoreResourceFiles.cmd:

2013-10-15  Morten Stenshorne  <mstensho@opera.com>

        Add support for the column-fill property
        https://bugs.webkit.org/show_bug.cgi?id=117693

        Reviewed by David Hyatt.

        This is only supported in the (new) region based multicol implementation.

        With column-fill support, a lot of multicol tests needed an update.
        The old implementation behaved as if column-fill were 'auto', but the
        initial value is 'balance', so now we need to be explicit about that.
        For auto-height tests it doesn't really matter - such multicols are always
        balanced anyway.

        Tests: fast/multicol/newmulticol/fixed-height-fill-auto.html
               fast/multicol/newmulticol/fixed-height-fill-balance.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::ComputedStyleExtractor::propertyValue):
        * css/CSSParser.cpp:
        (WebCore::isValidKeywordPropertyAndValue):
        (WebCore::isKeywordPropertyID):
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator ColumnFill):
        * css/CSSPropertyNames.in:
        * css/CSSValueKeywords.in:
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
        * rendering/RenderMultiColumnBlock.h:
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleMultiColData.cpp:
        (WebCore::StyleMultiColData::StyleMultiColData):
        (WebCore::StyleMultiColData::operator==):
        * rendering/style/StyleMultiColData.h:

2013-10-15  Andreas Kling  <akling@apple.com>

        Skip unnecessary null check in RenderText::textLength().
        <https://webkit.org/b/122841>

        Reviewed by Antti Koivisto.

        RenderText will never have a null String in m_text, so textLength()
        can grab at the StringImpl directly, avoiding a null check.

2013-10-15  Andreas Kling  <akling@apple.com>

        FontGenericFamilies should not be ref-counted.
        <https://webkit.org/b/122835>

        Reviewed by Anders Carlsson.

        FontGenericFamilies is singly-owned by Settings.

2013-10-15  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Shapes] Move RenderBlock::layoutShapeInsideInfo into RenderBlock.cpp
        http://bugs.webkit.org/show_bug.cgi?id=122843

        Reviewed by Oliver Hunt.

        Historically, layoutShapeInsideInfo was a static function in RenderBlockLineLayout, then it has changed to be a member of RenderBlock,
        but at that time it hasn't been moved to RenderBlock.cpp. This patch moves it into RenderBlock.cpp next to the Shapes functions. I removed
        an unnecessary CSS_SHAPES #ifdef as well from RenderBlock.cpp.

        No new tests, no behavior change.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
        (WebCore::RenderBlock::layoutShapeInsideInfo):
        * rendering/RenderBlockLineLayout.cpp:

2013-10-15  peavo@outlook.com  <peavo@outlook.com>

        [WinCairo] Build fails.
        https://bugs.webkit.org/show_bug.cgi?id=122830

        Reviewed by Brent Fulgham.

        * platform/network/NetworkStorageSessionStub.cpp:
        (WebCore::NetworkStorageSession::createPrivateBrowsingSession): Update to new return type.

2013-10-15  Andreas Kling  <akling@apple.com>

        FileIconLoader should not be ref-counted.
        <https://webkit.org/b/122827>

        FileIconLoader is singly-owned by FileInputType.

        Reviewed by Antti Koivisto.

2013-10-15  Andreas Kling  <akling@apple.com>

        RenderText should cache RenderStyle in locals more.
        <https://webkit.org/b/122823>

        Reviewed by Antti Koivisto.

        Now that fetching the RenderStyle has to go through the parent,
        we should avoid unnecessary loads by caching style() in a local.

2013-10-15  Ryosuke Niwa  <rniwa@webkit.org>

        Remove redundant Document::getElementById
        https://bugs.webkit.org/show_bug.cgi?id=122813

        Reviewed by Andreas Kling.

        Merge https://chromium.googlesource.com/chromium/blink/+/4e8f1c5316415614b84370c602beae4a1008299f

        This function simply calls virtual TreeScope::getElementById and Document inherits from TreeScope.

        * WebCore.exp.in:
        * dom/Document.cpp:
        * dom/Document.h:

2013-10-14  Santosh Mahto  <santosh.ma@samsung.com>

        in safari,the background-color of input[type="search"] can't work
        https://bugs.webkit.org/show_bug.cgi?id=119967

        Reviewed by Ryosuke Niwa.

        When input type=search is styled with css background property then
        it does not change the background-color of field. Its happening becasue
        search field is not counted as styled control. Thus theme ignores the 
        css background property. With this patch search field is also counted as 
        styled control so background property reflects on search field.

        Test: fast/forms/search/search-field-background-color.html

        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isControlStyled):Now search field is also
        a styled control.

2013-10-14  Ryosuke Niwa  <rniwa@webkit.org>

        EventPath::updateTouchLists traverses through EventPath thrice
        https://bugs.webkit.org/show_bug.cgi?id=122804

        Reviewed by Benjamin Poulain.

        Instead of traversing through EventPath for each TouchList, traverse through TouchList for every EventContext.
        This paves our way to have one-pass traversal over EventPath, and evetually to remove EventContext altogether.

        This change should also improve the cache hit rate since all Touch objects tend to be allocated at the same time
        but this performance improvement is probably not observable.

        * dom/EventContext.h:
        * dom/EventDispatcher.cpp:
        (WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Added a new constructor that takes Touch and
        and TouchListType. We need to store these two values in order to update EventContext later.
        (WebCore::EventRelatedNodeResolver::touch): Added,
        (WebCore::EventRelatedNodeResolver::touchListType): Added.
        (WebCore::addRelatedNodeResolversForTouchList): Extracted from updateTouchListsInEventPath.
        (WebCore::EventPath::updateTouchLists): Moved the loop over m_path here. Notice that the outer loop iterates
        over m_path instead of touchList as done in updateTouchListsInEventPath. The inner loop goes through resolvers
        and adds Touch objects each EventContext as needed.

2013-10-14  Alexey Proskuryakov  <ap@apple.com>

        Don't generate a wasteful isObservable check in isReachableFromOpaqueRoots
        https://bugs.webkit.org/show_bug.cgi?id=122802

        Reviewed by Mark Hahnenberg.

        * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Don't.

        * 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/JSTestInterface.cpp:
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        * bindings/scripts/test/JS/JSattribute.cpp:
        * bindings/scripts/test/JS/JSreadonly.cpp:
        Updated results.

2013-10-14  Samuel White  <samuel_white@apple.com>

        AX: fieldset should have GroupRole and legend should be description.
        https://bugs.webkit.org/show_bug.cgi?id=122534

        Reviewed by Chris Fleizach.

        Changes fieldset to derive AXDescription from legend if one is available. Added
        convenience method to AccessibilityObject to fetch element if available.

        Test: accessibility/fieldset-element.html

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::canHaveChildren):
        (WebCore::AccessibilityNodeObject::alternativeText):
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::element):
        (WebCore::AccessibilityObject::isARIAHidden):
        (WebCore::AccessibilityObject::isDOMHidden):
        (WebCore::AccessibilityObject::defaultObjectInclusion):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isHidden):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::getAttribute):
        (WebCore::AccessibilitySlider::valueForRange):
        (WebCore::AccessibilitySlider::maxValueForRange):
        (WebCore::AccessibilitySlider::minValueForRange):
        (WebCore::AccessibilitySlider::setValue):
        (WebCore::AccessibilitySlider::inputElement):
        * accessibility/AccessibilitySlider.h:
        * accessibility/mac/AccessibilityObjectMac.mm:
        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
        * html/HTMLFieldSetElement.cpp:
        (WebCore::HTMLFieldSetElement::legend):
        * html/HTMLFieldSetElement.h:

2013-10-14  Roger Fong  <roger_fong@apple.com>

        Windows select element doesn't draw RTL properly.
        https://bugs.webkit.org/show_bug.cgi?id=122785.

        Reviewed by Brent Fulgham.

        Covered by fast/text/international/pop-up-button-text-alignment-and-direction.html.

        Problems include the popup items not drawing on the right hand side and 
        not respecting the direction or the directional override styling of the option.
        The selected element (drawn in the actual select element) also doesn't respect 
        the style settings of the selected menu option.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::paint):

2013-10-14  Roger Fong  <roger_fong@apple.com>

        [Windows] Unreviewed build fix.

        * WebCore.vcxproj/WebCoreCommon.props:

2013-10-14  Ryosuke Niwa  <rniwa@webkit.org>

        Crash in WebCore::BidiResolver<WebCore::InlineIterator, WebCore::BidiRun>::createBidiRunsForLine
        https://bugs.webkit.org/show_bug.cgi?id=122776

        Reviewed by Darin Adler.

        Merge https://chromium.googlesource.com/chromium/blink/+/aca89bc4d984705a1f94b623dae0ab03e239a248

        Fix modification of whitespace endpoints to not assume it's operating on RenderTexts

        During line layout, we use midpoints to identify RenderObjects, or parts of
        RenderObjects, that don't need InlineBoxes, usually because of collapsed whitespace.

        Prior to actually creating BidiRuns (the precursor to InlineBoxes), we use
        checkMidpoints to fix up our lineMidpointState to handle the case where we start
        ignoring spaces in our line, but don't stop until somewhere on the following line.
        Previously, this function assumed that the final midpoint (called an endpoint)
        was a RenderText, but this assumption is wrong if we have a beginning midpoint
        created by shouldSkipWhitespaceAfterStartObject (which handles inlines and list
        markers) and no endpoint on that line. In that case, we'd instead adjust the
        position backwards on the beginning midpoint, which would cause us to fail to
        create an InlineBox for the inline or list marker. In the new test added, this
        would actually trigger a crash due to an assumption when visually re-ordering
        BidiRuns that a non-empty line would actually contain at least one such run.

        Test: fast/text/whitespace/whitespace-and-margin-wrap-after-list-marker-crash.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::checkMidpoints):

2013-10-14  Ryosuke Niwa  <rniwa@webkit.org>

        Assertion failure in Range::processContentsBetweenOffsets
        https://bugs.webkit.org/show_bug.cgi?id=122777

        Reviewed by Darin Adler.

        Merge https://chromium.googlesource.com/chromium/blink/+/c15de182774c7859c20d97126eb844ae97b792a4

        This patch changes ASSERT statements for checking |endOffset| inbound in Range::processContentsBetweenOffsets()
        to limit |endOffset|. This is necessary when DOMNodeRemovedFromDocument event handler splits text nodes,
        Range::insertNode() on text node, in the range calling Range::deleteContents().

        Test: fast/dom/Range/range-delete-contents-mutation-event-crash.html

        * dom/Range.cpp:
        (WebCore::Range::processContentsBetweenOffsets):

2013-10-14  Alexey Proskuryakov  <ap@apple.com>

        Add an empty window.crypto.webkitSubtle
        https://bugs.webkit.org/show_bug.cgi?id=122778

        Reviewed by Mark Hahnenberg.

        Tests: security/crypto-subtle-gc-2.html
               security/crypto-subtle-gc-3.html
               security/crypto-subtle-gc.html

        * DerivedSources.make: Process SubtleCrypto.idl.

        * crypto: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * WebCore.vcxproj/WebCore.vcxproj.filters:

        * bindings/js/JSSubtleCryptoCustom.cpp: Added. Empty for now, but we'll certainly
        need custom bindings code here.

        * crypto/SubtleCrypto.cpp: Added.
        (WebCore::SubtleCrypto::SubtleCrypto):
        (WebCore::SubtleCrypto::document):
        * crypto/SubtleCrypto.h: Added.        
        * crypto/SubtleCrypto.idl: Added.
        * page/Crypto.cpp:
        (WebCore::Crypto::subtle):
        * page/Crypto.h:
        * page/Crypto.idl:

2013-10-14  Nick Diego Yamane  <nick.yamane@openbossa.org>

        Remove GestureEvent leftovers from WebCore
        <https://webkit.org/b/122780>

        Reviewed by Anders Carlsson.

        - Removed some remaining references to PlatformGestureEvent, supposed to
          be removed by r157316
        - TOUCH_ADJUSTMENT should be reworked after GestureEvent feature
          removal

        * page/EventHandler.cpp:
        (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
        * page/EventHandler.h:
        * platform/PlatformEvent.h:
        * platform/ScrollAnimatorNone.cpp:
        * platform/ScrollableArea.h:

2013-10-14  Nick Diego Yamane  <nick.yamane@openbossa.org>

        Build fix after r157366
        http://bugs.webkit.org/show_bug.cgi?id=122783

        When TOUCH_AJUSTMENT is enabled build fails due to some
        refactors in TextRender functions.

        Reviewed by Anders Carlsson.

        * page/TouchAdjustment.cpp:
        (WebCore::TouchAdjustment::appendContextSubtargetsForNode):

2013-10-14  Alexandru Chiculita  <achicu@adobe.com>

        The content of the DOM panel for iframes is not updated until the "onload" event
        https://bugs.webkit.org/show_bug.cgi?id=122653

        Reviewed by Darin Adler.

        Test: http/tests/inspector-protocol/loading-iframe-document-node.html

        Renamed InspectorDOMAgent::loadEventFired to InspectorDOMAgent::didCommitLoad and moved the call site
        from InspectorInstrumentation::loadEventFiredImpl to InspectorInstrumentation::didCommitLoadImpl.
        This is to make sure that it will invalidate the content of the iframe as soon as the frame navigates
        to a different page. This way the new node can be retrieved as soon as the page has some content, and
        not just when the page is fully loaded.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::didCommitLoad): Renamed from loadEventFired, as it is now called from
        didCommitLoadImpl instead.
        (WebCore::InspectorDOMAgent::frameDocumentUpdated): Updated comment to point to the new function name.
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::loadEventFiredImpl): Removed call do InspectorDOMAgent.loadEventFired.
        (WebCore::InspectorInstrumentation::didCommitLoadImpl): Added call to InspectorDOMAgent.didCommitLoad.

2013-10-14  Roger Fong  <roger_fong@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=122774.
        <rdar://problem/6138855>.

        Reviewed by Brent Fulgham.

        Add a field to keep track of hovered over index.
        Use index to determine whether or not to use the existing selected index on the mouse down event.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::PopupMenuWin):
        (WebCore::PopupMenuWin::show):
        (WebCore::PopupMenuWin::wndProc):
        * platform/win/PopupMenuWin.h:

2013-10-14  Tim Horton  <timothy_horton@apple.com>

        Virtualize PlatformCALayer
        https://bugs.webkit.org/show_bug.cgi?id=122672

        Reviewed by Anders Carlsson.

        No new tests, just a refactoring.

        * WebCore.exp.in:
        setGeometryFlipped is on PlatformCALayerMac now.

        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        Add PlatformCALayer.cpp, PlatformCALayerWin.h, and let VS do its
        thing with some other files.

        * WebCore.xcodeproj/project.pbxproj:
        Add PlatformCALayer.cpp and PlatformCALayerMac.h.

        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
        (WebCore::AVFWrapper::platformLayer):
        Make a PlatformCALayerWin explicitly.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::createPlatformCALayer):
        Added. Decide whether to make a PlatformCALayer{Mac, Win} based on the platform.
        Later, we will decide between other subclasses based on other things.

        (WebCore::GraphicsLayerCA::filtersCanBeComposited):
        Do the same thing for filtersCanBeComposited.

        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
        (WebCore::GraphicsLayerCA::setContentsToSolidColor):
        (WebCore::GraphicsLayerCA::setContentsToMedia):
        (WebCore::GraphicsLayerCA::setContentsToCanvas):
        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
        (WebCore::GraphicsLayerCA::updateContentsImage):
        (WebCore::GraphicsLayerCA::updateContentsRects):
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        Use createPlatformCALayer instead of PlatformCALayer::create.

        * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
        For now, use the PlatformCALayerMac version of filtersCanBeComposited,
        since this code is heavily tied to having CALayers in the Web process.

        * platform/graphics/ca/GraphicsLayerCA.h:
        Include PlatformCALayer.h here so we can get the LayerType enum.
        (NOTE-to-be-removed: if there's a better way to do this, I'm open to
        suggestions; I couldn't puzzle out nested 'enum class' stuff).

        Add the createPlatformCALayers.

        * platform/graphics/ca/PlatformCAAnimation.h:
        Friend the subclasses too.

        * platform/graphics/ca/PlatformCALayer.cpp: Added.
        (WebCore::PlatformCALayer::~PlatformCALayer):
        Pull the shared part of the PlatformCALayer destructor out.

        * platform/graphics/ca/PlatformCALayer.h:
        (WebCore::PlatformCALayer::platformLayer):
        (WebCore::PlatformCALayer::setOwner):
        (WebCore::PlatformCALayer::PlatformCALayer):
        Virtualize all the things. Move platform specific members to their new subclasses.

        * platform/graphics/ca/mac/PlatformCALayerMac.h: Added.
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        Move the PLATFORM(MAC) implementations from PlatformCALayer to PlatformCALayerMac.

        (PlatformCALayer::platformCALayer):
        The platformCALayer lookup function is static on PlatformCALayer, so it can't
        be moved to the subclasses. It might be a good idea in the future to move towards
        a platform-independent mechanism for looking up PlatformCALayers from PlatformLayers,
        and to avoid needing to do this as often as we do now.

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
        (WebCore::CACFLayerTreeHost::CACFLayerTreeHost):
        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        Move the PLATFORM(WIN) implementations from PlatformCALayer to PlatformCALayerWin.

        (PlatformCALayerWin::create):
        (PlatformCALayer::platformCALayer):

        * platform/graphics/ca/win/PlatformCALayerWin.h: Added.

        * platform/graphics/win/GraphicsContext3DWin.cpp:
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
        Include PlatformCALayerWin.h and explicitly make PlatformCALayerWins here.

2013-10-14  Hugo Parente Lima  <hugo.lima@openbossa.org>

        [cmake] MediaControlsApple is used only by Efl port and is on CMakeLists.txt
        https://bugs.webkit.org/show_bug.cgi?id=122772

        Reviewed by Anders Carlsson.

        * CMakeLists.txt: Removed MediaControlsApple.cpp
        * PlatformEfl.cmake: Added MediaControlsApple.cpp

2013-10-14  Alexey Proskuryakov  <ap@apple.com>

        window.crypto doesn't preserve custom properties
        https://bugs.webkit.org/show_bug.cgi?id=122770

        Reviewed by Mark Hahnenberg.

        Test: security/crypto-gc.html

        Generate isReachableFromOpaqueRoots that makes Crypto live as long as the document
        lives (because that's when it's observable through window object).

        * page/Crypto.cpp:
        (WebCore::Crypto::Crypto):
        (WebCore::Crypto::~Crypto):
        (WebCore::Crypto::document):
        * page/Crypto.h:
        (WebCore::Crypto::create):
        Made Crypto a ContextDestructionObserver, so that it can report its document to bindings.
        Removed ScriptWrappable, because it seems to have served no purpose in this class.

        * page/Crypto.idl: Added GenerateIsReachable. Removed ImplementationLacksVTable,
        because the class now has a vtable, and can be checked for bindings integrity.

        * page/DOMWindow.cpp: (WebCore::DOMWindow::crypto): Pass a document when creating
        crypto.

2013-10-14  Andreas Kling  <akling@apple.com>

        CTTE: NamedNodeMap always has a corresponding Element.
        <https://webkit.org/b/122769>

        Reviewed by Anders Carlsson.

        Made NamedNodeMap::m_element a reference and remove an assertion
        that it's never null.

2013-10-14  Andreas Kling  <akling@apple.com>

        REGRESSION(r157408): Crashes in RenderFullScreen::wrapRenderer().

        Unreviewed crash fix for these two tests:

        - fullscreen/full-screen-restrictions.html
        - fullscreen/empty-anonymous-block-continuation-crash.html

        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::wrapRenderer):

            Get the RenderArena from Document like we did before this patch.

2013-10-14  Hans Muller  <hmuller@adobe.com>

        [CSS Shapes] Image valued shape-outside shapes should update the layout after the image has been loaded
        https://bugs.webkit.org/show_bug.cgi?id=122340

        Reviewed by Simon Fraser.

        Ensure that the an image-valued shape-outside layout is updated after the image has
        been loaded.

        Test: http/tests/css/css-image-valued-shape.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::imageChanged): Added code for the shape-outside case.
        (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Ditto.
        * rendering/RenderElement.cpp:
        (WebCore::RenderElement::~RenderElement): Ditto.
        (WebCore::RenderElement::setStyle): Ditto.

2013-10-14  Andreas Kling  <akling@apple.com>

        Remove some silly null checks in Element/NamedNodeMap.
        <https://webkit.org/b/122767>

        Reviewed by Darin Adler.

        Make shouldIgnoreAttributeCase() take a const Element&, exposing
        some unnecessary null checks.

2013-10-14  Brent Fulgham  <bfulgham@apple.com>

        [Win] Build fix after r122737.

        * dom/Node.h: Add explicit WebCore namespace to macro definition to work around
        Visual Studio bug.

2013-10-14  Andreas Kling  <akling@apple.com>

        Pass Document directly to anonymous renderer constructors.
        <https://webkit.org/b/122752>

        Reviewed by Antti Koivisto.

        Added separate constructors for creating anonymous renderers that
        take a Document& instead of a null Element*/Text*.

        Removed setDocumentForAnonymous() and all createAnonymous() helpers.
        ...and RenderObject::m_node is now a Node&, wohoo!

2013-10-13  Sam Weinig  <sam@webkit.org>

        CTTE: Add more node conversion helpers
        https://bugs.webkit.org/show_bug.cgi?id=122737

        Reviewed by Darin Adler.

        - Factor NODE_TYPE_CASTS into TYPE_CASTS_BASE(ToClassName, FromClassName)
          to allow for DOCUMENT_TYPE_CASTS.
        - Replace more static_casts<>.

2013-10-14  Zan Dobersek  <zdobersek@igalia.com>

        Reintroduce PassRefPtr<Event> copy in ScopedEventQueue::dispatchEvent
        https://bugs.webkit.org/show_bug.cgi?id=122742

        Reviewed by Alexey Proskuryakov.

        This is a follow-up to r157219 which introduced a workaround for the GCC's quirky behavior that
        was resulting in crashes due to the PassRefPtr<Event> object passed to EventDispatcher::dispatchEvent
        being copied and nullified first before retrieving the EventTarget of the Event object wrapped in that
        PassRefPtr.

        The implementation is now adjusted to first retrieve the pointer to the Event's EventTarget and store
        it in a local variable. That variable is then passed as the first parameter to EventDispatcher::dispatchEvent,
        and the PassRefPtr<Event> passed directly as the second parameter. Previously the pointer of that PassRefPtr
        object was passed in, with a new PassRefPtr being created which would increase the reference count of the
        ref-counted object. Passing in the original PassRefPtr avoids the unnecessary reference count increase by creating
        a copy. That still nullifies the original PassRefPtr, but that's not a problem anymore.

        * dom/ScopedEventQueue.cpp:
        (WebCore::ScopedEventQueue::dispatchEvent):

2013-10-14  Bear Travis  <betravis@adobe.com>

        [CSS Shapes] Shape-Margin should be animatable
        https://bugs.webkit.org/show_bug.cgi?id=122524

        Reviewed by Darin Adler.

        Mark content for relayout after shape-margin changes, and add shape-margin
        to the list of animatable properties.

        Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-margin.html
               fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html

        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Add
        shape-margin to the map of animatable CSS properties.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Compare shape-margins,
        and mark dependent content for relayout if they have changed.

2013-10-14  Arvid Nilsson  <anilsson@blackberry.com>

        Don't crash after OpenGL robustness reset
        https://bugs.webkit.org/show_bug.cgi?id=122750

        Reviewed by George Staikos.

        JIRA 517132.
        Just log the incident and pretend like nothing happened.

        No new tests, we don't have repeatable steps to reproduce a robustness
        reset.

        * platform/graphics/blackberry/LayerRenderer.cpp:
        (WebCore::LayerRenderer::makeContextCurrent):

2013-10-14  Krzysztof Czech  <k.czech@samsung.com>

        [EFL] Buildfix after r157393
        https://bugs.webkit.org/show_bug.cgi?id=122749

        Reviewed by Andreas Kling.

        Buildfix with error enumeration value 'CSS_FR' not handled in switch.

        * css/CSSCalculationValue.cpp:
        (WebCore::hasDoubleValue):

2013-10-14  Krzysztof Czech  <k.czech@samsung.com>

        [EFL] Present replaced objects with 0xFFFC character
        https://bugs.webkit.org/show_bug.cgi?id=122744

        Reviewed by Mario Sanchez Prada.

        Replaced elements should be emitted in GTK/EFL and
        marked their presence with the replacement character.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange):

2013-09-16  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] Implement support for <flex>
        https://bugs.webkit.org/show_bug.cgi?id=115362

        Reviewed by Andreas Kling.

        From Blink r149134, r149480, r149532, r150287 and r156127 by <jchaffraix@chromium.org>
        From Blink r157820 by <svillar@igalia.com>

        Added support for flexible lengths ('fr' unit) in CSS Grid Layout
        code. This requires the addition of GridLength class to
        encapsulate the knowledge of <flex> to the grid layout code.

        Also updated the algorithm that computes the layout. It increases
        the value of 1fr based on the grid tracks' usedBreath to fraction
        ratio (called normalizedFractionValue). This enables increasing
        the fraction value while updating the available space to account
        for processed grid tracks. The algorithm stops when we run out of
        grid tracks or available space (one grid item has an intrinsic
        size too big). This matches the specs to the letter for the known
        available space case (both the unknown case and the interaction
        with 'span' are left out of this patch).

        Tests: fast/css-grid-layout/flex-and-minmax-content-resolution-columns.html
               fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html
               fast/css-grid-layout/flex-content-resolution-columns.html
               fast/css-grid-layout/flex-content-resolution-rows.html

        * GNUmakefile.list.am: Added GridLength.h to the build system.
        * Target.pri: Ditto.
        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForGridTrackBreadth): Replace Length by GridLength.
        * css/CSSGrammar.y.in: Added FR support.
        * css/CSSParser.cpp: Ditto.
        (WebCore::CSSParser::parseGridBreadth):
        (WebCore::CSSParser::detectNumberToken):
        * css/CSSParserValues.cpp: Added FR support.
        (WebCore::CSSParserValue::createCSSValue):
        * css/CSSParserValues.h:
        (WebCore::CSSParserString::operator[]):
        (WebCore::CSSParserString::equalIgnoringCase):
        * css/CSSPrimitiveValue.cpp: Added FR support.
        (WebCore::isValidCSSUnitTypeForDoubleConversion):
        (WebCore::CSSPrimitiveValue::cleanup):
        (WebCore::CSSPrimitiveValue::customCSSText):
        (WebCore::CSSPrimitiveValue::cloneForCSSOM):
        (WebCore::CSSPrimitiveValue::equals):
        * css/CSSPrimitiveValue.h: Added a couple of missing const.
        (WebCore::CSSPrimitiveValue::isFlex):
        * css/StyleResolver.cpp: Added FR support.
        (WebCore::createGridTrackBreadth):
        (WebCore::createGridTrackSize):
        * rendering/RenderGrid.cpp:
        (WebCore::GridTrackForNormalization::GridTrackForNormalization):
        New helper struct to ease the computation of track breadths with
        flexible lengths.
        (WebCore::GridTrackForNormalization::operator=):
        (WebCore::RenderGrid::computePreferredTrackWidth): Replaced Length by GridLength.
        (WebCore::RenderGrid::computedUsedBreadthOfGridTracks): Grow grid lines
        having a fraction as the MaxTrackSizingFunction.
        (WebCore::RenderGrid::computeUsedBreadthOfMinLength): Replaced Length by GridLength.
        (WebCore::RenderGrid::computeUsedBreadthOfMaxLength): Ditto.
        (WebCore::sortByGridNormalizedFlexValue):
        (WebCore::RenderGrid::computeNormalizedFractionBreadth): Increase
        the fraction value while updating the available space to account
        for processed grid tracks.
        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
        (WebCore::RenderGrid::distributeSpaceToTracks): Never shrink track sizes.
        (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
        * rendering/RenderGrid.h:
        * rendering/style/GridLength.h: Added.
        (WebCore::GridLength::GridLength):
        (WebCore::GridLength::isLength):
        (WebCore::GridLength::isFlex):
        (WebCore::GridLength::length):
        (WebCore::GridLength::flex):
        (WebCore::GridLength::setFlex):
        (WebCore::GridLength::operator==):
        * rendering/style/GridTrackSize.h: Replaced Length by GridLength.
        (WebCore::GridTrackSize::length):
        (WebCore::GridTrackSize::setLength):
        (WebCore::GridTrackSize::minTrackBreadth):
        (WebCore::GridTrackSize::maxTrackBreadth):
        (WebCore::GridTrackSize::setMinMax):
        (WebCore::GridTrackSize::hasMinOrMaxContentMinTrackBreadth):
        (WebCore::GridTrackSize::hasMaxContentMinTrackBreadth):
        (WebCore::GridTrackSize::hasMinOrMaxContentMaxTrackBreadth):
        (WebCore::GridTrackSize::hasMaxContentMaxTrackBreadth):

2013-10-14  peavo@outlook.com  <peavo@outlook.com>

        Broken text rendering when input field has selection.
        https://bugs.webkit.org/show_bug.cgi?id=122716

        Reviewed by Antti Koivisto.

        Tests: fast/text/text-rendering-with-input-selection.html.
               fast/text/text-rendering-with-input-selection-expected.html.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paint): Check that text has selection.

2013-10-14  Zalan Bujtas  <zalan@apple.com>

        Unexpected word wrapping for wrapped content then raw content.
        https://bugs.webkit.org/show_bug.cgi?id=121130

        Reviewed by Antti Koivisto.

        When deciding whether a line is considered empty, we need to check if the current
        object is fully responsible for the currently uncommitted width. It helps differentiating
        <span></span><span>abcd</span> from <span>a</span><span>bcd</span>, where in the first
        case when we hit the second <span> the line is still considered empty, as opposed to the
        second example.

        Test: fast/css/unexpected-word-wrapping-with-non-empty-spans.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineBreaker::nextSegmentBreak):

2013-10-14  Andreas Kling  <akling@apple.com>

        Be more efficient about passing RenderStyle to attachRenderTree().
        <https://webkit.org/b/122743>

        Reviewed by Antti Koivisto.

        Have attachRenderTree() and createRendererTreeIfNeeded() pass the
        RenderStyle in a PassRefPtr to avoid churning the ref count.

2013-10-14  Sergio Villar Senin  <svillar@igalia.com>

        [CSS Grid Layout] 2 span positions are not resolved correctly
        https://bugs.webkit.org/show_bug.cgi?id=119717

        Reviewed by Andreas Kling.

        From Blink r155397 by <jchaffraix@chromium.org>

        Test: fast/css-grid-layout/grid-item-bad-resolution-double-span.html

        Two opposite 'span' or 'auto' positions should be resolved using
        the auto placement algorithm. We were only checking for the 'auto'
        case. This also covers the case of other positions that, according
        to the spec, should be treated as 'auto'.

        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::resolveGridPositionsFromStyle):

2013-10-13  Andreas Kling  <akling@apple.com>

        Use RenderElement instead of RenderObject in more places.
        <https://webkit.org/b/122734>

        Reviewed by Antti Koivisto.

        Convert some sites to use RenderElement (or type inference) instead
        of RenderObject for less branchy code.

2013-10-13  Darin Adler  <darin@apple.com>

        Deprecate or remove deleteAllValues functions; there are only a few call sites left
        https://bugs.webkit.org/show_bug.cgi?id=122738

        Reviewed by Anders Carlsson.

        * platform/blackberry/CookieMap.cpp:
        (WebCore::CookieMap::deleteAllCookiesAndDomains):
        * platform/network/blackberry/rss/RSSParserBase.cpp:
        (WebCore::RSSFeed::clear):
        * platform/win/WCDataObject.cpp:
        (WebCore::WCDataObject::~WCDataObject):
        Renamed deleteAllValues to deprecatedDeleteAllValues.

2013-10-13  Sam Weinig  <sam@webkit.org>

        Merge NODE_TYPE_CASTS and ELEMENT_TYPE_CASTS
        https://bugs.webkit.org/show_bug.cgi?id=122735

        Reviewed by Antti Koivisto.

        NODE_TYPE_CASTS and ELEMENT_TYPE_CASTS are identical. Let them become one
        with one another.

2013-10-13  Andreas Kling  <akling@apple.com>

        Uncrashify Document::head() too. (Why am I even awake?)

2013-10-13  Andreas Kling  <akling@apple.com>

        REGRESSION(r157381): Make Document::body() crash less when there is no documentElement.

        Unreviewed.

2013-10-13  Darin Adler  <darin@apple.com>

        Rewrite Document::body and Document::head in modern style, way clearer and shorter
        https://bugs.webkit.org/show_bug.cgi?id=122717

        Reviewed by Andreas Kling.

        * dom/Document.cpp:
        (WebCore::Document::body): Use iterator to make this way easier to read.
        (WebCore::Document::head): Ditto.

        * html/HTMLTagNames.in: Added generateTypeHelpers for body and head.

== Rolled over to ChangeLog-2013-10-13 ==
