ChangeLog-2013-04-24   [plain text]


2013-04-24  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Remove the setContentsToColor flavor of LayerTiler::TextureJob
        https://bugs.webkit.org/show_bug.cgi?id=115092

        Reviewed by Carlos Garcia Campos.

        With the Skia backend, we had an optimization to detect solid color
        layers. The Skia code has been purged, but these bits remained. With
        BlackBerry::Platform::Graphics::PlatformGraphicsContext, only the solid
        color will be drawn anyway, so we don't need to detect such layers at
        the WebCore level. Fixed by removing the setContentsToColor flavor of
        LayerTiler::TextureJob.

        BlackBerry::WebKit::WebOverlay still uses
        TextureCacheCompositingThread::textureForColor() so that one can stay
        for now.

        This was dead code so no new tests.

        * platform/graphics/blackberry/LayerTile.cpp:
        * platform/graphics/blackberry/LayerTile.h:
        (LayerTile):
        * platform/graphics/blackberry/LayerTiler.cpp:
        (WebCore::LayerTiler::processTextureJob):
        (WebCore::LayerTiler::performTileJob):
        * platform/graphics/blackberry/LayerTiler.h:
        (WebCore::LayerTiler::TextureJob::setContents):
        (TextureJob):

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

        [GTK] Move image decoders, some other GStreamer, Cairo and Soup sources to libPlatform
        https://bugs.webkit.org/show_bug.cgi?id=115050

        Reviewed by Martin Robinson.

        No new tests - no new functionality.

        * GNUmakefile.list.am: Move the image decoders source files and a couple of GStreamer, Cairo and Libsoup source
        files under the libPlatform's list of files to build. All of these are already free of platform layer violations.

2013-04-23  Kent Tamura  <tkent@chromium.org>

        Remove TextFieldDecoration feature
        https://bugs.webkit.org/show_bug.cgi?id=115068

        Reviewed by Andreas Kling.

        Only Chromium port used this feature.

        * dom/Element.h: Remove isTextFieldDecoration.
        * html/InputType.cpp:
        (WebCore::InputType::destroyShadowSubtree):
        Update a comment.
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::createShadowSubtree):
        Remove call sites of willAddTextFieldDecorationsTo and addTextFieldDecorationsTo.
        * html/shadow/TextFieldDecorationElement.cpp: Removed.
        * html/shadow/TextFieldDecorationElement.h: Removed.
        * page/ChromeClient.h:
        (ChromeClient): Remove willAddTextFieldDecorationsTo and
        addTextFieldDecorationsTo

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

        Micro-optimize Length::initFromLength().
        <http://webkit.org/b/115073>

        From Blink r148621 by <timloh@chromium.org>:

        This appears to improve html5-full-render by 1-2% on my system (gcc 4.6.3) by using memcpy
        instead of copying members (and branching to copy the union).

        * platform/Length.h:
        (WebCore::Length::initFromLength):

2013-04-23  Kent Tamura  <tkent@chromium.org>

        Add missing copyright header to ColorChooserClient.h
        https://bugs.webkit.org/show_bug.cgi?id=115067

        Reviewed by Andreas Kling.

        * platform/ColorChooserClient.h:
        This was added in 2011 by a Google employee.
        http://trac.webkit.org/changeset/103168

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

        Call the correct superclass in RenderSlider::layout().
        <http://webkit.org/b/115071>

        From Blink r147850 by <cbiesinger@chromium.org>:

        The superclass is RenderFlexibleBox, not RenderBlock.

        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::layout):

2013-04-23  Mihai Tica  <mitica@adobe.com>

        Add platform support for -webkit-background-blend-mode to CG context with background color
        https://bugs.webkit.org/show_bug.cgi?id=114412

        Reviewed by Darin Adler.

        Tests: css3/compositing/effect-background-blend-mode-color.html, css3/compositing/effect-background-blend-mode-color2.html

        This patch adds support for blending on background colors to the Core Graphics port of WebKit.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/GraphicsContext.h:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):

2013-04-23  Ryosuke Niwa  <rniwa@webkit.org>

        Remove an unused member variable erroneously added in r149007.

        * rendering/LogicalSelectionOffsetCaches.h:
        (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
        (LogicalSelectionOffsetCaches):

2013-04-22  Ryosuke Niwa  <rniwa@webkit.org>

        logicalLeftSelectionGap and logicalRightSelectionGap call availableLogicalWidth() multiple times
        https://bugs.webkit.org/show_bug.cgi?id=113479

        Reviewed by David Hyatt.

        Introduced LogicalSelectionOffsetCaches to cache the containing blocks and their logical left and right
        selection offsets in computing selection gaps. An instance of this class stores the containing block for
        each position type and caches their logical selection offsets when none of their block ancestors up until
        its nearest selection root do no have any floating objects or regions and exclusions.

        When blockSelectionGaps recurses to another level, it creates a new cache instance by "inheriting"
        (like RenderStyle) from the old cache, overriding those containing blocks that are replaced by "this".

        This eliminates the need to traverse containing block ancestors in RenderBlock::logicalLeftSelectionOffset
        and RenderBlock::logicalRightSelectionOffset, and improves WebKit's performance by roughly 20%.

        Performance Tests: Interactive/SelectAll.html

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.xcodeproj/project.pbxproj:

        * rendering/LogicalSelectionOffsetCaches.h: Added.
        (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): Moved from RenderObject.h.
        (WebCore::isNonRenderBlockInline): Ditto.
        (WebCore::containingBlockForFixedPosition): Extracted from RenderObject::containingBlock.
        (WebCore::containingBlockForAbsolutePosition): Ditto.
        (WebCore::containingBlockForObjectInFlow): Ditto.

        (WebCore::LogicalSelectionOffsetCaches): Added.
        (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::ContainingBlockInfo): Added.
        (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock): Added. m_hasFloatsOrRegions is
        or'ed with itself when ContainingBlockInfo is copy constructed since m_hasFloatsOrRegions needs be true
        for a block when any of its containing block ancestors have floats or regions.
        (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::block): Added.
        (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::cache): Added.
        (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalLeftSelectionOffset): Added. Caches
        the logical selection offset if it hasn't.
        (WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalRightSelectionOffset): Ditto.

        (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches): The first constructor is used
        for a selection root. The second one is used for inheriting from another cache. In the latter case,
        copy all containing block information except ones that need to be overridden by this block.
        (WebCore::LogicalSelectionOffsetCaches::containingBlockInfo): Returns a ContainingBlockInfo based on
        object's position value.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::selectionGapRectsForRepaint):
        (WebCore::RenderBlock::paintSelection):
        (WebCore::RenderBlock::selectionGaps):
        (WebCore::RenderBlock::inlineSelectionGaps):
        (WebCore::RenderBlock::blockSelectionGaps): Exit before instantiating a new LogicalSelectionOffsetCaches
        if there is no child to recurse.
        (WebCore::RenderBlock::blockSelectionGap):
        (WebCore::RenderBlock::logicalLeftSelectionGap):
        (WebCore::RenderBlock::logicalRightSelectionGap):
        (WebCore::RenderBlock::logicalLeftSelectionOffset): Use LogicalSelectionOffsetCaches to get its containing
        block and its logical selection offset.
        (WebCore::RenderBlock::logicalRightSelectionOffset): Ditto.

        * rendering/RenderBlock.h:
        (WebCore::RenderBlock):

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock): Extracted code into LogicalSelectionOffsetCaches.h.

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::lineSelectionGap):

        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox):

2013-04-23  Eric Carlson  <eric.carlson@apple.com>

        [Mac] forced subtitle track should change when audio track language changes
        https://bugs.webkit.org/show_bug.cgi?id=115043

        Reviewed by Jer Noble.

        No new tests, it isn't possible to test this automatically because there is currently no way
        to enable/disable audio tracks.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::configureTextTrackGroup): Set m_forcedOrAutomaticSubtitleTrackLanguage.
        (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):  Call markCaptionAndSubtitleTracksAsUnconfigured
            after a delay if the language of the primary audio track changes.
        (WebCore::HTMLMediaElement::setClosedCaptionsVisible): markCaptionAndSubtitleTracksAsUnconfigured API change.
        (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Take parameter to allow
            the reconfiguration to happen after a delay to avoid doing it during a callback from the
            media engine. Clear the ConfigureTextTracks bit in m_pendingActionFlags to cancel any pending 
            asynch configuration.
        * html/HTMLMediaElement.h:

        * page/CaptionUserPreferencesMac.mm:
        (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Clean up logic.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Call characteristicChanged when
            the primary audio track language changes.

2013-04-23  Hans Muller  <hmuller@adobe.com>

        [CSS Exclusions] Improve ExclusionPolygon smart pointer safety
        https://bugs.webkit.org/show_bug.cgi?id=114984

        Reviewed by Dirk Schulze.

        Assign newly allocated objects to PassOwnPtrs as early as possible to reduce the
        chances of future leaks. No new tests were added, this change adds no new functionality.

        * rendering/ExclusionPolygon.cpp:
        (WebCore::computeShapePaddingBounds):
        (WebCore::computeShapeMarginBounds):
        (WebCore::ExclusionPolygon::shapePaddingBounds):
        (WebCore::ExclusionPolygon::shapeMarginBounds):
        * rendering/ExclusionShape.cpp:
        (WebCore::ExclusionShape::createExclusionShape):

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

        Revert "Throttle resize events during live window resize."
        <http://webkit.org/b/114292>
        <rdar://problem/13411454>
        <rdar://problem/13694839>

        Reviewed by Geoffrey Garen.

        It appears that this caused more glitches than it helped resize performance.

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::performPostLayoutTasks):
        (WebCore::FrameView::sendResizeEvent):

            Turn the null-check of m_frame into an assertion since this method is
            no longer called asynchronously.

        (WebCore::FrameView::willEndLiveResize):

            Ninja fix: call up to the closest superclass implementation.

2013-04-23  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        Global constructors should be configurable and not enumerable
        https://bugs.webkit.org/show_bug.cgi?id=110573

        Reviewed by Geoffrey Garen.

        Update JSC Code generator so that global constructors now have the following
        attributes:
        { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }
        instead of previously:
        { [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false }

        The new behavior is according to the Web IDL specification (section 4.4):
        http://dev.w3.org/cvsweb/~checkout~/2006/webapi/WebIDL/Overview.html?rev=1.617;content-type=text%2Fhtml#es-interfaces

        This also matches the behavior of Firefox.

        Tests: fast/js/global-constructors-attributes.html
               fast/js/global-constructors-deletable.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateAttributesHashTable):

2013-04-23  Simon Fraser  <simon.fraser@apple.com>

        Don't create compositing layers for sticky position unless using the ScrollingCoordinator
        https://bugs.webkit.org/show_bug.cgi?id=115060

        Reviewed by Tim Horton.
        
        Creating compositing layers for sticky position elements is only useful
        when we're using a ScrollingCoordinator, so don't create them if
        we're not in a frame that uses a scrolling coordinator.

        Tests: compositing/layer-creation/no-compositing-for-sticky.html
               platform/mac-wk2/tiled-drawing/sticky/sticky-layers.html

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):

2013-04-23  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        'length' property of DOM bindings functions returns wrong value
        https://bugs.webkit.org/show_bug.cgi?id=110569

        Reviewed by Geoffrey Garen.

        Make the 'length' property of Function objects and Interface
        objects behave according to the latest Web IDL specification
        editor draft:
        http://dev.w3.org/2006/webapi/WebIDL/#es-interface-call
        http://dev.w3.org/2006/webapi/WebIDL/#es-operations

        As a result, only mandatory arguments are taken into account
        when computing the value for the 'length' property. This
        behavior is consistent with Firefox and Blink.

        Tests: fast/js/constructor-length.html
               fast/js/function-length.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        (GenerateConstructorHelperMethods):
        Update the JSC code generator to only account for mandatory parameters
        when computing the value for the 'length' property of Function objects
        and constructors.

        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::JSTestEventConstructorConstructor::finishCreation):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::JSTestEventTargetConstructor::finishCreation):
        (WebCore):
        * bindings/scripts/test/JS/JSTestException.cpp:
        (WebCore::JSTestExceptionConstructor::finishCreation):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::finishCreation):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorConstructor::finishCreation):
        (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
        (WebCore):
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore):
        Rebaseline bindings tests results.

        * fileapi/Blob.idl:
        Remove 'ConstructorParameters=2' extended attribute as the correct value
        is 0, given that a Blob can be constructed without parameter.

        * html/canvas/DataView.idl:
        Update ConstructorParameters extended attribute value from 3 to 1 as only
        one of the 3 parameters is mandatory.

        * html/canvas/Float32Array.idl:
        * html/canvas/Float64Array.idl:
        * html/canvas/Int16Array.idl:
        * html/canvas/Int32Array.idl:
        * html/canvas/Int8Array.idl:
        * html/canvas/Uint16Array.idl:
        * html/canvas/Uint32Array.idl:
        * html/canvas/Uint8Array.idl:
        * html/canvas/Uint8ClampedArray.idl:
        Remove 'ConstructorParameters=1' extended attribute from interfaces using
        'ConstructorTemplate=TypedArray' as the bindings generator now properly
        compute the number of constructor parameters for such interfaces.

        * page/WebKitPoint.idl:
        Remove 'ConstructorParameters=2' extended attribute as the correct value
        should be 0, given that a WebKitPoint can be constructed without parameters.

2013-04-23  Benjamin Poulain  <benjamin@webkit.org>

        Minor String usage fixes in WebCore/platform
        https://bugs.webkit.org/show_bug.cgi?id=115021

        Reviewed by Andreas Kling.

        Use ASCIILiteral when possible + minor fixes.

        * platform/ContentType.cpp:
        (WebCore::ContentType::codecs):
        * platform/ContentType.h:
        (ContentType):
        * platform/Decimal.cpp:
        (WebCore::Decimal::toString):
        * platform/KURL.cpp:
        (WebCore::KURL::setProtocol):

2013-04-23  Dirk Schulze  <krit@webkit.org>

        Pick up color and mat values in custom shaders
        https://bugs.webkit.org/show_bug.cgi?id=115046

        Reviewed by Dean Jackson.

        The custom filter functions accept color values and mat2-4 functions
        as parameter types. These were implemented in CSS already.
        This patch picks up the values and applies them as uniforms to the
        custom shader program. 

        Tests: css3/filters/custom/custom-filter-color.html
               css3/filters/custom/custom-filter-matN.html

        * platform/graphics/filters/CustomFilterRenderer.cpp:
        (WebCore::CustomFilterRenderer::bindProgramColorParameters): Set uniform for color values.
        (WebCore):
        (WebCore::CustomFilterRenderer::bindProgramMatrixParameters): Set uniform for mat2-4 values.
        (WebCore::CustomFilterRenderer::bindProgramParameters): Call color and matrix functions.
        * platform/graphics/filters/CustomFilterRenderer.h:
        (WebCore):
        (CustomFilterRenderer):

2013-04-23  Jacky Jiang  <zhajiang@blackberry.com>

        Remove redundant code in ViewportArguments::resolve
        https://bugs.webkit.org/show_bug.cgi?id=115054

        Reviewed by Kenneth Rohde Christiansen.

        Remove redundant code "result.orientation = orientation;".

        * dom/ViewportArguments.cpp:
        (WebCore::ViewportArguments::resolve):

2013-04-23  Simon Fraser  <simon.fraser@apple.com>

        Tiled layers clipped inside nested transform/preserve-3d hierarchies
        https://bugs.webkit.org/show_bug.cgi?id=115044

        Reviewed by Dean Jackson.
        
        The optimization added in r139479 to call move() for integral translation
        transforms hit a bug in TransformState::move(). If m_accumulatedTransform is
        not null, we have to apply it.

        Test: compositing/visible-rect/flipped-preserve-3d.html

        * platform/graphics/transforms/TransformState.cpp:
        (WebCore::TransformState::move):

2013-04-23  Claudio Saavedra  <csaavedra@igalia.com>

        Ctrl+Shift+Right in Windows should select the spacing after the word
        https://bugs.webkit.org/show_bug.cgi?id=110487

        Reviewed by Ryosuke Niwa.

        Tests: editing/deleting/smart-editing-disabled-win.html
               editing/execCommand/remove-format-multiple-elements-win.html
               editing/execCommand/toggle-link-win.html
               editing/execCommand/toggle-unlink-win.html
               editing/selection/extend-selection-enclosing-block-win.html
               editing/style/make-text-writing-direction-inline-win.html
               editing/style/push-down-font-styles-win.html
               editing/style/push-down-implicit-styles-around-list-win.html

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::nextWordPositionForPlatform): New method
        that takes platform-specific editing behaviour in order to decide
        what the next word position is, that is, for Windows, skip
        spacing, for all other platforms, behave as currently.
        (WebCore::FrameSelection::modifyExtendingRight):
        (WebCore::FrameSelection::modifyExtendingForward):
        (WebCore::FrameSelection::modifyMovingForward):
        (WebCore::FrameSelection::modifyExtendingLeft): Use the new method
        in all of the above.
        * editing/FrameSelection.h: Declare the new method.

2013-04-23  Benjamin Poulain  <bpoulain@apple.com>

        Inline SelectorQuery::matches, SelectorQuery::queryAll, SelectorQuery::queryFirst
        https://bugs.webkit.org/show_bug.cgi?id=115012

        Reviewed by Andreas Kling.

        Each of these function has a single call site:
        -SelectorQuery::matches from Element::webkitMatchesSelector.
        -SelectorQuery::queryAll from Node::querySelectorAll.
        -SelectorQuery::queryFirst from Node::querySelector.

        Having a dedicated method to jump to was a little overkill.

        * dom/SelectorQuery.cpp:
        * dom/SelectorQuery.h:
        (WebCore::SelectorQuery::matches):
        (WebCore::SelectorQuery::queryAll):
        (WebCore::SelectorQuery::queryFirst):

2013-04-23  Benjamin Poulain  <bpoulain@apple.com>

        Remove wxWebKit's folders from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=115007

        Reviewed by Andreas Kling.

        The wxWebKit port is no longer actively maintained by Kevin
        on webkit.org. Remove the code until new maintainers resume the work.

        * accessibility/wx/AccessibilityObjectWx.cpp: Removed.
        * editing/wx/EditorWx.cpp: Removed.
        * page/wx/DragControllerWx.cpp: Removed.
        * page/wx/EventHandlerWx.cpp: Removed.
        * platform/graphics/wx/ColorWx.cpp: Removed.
        * platform/graphics/wx/FloatRectWx.cpp: Removed.
        * platform/graphics/wx/FontCacheWx.cpp: Removed.
        * platform/graphics/wx/FontCustomPlatformData.cpp: Removed.
        * platform/graphics/wx/FontCustomPlatformData.h: Removed.
        * platform/graphics/wx/FontPlatformData.h: Removed.
        * platform/graphics/wx/FontPlatformDataWx.cpp: Removed.
        * platform/graphics/wx/FontPlatformDataWxMac.mm: Removed.
        * platform/graphics/wx/FontWx.cpp: Removed.
        * platform/graphics/wx/GlyphMapWx.cpp: Removed.
        * platform/graphics/wx/GradientWx.cpp: Removed.
        * platform/graphics/wx/GraphicsContextWx.cpp: Removed.
        * platform/graphics/wx/IconWx.cpp: Removed.
        * platform/graphics/wx/ImageBufferDataWx.h: Removed.
        * platform/graphics/wx/ImageBufferWx.cpp: Removed.
        * platform/graphics/wx/ImageWx.cpp: Removed.
        * platform/graphics/wx/IntPointWx.cpp: Removed.
        * platform/graphics/wx/IntRectWx.cpp: Removed.
        * platform/graphics/wx/IntSizeWx.cpp: Removed.
        * platform/graphics/wx/PathWx.cpp: Removed.
        * platform/graphics/wx/SimpleFontDataWx.cpp: Removed.
        * platform/graphics/wx/TransformationMatrixWx.cpp: Removed.
        * platform/image-decoders/wx/ImageDecoderWx.cpp: Removed.
        * platform/wx/ClipboardWx.cpp: Removed.
        * platform/wx/ClipboardWx.h: Removed.
        * platform/wx/ContextMenuItemWx.cpp: Removed.
        * platform/wx/ContextMenuWx.cpp: Removed.
        * platform/wx/CursorWx.cpp: Removed.
        * platform/wx/DragDataWx.cpp: Removed.
        * platform/wx/DragImageWx.cpp: Removed.
        * platform/wx/EventLoopWx.cpp: Removed.
        * platform/wx/FileSystemWx.cpp: Removed.
        * platform/wx/KeyEventWin.cpp: Removed.
        * platform/wx/KeyboardEventWx.cpp: Removed.
        * platform/wx/LanguageWx.cpp: Removed.
        * platform/wx/LocalDC.h: Removed.
        * platform/wx/LocalizedStringsWx.cpp: Removed.
        * platform/wx/LoggingWx.cpp: Removed.
        * platform/wx/MimeTypeRegistryWx.cpp: Removed.
        * platform/wx/MouseEventWx.cpp: Removed.
        * platform/wx/MouseWheelEventWx.cpp: Removed.
        * platform/wx/PasteboardWx.cpp: Removed.
        * platform/wx/PopupMenuWx.cpp: Removed.
        * platform/wx/PopupMenuWx.h: Removed.
        * platform/wx/RenderThemeWx.cpp: Removed.
        * platform/wx/RunLoopWx.cpp: Removed.
        * platform/wx/SSLKeyGeneratorWx.cpp: Removed.
        * platform/wx/ScreenWx.cpp: Removed.
        * platform/wx/ScrollViewWx.cpp: Removed.
        * platform/wx/ScrollbarThemeWx.cpp: Removed.
        * platform/wx/ScrollbarThemeWx.h: Removed.
        * platform/wx/SearchPopupMenuWx.cpp: Removed.
        * platform/wx/SearchPopupMenuWx.h: Removed.
        * platform/wx/SharedBufferWx.cpp: Removed.
        * platform/wx/SharedTimerWx.cpp: Removed.
        * platform/wx/SoundWx.cpp: Removed.
        * platform/wx/SystemTimeWx.cpp: Removed.
        * platform/wx/TemporaryLinkStubs.cpp: Removed.
        * platform/wx/TextBreakIteratorInternalICUWx.cpp: Removed.
        * platform/wx/WidgetWx.cpp: Removed.
        * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Removed.
        * platform/wx/wxcode/fontprops.cpp: Removed.
        * platform/wx/wxcode/fontprops.h: Removed.
        * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Removed.
        * platform/wx/wxcode/gtk/fontprops.cpp: Removed.
        * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Removed.
        * platform/wx/wxcode/gtk/scrollbar_render.cpp: Removed.
        * platform/wx/wxcode/mac/carbon/fontprops.mm: Removed.
        * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Removed.
        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Removed.
        * platform/wx/wxcode/non-kerned-drawing.h: Removed.
        * platform/wx/wxcode/scrollbar_render.h: Removed.
        * platform/wx/wxcode/win/fontprops.cpp: Removed.
        * platform/wx/wxcode/win/non-kerned-drawing.cpp: Removed.
        * platform/wx/wxcode/win/scrollbar_render.cpp: Removed.
        * plugins/wx/PluginDataWx.cpp: Removed.

2013-04-23  Roger Fong  <roger_fong@apple.com>

        AppleWin build fix.

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

2013-04-23  Roger Fong  <roger_fong@apple.com>

        AppleWin build fix.

        * inspector/InspectorAllInOne.cpp:
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::InspectorMemoryAgent::create):
        (WebCore):
        * inspector/InspectorMemoryAgent.h:
        (InspectorMemoryAgent):

2013-04-23  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Exclusions] shape-inside overflow should be pushed to the outside of the content box
        https://bugs.webkit.org/show_bug.cgi?id=114526

        Reviewed by David Hyatt.

        The specification has changed to define shape-outside as the inverse of an exclusion. Overflowing content
        should not overlap the shape, and it should be pushed outside the content box. This change affects several
        tests, but only one new has been added. In this change I'm not intended to include the behavior change for
        shape-inside on CSS Regions, I'm going to fix that in a follow up patch.

        Tests: fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html: Modified.
               fast/exclusions/shape-inside/shape-inside-bottom-edge.html: Modified.
               fast/exclusions/shape-inside/shape-inside-empty.html: Modified.
               fast/exclusions/shape-inside/shape-inside-overflow-fixed-dimensions.html: Added.
               fast/exclusions/shape-inside/shape-inside-overflow.html: Modified.
               fast/exclusions/shape-inside/shape-inside-percentage.html: Modified.
               fast/exclusions/shape-inside/shape-inside-rounded-rectangle-004.html: Modified.

        * rendering/ExclusionShapeInfo.h:
        (WebCore::ExclusionShapeInfo::clearSegments): Shape-outside's code uses shape-inside codepaths, when that happens we need to provide a
        way to reset the m_segments member.
        (WebCore::ExclusionShapeInfo::shapeContainingBlockHeight): The containing block's height is stored in m_shapeLogicalHeight, I added a
        function to get this value when we need it to calculate the content box's bottom position.
        (ExclusionShapeInfo):
        (WebCore::ExclusionShapeInfo::lineOverlapsShapeBounds):
        (WebCore::ExclusionShapeInfo::lineWithinShapeBounds):  Add function to test whether a whole line is within a shape or not.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Overflowing content should start under the content box.
        (WebCore::RenderBlock::LineBreaker::nextLineBreak): Since we use shape-inside codepaths for shape-outside in layoutRunsAndFloatsInRange function
        and for shape-outside is not a requirement to check the line's bottom position is within the shape we might end up with some extra segments here.
        In this case we should clear segments, since we don't want to apply any horizontal offsets on the overflowing content.

2013-04-23  Antti Koivisto  <antti@apple.com>

        Avoid computing style twice when element has no existing style
        https://bugs.webkit.org/show_bug.cgi?id=115042

        Reviewed by Andreas Kling.
        
        We currently compute element style twice if we end up having to reattach, first in recalcStyle and then
        again during attach(). We can easily avoid this in common case where the element has no existing style
        (usually because it is display:none). 

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle):
        
            Don't compute the style and diff if there is no existing style. There is nothing to diff against.
            Instead just call reattach() directly, we ended up doing that anyway with the existing code.
        
2013-04-23  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>

        WebSocket: Return type of send() should be void if hybi-10 protocol is chosen
        https://bugs.webkit.org/show_bug.cgi?id=65850

        Reviewed by Alexey Proskuryakov.

        WebSocket API draft changed the return type of send() from boolean to void based on Simon
        Pieters' post to WHATWG. Firefox 8 and IE 10 already follow the specification, hence it should
        make sense for us to do the same when hybi protocol is used.

        Original patch by Yuta Kitamura  <yutak@chromium.org>

        Tests: http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
               http/tests/websocket/tests/hybi/send-after-close-on-unload.html (updated)

        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::send):
        * Modules/websockets/WebSocket.h:
        * Modules/websockets/WebSocket.idl:

2013-04-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        ScrollbarThemeComposite depends on Page/FrameView/ChromeClient
        https://bugs.webkit.org/show_bug.cgi?id=21361

        Reviewed by Andreas Kling.

        Remove unused header includes.

        * platform/ScrollbarThemeComposite.cpp:

2013-04-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add webkit_uri_request_get_http_headers to WebKit2 GTK+ API
        https://bugs.webkit.org/show_bug.cgi?id=112160

        Reviewed by Andreas Kling.

        * platform/network/soup/GOwnPtrSoup.cpp:
        (WTF::SoupMessageHeaders): Add freeOwnedGPtr implementation for
        SoupMessageHeaders.
        (WTF):
        * platform/network/soup/GOwnPtrSoup.h:
        (WTF):
        * platform/network/soup/ResourceRequest.h:
        (ResourceRequest):
        * platform/network/soup/ResourceRequestSoup.cpp:
        (WebCore::ResourceRequest::updateSoupMessageHeaders): New function
        to update the given SoupMessageHeaders with the ResourceRequest
        headers.
        (WebCore::ResourceRequest::updateFromSoupMessageHeaders): New
        function to update the ResourceRequest headers with the given
        SoupMessageHeaders.
        (WebCore::ResourceRequest::updateSoupMessage): Use
        updateSoupMessageHeaders() to update the headers.
        (WebCore::ResourceRequest::toSoupMessage): Ditto.
        (WebCore::ResourceRequest::updateFromSoupMessage): Use
        updateFromSoupMessageHeaders to update the headers.

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

        Clear StyleResolver state before returning from styleForElement().
        <http://webkit.org/b/115035>

        Reviewed by Antti Koivisto.

        From Blink r148687 by <inferno@chromium.org>.

        A cached element pointer in the resolver state was causing confusion because
        in some cases a subsequent call to styleForElement() would use a pointer to
        a different object that is at the same memory address as the previous one.

        Test: fast/css/reload-non-styled-element-crash.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::styleForElement):

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

        XSSAuditor performance regression due to threaded parser changes.
        <http://webkit.org/b/115037>
        <rdar://problem/13716069>

        Reviewed by Anders Carlsson.

        From Blink r148792 by <abarth@chromium.org>:

        The refactoring we did for the threaded parser introduced a performance
        regression in innerHTML because we'd boot up the XSSAuditor for fragment
        parsing. This CL returns to our earlier behavior of not booting up the
        XSSAuditor when parsing fragments.

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        * html/parser/XSSAuditor.cpp:
        (WebCore::XSSAuditor::initForFragment):
        * html/parser/XSSAuditor.h:
        (XSSAuditor):

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

        Speed up ElementData::getAttributeItem(), which is hot.
        <http://webkit.org/b/115031>

        Reviewed by Antti Koivisto.

        From Blink r148622 by <cevans@chromium.org>.

        The previous version had a couple of issues:
        - Incurred new WTF::Vector::operator[] checks.
        - Had a branch in _every_ loop iteration that checked whether the storage was Vector or array[] backed.

        Both these issues are fixed, and CloneNodes.html seems reliably at +2%.
        I also believe GetElement.html is maybe +1%.

        For WebKit, also applied the same optimization to getAttributeItemIndex().

        * dom/Element.h:
        (WebCore::ElementData::attributeBase):
        (WebCore::ElementData::getAttributeItemIndex):
        (WebCore::ElementData::getAttributeItem):
        (WebCore::ElementData::attributeItem):

2013-04-23  Antoine Quint  <graouts@apple.com>

        Initial advance of text runs should be taken into account
        https://bugs.webkit.org/show_bug.cgi?id=114949

        Reviewed by Darin Adler.

        Keep track of complex text runs' initial advance by adding a new
        member to GlyphBuffer and adding the initial advance of any non-first
        text run to the advance of the last glyph added for the previous text run.
        Additionally, we now correctly handle advance values in the y-axis.

        Test: fast/text/complex-initial-advance.html

        * WebCore.exp.in:
        Add support for new WebKitSystemInterface API.
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::drawGlyphBuffer):
        Take into account the buffer's initial advance in the y-axis to adjust
        the point at which to draw the buffers. Additionally, keep track of advances
        on the y-axis as well as the x-axis (which we already were doing) as we iterate
        through glyphs and adjust the start point.
        (WebCore::Font::drawEmphasisMarks):
        Adopt change of GlyphBuffer::advanceAt() return type.
        * platform/graphics/GlyphBuffer.h:
        Removing the WINCE-specific GlyphBufferAdvance struct since heights are now necessary.
        (WebCore::GlyphBufferAdvance::GlyphBufferAdvance):
        New default constructor for GlyphBufferAdvance to support the m_initialAdvance member.
        (WebCore::GlyphBuffer::setInitialAdvance):
        (WebCore::GlyphBuffer::initialAdvance):
        New APIs to get and set the initial advance for a glyph buffer.
        (WebCore::GlyphBuffer::advanceAt):
        Return a GlyphBufferAdvance rather than a float which used to be only
        the glyph buffer's x-axis advance. This is necessary to handle deltas
        on the y-axis as well (see WebCore::Font::drawGlyphBuffer).
        * platform/graphics/GlyphBuffer.h:
        (GlyphBuffer):
        (WebCore::GlyphBuffer::setInitialAdvance):
        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advanceInternal):
        (WebCore::WidthIterator::advanceOneCharacter):
        Adopt change of GlyphBuffer::advanceAt() return type.
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::Font::drawGlyphs):
        Adopt change of GlyphBuffer::advanceAt() return type.
        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::advance):
        When processing the first text run, set that run's initial advance as
        the glyph buffer's initial advance.
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
        Represent the initial advance for a text run by adjusting the advance
        of the last glyph of the previous text run in the glyph buffer.
        * platform/graphics/mac/ComplexTextController.h:
        (WebCore::ComplexTextController::ComplexTextRun::initialAdvance):
        (ComplexTextRun):
        New API to read the inital advance of a complex text run.
        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
        Obtain the text run's initial advance via the new wkCTRunGetInitialAdvance
        WebKitSystemInterface API.
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::drawGlyphs):
        Adopt change of GlyphBuffer::advanceAt() return type.
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        Add support for the new wkCTRunGetInitialAdvance WebKitSystemInterface API.
        * platform/wx/wxcode/cairo/non-kerned-drawing.cpp:
        (WebCore::drawTextWithSpacing):
        Adopt change of GlyphBuffer::advanceAt() return type.
        * rendering/svg/SVGTextRunRenderingContext.cpp:
        (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
        Adopt change of GlyphBuffer::advanceAt() return type.

2013-04-23  Noam Rosenthal  <noam@webkit.org>

        [Texmap] Don't paint to an intermediate surface when the result is going to be clipped out completely.
        https://bugs.webkit.org/show_bug.cgi?id=115015

        Reviewed by Allan Sandfeld Jensen.

        Maintain a clipBounds rectangle in TextureMapper, and test it against the bounds of an intermediate
        surface before it is painted.
        This allows us to opt out completely of painting into the surface if the result is going to be optimized
        out by the GPU clipping.

        Covered by tests in compositing/overlap-blending.

        * platform/graphics/texmap/TextureMapper.h:
        (TextureMapper):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::clipBounds):
        (WebCore):
        * platform/graphics/texmap/TextureMapperGL.h:
        * platform/graphics/texmap/TextureMapperImageBuffer.h:
        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::paintUsingOverlapRegions):

2013-04-23  Noam Rosenthal  <noam@webkit.org>

        [Coordinated Graphics] Remove the lockAnimations code path
        https://bugs.webkit.org/show_bug.cgi?id=114899

        Reviewed by Benjamin Poulain.

        Remove locking/unlocking animations and checks for the lock state.
        The animation locking has been tested to create not-so-smooth animations,
        while the use case where the composited animations run out of sync from
        the non-composited animations is very rare and unnoticeable.

        No new tests, removing functionality that wasn't tested in the first place.

        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
        (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
        (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
        (WebCore::CoordinatedGraphicsScene::commitSceneState):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
        (CoordinatedGraphicsScene):

2013-04-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        Respect image-rendering setting for determing image-rendering quality
        https://bugs.webkit.org/show_bug.cgi?id=113405

        Reviewed by Benjamin Poulain.

        Remove the CSS4 values as they are not ready for implementation yet.
        We still parse the -webkit-crisp-edges and SVG compatibility values to
        be closer to the the partial support in Gecko and Presto.

        Tests: fast/css/image-rendering-canvas.html
               fast/css/image-rendering-parsing.html
               fast/css/image-rendering.html
               fast/css/optimize-contrast-image.html

        * css/CSSParser.cpp:
        (WebCore::isValidKeywordPropertyAndValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EImageRendering):
        * css/CSSValueKeywords.in:
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paintReplaced):
        * rendering/style/RenderStyleConstants.h:

2013-04-23  Commit Queue  <rniwa@webkit.org>

        Unreviewed, rolling out r148923.
        http://trac.webkit.org/changeset/148923
        https://bugs.webkit.org/show_bug.cgi?id=115020

        The patch causes multiple failures in CSS, canvas tests
        (Requested by zdobersek on #webkit).

        * platform/graphics/cairo/PlatformContextCairo.cpp:
        (WebCore::PlatformContextCairo::drawSurfaceToContext):

2013-04-22  Noam Rosenthal  <noam@webkit.org>

        [EFL] Assertion Failures in Coordinated Graphics after r148433
        https://bugs.webkit.org/show_bug.cgi?id=114731

        Reviewed by Gyuyoung Kim.

        The assert is incorrect. In some cases in coordinated graphics we may have a backing store
        and drawsContent would be set to false.

        No new tests.

        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::paintSelf):

2013-04-22  Suchit Agrawal  <a.suchit@samsung.com>

        table's text aligned on top instead of center because of rowspan
        https://bugs.webkit.org/show_bug.cgi?id=18092

        Reviewed by Beth Dakin.

        Last row in the rowspan is not getting the height of rowspan cell because there is not
        enough rows present below rowspan cell and we are strictly applying height of rowspan
        to the row which should lay last in the rowspan based of rowspan value.

        When row contains rowspan cell and it is last row of the table then
        rowspan height is adding to last row of the table.

        Test: fast/table/Rowspan-value-more-than-number-of-rows-present.html

        It calculates logical height of the rows in the table.
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::calcRowLogicalHeight):

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

        [CSS Regions] Region's float parent doesn't size according to region size but to content node size
        https://bugs.webkit.org/show_bug.cgi?id=111332

        Reviewed by David Hyatt.

        Tests: fast/regions/intrinsic-sized-regions.html
               fast/regions/region-with-float-parent.html

        The patch ensures that the computation of region's preferred widths
        takes into account the region width/min-width if these values are specified.
        Also implemented the computation of intrinsic widths for a region,
        based on the min/max preferred widths of the associated flow thread.

        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::computeIntrinsicLogicalWidths):
        (WebCore):
        (WebCore::RenderRegion::computePreferredLogicalWidths):
        * rendering/RenderRegion.h:
        (RenderRegion):

2013-04-22  Jessie Berlin  <jberlin@apple.com>

        Debug build fix.

        Rubber-stamped by Ryosuke Niwa.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
        * inspector/InspectorMemoryAgent.h:
        (WebCore):
        (WebCore::InspectorMemoryAgent::create):
        (InspectorMemoryAgent):

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

        Address review feedback I forgot to address in r148929
        https://bugs.webkit.org/show_bug.cgi?id=114480

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest): Rework the "what" comment into a more useful "why" comment.

2013-04-22  Benjamin Poulain  <bpoulain@apple.com>

        Second Mac debug build fix after r148921

        Unreviewed.

        * inspector/InspectorMemoryAgent.cpp:
        (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
        * inspector/InspectorMemoryAgent.h:
        (InspectorMemoryAgent):

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

        REGRESSION (r141136): Wiki "Random article" function very broken.
        <rdar://problem/13229985> and https://bugs.webkit.org/show_bug.cgi?id=114480

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/navigation/redirect-to-random-url-versus-memory-cache.html

        If we are performing a conditional GET to revalidate a resource and there's a redirect,
        check to see if the redirect is to a different URL than the final URL of the resource.

        If the URLs differ then we should make the redirect-request unconditional and do a normal load.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::willSendRequest):

        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::makeUnconditional):

        * platform/network/ResourceRequestBase.h:
        (ResourceRequestBase):

2013-04-22  Benjamin Poulain  <bpoulain@apple.com>

        Mac debug build fix after r148921

        Unreviewed.

        * page/animation/CompositeAnimation.cpp:

2013-04-22  Rashmi Shyamasundar  <rashmi.s2@samsung.com>

        [Cairo] Canvas-shadow behavior is not being as expected
        https://bugs.webkit.org/show_bug.cgi?id=108897

        Reviewed by Martin Robinson.

        Use the pattern-extend-mode "CAIRO_EXTEND_NONE" instead of "CAIRO_EXTEND_PAD" in
        PlatformContextCairo::drawSurfaceToContext().

        In the function PlatformContextCairo::drawSurfaceToContext(), a pattern is being
        created from the source surface and this pattern is drawn onto the destination
        context. There is no gradient involved. Hence the extend mode for filling the
        pattern should be "CAIRO_EXTEND_NONE". If we use the extend mode
        "CAIRO_EXTEND_PAD" in PlatformContextCairo::drawSurfaceToContext(), the original
        image area is also filled with the shadow color which is not the expected behavior.

        Test: fast/canvas/canvas-image-shadow.html

        * platform/graphics/cairo/PlatformContextCairo.cpp:
        (WebCore::PlatformContextCairo::drawSurfaceToContext):

2013-04-22  Benjamin Poulain  <benjamin@webkit.org>

        Remove the memory instrumentation code
        https://bugs.webkit.org/show_bug.cgi?id=114931

        Reviewed by Andreas Kling.

        The Memory Instrumentation code is unfinished and has already
        become out of sync the objects it is supposed to represent.

        The current approach does not seem maintainable, it is better to
        remove it before someone gets hurt.

        By removing the code, the binary become 1240976 bytes smaller.
        Yep, almost 1 Mb, bringing WebCore to the size it has 5 months ago :)

        * MostWebCoreFiles: remove the support for memory instrumentation.

2013-04-22  Bear Travis  <betravis@adobe.com>

        Do not reuse ExclusionShapeInsideInfo in a recursive region layout
        https://bugs.webkit.org/show_bug.cgi?id=114467

        Reviewed by David Hyatt.

        Elements that respect shape-inside that have inline children should not reuse an
        ExclusionShapeInsideInfo for their children's layout. This patch adds the test
        for regions. See the details for non-region layout in bug 104582.
        https://bugs.webkit.org/show_bug.cgi?id=104582

        Test: fast/regions/shape-inside/shape-inside-recursive-layout.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Do not look up a region's
        ExclusionShapeInsideInfo if a block is already respecting shape-inside.

2013-04-22  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Fix remaining introspection warnings
        https://bugs.webkit.org/show_bug.cgi?id=114980

        Reviewed by Gustavo Noronha Silva.

        * bindings/gobject/WebKitDOMCustom.h: Add scope and transfer annotations and flesh
        out gtkdoc for completeness.
        * bindings/gobject/WebKitDOMEventTarget.h:
        (_WebKitDOMEventTargetIface): Ditto and also align virtual method names with those used
        for the concrete ones.

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

        PDFPlugin: Support unlocking encrypted PDFs
        https://bugs.webkit.org/show_bug.cgi?id=114938
        <rdar://problem/12872888>

        Reviewed by Alexey Proskuryakov.

        Export HTMLNames::typeAttr.

        * WebCore.exp.in:

2013-04-22  Ryosuke Niwa  <rniwa@webkit.org>

        Use-after-free in CompositeEditCommand::cloneParagraphUnderNewElement
        https://bugs.webkit.org/show_bug.cgi?id=114911

        Reviewed by Oliver Hunt.

        Back ported https://src.chromium.org/viewvc/blink?revision=148680&view=revision.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):

2013-04-22  Eric Carlson  <eric.carlson@apple.com>

        [Mac] "automatic" track selection should only select a track that matches user language
        https://bugs.webkit.org/show_bug.cgi?id=114976

        Reviewed by Jer Noble.

        Test: media/track/track-automatic-subtitles.html

        * page/CaptionUserPreferencesMac.mm:
        (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): When in "automatic" mode, only
            consider text tracks that match the user's preferred language when the primary audio track
            does not.

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

        Cancelling load may cause deadlock in -[AVPlayerItem release]
        https://bugs.webkit.org/show_bug.cgi?id=114962

        Reviewed by Eric Carlson.

        Work around a bug in AVAssetResourceLoader by using a generic, non-main dispatch queue
        to recieve AVAssetResourceLoaderDelegate callbacks, and then marshalling those
        callbacks to the main thread asynchronously.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::globalLoaderDelegateQueue): Added.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Use the new global queue.
        (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
            Marshall the request to the main queue, and return YES (wait) immediately.

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

        [GTK] Set up libPlatform.la
        https://bugs.webkit.org/show_bug.cgi?id=114168

        Reviewed by Martin Robinson.

        No new tests - no new functionality.

        * GNUmakefile.am: Also add the LevelDB-specific cppflags to the platform_cppflags if required as the LevelDB
        code is now built into the new libPlatform.la library.
        * GNUmakefile.list.am: Build a small set of non-GTK-specific platform source files that are already free of
        platform violations into the new libPlatform.la library.

2013-04-22  Andy Estes  <aestes@apple.com>

        Range.getClientRects() should not include rects for partially selected elements
        https://bugs.webkit.org/show_bug.cgi?id=76839

        Reviewed by Sam Weinig.

        CSSOM says that Range.getClientRects() should include the border boxes
        of each element selected by the range. However, we were also
        incorrectly including border boxes for partially selected elements.
        For instance, consider the following selection:

            <div>line one<br>line two</div>
            -------------

        The <div> is two lines tall, but only the first line is selected.
        Despite this, we'd include the <div>'s border box since its start tag
        was included in the selection.

        Fix this by excluding partially selected elements. This is accomplished
        by skipping over elements that come after the start boundary point of
        the range but are ancestors of the end boundary point.

        Added test cases to LayoutTests/fast/dom/Range/getClientRects.html.

        * dom/Range.cpp:
        (WebCore::Range::getBorderAndTextQuads):

2013-04-22  Yi Shen  <max.hong.shen@gmail.com>

        Crash on OS X when shift clicking outside of input
        https://bugs.webkit.org/show_bug.cgi?id=104058

        Reviewed by Chang Shu.

        Shift clicking outside of a focused div while removing the focused div from
        the dom tree at the same time may hit a null visible position, which should
        not be used to calculate the text distance with the new selection's start and
        end position. Otherwise, the browser may crash.

        Test: editing/selection/crash-on-shift-click.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEventSingleClick):

2013-04-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        Scrollbar should not depend on EventHandler, Frame and FrameView
        https://bugs.webkit.org/show_bug.cgi?id=114941

        Reviewed by Darin Adler.

        It's a layering violation that Scrollbar uses EventHandler, Frame
        and FrameView. Frame is used to get the EventHandler that is used
        to set mousePressed to false after a Scrollbar::mouseUp(). This is
        not really needed, since EventHandler already sets m_mousePressed
        to false when calling Scrollbar::mouseUp(). The PopupMenu windows
        implementation also calls Scrollbar::mouseUp(), but that scrollbar
        is not inside a FrameView.

        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::isScrollViewScrollbar):
        isScrollViewScrollbar() is a method of ScrollView so we don't need
        to cast to FrameView.
        (WebCore::Scrollbar::mouseUp): Remove EventHandler ussage.

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

        Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.
        <http://webkit.org/b/97268>
        <rdar://problem/12376519>

        Reviewed by Sam Weinig.

        * CMakeLists.txt: Add a workaround for GCC 4.6.x in Release mode so it
        does not crash.

2013-04-22  John Griggs  <jgriggs@blackberry.com>

        [BlackBerry] URL decode data: URLs before passing to the platform media player.
        https://bugs.webkit.org/show_bug.cgi?id=114887

        Reviewed by Rob Buis.

        Pass data URL through URL decoding before passing to platform media player.  PR 313635.

        Reviewed internally by Liam Quinn

        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::load):

2013-04-22  Xuefei Ren  <xren@blackberry.com>


        fix build warning(unused parameter)
        https://bugs.webkit.org/show_bug.cgi?id=114855

        Reviewed by Rob Buis.

        remove warning(unused parameter) in
        Source/WebCore/platform/graphics/blackberry

        * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
        (WebCore::CanvasLayerCompositingThreadClient::drawTextures):
        (WebCore::CanvasLayerCompositingThreadClient::deleteTextures):
        (WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
        * platform/graphics/blackberry/FontBlackBerry.cpp:
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
        (WebCore::FontCache::getSimilarFontPlatformData):
        (WebCore::FontCache::getTraitsInFamily):
        * platform/graphics/blackberry/GlyphPageTreeNodeBlackBerry.cpp:
        (WebCore::GlyphPage::fill):
        * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
        (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
        * platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::roundToDevicePixels):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::clipConvexPolygon):
        (WebCore::GraphicsContext::setURLForRect):
        (WebCore::GraphicsContext::setPlatformStrokeColor):
        (WebCore::GraphicsContext::setPlatformFillColor):
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/blackberry/ImageBlackBerry.cpp:
        (WebCore::BitmapImage::draw):
        (WebCore::Image::drawPattern):
        * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
        (WebCore::flushAndDraw):
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/blackberry/LayerTiler.cpp:
        (WebCore::LayerTiler::drawTile):
        * platform/graphics/blackberry/PathBlackBerry.cpp:
        (WebCore::GraphicsContext::drawFocusRing):
        (WebCore::GraphicsContext::clipPath):
        * platform/graphics/blackberry/PatternBlackBerry.cpp:
        (WebCore::Pattern::platformPattern):

2013-04-22  Mike Fenton  <mifenton@rim.com>

        [BlackBerry] Add additional datalist support.
        https://bugs.webkit.org/show_bug.cgi?id=114883

        Reviewed by Rob Buis.

        PR 210083.

        Extend support for datalist to include all non-popup input types.

        Re-enabling fast/forms/datalist/input-list

        Internally Reviewed by Otto Cheung.

        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore::RenderThemeBlackBerry::supportsDataListUI):

2013-04-22  Alberto Garcia  <agarcia@igalia.com>

        [BlackBerry] Add dummy implementations of DragData::droppedFileSystemId()
        https://bugs.webkit.org/show_bug.cgi?id=114861

        Reviewed by Carlos Garcia Campos.

        * platform/blackberry/DragDataBlackBerry.cpp:
        (WebCore):
        (WebCore::DragData::droppedFileSystemId):

2013-04-22  Mihai Maerean  <mmaerean@adobe.com>

        [CSS Regions] Elements in a region should be assignable to a named flow
        https://bugs.webkit.org/show_bug.cgi?id=74144

        Reviewed by David Hyatt.

        DOM children of a region must not be rendered as children of the region, but can be collected in flow threads.

        NodeRenderingContext::parentRenderer now creates the parent render flow thread if it doesn't exist.

        Element::moveToFlowThreadIsNeeded is a virtual method that is overriden in PseudoElement to return false and
        in SVGElement so only svg root elements can directly be collected by a render flow thread.

        RenderObject::canDOMChildrenHaveRenderParent exists to optimize the code so nodes inside regions (and maybe
        other types of renderers in the future) can still have renderers if they need to be in a flow thread while the
        rest of renderers that can't have children skip the new instructions.

        Tests: fast/regions/flow-body-in-html.html . To test the duplicate bug #103685.
               fast/regions/region-content-flown-into-region.html
               fast/regions/universal-selector-children-to-the-same-region.html . To test the duplicate bug #103685.

        * dom/Element.cpp:
        (WebCore::Element::moveToFlowThreadIsNeeded):
        * dom/Element.h:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::parentRenderer): the renderer that will be the parent for this node's renderer.
        In the case of RenderFlowThreads, it may need to create it.
        (WebCore::NodeRenderingContext::shouldCreateRenderer): In a region, only the children that need to be in a flow
        thread should have a renderer.
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        (WebCore::NodeRenderingContext::moveToFlowThread):
        * dom/NodeRenderingContext.h:
        (NodeRenderingContext):
        * dom/PseudoElement.h: pseudo-elements cannot be directly collected into a named flow.
        * dom/Text.cpp:
        (WebCore::Text::textRendererIsNeeded):
        (WebCore::Text::updateTextRenderer): Because calling textRendererIsNeeded(NodeRenderingContext(...)) on a
        non-const l-value NodeRenderingContext cannot be done on a temporary object on the stack.
        * dom/Text.h:
        * rendering/FlowThreadController.cpp:
        (WebCore::FlowThreadController::isContentNodeRegisteredWithAnyNamedFlow):
        * rendering/FlowThreadController.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::canDOMChildrenHaveRenderParent): Even if this render object can't have render children,
        the children in the DOM tree may have a render parent (that is different from this render object).
        * rendering/RenderRegion.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::moveToFlowThreadIsNeeded): Allow only svg root elements to be directly collected by a
        render flow thread.
        * svg/SVGElement.h:

2013-04-22  Alberto Garcia  <agarcia@igalia.com>

        Gradient: add PlatformGradient definition for BlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=114727

        Reviewed by Carlos Garcia Campos.

        * platform/graphics/Gradient.h:
        (Graphics):

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

        Use DOM ordering for list counts
        https://bugs.webkit.org/show_bug.cgi?id=110352

        Reviewed by Elliott Sprehn.

        Currently the list items ordering is made by traversing the render tree. This gives bad results for:
        - list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
        - list items matched to insertion points inside a shadow tree. The insertion point may be a child of a
        list so the numbering gets broken.

        To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
        so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
        namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
        for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
        pre-order traversal methods aware of the pseudo-elements.
        An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
        no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
        first parent of the <li> or the shadow root if there is no ancestor.
        The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
        To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
        of this method. The CSS counters and the list items now have the same traversal algorithm.

        In later patches I'll add tests that should cover the regions and shadow DOM use cases.
        Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
        Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975

        Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
        and fast/dom/shadow/shadow-and-list-elements.html

        * dom/Node.cpp:
        (WebCore::Node::pseudoAwarePreviousSibling):
        (WebCore):
        (WebCore::Node::pseudoAwareNextSibling):
        (WebCore::Node::pseudoAwareFirstChild):
        (WebCore::Node::pseudoAwareLastChild):
        * dom/Node.h:
        (Node):
        * dom/NodeTraversal.cpp:
        (WebCore):
        (WebCore::NodeTraversal::previousIncludingPseudo):
        (NodeTraversal):
        (WebCore::NodeTraversal::nextIncludingPseudo):
        (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
        * dom/NodeTraversal.h:
        (ElementTraversal):
        (NodeTraversal):
        (WebCore::ElementTraversal::previousIncludingPseudo):
        (WebCore::ElementTraversal::nextIncludingPseudo):
        (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
        (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::attach):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::updateItemValues):
        (WebCore::HTMLOListElement::recalculateItemCount):
        * rendering/RenderCounter.cpp:
        (WebCore::previousInPreOrder):
        (WebCore::previousSiblingOrParent):
        (WebCore::parentElement):
        (WebCore::nextInPreOrder):
        * rendering/RenderListItem.cpp:
        (WebCore):
        (WebCore::enclosingList):
        (WebCore::RenderListItem::nextListItem):
        (WebCore::previousListItem):
        (WebCore::RenderListItem::calcValue):
        (WebCore::RenderListItem::explicitValueChanged):
        (WebCore::previousOrNextItem):
        (WebCore::RenderListItem::updateListMarkerNumbers):
        * rendering/RenderListItem.h:
        (RenderListItem):

2013-04-22  Alberto Garcia  <agarcia@igalia.com>

        Fix multiple definition of ImageBuffer::platformLayer() in the BlackBerry port
        https://bugs.webkit.org/show_bug.cgi?id=114936

        Reviewed by Carlos Garcia Campos.

        We already have a definition in ImageBufferBlackBerry.cpp.

        * platform/graphics/ImageBuffer.cpp:
        (WebCore):

2013-04-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Division by zero in CSSGradientValue::addStops()
        https://bugs.webkit.org/show_bug.cgi?id=114807

        Reviewed by Dean Jackson.

        The normalization of the color stop positions of a linear gradient
        doesn't take into account that the first and last position can be
        the same. In such case the positions are computed dividing by 0.
        Clamp the positions to 1 without moving the end points in such
        case to match what other browsers do. This ensures that positions
        passed to the platform gradient are in the 0-1 range which fixes a
        crash due to an assert in BlackBerry port running test
        fast/forms/type-after-focus-rule-shrink-width.html.

        Test: fast/gradients/css3-color-stop-invalid.html

        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::addStops):

2013-04-21  Benjamin Poulain  <benjamin@webkit.org>

        Fix some minor bad use of strings in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=114907

        Reviewed by Darin Adler.

        * editing/Editor.cpp:
        (WebCore::Editor::selectedText): This was implicitly getting the emptyString()
        for the argument "".
        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::takeResults): ditto.

2013-04-21  Dirk Schulze  <krit@webkit.org>

        [Part 4] Parse the custom() function in -webkit-filter: parse the matN() functions
        https://bugs.webkit.org/show_bug.cgi?id=71444

        Reviewed by Dean Jackson.

        Custom filter parameters should support mat2 to mat4 value functions. Added parsing
        and style resolving bits to support the matrix function values. A later patch will
        add the matrices to the shader program.

        https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters

        Modified existing tests to cover changes.

        * GNUmakefile.list.am: Added WebKitCSSMatFunctionValue to individual build systems.
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForCustomFilterMatParameter):
        (WebCore):
        (WebCore::valueForCustomFilterParameter):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTransform):
        (WebCore::CSSParser::parseMatValue):
        (WebCore):
        (WebCore::CSSParser::parseCustomFilterParameters):
        * css/CSSParser.h:
        (WebCore):
        * css/CSSValue.cpp:
        (WebCore::CSSValue::reportMemoryUsage):
        (WebCore::CSSValue::equals):
        (WebCore::CSSValue::cssText):
        (WebCore::CSSValue::destroy):
        (WebCore::CSSValue::cloneForCSSOM):
        * css/CSSValue.h:
        (WebCore::CSSValue::isWebKitCSSMatFunctionValue):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::parseCustomFilterArrayParameter):
        (WebCore::StyleResolver::parseCustomFilterParameter):
        * css/StyleResolver.h:
        (StyleResolver):
        * css/WebKitCSSMatFunctionValue.cpp:
        (WebCore::WebKitCSSMatFunctionValue::WebKitCSSMatFunctionValue):
        (WebCore::WebKitCSSMatFunctionValue::customCssText):
        (WebCore::WebKitCSSMatFunctionValue::cloneForCSSOM):
        (WebCore::WebKitCSSMatFunctionValue::equals):
        (WebCore::WebKitCSSMatFunctionValue::reportDescendantMemoryUsage):
        * css/WebKitCSSMatFunctionValue.h:
        (WebKitCSSMatFunctionValue):
        (WebCore::WebKitCSSMatFunctionValue::create):
        * platform/graphics/filters/CustomFilterArrayParameter.h:
        (WebCore::CustomFilterArrayParameter::create):
        (WebCore::CustomFilterArrayParameter::CustomFilterArrayParameter):
        * platform/graphics/filters/CustomFilterParameter.h:
        (CustomFilterParameter):
        * platform/graphics/filters/CustomFilterRenderer.cpp:
        (WebCore::CustomFilterRenderer::bindProgramParameters):

2013-04-12  Balazs Kelemen  <kbalazs@webkit.org>

        [GStreamer] Media attribute preload="none" is not honored
        https://bugs.webkit.org/show_bug.cgi?id=114357

        Reviewed by Philippe Normand.

        Fix the logic that prevents live streams from being buffered to not make preload="none" ignored.

        Test: http/tests/media/video-preload.html
        We need a http test because the bug does not triggered with local files.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        (MediaPlayerPrivateGStreamer):
        Remove m_originalPreloadWasAutoAndWasOverridden because it is not necessary and it is causing this bug.
        Currently if the tag has preload="none" attribute we set m_preload to Auto in the constructor. After that
        MedaPlayer calls setPreload(None), so we set m_originalPreloadWasAutoAndWasOverridden to true and later
        reset m_preload to Auto. The error prone factor here is that the m_preload member is repeated in the
        private class and setPreload is also used there. This seems to be necessary because we need to be able
        to ignore preloading if this is a live stream. Fortunately the original parsed value is available in the
        constructor, so we can use that. This will give the correct value that we should override only in the case
        of a live stream and that's it, we don't need to reset it later to Auto.
        Furthermore, we should ignore setting preload to auto from js if it is a live stream. This patch also handles
        this with an early return in setPreload.

2013-04-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Widget should not depend on AXObjectCache
        https://bugs.webkit.org/show_bug.cgi?id=114514

        Reviewed by Chris Fleizach.

        Move AXObjectCache usage from platform files to FrameView.

        * WebCore.exp.in: Update symbols.
        * page/FrameView.cpp:
        (WebCore::FrameView::didAddScrollbar): Handle scrollbar updates in
        AXObjectCache.
        (WebCore::FrameView::willRemoveScrollbar): Handle scrollbar
        updates in AXObjectCache and remove the scrollbar from the cache.
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setHasHorizontalScrollbar): Use
        didAddScrollbar/willRemoveScrollbar
        (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::didAddScrollbar): This is the old
        didAddVerticalScrollbar and didAddHorizontalScrollbar joined in a
        single method that receives a ScrollbarOrientation parameter.
        (WebCore::ScrollableArea::willRemoveScrollbar): This is the old
        willRemoveVerticalScrollbar and
        willRemoveHorizontalScrollbarScrollbar joined in a single method
        that receives a ScrollbarOrientation parameter.
        * platform/ScrollableArea.h:
        (ScrollableArea):
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::~Scrollbar): Remove AXObjectCache usage.
        * platform/Scrollbar.h:
        * platform/Widget.h:
        (Widget): Remove axObjectCache() method.
        * platform/mac/ScrollAnimatorMac.h:
        (ScrollAnimatorMac):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::createScrollbar): Use didAddScrollbar.
        (WebCore::RenderLayer::destroyScrollbar): Use willRemoveScrollbar.
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::createScrollbar): Use didAddScrollbar.
        (WebCore::RenderListBox::destroyScrollbar): Use willRemoveScrollbar.

2013-04-20  Dirk Schulze  <krit@webkit.org>

        [Part 5] Parse color value for custom() function parameters
        https://bugs.webkit.org/show_bug.cgi?id=114902

        Reviewed by Dean Jackson.

        Custom filter parameters should support color values. Added parsing
        and style resolving bits to support color values. A later patch will
        add the color values to the shader program.

        https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters

        Modified existing tests to cover changes.

        * GNUmakefile.list.am: Added CustomFilterColorParameter to support color values
            as custom filter parameters.
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::valueForCustomFilterColorParameter):
        (WebCore):
        (WebCore::valueForCustomFilterParameter):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseCustomFilterParameters):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::parseCustomFilterColorParameter):
        (WebCore):
        (WebCore::StyleResolver::parseCustomFilterParameter):
        * css/StyleResolver.h:
        (StyleResolver):
        * platform/graphics/filters/CustomFilterColorParameter.h: Added.
        (WebCore):
        (WebCore::blendFunc):
        (CustomFilterColorParameter):
        (WebCore::CustomFilterColorParameter::create):
        (WebCore::CustomFilterColorParameter::blend):
        (WebCore::CustomFilterColorParameter::color):
        (WebCore::CustomFilterColorParameter::setColor):
        (WebCore::CustomFilterColorParameter::operator==):
        (WebCore::CustomFilterColorParameter::CustomFilterColorParameter):
        (WebCore::CustomFilterColorParameter::~CustomFilterColorParameter):
        * platform/graphics/filters/CustomFilterParameter.h:
        (CustomFilterParameter):
        * platform/graphics/filters/CustomFilterRenderer.cpp:
        (WebCore::CustomFilterRenderer::bindProgramParameters):

2013-04-20  Glenn Adams  <glenn@skynav.com>

        REGRESSION (r147588): Line breaks occur in the middle of Hebrew words at haaertz.co.il and other websites
        https://bugs.webkit.org/show_bug.cgi?id=114721

        Reviewed by Dean Jackson.

        Tests: fast/text/line-break-after-empty-inline-hebrew.html
               fast/text/line-break-after-inline-latin1.html

        If prior context changes content or length after creating line break iterator, then need to
        create new iterator with new prior context instead of using cached iterator with old prior context.

        * platform/text/TextBreakIterator.h:
        (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Initialize members to cache reference to initialized prior context.
        (WebCore::LazyLineBreakIterator::get): Create new iterator if prior context content reference changes.
        (WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator): Reset cached prior context references.
        (LazyLineBreakIterator): Add members to cache reference to initialized prior context.

2013-04-19  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Arrow of combo box are drawn twice
        https://bugs.webkit.org/show_bug.cgi?id=113917

        Reviewed by Gyuyoung Kim.

        combo_button_icon part is for arrow so that images of combo_button part should
        not contain arrow.

        No new tests required due to no behavioral change.

        * platform/efl/DefaultTheme/widget/combo/combo_focus_button.png:
        * platform/efl/DefaultTheme/widget/combo/combo_hover_button.png:
        * platform/efl/DefaultTheme/widget/combo/combo_press_button.png:

2013-04-19  Brendan Long  <b.long@cablelabs.com>

        Add interfaces and stubs for audio and video tracks
        https://bugs.webkit.org/show_bug.cgi?id=113965

        Reviewed by Jer Noble.

        No new tests because there's no implementations, so there's nothing
        interesting to test.

        * CMakeLists.txt: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
        * DerivedSources.cpp: Same.
        * DerivedSources.make: Same.
        * DerivedSources.pri: Same.
        * GNUmakefile.list.am: Same.
        * Target.pri: Same.
        * UseJSC.cmake: Same.
        * WebCore.vcproj/WebCore.vcproj: Same.
        * WebCore.xcodeproj/project.pbxproj: Same.
        * bindings/gobject/GNUmakefile.am: Same.
        * bindings/js/JSAudioTrackCustom.cpp: Added, based on JSTestTrackCustom
        * bindings/js/JSAudioTrackListCustom.cpp: Same.
        * bindings/js/JSBindingsAllInOne.cpp: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
        * bindings/js/JSVideoTrackCustom.cpp: Added, based on JSTestTrackCustom
        * bindings/js/JSVideoTrackListCustom.cpp: Same.
        * dom/EventTarget.h: Make AudioTrackList and VideoTrackList event targets.
        * dom/EventTargetFactory.in: Same.
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Add m_audioTracks and m_videoTracks
        (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear clients for audio and video tracks
        (WebCore::HTMLMediaElement::audioTrackEnabledChanged): Added.
        (WebCore::HTMLMediaElement::videoTrackSelectedChanged): Added.
        (WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
        (WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack): Same.
        (WebCore::HTMLMediaElement::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
        (WebCore::HTMLMediaElement::mediaPlayerDidRemoveVideoTrack): Same.
        (WebCore::HTMLMediaElement::addAudioTrack): Added, based on addTextTrack
        (WebCore::HTMLMediaElement::addVideoTrack): Same.
        (WebCore::HTMLMediaElement::removeAudioTrack): Added, based on removeTextTrack
        (WebCore::HTMLMediaElement::removeVideoTrack): Added, based on removeTextTrack
        (WebCore::HTMLMediaElement::removeAllInbandTracks): Remove audio and video tracks too
        (WebCore::HTMLMediaElement::audioTracks): Added, based on textTracks
        (WebCore::HTMLMediaElement::videoTracks): Added, based on textTracks
        (WebCore::HTMLMediaElement::reportMemoryUsage): Add audio and video tracks
        * html/HTMLMediaElement.h: Add audioTracks and videoTracks and related functions
        * html/HTMLMediaElement.idl: Add audioTracks and videoTracks
        * html/track/AudioTrack.cpp: Added, based on TextTrack and InbandTextTrack.
        * html/track/AudioTrack.h: Same.
        * html/track/AudioTrack.idl: Added.
        * html/track/AudioTrackList.cpp: Added, based on TextTrackList
        * html/track/AudioTrackList.h: Same.
        * html/track/AudioTrackList.idl: Added.
        * html/track/TextTrackList.h: Add missing OVERRIDE on interfaceName()
        * html/track/VideoTrack.cpp: Added, based on TextTrack and InbandTextTrack.
        * html/track/VideoTrack.h: Same.
        * html/track/VideoTrack.idl: Added.
        * html/track/VideoTrackList.cpp: Added, based on TextTrackList
        * html/track/VideoTrackList.h: Same.
        * html/track/VideoTrackList.idl: Added.
        * platform/graphics/AudioTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::addAudioTrack): Added, based on addTextTrack
        (WebCore::MediaPlayer::removeAudioTrack): Added, based on removeTextTrack
        (WebCore::MediaPlayer::addVideoTrack): Added, based on addTextTrack
        (WebCore::MediaPlayer::removeVideoTrack): Added, based on removeTextTrack
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
        (WebCore::MediaPlayerClient::mediaPlayerDidAddVideoTrack): Same
        (WebCore::MediaPlayerClient::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
        (WebCore::MediaPlayerClient::mediaPlayerDidRemoveVideoTrack): Same
        * platform/graphics/VideoTrackPrivate.h: Added, based on InbandTextTrackPrivate.h

2013-04-19  Bear Travis  <betravis@adobe.com>

        [CSS Exclusions] Implement empty segments for multiple-segment shape-insides
        https://bugs.webkit.org/show_bug.cgi?id=100049

        Reviewed by David Hyatt.

        Content should not overflow a shape-inside segment, even if that means no content
        will be placed in that segment. Overflow may be pushed to outside the shape. This
        patch removes the restriction that every line must consume at least some text
        input while inside a shape-inside. Content that does not fit is pushed down until
        it does, either inside the shape or just below it.

        Test: fast/exclusions/shape-inside/shape-inside-empty-segments.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::constructBidiRunsForSegment): Do not include empty segments for
        consideration, as the actual BidiRuns construction expects to consume at
        least one character.
        (WebCore::constructBidiRunsForLine): Ditto.
        (WebCore::firstPositiveWidth): Find the first positive word measurement width,
        as there may be some empty word break measurements inserted.
        (WebCore::adjustLogicalLineTop): Move the current line down, if necessary, to
        fit it within the shape inside.
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange): If nothing fit in the
        current segment, find the first available position for the smallest item
        at the beginning of the text.
        (WebCore::RenderBlock::LineBreaker::nextLineBreak): Return an empty segment
        for a line that is inside the shape, but has no segments.
        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Do not consume
        input to meet minimum size requirements if you are inside a shape.

2013-04-19  Ryosuke Niwa  <rniwa@webkit.org>

        Add a missing null pointer check after r148759.

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::containingBlock):

2013-04-19  Benjamin Poulain  <benjamin@webkit.org>

        Use Vector instead of StringBuilder for CSSPreloadScanner's buffers
        https://bugs.webkit.org/show_bug.cgi?id=114794

        Reviewed by Ryosuke Niwa.

        Cleanup for other String changes.

        CSSPreloadScanner only handles UChar, StringBuilder was a little
        overkill.

        * html/parser/CSSPreloadScanner.cpp:
        (WebCore):
        (WebCore::ruleEqualIgnoringCase):
        (WebCore::CSSPreloadScanner::emitRule):
        * html/parser/CSSPreloadScanner.h:

2013-04-19  Benjamin Poulain  <benjamin@webkit.org>

        StyledMarkupAccumulator::appendText() should not allocate an intermediary StringBuilder
        https://bugs.webkit.org/show_bug.cgi?id=114847

        Reviewed by Geoffrey Garen.

        For some reason StyledMarkupAccumulator::appendText() was allocating a separate buffer
        for invoking appendStyleNodeOpenTag. This is a bad idea.

        * editing/markup.cpp:
        (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
        (WebCore::StyledMarkupAccumulator::appendText):

2013-04-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Support the SourceMap header, X-SourceMap was deprecated
        https://bugs.webkit.org/show_bug.cgi?id=114888

        Check first for SourceMap, then fallback to X-SourceMap. Leaving in
        support for the deprecated header because most tools and articles
        online mention that version and have not yet updated.

        Reviewed by Timothy Hatcher.

        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::sourceMapURLForResource):

2013-04-19  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Backend should detect sourceMappingURLs in CSS Resources
        https://bugs.webkit.org/show_bug.cgi?id=114854

        Reviewed by Timothy Hatcher.

        Test: http/tests/inspector/network/css-source-mapping-url.html

        * inspector/Inspector.json:
        - Page.getResourceTree - add sourceMapURL to resource payloads
        - Network.loadingFinished and Network.requestServedFromMemoryCache,
          include the sourceMapURL in the results.

        * inspector/ContentSearchUtils.h:
        * inspector/ContentSearchUtils.cpp:
        (WebCore::ContentSearchUtils::scriptCommentPattern):
        (WebCore::ContentSearchUtils::stylesheetCommentPattern):
        (WebCore::ContentSearchUtils::findMagicComment):
        (WebCore::ContentSearchUtils::findScriptSourceURL):
        (WebCore::ContentSearchUtils::findScriptSourceMapURL):
        (WebCore::ContentSearchUtils::findStylesheetSourceMapURL):
        Separate Script and Stylesheet regex pattern creation, but
        share the search function using the pattern.

        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        Update function names. Check for the SourceMap header before
        checking for a sourceMappingURL comment.

        * inspector/InspectorPageAgent.h:
        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::sourceMapURLForResource):
        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
        Provide the sourceMapURL for Page.getResourceTree.

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForCachedResource):
        (WebCore::InspectorResourceAgent::didFinishLoading):
        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
        Include sourceMapURLs in finish loading and request served from cache.

2013-04-19  Shawn Singh  <shawnsingh@chromium.org>

        Remove non-overlap testing code in RenderLayerCompositor
        https://bugs.webkit.org/show_bug.cgi?id=85521

        Reviewed by Simon Fraser.

        m_compositingConsultsOverlap is always true in the current
        code. This patch removes this flag, and removes dead code that is
        never executed because it was never false.

        No new tests, no change in behavior.  The cleanup is covered by
        existing tests.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
        removed if-statement that is always true.
        
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
        removed if-statement that would never get triggered.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::updateCompositingLayers):
        removed m_compositingConsultsOverlap, and retained the code as if the flag were "true".
        
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

2013-04-19  Roger Fong  <roger_fong@apple.com>

        Unreviewed. WebKit_Source is incorrectly set.

        * WebCore.vcxproj/WebCore.make:

2013-04-18  Ryosuke Niwa  <rniwa@webkit.org>

        Make loops in RenderObject::containingBlock homogeneous in their forms to simplify
        https://bugs.webkit.org/show_bug.cgi?id=114853

        Reviewed by David Hyatt.

        This patch prepares us to avoid computing containing blocks during a depth-first traversal of the render tree.

        Extracted inline functions out of RenderBlock::containingBlock to make the code simpler. Also moved the code
        to obtain the nearest containing block out of the loop for a relatively positioned inline.

        * rendering/RenderObject.cpp:
        (WebCore::isNonReplacedInlineInFlowPosition): Extracted.
        (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): Extracted.
        (WebCore::isNonRenderBlockInline): Extracted.
        (WebCore::RenderObject::containingBlock): Refactored as stated above.

2013-04-19  Tim Horton  <timothy_horton@apple.com>

        WebKit should not decode or support PDF favicons
        https://bugs.webkit.org/show_bug.cgi?id=114650
        <rdar://problem/10133914>

        Reviewed by Dan Bernstein.

        Drop the image data on the floor if it begins with the PDF magic number.
        No other browser I can find on OS X supports PDF favicons (by experimentation),
        and we do not properly display them.

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::notifyFinished):

2013-04-19  Martin Robinson  <mrobinson@igalia.com>

        Remove the OpenVG backend
        https://bugs.webkit.org/show_bug.cgi?id=114881

        Reviewed by Tim Horton.

        * platform/graphics/FloatRect.h:
        (FloatRect): Remove #ifdefs for OpenVG backend.
        * platform/graphics/GraphicsContext.cpp:
        (WebCore): Ditto.
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/NativeImagePtr.h:
        (WebCore): Ditto.
        * platform/graphics/Path.cpp:
        (WebCore): Ditto.
        * platform/graphics/Path.h:
        * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Removed.
        * platform/graphics/openvg/EGLDisplayOpenVG.h: Removed.
        * platform/graphics/openvg/EGLUtils.h: Removed.
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp: Removed.
        * platform/graphics/openvg/ImageOpenVG.cpp: Removed.
        * platform/graphics/openvg/PainterOpenVG.cpp: Removed.
        * platform/graphics/openvg/PainterOpenVG.h: Removed.
        * platform/graphics/openvg/PathOpenVG.cpp: Removed.
        * platform/graphics/openvg/PlatformPathOpenVG.h: Removed.
        * platform/graphics/openvg/SharedResourceOpenVG.cpp: Removed.
        * platform/graphics/openvg/SharedResourceOpenVG.h: Removed.
        * platform/graphics/openvg/SurfaceOpenVG.cpp: Removed.
        * platform/graphics/openvg/SurfaceOpenVG.h: Removed.
        * platform/graphics/openvg/TiledImageOpenVG.cpp: Removed.
        * platform/graphics/openvg/TiledImageOpenVG.h: Removed.
        * platform/graphics/openvg/VGUtils.cpp: Removed.
        * platform/graphics/openvg/VGUtils.h: Removed.
        * platform/graphics/transforms/AffineTransform.h:
        (AffineTransform): Ditto.
        * platform/graphics/transforms/TransformationMatrix.h:
        (TransformationMatrix): Ditto.
        * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Removed.

2013-04-19  Andrei Bucur  <abucur@adobe.com>

        ContainerNode::removeChildren should first detach the children then remove them
        https://bugs.webkit.org/show_bug.cgi?id=113433

        Reviewed by Ryosuke Niwa.

        Currently, ContainerNode::removeChildren initially removes the nodes from the DOM tree and then
        calls detach() on each of them. This is anti-intuitive and can lead to subtle bugs because the
        detached renderers are not backed by a valid DOM tree any more. With the patch, the nodes are first
        detached and then removed from the DOM.
        The patch also lets the tree in a consistent state after each node removal by clearing the previous
        sibling pointer of the node following the one removed.
        I haven't found any proof the performance will get worse if the detachment happens when the children
        are still in the DOM tree.

        Tests: No changed visible functionality.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChildren):

2013-04-19  Dirk Schulze  <krit@webkit.org>

        Refactor transform code in StyleResolver
        https://bugs.webkit.org/show_bug.cgi?id=114874

        Reviewed by Andreas Kling.

        Move transform code frome StyleResolver into own files.

        Refactoring, no changes in functionality.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):
        (WebCore::StyleResolver::parseCustomFilterTransformParameter):
        * css/StyleResolver.h:
        * css/TransformFunctions.cpp: Added.
        (WebCore):
        (WebCore::transformOperationType):
        (WebCore::convertToFloatLength):
        (WebCore::transformsForValue):
        * css/TransformFunctions.h: Added.
        (WebCore):
        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::setMatrixValue):

2013-04-19  Erik Arvidsson  <arv@chromium.org>

        Rename TextTrackList owner to element for consistency
        https://bugs.webkit.org/show_bug.cgi?id=79822

        Reviewed by Eric Carlson.

        No new tests. Covered by existing tests.

        * bindings/js/JSTextTrackListCustom.cpp:
        (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
        (WebCore::JSTextTrackList::visitChildren):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::~HTMLMediaElement):
        * html/track/TextTrackList.cpp:
        (TextTrackList::append):
        (TextTrackList::remove):
        * html/track/TextTrackList.h:
        (WebCore::TextTrackList::create):
        * html/track/TrackListBase.cpp:
        (TrackListBase::TrackListBase):
        (TrackListBase::remove):
        * html/track/TrackListBase.h:
        (WebCore::TrackListBase::clearElement):
        (WebCore::TrackListBase::element):
        (TrackListBase):

2013-04-19  Andreas Kling  <akling@apple.com>

        [Mac] ComplexTextController is slow with large numbers of text runs.
        <http://webkit.org/b/114875>
        <rdar://problem/13337036>

        Reviewed by Dan Bernstein.

        Instead of iterating over the text runs in indexOfCurrentRun() to figure out the leftmost glyph,
        create a lookup table of [run# -> distance in glyphs] at ComplexTextController construction time.

        This avoids O(n^2) behavior in indexOfCurrentRun().

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::ComplexTextController):
        (WebCore::ComplexTextController::indexOfCurrentRun):
        * platform/graphics/mac/ComplexTextController.h:
        (ComplexTextController):

2013-04-19  Mario Sanchez Prada  <mario.prada@samsung.com>

        [GTK] Minimize calls to GailTextUtil in AtkText implementation
        https://bugs.webkit.org/show_bug.cgi?id=114868

        Reviewed by Martin Robinson.

        Create a new helper function to concentrate inside of it the calls to
        gail_text_util_get_text(), so we can get rid of it later more easily.

        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
        (webkitAccessibleTextGetTextForOffset): New helper function.
        (webkitAccessibleTextGetTextAfterOffset): Rely on the new function.
        (webkitAccessibleTextGetTextAtOffset): Ditto.
        (webkitAccessibleTextGetTextBeforeOffset): Ditto.

2013-04-19  Noam Rosenthal  <noam@webkit.org>

        [Texmap] Implementation for pattern compositing
        https://bugs.webkit.org/show_bug.cgi?id=109588

        Reviewed by Allan Sandfeld Jensen.

        Enable pattern compositing (background images) for CoordinatedGraphics/TextureMapperGL.
        Use the existing patternTransform shader uniform, multiplying it by a matrix calculated
        using the contentsRect, tileSize and tilePhase.

        Covered by existing tests in compositing/patterns.

        * platform/graphics/GraphicsLayer.h:
        (GraphicsLayer):
            Conditionally enable pattern compositing for coordinated graphics.

        * platform/graphics/texmap/TextureMapper.cpp:
        (WebCore::TextureMapper::TextureMapper):
        * platform/graphics/texmap/TextureMapper.h:
        (WebCore::TextureMapper::setPatternTransform):
        (WebCore::TextureMapper::setWrapMode):
        (WebCore::TextureMapper::wrapMode):
        (WebCore::TextureMapper::patternTransform):
            Add wrapMode and patternTransform properties to the TextureMapper state.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
            Paint with GL_REPEAT and a pattern transform when needed.

        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
        (WebCore):
        (WebCore::TextureMapperLayer::paintSelf):
        (WebCore::TextureMapperLayer::setContentsRect):
        (WebCore::TextureMapperLayer::setContentsTileSize):
        (WebCore::TextureMapperLayer::setContentsTilePhase):
            Apply the patternTransform from the tile size/phase.

        * platform/graphics/texmap/TextureMapperLayer.h:
        (WebCore::TextureMapperLayer::TextureMapperLayer):
        (TextureMapperLayer):
        (WebCore::TextureMapperLayer::setShouldMapBackingStoreToContentsRect):
        (State):
        (WebCore::TextureMapperLayer::State::State):
            Allow the client to configure whether a layer uses its bounds or its
            contents rect to paint the backing store.
            This is needed now since layers with background images, unlike layers
            with regular images, may have bounds that are greater than the contents
            rect.

        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
        (WebCore::CoordinatedGraphicsLayer::setContentsTileSize):
        (WebCore):
        (WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):
        (WebCore::CoordinatedGraphicsLayer::setShouldSupportContentsTiling):
        (WebCore::GraphicsLayer::supportsContentsTiling):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
        (CoordinatedGraphicsLayer):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
        (WebCore::CoordinatedGraphicsScene::setLayerState):
        (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
        (CoordinatedGraphicsLayerState):
            Logic to pass the tileSize/tilePhase from CoordinatedGraphicsLayer
            to TextureMapperLayer.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
            Don't reset the layer's image contents when this is a directly composited image.

2013-04-19  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK][AC] Manage actor's children by using clutter's own way.
        https://bugs.webkit.org/show_bug.cgi?id=114257

        Reviewed by Gustavo Noronha Silva.

        I believe we don't need to maintain a children list of GList. We can do it
        by using clutter APIs like clutter_actor_get_children, clutter_actor_get_first_child, etc.

        No new tests since no functionality changed.

        * platform/graphics/clutter/GraphicsLayerActor.cpp:
        (graphics_layer_actor_init):
        (graphicsLayerActorAllocate):
        (graphicsLayerActorPaint):
        (graphicsLayerActorRemoveAll):
        (graphicsLayerActorGetnChildren):
        (graphicsLayerActorReplaceSublayer):
        (graphicsLayerActorInsertSublayer):
        * platform/graphics/clutter/GraphicsLayerActor.h:
        (_GraphicsLayerActor):

2013-04-19  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK][AC] Support masksToBounds for clutter AC backend.
        https://bugs.webkit.org/show_bug.cgi?id=114113

        Reviewed by Gustavo Noronha Silva.

        We can support the masksToBounds property by using clutter_actor_set_clip simply.

        Covered by existing AC tests.

        * platform/graphics/clutter/GraphicsLayerActor.cpp:
        (graphicsLayerActorSetMasksToBounds):
        * platform/graphics/clutter/GraphicsLayerActor.h:
        * platform/graphics/clutter/GraphicsLayerClutter.cpp:
        (WebCore::GraphicsLayerClutter::setMasksToBounds):
        (WebCore):
        (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerClutter::setupContentsLayer):
        (WebCore::GraphicsLayerClutter::updateMasksToBounds):
        * platform/graphics/clutter/GraphicsLayerClutter.h:
        (GraphicsLayerClutter):

2013-04-19  Dan Beam  <dbeam@chromium.org>

        Remove unmaintained feature REQUEST_AUTOCOMPLETE
        https://bugs.webkit.org/show_bug.cgi?id=114846

        Reviewed by Kent Tamura.

        * GNUmakefile.list.am: Remove AutocompleteErrorEvent.h include.
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore): Remove requestAutocomplete() runtime feature.
        * bindings/generic/RuntimeEnabledFeatures.h:
        (RuntimeEnabledFeatures): Remove requestAutocomplete() runtime feature.
        * dom/AutocompleteErrorEvent.h: Removed.
        * dom/AutocompleteErrorEvent.idl: Removed.
        * dom/EventNames.h: Remove `autocomplete` and `autocompleteerror` event names.
        (WebCore):
        * dom/EventNames.in: Remove `autocomplete` and `autocompleteerror` event names.
        * html/HTMLAttributeNames.in: Remove `onautocomplete` and `onautocompleteerror` form attributes.
        * html/HTMLFormElement.cpp: Remove requestAutocomplete() related code.
        (WebCore::HTMLFormElement::HTMLFormElement): Remove timer and event queue for requestAutocomplete() related events.
        (WebCore::HTMLFormElement::parseAttribute): Remove parsing of `onautocomplete` and `onautocompleterror`.
        * html/HTMLFormElement.h: Remove requestAutocomplete() related members.
        (HTMLFormElement):
        * html/HTMLFormElement.idl: Remove public requestAutocomplete() API method.
        * loader/EmptyClients.cpp: Remove stub implementation.
        (WebCore):
        * loader/EmptyClients.h: Remove stub interface.
        (EmptyFrameLoaderClient):
        * loader/FrameLoaderClient.h: Remove didRequestAutocomplete() from interface.
        (FrameLoaderClient):
        * page/DOMWindow.idl: Remove `AutocompleteErrorEvent` from window DOM interface.

2013-04-18  Timothy Hatcher  <timothy@apple.com>

        Add CSS.setStyleText to the Web Inspector protocol.

        This provides a direct path for the Safari Web Inspector to live edit whole style rules.

        https://webkit.org/b/109340
        rdar://problem/13337211

        Reviewed by Joseph Pecoraro.

        * inspector/Inspector.json:
        (CSS.setStyleText): Added.
        * inspector/InspectorCSSAgent.cpp:
        (InspectorCSSAgent::SetStyleTextAction):
        (WebCore::InspectorCSSAgent::SetStyleTextAction::SetStyleTextAction): Added.
        (WebCore::InspectorCSSAgent::SetStyleTextAction::perform): Added.
        (WebCore::InspectorCSSAgent::SetStyleTextAction::undo): Added.
        (WebCore::InspectorCSSAgent::SetStyleTextAction::redo): Added.
        (WebCore::InspectorCSSAgent::SetStyleTextAction::mergeId): Added.
        (WebCore::InspectorCSSAgent::SetStyleTextAction::merge): Added.
        (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
        (WebCore::InspectorCSSAgent::setStyleText): Added.
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::getText): Added.
        (WebCore::InspectorStyle::setText): Added.
        (WebCore::InspectorStyleSheet::setStyleText):
        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
        * inspector/InspectorStyleSheet.h:
        (WebCore::InspectorStyle::styleText): Added as an alias to getText.
        (WebCore::InspectorStyle::applyStyleText): Added as an alias to setText.

2013-04-18  Jer Noble  <jer.noble@apple.com>

        Unreviewed gardening; fix bindings tests after r148700.

        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):

2013-04-18  Andy Estes  <aestes@apple.com>

        REGRESSION (r116645): Versions app's UI is munged in HiDPI due to background-size being reset to 'auto' when background short-hand is also specified
        https://bugs.webkit.org/show_bug.cgi?id=114833

        Reviewed by David Kilzer.

        Added applicationIsVersions() to RuntimeApplicationChecks.

        * WebCore.exp.in:
        * platform/RuntimeApplicationChecks.cpp:
        (WebCore::applicationIsVersions):
        (WebCore):
        * platform/RuntimeApplicationChecks.h:
        (WebCore):

2013-04-18  Sam Weinig  <sam@webkit.org>

        Network Process crashing trying to read in IDNScriptWhiteList.txt
        https://bugs.webkit.org/show_bug.cgi?id=114827

        Reviewed by Anders Carlsson.

        Move IDNScriptWhiteList.txt from WebKit to WebCore, so that the NetworkProcess does not have to link against
        WebKit. It was a layering violation for WebCore to be trying to access WebKit resources anyway.

        * Resources/IDNScriptWhiteList.txt: Copied from Source/WebKit/mac/Resources/IDNScriptWhiteList.txt.
        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/WebCoreNSURLExtras.mm:
        (WebCore::readIDNScriptWhiteList):

2013-04-18  Simon Fraser  <simon.fraser@apple.com>

        Remove GraphicsLayerCA::constrainedSize() now that we can manage large layer memory use ourselves in TileController
        https://bugs.webkit.org/show_bug.cgi?id=114834

        Reviewed by Tim Horton.

        GraphicsLayerCA::constrainedSize() was added to handle poor CATiledLayer behavior when layer sizes
        got extremely large. Now that we no longer use CATiledLayer, remove this code. We can later add
        tile memory bounding to TileController if that becomes necessary.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::updateGeometry):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):

2013-04-18  Alberto Garcia  <agarcia@igalia.com>

        Remove obsolete macros from libpng
        https://bugs.webkit.org/show_bug.cgi?id=114817

        Reviewed by Benjamin Poulain.

        libpng 1.4 removes the png_voidp_NULL and png_error_ptr_NULL
        macros. Null pointers must be used directly instead.

        * platform/image-encoders/PNGImageEncoder.cpp:
        (WebCore::compressRGBABigEndianToPNG):

2013-04-18  Jer Noble  <jer.noble@apple.com>

        CodeGeneratorJS.pm should generate "isFiringEventListeners()" check in isReachableFromOpaqueRoots()
        https://bugs.webkit.org/show_bug.cgi?id=114784

        Reviewed by Geoffrey Garen.

        EventTarget subclasses shouldn't have to use CustomIsReachable directives
        in order to keep their wrappers alive while firing event listeners.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):

2013-04-17  Geoffrey Garen  <ggaren@apple.com>

        Renamed JSGlobalData to VM
        https://bugs.webkit.org/show_bug.cgi?id=114777

        Reviewed by Phil Pizlo.

        * ForwardingHeaders/runtime/JSGlobalData.h: Removed.
        * ForwardingHeaders/runtime/VM.h: Copied from Source/WebCore/ForwardingHeaders/runtime/JSGlobalData.h.
        * WebCore.exp.in:
        * WebCore.order:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * bindings/js/DOMObjectHashTableMap.cpp:
        (WebCore::DOMObjectHashTableMap::mapFor):
        * bindings/js/DOMObjectHashTableMap.h:
        (JSC):
        (DOMObjectHashTableMap):
        * bindings/js/DOMWrapperWorld.cpp:
        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
        (WebCore::normalWorld):
        (WebCore::mainThreadNormalWorld):
        * bindings/js/DOMWrapperWorld.h:
        (WebCore::DOMWrapperWorld::create):
        (WebCore::DOMWrapperWorld::vm):
        (DOMWrapperWorld):
        (WebCore):
        * bindings/js/GCController.cpp:
        (WebCore::collect):
        (WebCore::GCController::garbageCollectSoon):
        (WebCore::GCController::garbageCollectNow):
        (WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
        (WebCore::GCController::discardAllCompiledCode):
        * bindings/js/IDBBindingUtilities.cpp:
        (WebCore::get):
        (WebCore::set):
        (WebCore::deserializeIDBValue):
        (WebCore::deserializeIDBValueBuffer):
        (WebCore::idbKeyToScriptValue):
        * bindings/js/JSCallbackData.h:
        (WebCore::JSCallbackData::JSCallbackData):
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        (WebCore::JSSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::getHashTableForGlobalData):
        (WebCore::reportException):
        (WebCore::cacheDOMStructure):
        * bindings/js/JSDOMBinding.h:
        (WebCore::DOMConstructorObject::createStructure):
        (WebCore::DOMConstructorWithDocument::finishCreation):
        (WebCore::getDOMStructure):
        (WebCore::setInlineCachedWrapper):
        (WebCore):
        (WebCore::jsStringWithCache):
        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
        (WebCore::JSDOMGlobalObject::finishCreation):
        * bindings/js/JSDOMGlobalObject.h:
        (JSDOMGlobalObject):
        (WebCore::JSDOMGlobalObject::createStructure):
        (WebCore::getDOMConstructor):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
        (WebCore::JSDOMWindowBase::finishCreation):
        (WebCore::JSDOMWindowBase::updateDocument):
        (WebCore::JSDOMWindowBase::commonVM):
        * bindings/js/JSDOMWindowBase.h:
        (JSDOMWindowBase):
        (WebCore::JSDOMWindowBase::createStructure):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        (WebCore::DialogHandler::dialogCreated):
        (WebCore::DialogHandler::returnValue):
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
        (WebCore::JSDOMWindowShell::finishCreation):
        (WebCore::JSDOMWindowShell::setWindow):
        * bindings/js/JSDOMWindowShell.h:
        (JSDOMWindowShell):
        (WebCore::JSDOMWindowShell::create):
        (WebCore::JSDOMWindowShell::createStructure):
        * bindings/js/JSDOMWrapper.h:
        (WebCore::JSDOMWrapper::JSDOMWrapper):
        * bindings/js/JSDeviceMotionEventCustom.cpp:
        (WebCore::createAccelerationObject):
        (WebCore::createRotationRateObject):
        * bindings/js/JSDictionary.cpp:
        (WebCore::JSDictionary::convertValue):
        * bindings/js/JSDictionary.h:
        (WebCore::JSDictionary::JSDictionary):
        * bindings/js/JSErrorHandler.cpp:
        (WebCore::JSErrorHandler::handleEvent):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSEventListener.h:
        (WebCore::JSEventListener::setWrapper):
        (WebCore::JSEventListener::jsFunction):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::all):
        (WebCore::JSHTMLDocument::setAll):
        * bindings/js/JSHTMLTemplateElementCustom.cpp:
        (WebCore::JSHTMLTemplateElement::content):
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::state):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::finishCreation):
        * bindings/js/JSImageConstructor.h:
        (WebCore::JSImageConstructor::createStructure):
        * bindings/js/JSImageDataCustom.cpp:
        (WebCore::toJS):
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::nodeAsScriptValue):
        (WebCore::JSInjectedScriptHost::functionDetails):
        (WebCore::getJSListenerFunctions):
        (WebCore::JSInjectedScriptHost::getEventListeners):
        (WebCore::JSInjectedScriptHost::inspect):
        * bindings/js/JSLazyEventListener.cpp:
        (WebCore::JSLazyEventListener::initializeJSFunction):
        * bindings/js/JSMessageEventCustom.cpp:
        (WebCore::JSMessageEvent::data):
        (WebCore::handleInitMessageEvent):
        * bindings/js/JSMutationCallback.cpp:
        (WebCore::JSMutationCallback::call):
        * bindings/js/JSMutationObserverCustom.cpp:
        (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
        * bindings/js/JSNodeFilterCondition.h:
        (WebCore::JSNodeFilterCondition::create):
        (JSNodeFilterCondition):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::toNodeFilter):
        * bindings/js/JSPopStateEventCustom.cpp:
        (WebCore::cacheState):
        * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
        (WebCore::JSRequestAnimationFrameCallback::handleEvent):
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSWorkerContextBase.cpp:
        (WebCore::JSWorkerContextBase::JSWorkerContextBase):
        (WebCore::JSWorkerContextBase::finishCreation):
        * bindings/js/JSWorkerContextBase.h:
        (WebCore::JSWorkerContextBase::createStructure):
        (JSWorkerContextBase):
        * bindings/js/PageScriptDebugServer.cpp:
        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::executeFunctionInContext):
        * bindings/js/ScheduledAction.h:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/js/ScriptCachedFrameData.cpp:
        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
        (WebCore::ScriptCachedFrameData::restore):
        (WebCore::ScriptCachedFrameData::clear):
        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        (WebCore::createScriptArguments):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::createWindowShell):
        (WebCore::ScriptController::evaluateInWorld):
        (WebCore::ScriptController::createWorld):
        (WebCore::ScriptController::getAllWorlds):
        (WebCore::ScriptController::clearWindowShell):
        (WebCore::ScriptController::initScript):
        (WebCore::ScriptController::updateDocument):
        (WebCore::ScriptController::cacheableBindingRootObject):
        (WebCore::ScriptController::bindingRootObject):
        (WebCore::ScriptController::clearScriptObjects):
        (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
        * bindings/js/ScriptControllerMac.mm:
        (WebCore::ScriptController::windowScriptObject):
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidPause):
        * bindings/js/ScriptEventListener.cpp:
        (WebCore::eventListenerHandlerBody):
        (WebCore::eventListenerHandler):
        (WebCore::eventListenerHandlerLocation):
        * bindings/js/ScriptFunctionCall.cpp:
        (WebCore::ScriptFunctionCall::call):
        (WebCore::ScriptCallback::call):
        * bindings/js/ScriptGCEvent.cpp:
        (WebCore::ScriptGCEvent::getHeapSize):
        * bindings/js/ScriptObject.cpp:
        (WebCore::ScriptObject::ScriptObject):
        (WebCore::ScriptGlobalObject::set):
        * bindings/js/ScriptState.h:
        (WebCore):
        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::deserialize):
        * bindings/js/ScriptValue.h:
        (WebCore::ScriptValue::ScriptValue):
        * bindings/js/ScriptWrappable.h:
        (JSC):
        (ScriptWrappable):
        * bindings/js/ScriptWrappableInlines.h:
        (WebCore::ScriptWrappable::setWrapper):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneDeserializer::readTerminal):
        (WebCore::SerializedScriptValue::deserializeForInspector):
        (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
        * bindings/js/WebCoreJSClientData.h:
        (WebCoreJSClientData):
        (WebCore::initNormalWorldClientData):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::WorkerScriptController):
        (WebCore::WorkerScriptController::~WorkerScriptController):
        (WebCore::WorkerScriptController::initScript):
        (WebCore::WorkerScriptController::evaluate):
        (WebCore::WorkerScriptController::scheduleExecutionTermination):
        (WebCore::WorkerScriptController::isExecutionTerminating):
        (WebCore::WorkerScriptController::disableEval):
        * bindings/js/WorkerScriptController.h:
        (JSC):
        (WebCore::WorkerScriptController::vm):
        (WorkerScriptController):
        * bindings/js/WorkerScriptDebugServer.cpp:
        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateHeader):
        (GenerateImplementation):
        (GenerateCallbackImplementation):
        (JSValueToNative):
        (GenerateConstructorDeclaration):
        (GenerateConstructorHelperMethods):
        * bindings/scripts/test/JS/JSFloat64Array.cpp:
        (WebCore::getJSFloat64ArrayConstructorTable):
        (WebCore::JSFloat64ArrayConstructor::finishCreation):
        (WebCore::getJSFloat64ArrayPrototypeTable):
        (WebCore::getJSFloat64ArrayTable):
        (WebCore::JSFloat64Array::finishCreation):
        (WebCore::JSFloat64Array::createPrototype):
        * bindings/scripts/test/JS/JSFloat64Array.h:
        (WebCore::JSFloat64Array::create):
        (WebCore::JSFloat64Array::createStructure):
        (JSFloat64Array):
        (WebCore::JSFloat64ArrayPrototype::create):
        (WebCore::JSFloat64ArrayPrototype::createStructure):
        (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
        (WebCore::JSFloat64ArrayConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
        (WebCore::JSTestActiveDOMObject::finishCreation):
        (WebCore::JSTestActiveDOMObject::createPrototype):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
        (WebCore::JSTestActiveDOMObject::create):
        (WebCore::JSTestActiveDOMObject::createStructure):
        (JSTestActiveDOMObject):
        (WebCore::JSTestActiveDOMObjectPrototype::create):
        (WebCore::JSTestActiveDOMObjectPrototype::createStructure):
        (WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype):
        (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestCallback.cpp:
        (WebCore::JSTestCallback::callbackWithNoParam):
        (WebCore::JSTestCallback::callbackWithClass1Param):
        (WebCore::JSTestCallback::callbackWithClass2Param):
        (WebCore::JSTestCallback::callbackWithStringList):
        (WebCore::JSTestCallback::callbackWithBoolean):
        (WebCore::JSTestCallback::callbackRequiresThisToPass):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
        (WebCore::JSTestCustomNamedGetter::finishCreation):
        (WebCore::JSTestCustomNamedGetter::createPrototype):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
        (WebCore::JSTestCustomNamedGetter::create):
        (WebCore::JSTestCustomNamedGetter::createStructure):
        (JSTestCustomNamedGetter):
        (WebCore::JSTestCustomNamedGetterPrototype::create):
        (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
        (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
        (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::JSTestEventConstructorConstructor::finishCreation):
        (WebCore::JSTestEventConstructor::finishCreation):
        (WebCore::JSTestEventConstructor::createPrototype):
        * bindings/scripts/test/JS/JSTestEventConstructor.h:
        (WebCore::JSTestEventConstructor::create):
        (WebCore::JSTestEventConstructor::createStructure):
        (JSTestEventConstructor):
        (WebCore::JSTestEventConstructorPrototype::create):
        (WebCore::JSTestEventConstructorPrototype::createStructure):
        (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
        (WebCore::JSTestEventConstructorConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::JSTestEventTargetConstructor::finishCreation):
        (WebCore::JSTestEventTarget::finishCreation):
        (WebCore::JSTestEventTarget::createPrototype):
        * bindings/scripts/test/JS/JSTestEventTarget.h:
        (WebCore::JSTestEventTarget::create):
        (WebCore::JSTestEventTarget::createStructure):
        (JSTestEventTarget):
        (WebCore::JSTestEventTargetPrototype::create):
        (WebCore::JSTestEventTargetPrototype::createStructure):
        (WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype):
        (WebCore::JSTestEventTargetConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestException.cpp:
        (WebCore::JSTestExceptionConstructor::finishCreation):
        (WebCore::JSTestException::finishCreation):
        (WebCore::JSTestException::createPrototype):
        * bindings/scripts/test/JS/JSTestException.h:
        (WebCore::JSTestException::create):
        (WebCore::JSTestException::createStructure):
        (JSTestException):
        (WebCore::JSTestExceptionPrototype::create):
        (WebCore::JSTestExceptionPrototype::createStructure):
        (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
        (WebCore::JSTestExceptionConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::JSTestInterfaceConstructor::finishCreation):
        (WebCore::JSTestInterface::finishCreation):
        (WebCore::JSTestInterface::createPrototype):
        * bindings/scripts/test/JS/JSTestInterface.h:
        (WebCore::JSTestInterface::create):
        (WebCore::JSTestInterface::createStructure):
        (JSTestInterface):
        (WebCore::JSTestInterfacePrototype::create):
        (WebCore::JSTestInterfacePrototype::createStructure):
        (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
        (WebCore::JSTestInterfaceConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
        (WebCore::JSTestMediaQueryListListener::finishCreation):
        (WebCore::JSTestMediaQueryListListener::createPrototype):
        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
        (WebCore::JSTestMediaQueryListListener::create):
        (WebCore::JSTestMediaQueryListListener::createStructure):
        (JSTestMediaQueryListListener):
        (WebCore::JSTestMediaQueryListListenerPrototype::create):
        (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
        (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
        (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::JSTestNamedConstructorConstructor::finishCreation):
        (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
        (WebCore::JSTestNamedConstructor::finishCreation):
        (WebCore::JSTestNamedConstructor::createPrototype):
        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
        (WebCore::JSTestNamedConstructor::create):
        (WebCore::JSTestNamedConstructor::createStructure):
        (JSTestNamedConstructor):
        (WebCore::JSTestNamedConstructorPrototype::create):
        (WebCore::JSTestNamedConstructorPrototype::createStructure):
        (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
        (WebCore::JSTestNamedConstructorConstructor::createStructure):
        (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestNode.cpp:
        (WebCore::JSTestNodeConstructor::finishCreation):
        (WebCore::JSTestNode::finishCreation):
        (WebCore::JSTestNode::createPrototype):
        * bindings/scripts/test/JS/JSTestNode.h:
        (WebCore::JSTestNode::create):
        (WebCore::JSTestNode::createStructure):
        (JSTestNode):
        (WebCore::JSTestNodePrototype::create):
        (WebCore::JSTestNodePrototype::createStructure):
        (WebCore::JSTestNodePrototype::JSTestNodePrototype):
        (WebCore::JSTestNodeConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::JSTestObjConstructor::finishCreation):
        (WebCore::JSTestObj::finishCreation):
        (WebCore::JSTestObj::createPrototype):
        (WebCore::jsTestObjCachedAttribute1):
        (WebCore::jsTestObjCachedAttribute2):
        (WebCore::setJSTestObjConditionalAttr4Constructor):
        (WebCore::setJSTestObjConditionalAttr5Constructor):
        (WebCore::setJSTestObjConditionalAttr6Constructor):
        (WebCore::setJSTestObjAnyAttribute):
        (WebCore::setJSTestObjReplaceableAttribute):
        * bindings/scripts/test/JS/JSTestObj.h:
        (WebCore::JSTestObj::create):
        (WebCore::JSTestObj::createStructure):
        (JSTestObj):
        (WebCore::JSTestObjPrototype::create):
        (WebCore::JSTestObjPrototype::createStructure):
        (WebCore::JSTestObjPrototype::JSTestObjPrototype):
        (WebCore::JSTestObjConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
        (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
        (WebCore::JSTestOverloadedConstructors::finishCreation):
        (WebCore::JSTestOverloadedConstructors::createPrototype):
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
        (WebCore::JSTestOverloadedConstructors::create):
        (WebCore::JSTestOverloadedConstructors::createStructure):
        (JSTestOverloadedConstructors):
        (WebCore::JSTestOverloadedConstructorsPrototype::create):
        (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
        (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
        (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
        (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
        (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
        (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
        (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
        (WebCore::JSTestSerializedScriptValueInterface::create):
        (WebCore::JSTestSerializedScriptValueInterface::createStructure):
        (JSTestSerializedScriptValueInterface):
        (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
        (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
        (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore::JSTestTypedefsConstructor::finishCreation):
        (WebCore::JSTestTypedefs::finishCreation):
        (WebCore::JSTestTypedefs::createPrototype):
        * bindings/scripts/test/JS/JSTestTypedefs.h:
        (WebCore::JSTestTypedefs::create):
        (WebCore::JSTestTypedefs::createStructure):
        (JSTestTypedefs):
        (WebCore::JSTestTypedefsPrototype::create):
        (WebCore::JSTestTypedefsPrototype::createStructure):
        (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
        (WebCore::JSTestTypedefsConstructor::createStructure):
        * bridge/c/CRuntimeObject.h:
        (JSC::Bindings::CRuntimeObject::createStructure):
        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CRuntimeMethod::create):
        (JSC::Bindings::CRuntimeMethod::createStructure):
        (JSC::Bindings::CRuntimeMethod::finishCreation):
        * bridge/jsc/BridgeJSC.cpp:
        (JSC::Bindings::Instance::createRuntimeObject):
        * bridge/objc/ObjCRuntimeObject.h:
        (JSC::Bindings::ObjCRuntimeObject::createStructure):
        * bridge/objc/objc_instance.mm:
        (ObjCRuntimeMethod::create):
        (ObjCRuntimeMethod::createStructure):
        (ObjCRuntimeMethod::finishCreation):
        * bridge/objc/objc_runtime.h:
        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
        * bridge/objc/objc_runtime.mm:
        (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
        (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtRuntimeObject::createStructure):
        (JSC::Bindings::QtInstance::~QtInstance):
        (JSC::Bindings::QtInstance::getQtInstance):
        * bridge/runtime_array.cpp:
        (JSC::RuntimeArray::RuntimeArray):
        (JSC::RuntimeArray::finishCreation):
        * bridge/runtime_array.h:
        (JSC::RuntimeArray::create):
        (JSC::RuntimeArray::createStructure):
        (RuntimeArray):
        * bridge/runtime_method.cpp:
        (JSC::RuntimeMethod::finishCreation):
        * bridge/runtime_method.h:
        (JSC::RuntimeMethod::create):
        (JSC::RuntimeMethod::createStructure):
        (RuntimeMethod):
        * bridge/runtime_object.cpp:
        (JSC::Bindings::RuntimeObject::RuntimeObject):
        (JSC::Bindings::RuntimeObject::finishCreation):
        * bridge/runtime_object.h:
        (JSC::Bindings::RuntimeObject::createStructure):
        * bridge/runtime_root.cpp:
        (JSC::Bindings::RootObject::RootObject):
        (JSC::Bindings::RootObject::gcProtect):
        (JSC::Bindings::RootObject::gcUnprotect):
        (JSC::Bindings::RootObject::updateGlobalObject):
        (JSC::Bindings::RootObject::addRuntimeObject):
        * bridge/runtime_root.h:
        (RootObject):
        * dom/Node.cpp:
        * dom/Node.h:
        (JSC):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::vm):
        * dom/ScriptExecutionContext.h:
        (JSC):
        (ScriptExecutionContext):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::notifyFinished):
        * inspector/ScriptArguments.cpp:
        (WebCore::ScriptArguments::ScriptArguments):
        * loader/icon/IconDatabaseBase.cpp:
        (WebCore):
        (WebCore::iconDatabase):
        (WebCore::setGlobalIconDatabase):
        * platform/qt/MemoryUsageSupportQt.cpp:
        (WebCore::memoryUsageKB):
        (WebCore::actualMemoryUsageKB):
        * platform/win/ClipboardUtilitiesWin.cpp:
        (WebCore::createGlobalData):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::performRequest):
        (WebCore::PluginView::npObject):
        (WebCore::PluginView::privateBrowsingStateChanged):
        * plugins/blackberry/PluginViewBlackBerry.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::platformStart):
        (WebCore::PluginView::getWindowInfo):
        * plugins/efl/PluginViewEfl.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::setNPWindowIfNeeded):
        (WebCore::PluginView::platformStart):
        * plugins/mac/PluginViewMac.mm:
        (WebCore::PluginView::platformStart):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::setNPWindowIfNeeded):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):
        (WebCore::PluginView::setNPWindowRect):
        * testing/js/WebCoreTestSupport.cpp:
        (WebCoreTestSupport::injectInternalsObject):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::dropProtection):

2013-04-18  Oliver Hunt  <oliver@apple.com>

        Fix windows build by moving template definition to JSDOMBinding.h

        * bindings/js/JSDOMBinding.h:
        (WebCore):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * 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:

2013-04-18  Eric Carlson  <eric.carlson@apple.com>

        Forced subtitles never rendered
        https://bugs.webkit.org/show_bug.cgi?id=114818

        Reviewed by Jer Noble.

        No new tests, media/track/track-forced-subtitles-in-band.html was updated to test this change.

        * html/track/TextTrack.cpp:
        (WebCore::TextTrack::isRendered): "forced" tracks are rendered.

2013-04-17  Anders Carlsson  <andersca@apple.com>

        Change storage factory functions to take a PageGroup and Page respectively
        https://bugs.webkit.org/show_bug.cgi?id=114776

        Reviewed by Beth Dakin.

        Change StorageNamespace::localStorageNamespace to take a PageGroup since WebKit2 needs
        to know which local storage namespace belongs to which page group. Also remove the quota parameter from
        the sessionStorageNamespace function since that's trivial to get from the Page.

        * WebCore.exp.in:
        * page/Page.cpp:
        (WebCore::Page::sessionStorage):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::localStorage):
        * storage/StorageNamespace.cpp:
        (WebCore::StorageNamespace::localStorageNamespace):
        (WebCore::StorageNamespace::sessionStorageNamespace):
        * storage/StorageNamespace.h:
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::localStorageNamespace):
        (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
        * storage/StorageNamespaceImpl.h:
        * storage/StorageStrategy.cpp:
        (WebCore::StorageStrategy::localStorageNamespace):
        (WebCore::StorageStrategy::sessionStorageNamespace):
        * storage/StorageStrategy.h:

2013-04-18  Martin Robinson  <mrobinson@igalia.com>

        [GTK] fast/canvas/DrawImageSinglePixelStretch.html fails
        https://bugs.webkit.org/show_bug.cgi?id=58309

        Reviewed by Alejandro G. Castro.

        No new tests. This patch unskips a test.

        Prevent sampling outside source boundaries, by creating subsurfaces from source surfaces.
        This also requires careful handling of negative and floating source rectangles.

        * platform/graphics/cairo/PlatformContextCairo.cpp:
        (WebCore::PlatformContextCairo::drawSurfaceToContext): Use a subsurface to prevent sampling
        outside rectangle boundaries.

2013-04-18  Jonathan Feldstein  <jfeldstein@blackberry.com>

        [BlackBerry] Improper initialization of ANGLEResources (resubmission)
        https://bugs.webkit.org/show_bug.cgi?id=114814

        Reviewed by Yong Li, Rob Buis
        Internally reviewed by Maxim Mogilnitsky

        MaxDrawBuffers, OES_standard_derivatives, OES_EGL_image_external and ARB_texture_rectangle
        are initialized through the ShBuiltInResources function so these fields do not need to be
        set again in GraphicsContext3DBlackBerry.cpp. In addition, the extension flags should not
        be set to true without getExtension being called (Khronos WebGL specs, section 5.14.14.).
        In fact, as a direct result of these extensions being enabled prior to calling
        getExtension, a WebGL conformance suite test for GL_OES_standard_derivatives was failing.

        * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
        (WebCore::GraphicsContext3D::GraphicsContext3D):

2013-04-18  Xuefei Ren  <xren@blackberry.com>

        remove build warning(unused parameter)
        https://bugs.webkit.org/show_bug.cgi?id=114670

        Reviewed by Rob Buis.

        remove warning(unused parameter) in
        Source/WebCore/html/shadow/MediaControlsBlackBerry.cpp
        Source/WebCore/loader/blackberry/CookieJarBlackBerry.cpp
        Source/WebCore/platform/blackberry/AuthenticationChallengeManager.cpp
        Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp
        Source/WebCore/platform/network/blackberry/ResourceResponseBlackBerry.cpp
        Source/WebCore/platform/network/blackberry/SocketStreamHandleBlackBerry.cpp
        Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp


        * html/shadow/MediaControlsBlackBerry.cpp:
        (WebCore::MediaControlFullscreenFullscreenButtonElement::setIsFullscreen):
        * loader/blackberry/CookieJarBlackBerry.cpp:
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        * platform/blackberry/AuthenticationChallengeManager.cpp:
        (WebCore::AuthenticationChallengeManager::notifyChallengeResult):
        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore::RenderTheme::themeForPage):
        * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
        (WebCore::ResourceResponse::doPlatformAdopt):
        * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
        (WebCore::SocketStreamHandle::notifyStatusReceived):
        * plugins/blackberry/PluginViewBlackBerry.cpp:
        (WebCore::PluginView::invalidateRegion):

2013-04-18  Xuefei Ren  <xren@blackberry.com>


        remove build warning(unused parameter)
        https://bugs.webkit.org/show_bug.cgi?id=114670

        Reviewed by Rob Buis.

        remove builde warning (unused parameter) in
        Source/WebCore/platform/blackberry/CursorBlackBerry.cpp

        * platform/blackberry/CursorBlackBerry.cpp:
        (WebCore::Cursor::Cursor):

2013-04-18  Andreas Kling  <akling@apple.com>

        EditingStyle: Avoid some unnecessary CSSStyleDeclaration wrappers.
        <http://webkit.org/b/114763>

        Reviewed by Antti Koivisto.

        removeEquivalentProperties(CSSStyleDeclaration) and removeEquivalentProperties(StylePropertySet)
        only have different behavior if the CSSStyleDeclaration is computed style (they differ in handling
        of the 'font-size' property.)

        Avoid creating a CSSStyleDeclaration for StylePropertySets where we can just pass them in directly.

        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::removeStyleAddedByNode):
        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):

2013-04-18  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        Unset :hover in inner documents
        https://bugs.webkit.org/show_bug.cgi?id=114446

        Reviewed by Antonio Gomes.

        Fixes a regression from r145126 where hover nodes in inner documents was sometimes
        not unset. Additionally it uses the new api from r145126 to avoid an unnecessary
        hit test in touch-event handling.

        Test: fast/events/touch/frame-hover-update.html

        * dom/Document.cpp:
        (WebCore::Document::updateHoverActiveState):
        * page/EventHandler.cpp:
        (WebCore::shouldGesturesTriggerActive):
        (WebCore::EventHandler::handleTouchEvent):

2013-04-18  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: Toolbar icons are displayed incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=114792

        Reviewed by Timothy Hatcher.

        Inspector uses small toolbar icons when docking the inspector.
        So icons should have different x position.

        No tests because no behavior change is expected.

        * inspector/front-end/inspector.css: Add missing 'background-position-x' values.
        (body.dock-to-bottom .toolbar-item.profiles .toolbar-icon):
        (body.dock-to-bottom .toolbar-item.cpu-profiler .toolbar-icon):
        (body.dock-to-bottom .toolbar-item.css-profiler .toolbar-icon):
        (body.dock-to-bottom .toolbar-item.heap-profiler .toolbar-icon):
        (body.dock-to-bottom .toolbar-item.canvas-profiler .toolbar-icon):
        (body.dock-to-bottom .toolbar-item.memory-chart-profiler .toolbar-icon):
        (body.dock-to-bottom .toolbar-item.memory-snapshot-profiler .toolbar-icon):

2013-04-17  Jaehun Lim  <ljaehun.lim@samsung.com>

        [css3-text] Rendering -webkit-hanging value for text-indent from css3-text
        https://bugs.webkit.org/show_bug.cgi?id=114663

        Reviewed by Beth Dakin.

        This patch is the rendering part to support hanging value for text-indent.
        "hanging" means "Inverts which lines are affected."
        It's prefixed and guarded by CSS3_TEXT flag.

        Spec: http://dev.w3.org/csswg/css-text/#text-indent

        Test: fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::requiresIndent): Inverted the return value when "-webkit-hanging" is applied.

2013-04-17  James Craig  <james@cookiecrook.com>

        AX: aria-level does not override implicit level on h1, h2, etc
        https://bugs.webkit.org/show_bug.cgi?id=114692

        Reviewed by Chris Fleizach.

        aria-level now works on headings without an explicit role="heading" defined. Updated existing test coverage.

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::headingLevel):

2013-04-17  Chris Fleizach  <cfleizach@apple.com>

        AX: VoiceOver says everything that isn't a link is a "clickable" in Safari reader?
        https://bugs.webkit.org/show_bug.cgi?id=114687

        Reviewed by Tim Horton.

        VoiceOver is saying all text is clickable, because AXPress is exposed as an action on static text.
        That is happening, because there's a click handler on the body element in this case.

        I think the best plan to keep existing functionality, but fix this case is not to expose
        the press action for static text when the handler is on the body element.

        Test: platform/mac/accessibility/press-action-not-exposed-when-body-is-click-handler.html

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::mouseButtonListener):
           Change from checking getAttributeEventListener to hasEventListeners. The former only
           checks if "onclick" is installed on the element and does not work with addEventListener!

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isStaticText):

2013-04-17  Simon Fraser  <simon.fraser@apple.com>

        Fix GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush() to do predictive visible rect expansion
        https://bugs.webkit.org/show_bug.cgi?id=114775

        Reviewed by Tim Horton.

        GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush() is intended to answer the question
        "if your visible rect is changed to X, would any tiles be created or destroyed?".
        
        However, for compositing layer tiled layers, we do some predictive visible rect expansion based on how
        the visible rect is changing when we actually commit visible rect changes. recursiveVisibleRectChangeRequiresFlush()
        was not doing that, causing it to give confusing answers, so fix it to do so.
        
        Both now call adjustTiledLayerVisibleRect(), and it's cleaner to make this a static function.
        
        A somewhat unrelated change is to take the layer bounds origin into account
        in GraphicsLayerCA::computeVisibleRect(). Desktop WebKit never sets this, but it's used
        on other platforms for composited scrolling, so needs to be taken into account
        when computing visible rects.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
        (WebCore::GraphicsLayerCA::computeVisibleRect):
        (WebCore::GraphicsLayerCA::adjustTiledLayerVisibleRect):
        (WebCore::GraphicsLayerCA::updateVisibleRect):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):

2013-04-17  Oliver Hunt  <oliver@apple.com>

        Automate generation of toJS function for classes that need to report extra memory usage
        https://bugs.webkit.org/show_bug.cgi?id=114768

        Reviewed by Geoff Garen.

        Only really used by AudioBuffer for now.  The other classes that need it can be
        trivially refactored at a later date.

        * Modules/webaudio/AudioBuffer.idl:
        * bindings/js/JSAudioBufferCustom.cpp:
        * bindings/js/JSDOMBinding.h:
        (WebCore):
        (HasMemoryCost):
        (NoType):
        (BaseMixin):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):

2013-04-17  Dirk Schulze  <krit@webkit.org>

        BasicShapeFunctions should use RenderStyle instead of StyleResolver
        https://bugs.webkit.org/show_bug.cgi?id=114743

        Reviewed by Antti Koivisto.

        BasicShapeFunctions does include RenderStyle instead of StyleResolver now.
        This is a simple refactoring patch, no new tests.

        * css/BasicShapeFunctions.cpp:
        (WebCore::convertToLength): Use style and rootElementStyle directly.
        (WebCore::basicShapeForValue): Ditto.
        * css/BasicShapeFunctions.h:
        (WebCore):
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::ApplyPropertyClipPath::applyValue):
        (WebCore::ApplyPropertyExclusionShape::applyValue):

2013-04-17  Beth Dakin  <bdakin@apple.com>

        Content inside frames and scrollbars in overflow areas hit-tests incorrectly when 
        the WKView has a header
        https://bugs.webkit.org/show_bug.cgi?id=114769

        Reviewed by Simon Fraser.

        convertToRenderer() and convertFromRenderer() need to factor in the headerHeight, 
        much like all of the conversion functions on ScrollView. 
        * page/FrameView.cpp:
        (WebCore::FrameView::convertFromRenderer):
        (WebCore::FrameView::convertToRenderer):

        The scrollPosition equivalent of the existing scrollOffsetRelativeToDocument() 
        function. 
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollPositionRelativeToDocument):
        * platform/ScrollView.h:
        (ScrollView):

2013-04-17  Andreas Kling  <akling@apple.com>

        Remove FragmentScriptingPermission.h include from Element.h.
        <http://webkit.org/b/114757>

        Rubber-stamped by Anders Carlsson.

        * dom/Element.h:

2013-04-17  Mark Lam  <mark.lam@apple.com>

        Add LLINT and baseline JIT support for timing out scripts.
        https://bugs.webkit.org/show_bug.cgi?id=114577.

        Reviewed by Geoffrey Garen.

        Replaced use of the obsolete JSGlobalData.terminator methods with the
        JSGlobalData.watchdog equivalents.

        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        (WebCore::WorkerScriptController::scheduleExecutionTermination):
        (WebCore::WorkerScriptController::isExecutionTerminating):

2013-04-16  Jer Noble <jer.noble@apple.com>

        Crash in WebCore::HTMLMediaElement::~HTMLMediaElement.
        https://bugs.webkit.org/show_bug.cgi?id=113531

        Reviewed by Eric Carlson.

        No new tests, though this is intermittently reproducible with
        http/tests/misc/delete-frame-during-readystatechange.html under ASAN.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear the media player manually
            before the destructor exits. Clearing the media player may cancel a resource load,
            which can trigger a readystatechange event. It's possible for the HTMLMediaElement
            to attempt to fire an abort event within the readystatechange event, even though it is
            now in an inconsistent state. Clearling the media player before finishing the destructor
            ensures that the HTMLMediaElement will at least still be alive if this case is triggered.
            Set m_completelyLoaded to true to ensure that if userCancelledLoad() is called, it doesn't
            attempt to fire events while destructing.

2013-04-17  Sergio Correia  <sergio.correia@openbossa.org>

        Web Inspector: make generate-inspector-protocol-version work with python3 
        https://bugs.webkit.org/show_bug.cgi?id=114717

        Revision r146765 added print() calls that made the script complain about 
        invalid syntax when using python3.

        This commit replaces such calls with calls to sys.stdout.write(), analogous
        to the sys.stderr.write() ones already used throughout the file.

        Reviewed by Timothy Hatcher.

        No new tests. No user visible behavior changed.

        * inspector/generate-inspector-protocol-version:
        (main):

2013-04-17  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: Fix Localized string warngs
        https://bugs.webkit.org/show_bug.cgi?id=114718

        Reviewed by Timothy Hatcher.

        No tests because no behavior change is expected.

        * English.lproj/localizedStrings.js:

2013-04-17  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed Windows buildfix.

        * platform/qt/DragDataQt.cpp: Add a missing include.

2013-04-17  ChangSeok Oh  <shivamidow@gmail.com>

        Breaking Float: floated block level element following inline element in floated container breaks to next line
        https://bugs.webkit.org/show_bug.cgi?id=45274

        Reviewed by David Hyatt.

        Fix position issue of floating element in floating element.
        Inner floating element has placed at next line when outer floating element has text,
        even though previous line has spaces enough to fit it.
        To solve this, the width of a space added temporarily for prohibiting duplication more than 2 empty spaces
        is subtracted when floating element is checked whether it fits on a line.

        Tests: css2.1/20110323/floats-001.html
               css2.1/20110323/floats-102.html
               fast/inline-block/float-both-whitespace.html
               fast/inline-block/float-leading-whitespace.html
               fast/inline-block/float-no-whitespace.html
               fast/inline-block/float-trailing-whitespace.html
               fast/inline-block/multiple-floats-with-whitespace.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineWidth::LineWidth):
        (WebCore::LineWidth::fitsOnLine):
        (WebCore::LineWidth::trailingWhitespaceWidth):
        (WebCore::LineWidth::setTrailingWhitespaceWidth):
        (LineWidth):
        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

2013-04-17  Leo Yang  <leoyang@rim.com>

        Lots of unused parameter warnings in filesystem code
        https://bugs.webkit.org/show_bug.cgi?id=114747

        Reviewed by Carlos Garcia Campos.

        Comment out or remove unused parameter identifiers.

        No functionalities changed, no new tests.

        * Modules/filesystem/DOMFileSystem.cpp: Comment out |snapshot| because
        it is referred in the comments inside the function.
        (WebCore):
        * Modules/filesystem/DOMFileSystemSync.cpp: Ditto.
        (WebCore):
        * Modules/filesystem/FileWriter.cpp: Remove unused |ec|.
        (WebCore::FileWriter::abort):
        * Modules/filesystem/FileWriterSync.cpp:
        (WebCore::FileWriterSync::didWrite): Remove unused |bytes|.
        * platform/AsyncFileSystemCallbacks.h:
        (WebCore::AsyncFileSystemCallbacks::didOpenFileSystem): Comment out unused parameters
        because the function is inlined.
        (WebCore::AsyncFileSystemCallbacks::didCreateSnapshotFile): Ditto.
        (WebCore::AsyncFileSystemCallbacks::didReadDirectoryEntry): Ditto.
        (WebCore::AsyncFileSystemCallbacks::didReadDirectoryEntries): Ditto.
        (WebCore::AsyncFileSystemCallbacks::didCreateFileWriter): Ditto.
        * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp:
        (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread): Remove unused |client|.

2013-04-17  Brent Fulgham  <bfulgham@webkit.org>

        [Windows, WinCairo] Stop individually building WTF files in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=114705

        Reviewed by Anders Carlsson.

        * WebCore.vcproj/WebCore.vcproj: Remove references to WTF objects.
        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto

2013-04-17  Dirk Schulze  <krit@webkit.org>

        Make lengthConversion methods and arguments const
        https://bugs.webkit.org/show_bug.cgi?id=114749

        Reviewed by Andreas Kling.

        Refactoring, no new tests.

        * css/CSSCalculationValue.cpp:
        (WebCore::CSSCalcValue::computeLengthPx):
        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
        (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
        (WebCore::CSSCalcBinaryOperation::toCalcValue):
        (WebCore::CSSCalcBinaryOperation::computeLengthPx):
        * css/CSSCalculationValue.h:
        (WebCore::CSSCalcValue::toCalcValue):
        (CSSCalcValue):
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::computeLength):
        (WebCore::CSSPrimitiveValue::computeLengthDouble):
        (WebCore::CSSPrimitiveValue::viewportPercentageLength):
        * css/CSSPrimitiveValue.h:
        (CSSPrimitiveValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::convertToLength):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::convertToIntLength):
        (WebCore::StyleResolver::convertToFloatLength):
        * css/StyleResolver.h:
        (StyleResolver):

2013-04-17  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>

        [refactor] Moved ScriptedAnimationController common code to inline function
        https://bugs.webkit.org/show_bug.cgi?id=114681

        Reviewed by Daniel Bates.

        Avoided duplicated code by moving ScriptedAnimationController clearance
        code to a common function used by both Document::dispose() and
        Document::detach().

        No new tests, no behavior changes.

        * dom/Document.cpp:
        (WebCore::Document::dispose):
        (WebCore::Document::detach):
        (WebCore::Document::clearScriptedAnimationController): Added.
        * dom/Document.h:
        (Document):

2013-04-17  Chris Fleizach  <cfleizach@apple.com>

        AX: When img@alt is undefined, WebKit should use @title as accessibility label if available
        https://bugs.webkit.org/show_bug.cgi?id=114535

        Reviewed by Tim Horton.

        Don't hide images from Accessibility that have the title attribute on them.

        Test: accessibility/empty-image-with-title.html

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

2013-04-17  Arpita Bahuguna  <a.bah@samsung.com>

        getAttribute does not behave correctly for mixed-case attributes on HTML elements
        https://bugs.webkit.org/show_bug.cgi?id=105713

        Reviewed by Andreas Kling.

        getAttribute() and getAttributeNode() APIs do not convert the
        passed attribute name to lowercase before comparing against the
        existing attributes.
        The specification however states that the passed name should
        be converted to ASCII lowercase before checking for the existence
        of the given attribute. [www.w3.org/TR/domcore/#dom-element-getattribute]

        Test: fast/dom/Element/getAttribute-case-insensitivity.html

        * dom/Element.h:
        (WebCore::ElementData::getAttributeItemIndex):
        getAttributeItemIndex() accepts a bool param 'shouldIgnoreAttributeCase'
        which specifies whether or not the attribute's case should be ignored
        before comparison but we don't really convert the passed name to lowercase
        before carrying out the comparison.

        Thus, when called from APIs such as getAttribute() and getAttributeNode()
        which do not explicitally convert the attribute name to lowercase
        before calling on this method, it fails to carry out a case-insensitive
        search.

        Have thus made changes to convert the passed attribute's name to
        lowercase if 'shouldIgnoreAttributeCase' is true.

2013-04-17  John Griggs  <jgriggs@blackberry.com>

        [BlackBerry] Add support for filesystem: URLs to BlackBerry Media Player.
        https://bugs.webkit.org/show_bug.cgi?id=114686
        https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=314865

        Reviewed by Rob Buis.

        Translate filesystem: URLs to file:// URLs for use by the media player, but only after the filesystem: URL has been checked for security, etc.

        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::load):
        (WebCore::MediaPlayerPrivate::onError):
        (WebCore::MediaPlayerPrivate::onDurationChanged):
        (WebCore::MediaPlayerPrivate::notifyChallengeResult):

2013-04-17  Brendan Long  <b.long@cablelabs.com>

        [GStreamer] Eclipse warnings in MediaPlayerPrivateGStreamer
        https://bugs.webkit.org/show_bug.cgi?id=114654

        Reviewed by Philippe Normand.

        No new tests (nothing added).

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
        Initialize m_volumeAndMuteInitialized
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
        (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
        Initialize signal handlers to 0.

2013-04-17  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Remove m_flowThread from NodeRenderingContext
        https://bugs.webkit.org/show_bug.cgi?id=114732

        Reviewed by Antti Koivisto.

        Cleanup NodeRenderingContext. Remove unused member m_flowThread.

        Tests: None needed.

        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        * dom/NodeRenderingContext.h: Removed m_flowThread.

2013-04-17  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        [Qt] MediaPlayerPrivateQt.cpp doesn't build in debug

        Unreviewed build fix.

        We need to include Logging.h to get the LOG definitions.

        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:

2013-04-17  Claudio Saavedra  <csaavedra@igalia.com>

        execCommand("RemoveFormat") might remove format after the selection
        https://bugs.webkit.org/show_bug.cgi?id=112240

        Reviewed by Ryosuke Niwa.

        Tests: editing/execCommand/remove-format-multiple-elements-mac.html

        This bug is hit when ApplyStyleCommand is used to change the
        style and the current selection ends in the beginning of a new node.
        The bug is actually a two-fold thing:

        1. There was no check as to whether the end node is really
        selected or not, and format was always removed from it with
        pushDownInlineStyleAroundNode(). An equivalent check for the start
        node was already in place, so fix it analogously.

        2. Previous stage might change the dom tree, resulting in a render
        tree that is not up-to-date. Position::upstream() is later used
        and, in order to be able to find a visually equivalent position in
        a text node, this method needs the render tree to be up-to-date,
        therefore, a call to updateLayoutIgnorePendingStylesheets() is
        necessary.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::removeInlineStyle): Make sure that no
        format is removed from the end node if it's not fully selected.
        (WebCore::ApplyStyleCommand::nodeFullySelected): Call updateLayoutIgnorePendingStylesheets()

2013-04-17  Alberto Garcia  <agarcia@igalia.com>

        [BlackBerry] GraphicsContext3D: don't initialize m_extensions in the constructor
        https://bugs.webkit.org/show_bug.cgi?id=114726

        Reviewed by Carlos Garcia Campos.

        m_extensions is now initialized on demand by
        GraphicsContext3D::getExtensions().

        Doing it in the constructor produces a crash, because
        Extensions3DOpenGLES() calls glGetString before the WebGL context
        is current.

        * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
        (WebCore::GraphicsContext3D::GraphicsContext3D):

2013-04-16  Maciej Stachowiak  <mjs@apple.com>

        Replace JSC-specific IDL extended attributes with generic (JSC+V8) ones, now that the distinction no longer matters
        https://bugs.webkit.org/show_bug.cgi?id=114712

        Reviewed by Dan Bernstein.

        No behavior change expected.

        * bindings/scripts/IDLAttributes.txt: Remove the JSFoo attributes
        that have bare Foo equivalents.
        * bindings/scripts/CodeGeneratorJS.pm: Remove support for JSFoo
        aliases.
        (GetGenerateIsReachable):
        (GetCustomIsReachable):
        (ShouldGenerateToJSDeclaration):
        (ShouldGenerateToJSImplementation):
        (HasCustomConstructor):
        (HasCustomGetter):
        (HasCustomSetter):
        (HasCustomMethod):

        Replace JSFoo attributes with equivalen Foo attributs in all files
        below:
        
        * Modules/geolocation/Geolocation.idl:
        * Modules/indexeddb/IDBDatabase.idl:
        * Modules/indexeddb/IDBObjectStore.idl:
        * Modules/webaudio/DOMWindowWebAudio.idl:
        * Modules/websockets/DOMWindowWebSocket.idl:
        * Modules/websockets/WorkerContextWebSocket.idl:
        * css/CSSRule.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSValue.idl:
        * css/MediaList.idl:
        * css/StyleMedia.idl:
        * css/StyleSheet.idl:
        * dom/MessagePort.idl:
        * dom/MutationObserver.idl:
        * dom/Node.idl:
        * fileapi/Blob.idl:
        * html/HTMLDocument.idl:
        * html/HTMLTemplateElement.idl:
        * html/canvas/ArrayBuffer.idl:
        * html/canvas/CanvasRenderingContext.idl:
        * html/canvas/DataView.idl:
        * 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:
        * html/track/TextTrack.idl:
        * html/track/TextTrackCue.idl:
        * html/track/TextTrackList.idl:
        * loader/appcache/DOMApplicationCache.idl:
        * page/BarInfo.idl:
        * page/Console.idl:
        * page/DOMSelection.idl:
        * page/DOMWindow.idl:
        * page/History.idl:
        * page/Location.idl:
        * page/MemoryInfo.idl:
        * page/Navigator.idl:
        * page/Screen.idl:
        * page/WorkerNavigator.idl:
        * plugins/DOMMimeTypeArray.idl:
        * plugins/DOMPluginArray.idl:
        * storage/Storage.idl:
        * workers/AbstractWorker.idl:
        * workers/SharedWorker.idl:
        * workers/Worker.idl:
        * workers/WorkerContext.idl:
        * workers/WorkerLocation.idl:
        * xml/XMLHttpRequestUpload.idl:

2013-04-16  Beth Dakin  <bdakin@apple.com>

        Re-name Page::layoutMilestones() to Page::requestedLayoutMilestones()
        https://bugs.webkit.org/show_bug.cgi?id=114713

        Reviewed by Simon Fraser.

        * page/FrameView.cpp:
        (WebCore::FrameView::performPostLayoutTasks):
        * page/Page.cpp:
        (WebCore::Page::Page):
        (WebCore::Page::addLayoutMilestones):
        (WebCore::Page::removeLayoutMilestones):
        (WebCore::Page::isCountingRelevantRepaintedObjects):
        * page/Page.h:
        (WebCore::Page::requestedLayoutMilestones):
        (Page):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::flushPendingLayerChanges):

2013-04-16  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Fix dependecy calculation for generated inspector files
        https://bugs.webkit.org/show_bug.cgi?id=114092

        Reviewed by Brent Fulgham.

        At least in a generated Visual Studio solution the files generated via
        CodeGeneratorInspector.py are considered outdated all the time because
        the code generator only touches the file when the content changed.
        Add an --write_always parameter to the script to touch the file always.

        * CMakeLists.txt:
        * inspector/CodeGeneratorInspector.py:

2013-04-16  Anders Carlsson  <andersca@apple.com>

        Clone storage namespaces for window.open
        https://bugs.webkit.org/show_bug.cgi?id=114703

        Reviewed by Sam Weinig.

        Pass the new page to StorageNamespace::copy.

        * page/Chrome.cpp:
        (WebCore::Chrome::createWindow):
        * storage/StorageNamespace.h:
        (StorageNamespace):
        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::copy):
        * storage/StorageNamespaceImpl.h:
        (WebCore):
        (StorageNamespaceImpl):

2013-04-16  Sam Weinig  <sam@webkit.org>

        Fix fallout after r148545.

        * platform/text/TextChecking.h:
        Move Platform defines that were incorrectly in WebCore, into Platform.h

2013-04-16  Hans Muller  <hmuller@adobe.com>

        [CSS Exclusions] polygon shape-inside layout fails
        https://bugs.webkit.org/show_bug.cgi?id=114402

        Reviewed by Dirk Schulze.

        The firstIncludedIntervalLogicalTop() method's implementation relied on optimistic
        assumptions about floating point accuracy which, in rare cases, caused it to discard
        first-fit locations based on the intersection of the minLogicalIntervalTop offset edge
        and a polygon offset edge. Now: we do not verify that first-fit locations based on the
        intersection of an offset edge and the minLogicalIntervalTop offset edge are below
        the horizontal minLogicalIntervalTop line. They're essentially below the line "by definition".

        Test: fast/exclusions/shape-inside/shape-inside-polygon-layout.html

        * rendering/ExclusionPolygon.cpp:
        (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Avoid floating point problems
            when checking intersections with the offset edge based on minLogicalIntervalTop.
        * rendering/ExclusionPolygon.h:
        (WebCore::OffsetPolygonEdge::OffsetPolygonEdge): Initialize the basis field.
        (WebCore::OffsetPolygonEdge::basis): Report what the offset edge is "based on": a polygon
            edge, the top of the line, or a (reflex) vertex.
        (OffsetPolygonEdge): Added the Basis enum to enable tracking what the geometry of
            an offset edge is based on.

2013-04-16  Jer Noble  <jer.noble@apple.com>

        Further unreviewed build fix: protect JSAudioBufferCustom with a ENABLE(WEB_AUDIO) check.

        * bindings/js/JSAudioBufferCustom.cpp:

2013-04-16  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix; add new JSAudioBuffer.cpp file to more build systems.

        * GNUmakefile.list.am:
        * Target.pri:
        * UseJSC.cmake:

2013-04-16  Jer Noble  <jer.noble@apple.com>

        Repeated use of decodeAudioData() causes leak
        https://bugs.webkit.org/show_bug.cgi?id=114709

        Reviewed by Geoffrey Garen.

        Report the correct size of the AudioBuffer to the garbage collector so that creating
        these large buffers will trigger garbage collection.

        * Modules/webaudio/AudioBuffer.cpp:
        (WebCore::AudioBuffer::memoryCost): Added; simple sum of the buffer sizes in m_channels;
        * Modules/webaudio/AudioBuffer.h:
        * Modules/webaudio/AudioBuffer.idl: Add the CustomToJSObject flag.
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSAudioBufferCustom.cpp: Added.
        (WebCore::toJS): Added; report the extra size of an AudioBuffer when the wrapper
            is created.

2013-04-16  Beth Dakin  <bdakin@apple.com>

        Need a new layout milestone to notify bundle clients when the header has been 
        flushed
        https://bugs.webkit.org/show_bug.cgi?id=114706
        -and corresponding-
        <rdar://problem/13657284>

        Reviewed by Simon Fraser.

        New LayoutMilestone is DidFirstFlushForHeaderLayer.
        * page/LayoutMilestones.h:
        
        New API to allow removing a LayoutMilestone.
        * WebCore.exp.in:
        * page/Page.cpp:
        (WebCore::Page::removeLayoutMilestones):
        * page/Page.h:
        (Page):

        New boolean member variable m_headerLayerAwaitingFirstFlush keeps track of whether 
        we need to send the DidFirstFlushForHeaderLayer milestone.
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):

        Send the milestone if appropriate.
        (WebCore::RenderLayerCompositor::flushPendingLayerChanges):

         Set m_headerLayerAwaitingFirstFlush to true for a newly created layer.
        (WebCore::RenderLayerCompositor::updateLayerForHeader):

2013-04-16  Tim Horton  <timothy_horton@apple.com>

        PlugIn Snapshotting: Crashes refreshing non-main-frame PDFPlugins
        https://bugs.webkit.org/show_bug.cgi?id=114702
        <rdar://problem/13542020>

        Reviewed by Dean Jackson.

        If:

            a) a plugin fails all the tests in willCreatePlugIn, so it is WaitingForSnapshot there
            b) primary plugin detection attempts to restart a plugin between the
               time that willCreatePlugIn and didCreatePlugIn fire
            c) when didCreatePlugIn fires, shouldAlwaysAutoStart() returns true,
               because the plug-in is whitelisted,

        we end up reattach()ing and going to Restarted state, and then going straight
        to Playing state in didCreatePlugIn.

        Instead, primary plugin promotion should be deferred until after the plugin is created,
        so that we can take that one last bit of information (shouldAlwaysAutoStart) into account
        before restarting and reattaching the plug-in.

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
        (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn):
        (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
        (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
        (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn):
        * html/HTMLPlugInImageElement.h:

2013-04-16  Wei James  <james.wei@intel.com>

        ASSERTION FAILED: i < size(), UNKNOWN in WebCore::ChannelMergerNode::process
        https://bugs.webkit.org/show_bug.cgi?id=112657

        Avoid to access input bus in checkNumberOfChannelsForInput() before the
        bus is updated with AudioNode::checkNumberOfChannelsForInput().

        Reviewed by Chris Rogers.

        * Modules/webaudio/ChannelMergerNode.cpp:
        (WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):

2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>

        Even more Windows build fix and a Qt minimal build fix attempt.

        * html/parser/XSSAuditorDelegate.cpp:
        * page/win/FrameCGWin.cpp:

2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>

        More Windows build fixes.

        * platform/win/DragDataWin.cpp:
        * platform/win/PasteboardWin.cpp:

2013-04-16  Sam Weinig  <sam@webkit.org>

        Windows build fix.

        * page/win/FrameWin.cpp:

2013-04-16  Dean Jackson  <dino@apple.com>

        PlugIns that resize in user gestures should be immune to snapshotting
        https://bugs.webkit.org/show_bug.cgi?id=114697
        <rdar://problem/13666258>

        Reviewed by Tim Horton.

        Now that we snapshot plugins if they resize above the snapshotting threshold,
        we need to make sure that we don't do it in response to a user gesture
        such as a click.

        Due to the complexities of real-world content and the way they often do
        things using timeout, I copied the code from the generic user gesture
        timeout, which gives a 5 second grace period after clicks.

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::documentHadRecentUserGesture): New static function to share the code for
            checking the time since the last click (or whatever).
        (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): Make sure
            to test for a user gesture.
        (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Move the
            code into the new function.

2013-04-15  Sam Weinig  <sam@webkit.org>

        Remove more #includes from Frame.h
        https://bugs.webkit.org/show_bug.cgi?id=114642

        Reviewed by Anders Carlsson.

        Convert Editor, FrameSelection, EventHandler and AnimationController into
        OwnPtrs, to avoid inclusion.

        * accessibility/AXObjectCache.cpp:
        * accessibility/AccessibilityObject.cpp:
        * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        * bindings/objc/DOM.mm:
        * dom/CharacterData.cpp:
        * dom/ContainerNode.cpp:
        * dom/Element.cpp:
        * editing/AlternativeTextController.cpp:
        * editing/CompositeEditCommand.cpp:
        * editing/DeleteButtonController.h:
        * editing/EditingStyle.cpp:
        * editing/InsertLineBreakCommand.cpp:
        * editing/SpellChecker.cpp:
        * editing/SpellingCorrectionCommand.cpp:
        * editing/TextInsertionBaseCommand.cpp:
        * history/CachedFrame.cpp:
        * html/HTMLAnchorElement.cpp:
        * html/HTMLInputElement.cpp:
        * html/HTMLPlugInElement.cpp:
        * html/HTMLSelectElement.cpp:
        * html/HTMLTextAreaElement.cpp:
        * html/HTMLTextFormControlElement.cpp:
        * html/TextFieldInputType.cpp:
        * html/shadow/ClearButtonElement.cpp:
        * html/shadow/MediaControlElements.cpp:
        * html/shadow/SliderThumbElement.cpp:
        * inspector/InspectorPageAgent.h:
        * loader/FrameLoader.cpp:
        * page/DOMWindow.cpp:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/FrameView.cpp:
        * page/FrameView.h:
        * page/Page.cpp:
        * page/TouchAdjustment.cpp:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        * platform/gtk/PasteboardGtk.cpp:
        * platform/qt/ClipboardQt.cpp:
        * rendering/HitTestResult.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderEmbeddedObject.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/RenderNamedFlowThread.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderSnapshottedPlugIn.cpp:
        * svg/graphics/SVGImage.cpp:
        * testing/Internals.cpp:

2013-04-16  Jessie Berlin  <jberlin@apple.com>

        Speculative Windows build fix.

        * platform/win/ContextMenuWin.cpp:

2013-04-16  Eric Carlson  <eric.carlson@apple.com>

        [Mac] in-band cues sometimes displayed late
        https://bugs.webkit.org/show_bug.cgi?id=114629

        Reviewed by Jer Noble.

        No new tests, this deals with a platform-specific issue that is extremely timing dependent.

        * html/track/InbandTextTrack.cpp:
        (WebCore::TextTrackCueMap::add): New, two way cue data <-> cue map.
        (WebCore::TextTrackCueMap::find): 
        (WebCore::TextTrackCueMap::remove):
        (WebCore::InbandTextTrack::updateCueFromCueData): New, update an existing cue. Set cue end time
            to video duration if it is unknown.
        (WebCore::InbandTextTrack::addGenericCue): Look for existing cues without considering duration
            so we can match incomplete cues.
        (WebCore::InbandTextTrack::updateGenericCue): New, update an existing cue. This allows us to 
            add in-band cues as soon as we get them from the media engine and update them as more
            information becomes available.
        (WebCore::InbandTextTrack::removeGenericCue): New, remove an existing cue. This is necessary
            because we never want to keep an incomplete cue when a seek happens.
        (WebCore::InbandTextTrack::removeCue): New, base class override so we can keep the two way
            map up to date.
        * html/track/InbandTextTrack.h:

        * html/track/TextTrack.cpp:
        (WebCore::TextTrack::addCue): TextTrack::removeCue takes a RefPtr.
        (WebCore::TextTrack::removeCue): Take a RefPtr.
        (WebCore::TextTrack::hasCue): Allow caller to request match without considering end time.
        * html/track/TextTrack.h:

        * html/track/TextTrackCue.cpp:
        (WebCore::TextTrackCue::TextTrackCue): Initialize m_processingCueChanges.
        (WebCore::TextTrackCue::willChange): Renamed from cueWillChange. Use m_processingCueChanges
            to avoid thrashing the track when many cue properties will change.
        (WebCore::TextTrackCue::didChange): Renamed from cueDidChange. Use m_processingCueChanges
            to avoid thrashing the track when many cue properties will change.
        (WebCore::TextTrackCue::setId): cueWillChange -> willChange. cueDidChange -> didChange. 
        (WebCore::TextTrackCue::setStartTime): Ditto.
        (WebCore::TextTrackCue::setEndTime): Ditto.
        (WebCore::TextTrackCue::setPauseOnExit): Ditto.
        (WebCore::TextTrackCue::setVertical): Ditto.
        (WebCore::TextTrackCue::setSnapToLines): Ditto.
        (WebCore::TextTrackCue::setLine): Ditto.
        (WebCore::TextTrackCue::setPosition): Ditto.
        (WebCore::TextTrackCue::setSize): Ditto.
        (WebCore::TextTrackCue::setAlign): Ditto.
        (WebCore::TextTrackCue::setText): Ditto.
        (WebCore::TextTrackCue::setRegionId): Ditto.
        (WebCore::TextTrackCue::isEqual): Renamed from operator==, take match rules param.
        * html/track/TextTrackCue.h:

        * html/track/TextTrackCueGeneric.cpp:
        (WebCore::TextTrackCueGeneric::isEqual): Renamed from operator==, take match rules param.
        * html/track/TextTrackCueGeneric.h:

        * platform/graphics/InbandTextTrackPrivateClient.h: Make GenericCueData refcounted.
        (WebCore::GenericCueData::create): New.
        (WebCore::GenericCueData::status): Ditto.
        (WebCore::GenericCueData::setStatus): Ditto.
        (WebCore::GenericCueData::GenericCueData):

        * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
        (WebCore::InbandTextTrackPrivateAVF::processCue): Add cues as soon as we get them from the media
            engine, update duration once we know it.
        (WebCore::InbandTextTrackPrivateAVF::resetCueValues): Tell the client to remove all incomplete
            cues we have delivered.
        * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Do not flush cues when seek completes,
            we did that when the seek started and cues can be delivered before we get the the 
            seek completed  notification.

2013-04-16  James Craig  <james@cookiecrook.com>

        dfn element should be exposed as AXGroup:AXDefinition
        https://bugs.webkit.org/show_bug.cgi?id=108980

        Reviewed by Chris Fleizach.

        dfn element now exposed as AXGroup:AXDefinition. Updated existing tests.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):

2013-04-16  Anders Carlsson  <andersca@apple.com>

        Begin chipping away at ScriptState
        https://bugs.webkit.org/show_bug.cgi?id=114695

        Reviewed by Geoffrey Garen.

        Remove ScriptStateProtectedPtr as well as evalEnabled and setEvalEnabled.

        * bindings/js/ScriptState.cpp:
        * bindings/js/ScriptState.h:
        * inspector/InjectedScriptBase.cpp:
        (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
        * inspector/ScriptArguments.cpp:
        (WebCore::ScriptArguments::ScriptArguments):
        (WebCore::ScriptArguments::globalState):
        * inspector/ScriptArguments.h:

2013-04-15  Anders Carlsson  <andersca@apple.com>

        Remove unneeded headers from ScriptExecutionContext.h
        https://bugs.webkit.org/show_bug.cgi?id=114631

        Reviewed by Alexey Proskuryakov.

        This shaves another minute off WebCore build time on my MacBook Pro.

        * dom/ScriptExecutionContext.cpp:
        * dom/ScriptExecutionContext.h:
        * fileapi/Blob.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBox.cpp:
        * rendering/RenderFlowThread.cpp:
        * rendering/RenderFrameSet.cpp:
        * rendering/RenderIFrame.cpp:
        * rendering/RenderImage.cpp:
        * rendering/RenderListBox.cpp:
        * rendering/RenderListItem.cpp:
        * rendering/RenderListMarker.cpp:
        * rendering/RenderMedia.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderRegion.cpp:
        * rendering/RenderReplaced.cpp:
        * rendering/RenderReplica.cpp:
        * rendering/RenderRubyRun.cpp:
        * rendering/RenderScrollbarPart.cpp:
        * rendering/RenderSlider.cpp:
        * rendering/RenderTable.cpp:
        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableRow.cpp:
        * rendering/RenderTableSection.cpp:
        * rendering/RenderTextControlSingleLine.cpp:
        * rendering/RenderTextTrackCue.cpp:
        * rendering/RenderVideo.cpp:
        * rendering/RenderView.cpp:
        * rendering/RenderWidget.cpp:
        * rendering/svg/RenderSVGContainer.cpp:
        * rendering/svg/RenderSVGForeignObject.cpp:
        * rendering/svg/RenderSVGGradientStop.cpp:
        * rendering/svg/RenderSVGHiddenContainer.cpp:
        * rendering/svg/RenderSVGImage.cpp:
        * rendering/svg/RenderSVGResourceContainer.cpp:
        * rendering/svg/RenderSVGResourceMarker.cpp:
        * rendering/svg/RenderSVGRoot.cpp:
        * rendering/svg/RenderSVGShape.cpp:
        * rendering/svg/RenderSVGText.cpp:

2013-04-16  Maciej Stachowiak  <mjs@apple.com>

        Remove even yet still more traces of v8
        https://bugs.webkit.org/show_bug.cgi?id=114693

        Reviewed by Anders Carlsson.

        No behavior change.

        * bindings/generic/ActiveDOMCallback.h:
        (WebCore::ActiveDOMCallback::isScriptControllerTerminating): Remove a V8-specific
        method and the comment referencing it.
        * bindings/generic/ActiveDOMCallback.cpp:
        (WebCore::ActiveDOMCallback::isScriptControllerTerminating): ditto
        * fileapi/File.cpp:
        (WebCore::File::File): Remove a comment referencing v8
        * inspector/InjectedScriptExterns.js: ditto

2013-04-16  Alexey Proskuryakov  <ap@apple.com>

        Remove unused AlternativeTextClient::dismissDictationAlternativeUI
        https://bugs.webkit.org/show_bug.cgi?id=114598

        Reviewed by Ryosuke Niwa.

        Removing dead code.

        * WebCore.exp.in:
        * editing/mac/AlternativeTextUIController.h: Made dismissAlternatives() private.
        * page/AlternativeTextClient.h:

2013-04-16  Robert Hogan  <robert@webkit.org>

        Float at exact multiple of line-height affects too many lines
        https://bugs.webkit.org/show_bug.cgi?id=112744

        Reviewed by David Hyatt.

        Tests: fast/block/float/float-with-fractional-height-vertical-lr.html
               fast/block/float/float-with-fractional-height.html

        When adding floats to the interval tree used for testing floats' overlap with lineboxes
        truncate the dimensions of the float rather than rounding them. This matches the
        treatment of linebox dimensions so ensures the test for overlap is comparing like
        with like.

        * rendering/RenderBlock.cpp:
        (WebCore::::collectIfNeeded):
        (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
        (WebCore::::string):

2013-04-16  Chris Fleizach  <cfleizach@apple.com>

        AX: aria-valuetext is not exposed on OS X.
        https://bugs.webkit.org/show_bug.cgi?id=114628

        Reviewed by Tim Horton.

        aria-valuetext is only being exposed on ARIA controls. That's because there were
        checks in place so that ONLY ARIA defined controls would return anything related to valuetext.
        We should allow this to work on native controls as well.

        Test: platform/mac/accessibility/aria-valuetext-on-native-slider.html

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::valueDescription):
        (WebCore):
        (WebCore::AccessibilityNodeObject::valueForRange):
        (WebCore::AccessibilityNodeObject::maxValueForRange):
        (WebCore::AccessibilityNodeObject::minValueForRange):
        * accessibility/AccessibilityNodeObject.h:
        (AccessibilityNodeObject):
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isRangeControl):
             Rename isARIAControl to isRangeControl and make it apply to all elements.
        * accessibility/AccessibilityObject.h:

2013-04-15  Jon Lee  <jonlee@apple.com>

        RenderView should bail out of paintBoxDecorations() when painting with a different renderer
        https://bugs.webkit.org/show_bug.cgi?id=114665
        <rdar://problem/13434884>

        Reviewed by Simon Fraser.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations): Add a check to see if we should paint within the renderer.
        This check exists in all other implementations of paintBoxDecorations(), and correctly avoids painting the
        decorations if the root provided is not the RenderView.

2013-04-16  Max Vujovic  <mvujovic@adobe.com>

        [CSS Shaders] Remove the cache of validated programs
        https://bugs.webkit.org/show_bug.cgi?id=112844

        Reviewed by Dean Jackson.

        Since we're caching CustomFilterProgram(s) now, we don't need another cache for
        CustomFilterValidatedProgram(s). With this patch, CustomFilterProgram stores a reference
        to a lazily created CustomFilterValidatedProgram, and CustomFilterGlobalContext no longer
        has a validated program cache.

        Also, this patch removes the CustomFilterValidatedProgram's stored reference to
        CustomFilterGlobalContext. The removal of the validated program cache would cause
        this reference to become weak. Validated programs only needed to keep the global context
        reference in order to create a CustomFilterCompiledProgram. In this patch, we create
        CustomFilterCompiledProgram(s) in FECustomFilter instead of in CustomFilterValidatedProgram,
        so validated programs don't need to store the global context reference anymore.

        No new tests. Just Refactoring.

        * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
        (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
        * platform/graphics/filters/CustomFilterGlobalContext.cpp:
        (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
        * platform/graphics/filters/CustomFilterGlobalContext.h:
        (CustomFilterGlobalContext):
        * platform/graphics/filters/CustomFilterProgram.cpp:
        (WebCore::CustomFilterProgram::validatedProgram):
        (WebCore::CustomFilterProgram::setValidatedProgram):
        * platform/graphics/filters/CustomFilterProgram.h:
        * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
        (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
        (WebCore::CustomFilterValidatedProgram::compiledProgram):
        (WebCore::CustomFilterValidatedProgram::setCompiledProgram):
        (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
        * platform/graphics/filters/CustomFilterValidatedProgram.h:
        (CustomFilterValidatedProgram):
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::prepareForDrawing):
        * rendering/FilterEffectRenderer.cpp:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::computeFilterOperations):

2013-04-16  Anthony Scian  <ascian@blackberry.com>

        [BlackBerry] LayerTexture: check if the graphics context is NULL
        https://bugs.webkit.org/show_bug.cgi?id=114674

        Reviewed by Rob Buis.

        Internal PR: 256522

        * platform/graphics/blackberry/LayerTexture.cpp:
        (WebCore::LayerTexture::setContentsToColor):

2013-04-13  Andreas Kling  <akling@apple.com>

        REGRESSION(r148128): window.resizeTo doesn't work from Safari address bar.
        <rdar://problem/13635894>
        <http://webkit.org/b/114561>

        Reviewed by Sam Weinig.

        Suppressing window geometry changes while any user gesture is active was a bit too restrictive,
        and broke legitimate use-cases. Narrow it down to checking EventHandler::mousePressed().

        No test yet, adding one is tracked by <http://webkit.org/b/114561>.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::allowedToChangeWindowGeometry):

            Added to share code between all DOMWindow functions that alter window geometry.

        (WebCore::DOMWindow::moveBy):
        (WebCore::DOMWindow::moveTo):
        (WebCore::DOMWindow::resizeBy):
        (WebCore::DOMWindow::resizeTo):

2013-04-16  Manuel Rego Casasnovas  <rego@igalia.com>

        [GTK][EFL] Remove deprecated libsoup API usage
        https://bugs.webkit.org/show_bug.cgi?id=104894

        Reviewed by Philippe Normand.

        Based on a patch by Claudio Saavedra <csaavedra@igalia.com>.
        Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
        libsoup/soup.h.

        * platform/network/ResourceHandleInternal.h:
        * platform/network/soup/GOwnPtrSoup.cpp:
        * platform/network/soup/ProxyResolverSoup.h:
        * platform/network/soup/ResourceErrorSoup.cpp:
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::ensureSessionIsInitialized): No need to add the requester
        feature.
        (WebCore::createSoupRequestAndMessageForHandle): SoupSession has a
        requester API, use it.

2013-04-15  Maciej Stachowiak  <mjs@apple.com>

        Remove more traces of the now-obsolete support for V8
        https://bugs.webkit.org/show_bug.cgi?id=114657

        Reviewed by Ryosuke Niwa.

        In addition to passing existing tests, I verified that the ElementFactory
        and ElementWrapperFactory files were all textually identical before and after.

        * dom/CustomEvent.cpp:
        (WebCore): Remove Use(V8) bock.
        * dom/CustomEvent.h:
        (CustomEvent): ditto
        * dom/MessageEvent.cpp:
        (WebCore::MessageEvent::MessageEvent): ditto
        (WebCore::MessageEvent::initMessageEvent): ditto
        * dom/Node.h:
        (Node): ditto
        * dom/make_event_factory.pl:
        (generateImplementation): Remove V8 support.
        * dom/make_names.pl: Remove gobs of V8 support and simplify.
        (printJSElementIncludes): 
        (printConditionalElementIncludes):
        (printFactoryCppFile):
        (printWrapperFunctions):
        (printWrapperFactoryCppFile):
        (printWrapperFactoryHeaderFile):
        * inspector/InjectedScriptCanvasModuleSource.js: Remove V8 stack
        trace code.
        * platform/qt/PlatformSupport.h: Remove a macro only used for V8 
        bindings.
        * svg/SVGZoomAndPan.h:
        (SVGZoomAndPan): Remove mention of V8 from comment.

2013-04-15  Ryosuke Niwa  <rniwa@webkit.org>

        Potential use after free in ApplyStyleCommand::splitAncestorsWithUnicodeBidi
        https://bugs.webkit.org/show_bug.cgi?id=114664

        Reviewed by Oliver Hunt.

        Use RefPtr as needed.

        No new tests since this bug was discovered by code inspection.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):

2013-04-15  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Make var and function declarations work again in the Console.

        https://webkit.org/b/114534
        rdar://problem/13614477

        Reviewed by Oliver Hunt.

        * inspector/InjectedScriptSource.js:
        (InjectedScript.prototype._evaluateOn): Use 'with' when not evaluating
        on a call frame.

2013-04-15  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: Add missing Localized strings
        https://bugs.webkit.org/show_bug.cgi?id=114656

        Reviewed by Timothy Hatcher.

        No tests because no behavior change is expected.

        * English.lproj/localizedStrings.js:

2013-04-15  Dean Jackson  <dino@apple.com>

        Rename restartedPlugin to isRestartedPlugin. This was
        review feedback from r148038 that I thought I fixed
        everywhere but failed.
        https://bugs.webkit.org/show_bug.cgi?id=114233

        * html/HTMLPlugInElement.h:
        (WebCore::HTMLPlugInElement::isRestartedPlugin): Prefix with "is".
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
        (WebCore::HTMLPlugInImageElement::setDisplayState):
        (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
        * html/HTMLPlugInImageElement.h:
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paintContents):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::isRestartedPlugin):

2013-04-15  Maciej Stachowiak  <mjs@apple.com>

        Remove V8 attribtues from IDLAttributes.txt
        https://bugs.webkit.org/show_bug.cgi?id=114651

        Reviewed by Sam Weinig.

        No tests because no behavior change is expected.

        * bindings/scripts/IDLAttributes.txt: Remove V8 attribtues.
        * html/track/TextTrackList.idl: Remove a stray V8-specific attribute
        (so I guess this change is not useless)

2013-04-15  James Craig  <james@cookiecrook.com>

        WebKit should not expose AXSubrole:AXDescriptionList on Mountain Lion as it causes a regression in VoiceOver behavior
        https://bugs.webkit.org/show_bug.cgi?id=113975

        Reviewed by Chris Fleizach.

        Serve NSAccessibilityDescriptionListSubrole or NSAccessibilityDefinitionListSubrole
        depending on platform. Updated existing test coverage.

        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper subrole]):

2013-04-15  Dean Jackson  <dino@apple.com>

        Plugins that resize might need to be snapshotted.
        https://bugs.webkit.org/show_bug.cgi?id=102157
        <rdar://problem/12696259>

        Reviewed by Tim Horton.

        A plugin could avoid snapshotting if it started very
        small (below the threshold where we autostart), and then
        resized to be large (above the threshold). Detect this
        case and tell the plugin to snapshot.

        There unfortunately is a bit of state to track when doing
        this. We have to start the snapshotting in a post-layout
        task, so we carry a flag to say we're checking size but
        not wanting the plugin to update (which would restart it).
        We also might be a plugin that would have already restarted
        due to a similar plugin being clicked or detected as dominant.
        So this patch introduces a member variable that tracks what
        decision has been made on snapshotting.

        I also added some more logging to be more clear about what is
        happening to plugins going through the snapshot process, and
        changed the order of the tests in the algorithm so that domain
        detection comes before examining the size.

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialise
            the two new member variables.
        (WebCore::HTMLPlugInImageElement::setDisplayState): Mark a restarted
            plugin as NeverSnapshot. This means that if it later resizes above the
            threshold, it won't trigger the snapshot detection.
        (WebCore::HTMLPlugInImageElement::checkSnapshotStatus): Renamed from
            updateSnapshotInfo. This now updates the snapshot, but also runs
            the check for size changes.
        (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Gather all plugins
            that look like a restarting plugin, not just those snapshotted. That
            way they can all be marked as NeverSnapshot.
        (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): Bless every
            plugin that looks similar, whether or not it is snapshotted.
        (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): More logging.
        (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Ditto.
        (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): New
            method. If the plugin was below the threshold and is now above it,
            begin the snapshotting process.
        (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Plugins
            that were marked as NeverSnapshot should start immediately. Move the origin
            test earlier in the method. If a plugin avoided snapshotting due to size,
            remember the size.
        (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Mark the
            plugin as NeverSnapshot.

        * html/HTMLPlugInImageElement.h:
        (HTMLPlugInImageElement): Four new member variables:
            - the decision we made regarding snapshotting (or not), uses the SnapshotDecision enum
            - the size when it avoided snapshotting
            - a flag to indicate the post layout update was triggered due to
              a size change
        (WebCore::HTMLPlugInImageElement::needsCheckForSizeChange): New method.
        (WebCore::HTMLPlugInImageElement::setNeedsCheckForSizeChange): New method.
        (WebCore::HTMLPlugInImageElement::snapshotDecision): Return the decision
            regarding snapshotting or not snapshotting.

        * page/FrameView.cpp:
        (WebCore::FrameView::addWidgetToUpdate): Guard updating the widget. We don't
            want to do it when we're checking for a size change in the plugin.
        (WebCore::FrameView::updateWidget): Call new name.

        * plugins/PluginViewBase.h:
        (WebCore::PluginViewBase::beginSnapshottingRunningPlugin): Empty virtual
            method to snapshot a running plugin.

        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::layout): If the plugin has increased in
            size add it to the post layout list so that it will be checked.

2013-04-15  Chris Fleizach  <cfleizach@apple.com>

        activating a focused link to an in-page fragment ID should transfer focus to the target of the link when possible
        https://bugs.webkit.org/show_bug.cgi?id=17450

        Reviewed by Maciej Stachowiak.

        When a fragment is scrolled to due to an activation event or on load, focus should attempt to 
        move to the fragment if possible.

        Test: fast/dom/fragment-activation-focuses-target.html

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollToAnchor):

2013-04-12  Maciej Stachowiak  <mjs@apple.com>

        Remove V8-specific extended attributes from IDL files
        https://bugs.webkit.org/show_bug.cgi?id=114523

        Reviewed by Geoffrey Garen.

        No tests because no behavior change is expected.

        * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
        * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
        * Modules/encryptedmedia/MediaKeySession.idl:
        * Modules/encryptedmedia/MediaKeys.idl:
        * Modules/filesystem/HTMLInputElementFileSystem.idl:
        * Modules/indexeddb/IDBAny.idl:
        * Modules/mediasource/MediaSource.idl:
        * Modules/mediasource/SourceBuffer.idl:
        * Modules/mediasource/SourceBufferList.idl:
        * Modules/mediastream/MediaStream.idl:
        * Modules/webaudio/AudioDestinationNode.idl:
        * html/track/TextTrackCue.idl:
        * html/track/TextTrackCueList.idl:
        * html/track/TextTrackList.idl:
        * html/track/TextTrackRegion.idl:
        * html/track/TextTrackRegionList.idl:
        * html/track/TrackEvent.idl:
        * storage/Storage.idl:
        * svg/SVGDocument.idl:
        * svg/SVGElement.idl:
        * workers/WorkerContext.idl:
        * xml/XMLHttpRequest.idl:
        * xml/XPathNSResolver.idl:

2013-04-15  Anders Carlsson  <andersca@apple.com>

        ScriptWrappable subclasses shouldn't have to include WeakInlines.h
        https://bugs.webkit.org/show_bug.cgi?id=114641

        Reviewed by Alexey Proskuryakov.

        Remove ScriptWrappableInlines.h includes, they're not needed anymore.

        * css/WebKitCSSMatrix.cpp:
        * dom/ClientRect.cpp:
        * dom/ClientRectList.cpp:
        * dom/Clipboard.cpp:
        * dom/DOMStringMap.cpp:
        * dom/Event.cpp:
        * dom/MutationRecord.cpp:
        * fileapi/FileList.cpp:
        * page/BarInfo.cpp:
        * plugins/DOMMimeTypeArray.cpp:
        * plugins/DOMPlugin.cpp:
        * plugins/DOMPluginArray.cpp:
        * storage/Storage.cpp:

2013-04-15  Igor Oliveira  <igor.o@sisa.samsung.com>

        Call directly RenderBlock::deleteLineBoxTree
        https://bugs.webkit.org/show_bug.cgi?id=102761

        Reviewed by Darin Adler.

        Instead of implementing RenderLineBoxList::deleteLineBoxTree logic inside 
        RenderBlock::determineStartPosition, we can reuse the code. The commentaries added
        in the changeset #86628 are not valid anymore, nextRootBox is casting m_nextLineBox 
        and nextLineBox is returning m_nextLineBox.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::determineStartPosition):

2013-04-15  Anders Carlsson  <andersca@apple.com>

        Remove files related to quota and proximity events from the Xcode project
        https://bugs.webkit.org/show_bug.cgi?id=114635

        Reviewed by Benjamin Poulain.

        * WebCore.xcodeproj/project.pbxproj:
        * history/PageCache.cpp:
        * page/DOMWindow.cpp:

2013-04-15  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Add WTF_USE_*_UNICODE variables
        https://bugs.webkit.org/show_bug.cgi?id=114556

        Reviewed by Brent Fulgham.

        WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
        reduce duplication in the platform specific CMake files.

        * CMakeLists.txt:
        * PlatformBlackBerry.cmake:
        * PlatformEfl.cmake:
        * PlatformWinCE.cmake:

2013-04-15  Eric Carlson  <eric.carlson@apple.com>

        HTMLMediaElement::removeTextTrack should clear track client
        https://bugs.webkit.org/show_bug.cgi?id=114630

        Reviewed by Jer Noble.

        No new tests, this is clean-up that prevents a potential crash.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::removeTextTrack): Clear the track client.

2013-04-15  Robert Hogan  <robert@webkit.org>

        An inline element with an absolutely positioned child does not correctly calculate/render padding and margin
        https://bugs.webkit.org/show_bug.cgi?id=47554

        Reviewed by David Hyatt.

        When looking for padding/margin to add from the start of a child's parent skip past any leading positioned siblings as 
        we don't add the padding/margin of the common parent when skipping past them in |skipLeadingWhitespace|. We
        don't need to worry about the case of trailing positioned objects as we will account for their parent's
        border/margin/padding when we encounter them in |nextSegmentBreak|.

        Test: fast/inline/padding-before-leading-positioned-element-contributes-width.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::previousInFlowSibling):
        (WebCore):
        (WebCore::inlineLogicalWidth):

2013-04-15  peavo@outlook.com  <peavo@outlook.com>

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

        Reviewed by Brent Fulgham.

        * platform/network/curl/CookieJarCurl.cpp: Added required header files.

2013-04-15  Rob Buis  <rbuis@rim.com>

        Fix some compiler warnings (miscellaneous)
        https://bugs.webkit.org/show_bug.cgi?id=80790

        Reviewed by Darin Adler.

        It does not seem needed to initialize jpeg_create_compress struct to zero,
        all that is needed is set the err field. See for instance SkImageDecoder_libjpeg.cpp.

        * platform/image-encoders/JPEGImageEncoder.cpp:
        (WebCore::compressRGBABigEndianToJPEG):

2013-04-15  Patrick Gansterer  <paroga@webkit.org>

        [GTK] Remove platform specific implementation of KURL::fileSystemPath()
        https://bugs.webkit.org/show_bug.cgi?id=114133

        Reviewed by Martin Robinson.

        r147883 added a generic implementation of this function,
        which can be used by all ports to share the code.

        * GNUmakefile.list.am:
        * platform/KURL.cpp:
        (WebCore):
        * platform/gtk/KURLGtk.cpp: Removed.

2013-04-15  Csaba Osztrogonác  <ossy@webkit.org>

        Debug buildfix after r148433.
        https://bugs.webkit.org/show_bug.cgi?id=108295

        Reviewed by Allan Sandfeld Jensen.

        * platform/graphics/texmap/TextureMapperLayer.h:
        (WebCore::TextureMapperLayer::children): Added.

2013-04-15  Noam Rosenthal  <noam@webkit.org>

        Coordinated Graphics: Remove GraphicsLayerTextureMapper dependency from CoordinatedGraphicsScene.
        https://bugs.webkit.org/show_bug.cgi?id=108295

        Since all the changes to the TextureMapperLayer tree now come in a single IPC message via
        CoordinatedGraphicsState, we don't need the additional buffering done in GraphicsLayerTextureMapper.

        This reduces unnecessary function calls, and also streamlines GraphicsLayerTextureMapper to be used
        only in WebKit1 (without CoordinatedGraphics).

        Reviewed by Allan Sandfeld Jensen.

        No new tests, refactor only.

        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
        (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
        (WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
        (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
        (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
        (WebCore):
        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
        (GraphicsLayerTextureMapper):
            Removed references to m_hasOwnBackingStore, which was done to separate the CoordinatedGraphics
            path from the WK1 path.

        * platform/graphics/texmap/TextureMapperLayer.h:
        (WebCore::TextureMapperLayer::drawsContent):
        (WebCore::TextureMapperLayer::contentsAreVisible):
        (WebCore::TextureMapperLayer::size):
        (WebCore::TextureMapperLayer::opacity):
        (WebCore::TextureMapperLayer::transform):
        (WebCore::TextureMapperLayer::isShowingRepaintCounter):
        (WebCore::TextureMapperLayer::fixedToViewport):
        (TextureMapperLayer):
            Added a few public functions needed by CoordinatedGraphicsScene.

        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
        (WebCore::layerShouldHaveBackingStore):
        (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
        (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
        (WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
        (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
        (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
        (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
        (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
        (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
        (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
        (WebCore::CoordinatedGraphicsScene::setLayerState):
        (WebCore::CoordinatedGraphicsScene::getLayerByIDIfExists):
        (WebCore::CoordinatedGraphicsScene::createLayer):
        (WebCore::CoordinatedGraphicsScene::deleteLayer):
        (WebCore::CoordinatedGraphicsScene::setRootLayerID):
        (WebCore::CoordinatedGraphicsScene::prepareContentBackingStore):
        (WebCore::CoordinatedGraphicsScene::createBackingStoreIfNeeded):
        (WebCore::CoordinatedGraphicsScene::removeBackingStoreIfNeeded):
        (WebCore::CoordinatedGraphicsScene::resetBackingStoreSizeToLayerSize):
        (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
        (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
        (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
        (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
        (WebCore::CoordinatedGraphicsScene::commitSceneState):
        (WebCore::CoordinatedGraphicsScene::ensureRootLayer):
        (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
        (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
        (CoordinatedGraphicsScene):
        (WebCore::CoordinatedGraphicsScene::layerByID):
        (WebCore::CoordinatedGraphicsScene::rootLayer):
            Use TextureMapperLayer instead of GraphicsLayer and GraphicsLayerTextureMapper.

2013-04-15  Antti Koivisto  <antti@apple.com>

        Dynamically triggered subframe loads are causing tile churn
        https://bugs.webkit.org/show_bug.cgi?id=114440
        
        Reviewed by Andreas Kling.
        
        In some cases we switch in and out of minimal tiles multiple times during page loading. This
        creates tile churn where we create speculative tiles and then throw them out. This can be
        caused by various reasons including dynamically created subframes.

        * page/FrameView.cpp:
        (WebCore::FrameView::setIsVisuallyNonEmpty):
        
            Stay in minimal tiles modes until there is some visual contents. This avoids switching out from minimal
            tiles while awaiting response for the initial requests.

        * page/FrameView.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::RenderLayerBacking):
        (WebCore::computeTileCoverage):
        * rendering/RenderLayerBacking.h:
        (WebCore::RenderLayerBacking::didSwitchToFullTileCoverageDuringLoading):
        (WebCore::RenderLayerBacking::setDidSwitchToFullTileCoverageDuringLoading):
        
            Only switch into minimal coverage mode once per page load.

        (RenderLayerBacking):

2013-04-15  Rune Lillesveen  <rune@opera.com>

        color-index media feature not supported
        https://bugs.webkit.org/show_bug.cgi?id=114468

        Reviewed by Kenneth Rohde Christiansen.

        Support the color-index media feature. Currently assumes that no WebKit
        browser will have an output device that uses a color lookup table.

        Tests: fast/media/mq-color-index-01.html
               fast/media/mq-color-index-02.html

        * css/MediaFeatureNames.h:
        (MediaFeatureNames):
        * css/MediaQueryEvaluator.cpp:
        (WebCore::color_indexMediaFeatureEval):
        (WebCore):
        (WebCore::min_color_indexMediaFeatureEval):
        (WebCore::max_color_indexMediaFeatureEval):
        * css/MediaQueryExp.cpp:
        (WebCore::featureWithPositiveInteger):
        (WebCore::featureWithoutValue):

2013-04-15  Balazs Kelemen  <kbalazs@webkit.org>

        [CoordGfx] Background color should not be part of GraphicsLayerState
        https://bugs.webkit.org/show_bug.cgi?id=113785

        Page background is independent from layer state, send it to the UI
        as soon as possible.

        Should not cause observable change in behavior so no new tests.

        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
        (WebCore::CoordinatedGraphicsScene::commitSceneState):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:

2013-04-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        [BlackBerry] Filesystem callback notifyCreateSnapshotFileAndReadMetadata can be called on the wring thread
        https://bugs.webkit.org/show_bug.cgi?id=114610

        Reviewed by Xan Lopez.

        Override notifyCreateSnapshotFileAndReadMetadata to make sure the
        callback is called on the right thread.

        Fixes a crash in several fast/filesystem test in debug builds.

        * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp:
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadataOnWorkerThread):
        * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h:

2013-04-15  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry][CSS Filters] Non-image content disappears when filter applied
        https://bugs.webkit.org/show_bug.cgi?id=114498

        Reviewed by Carlos Garcia Campos.

        Applying a filter to a div with simple text content caused the div to
        disappear.

        In https://bugs.webkit.org/show_bug.cgi?id=114276, we added some GL
        state save/restore code for vertex attributes to make sure the state
        changes done by BlackBerry::Platform::Graphics don't interfere with
        GL code executing in WebKit. However, saving and restoring vertex
        attribute state won't do much good if those attributes were never
        enabled to begin with. Fixed by enabling vertex attributes
        appropriately when setting them, so that state can be saved and
        restored.

        All the CSS Filters layout tests apply the filters to simple rectangles
        or images, there's nothing sufficiently complex that we manage to
        trigger this GL state conflict in the BlackBerry port. This suggests
        adding a new platform-specific layout test would be appropriate, but
        since we don't use pixel tests yet, such a test would not help detect
        regressions. Ultimately we decided against adding a layout test for
        this bug at this time.

        * platform/graphics/blackberry/LayerFilterRenderer.cpp:
        (WebCore::LayerFilterRenderer::applyActions):

2013-04-14  Jaehun Lim  <ljaehun.lim@samsung.com>

        [css3-text] Parsing -webkit-hanging value for text-indent from css3-text
        https://bugs.webkit.org/show_bug.cgi?id=113680

        Reviewed by Andreas Kling.

        This patch is the parsing part to support hanging value for text-indent.
        "hanging" means "Inverts which lines are affected."
        It's prefixed and guarded by CSS3_TEXT flag.

        No new tests, this patch updates existing tests.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTextIndent): Parsed "-webkit-hanging" with "-webkit-each-line".
        * css/CSSValueKeywords.in: Added "-webkit-hanging" keyword.
        * css/DeprecatedStyleBuilder.cpp:
        (WebCore::ApplyPropertyTextIndent::applyInheritValue):
        (WebCore::ApplyPropertyTextIndent::applyInitialValue):
        (WebCore::ApplyPropertyTextIndent::applyValue):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h: Added enum TextIndentType.
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h: Added m_textIndentType.
        (StyleRareInheritedData):
            Added the usual getter / setter / initial methods for m_textIndentType.

2013-04-14  Sam Weinig  <sam@webkit.org>

        Move Mac specific snapshotting code into its own file
        https://bugs.webkit.org/show_bug.cgi?id=114597

        Reviewed by Andreas Kling.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (-[DOMRange renderedImageForcingBlackText:]):
        * page/Frame.h:
        * page/mac/FrameMac.mm:
        (WebCore::Frame::nodeImage):
        (WebCore::Frame::dragImageForSelection):
        * page/mac/FrameSnapshottingMac.h: Added.
        * page/mac/FrameSnapshottingMac.mm: Added.
        (WebCore::imageFromRect):
        (WebCore::selectionImage):
        (WebCore::rangeImage):
        (WebCore::snapshotDragImage):
        * platform/mac/ClipboardMac.mm:
        (WebCore::ClipboardMac::dragNSImage):
        Move the four Mac specific snapshotting functions in Frame.h into FrameSnapshottingMac.h/mm and turn
        them into free standing functions.

2013-04-14  Andreas Kling  <akling@apple.com>

        Hawtfix Mac build.

        * WebCore.exp.in:

2013-04-14  Andreas Kling  <akling@apple.com>

        Only MutableStylePropertySets should be able to have CSSOM wrappers.
        <http://webkit.org/b/114595>

        Reviewed by Antti Koivisto.

        Tighten typing so that only MutableStylePropertySets can have CSSOM wrappers associated.
        This allows us to get rid of the out-of-line base class destructor.

        * WebCore.exp.in:
        * css/StylePropertySet.cpp:
        (WebCore::MutableStylePropertySet::~MutableStylePropertySet):
        (WebCore::MutableStylePropertySet::cssStyleDeclaration):
        (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
        * css/StylePropertySet.h:
        (StylePropertySet):
        (MutableStylePropertySet):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::inlineStyleCSSOMWrapper):

2013-04-14  Andreas Kling  <akling@apple.com>

        Remove unused function declaration StylePropertySet::setNeedsStyleRecalc().

        Rubber-stamped by Antti Koivisto.

        * css/StylePropertySet.h:
        (StylePropertySet):

2013-04-14  Andreas Kling  <akling@apple.com>

        Move StylePropertySet internal storage access helpers to subclass.
        <http://webkit.org/b/114592>

        Reviewed by Antti Koivisto.

        Removed mutablePropertyVector() since most call sites are inside MutableStylePropertySet
        and can access m_propertyVector directly. The few ones that aren't can just cast.

        For ImmutableStylePropertySet, moved value/metadata array accessors to the subclass
        and remove "immutable" from their names.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::immutableCopyIfNeeded):
        (WebCore::ImmutableStylePropertySet::ImmutableStylePropertySet):
        (WebCore::ImmutableStylePropertySet::~ImmutableStylePropertySet):
        (WebCore::MutableStylePropertySet::MutableStylePropertySet):
        (WebCore::MutableStylePropertySet::removeProperty):
        (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
        (WebCore::MutableStylePropertySet::setProperty):
        (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
        (WebCore::MutableStylePropertySet::parseDeclaration):
        (WebCore::MutableStylePropertySet::addParsedProperties):
        (WebCore::MutableStylePropertySet::clear):
        (WebCore::MutableStylePropertySet::removePropertiesInSet):
        (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
        (WebCore::MutableStylePropertySet::removeEquivalentProperties):
        (WebCore::StylePropertySet::reportMemoryUsage):
        * css/StylePropertySet.h:
        (PropertyReference):
        (StylePropertySet):
        (ImmutableStylePropertySet):
        (WebCore::ImmutableStylePropertySet::valueArray):
        (WebCore::ImmutableStylePropertySet::metadataArray):
        (WebCore::StylePropertySet::PropertyReference::propertyMetadata):
        (WebCore::StylePropertySet::PropertyReference::propertyValue):
        (WebCore::StylePropertySet::propertyCount):

2013-04-14  Andreas Kling  <akling@apple.com>

        Specialize propertyCount() in StylePropertySet subclasses.
        <http://webkit.org/b/114590>

        Reviewed by Antti Koivisto.

        Avoid branching on m_isMutable in code that already knows which type of set it is.

        * css/StylePropertySet.h:
        (WebCore::ImmutableStylePropertySet::propertyCount):
        (ImmutableStylePropertySet):
        (WebCore::MutableStylePropertySet::propertyCount):
        (MutableStylePropertySet):

2013-04-14  Andreas Kling  <akling@apple.com>

        Move property setting/removing functions to MutableStylePropertySet.
        <http://webkit.org/b/114589>

        Reviewed by Antti Koivisto.

        Move all functions for setting/removing properties from StylePropertySet to MutableStylePropertySet.
        Had to change SVGElement::animatedSMILStyleProperties() & friends to hand out MutableStylePropertySet*
        which was always the internal type anyway.

        * css/StylePropertySet.cpp:
        (WebCore::MutableStylePropertySet::removeShorthandProperty):
        (WebCore::MutableStylePropertySet::removeProperty):
        (WebCore::MutableStylePropertySet::removePrefixedOrUnprefixedProperty):
        (WebCore::MutableStylePropertySet::setProperty):
        (WebCore::MutableStylePropertySet::appendPrefixingVariantProperty):
        (WebCore::MutableStylePropertySet::setPrefixingVariantProperty):
        (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
        (WebCore::MutableStylePropertySet::removeBlockProperties):
        (WebCore::MutableStylePropertySet::removePropertiesInSet):
        (WebCore::MutableStylePropertySet::findCSSPropertyWithID):
        (WebCore::MutableStylePropertySet::removeEquivalentProperties):
        * css/StylePropertySet.h:
        (StylePropertySet):
        (MutableStylePropertySet):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::triStateOfStyle):
        (WebCore::removePropertiesInStyle):
        (WebCore::reconcileTextDecorationProperties):
        * svg/SVGAnimateElement.cpp:
        (WebCore::applyCSSPropertyToTarget):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::animatedSMILStyleProperties):
        (WebCore::SVGElement::ensureAnimatedSMILStyleProperties):
        * svg/SVGElement.h:
        (SVGElement):
        * svg/SVGElementRareData.h:
        (WebCore::SVGElementRareData::animatedSMILStyleProperties):
        (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
        (SVGElementRareData):

2013-04-14  Andreas Kling  <akling@apple.com>

        EditingStyle should have a MutableStylePropertySet internally.
        <http://webkit.org/b/114588>

        Reviewed by Anders Carlsson.

        Switch EditingStyle::m_mutableStyle to a RefPtr<MutableStylePropertySet>.

        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::copyBlockProperties):
        * css/StylePropertySet.h:
        (StylePropertySet):
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::setStyle):
        (WebCore::EditingStyle::mergeStyleFromRules):
        (WebCore::StyleChange::StyleChange):
        (WebCore::setTextDecorationProperty):
        (WebCore::StyleChange::extractTextStyles):
        (WebCore::diffTextDecorations):
        (WebCore::getPropertiesNotIn):
        * editing/EditingStyle.h:
        (WebCore::EditingStyle::style):
        (EditingStyle):
        (StyleChange):

2013-04-14  Andreas Kling  <akling@apple.com>

        Move addParsedProperty/addParsedProperties to MutableStylePropertySet.
        <http://webkit.org/b/114587>

        Reviewed by Antti Koivisto.

        All CSSParser methods that mutate an existing StylePropertySet now take a MutableStylePropertySet*
        instead of a StylePropertySet*.

        * css/CSSParser.cpp:
        (WebCore::parseColorValue):
        (WebCore::parseSimpleLengthValue):
        (WebCore::parseKeywordValue):
        (WebCore::parseTranslateTransformValue):
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseDeclaration):
        * css/CSSParser.h:
        (CSSParser):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::setProperty):
        (WebCore::MutableStylePropertySet::addParsedProperties):
        (WebCore::MutableStylePropertySet::addParsedProperty):
        * css/StylePropertySet.h:
        (StylePropertySet):
        (MutableStylePropertySet):
        * css/ViewportStyleResolver.h:
        (ViewportStyleResolver):

2013-04-14  Andreas Kling  <akling@apple.com>

        CSSParser should return ImmutableStylePropertySets.
        <http://webkit.org/b/114585>

        Reviewed by Anders Carlsson.

        The StylePropertySets created by CSSParser were already immutable.
        Let this be reflected in the pointer types returned.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseInlineStyleDeclaration):
        (WebCore::CSSParser::parseDeclaration):
        (WebCore::CSSParser::createStylePropertySet):
        * css/CSSParser.h:
        (CSSParser):

2013-04-14  Andreas Kling  <akling@apple.com>

        Move StylePropertySet::createImmutable() to ImmutableStylePropertySet.
        <http://webkit.org/b/114584>

        Reviewed by Anders Carlsson.

        StylePropertySet::createImmutable() -> ImmutableStylePropertySet::create()
        Also, immutableCopyIfNeeded() now returns a PassRefPtr<ImmutableStylePropertySet>.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::createStylePropertySet):
        * css/StylePropertySet.cpp:
        (WebCore::ImmutableStylePropertySet::create):
        (WebCore::StylePropertySet::immutableCopyIfNeeded):
        * css/StylePropertySet.h:
        (StylePropertySet):
        (ImmutableStylePropertySet):

2013-04-14  Andreas Kling  <akling@apple.com>

        Move parseDeclaration() and clear() to MutableStylePropertySet.
        <http://webkit.org/b/114583>

        Reviewed by Anders Carlsson.

        ...and remove ASSERT(isMutable()) from the function bodies.

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::removedFrom):

            Use clear() directly instead of taking an empty string through the CSS parser.

        * css/StylePropertySet.cpp:
        (WebCore::MutableStylePropertySet::parseDeclaration):
        (WebCore::MutableStylePropertySet::clear):
        * css/StylePropertySet.h:
        (StylePropertySet):
        (MutableStylePropertySet):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::setInlineStyleFromString):

2013-04-14  Andreas Kling  <akling@apple.com>

        Move CSSOM classes to using MutableStylePropertySet over StylePropertySet.
        <http://webkit.org/b/114581>

        Reviewed by Anders Carlsson.

        Moved ensureCSSStyleDeclaration() and ensureInlineCSSStyleDeclaration() from StylePropertySet
        to MutableStylePropertySet.

        StyleRule & co now return a MutableStylePropertySet* from mutableProperties() to aid with...

        CSSStyleDeclaration now only deals with MutableStylePropertySets. This was already the case
        in practice, we just didn't have any compile-time foot-shooting protection.
        In other words, if there's a CSSOM wrapper for a given StylePropertySet, it's guaranteed to
        be mutable, and the pointer types now reflect this.

        * WebCore.exp.in:
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::StyleRuleCSSStyleDeclaration::StyleRuleCSSStyleDeclaration):
        (WebCore::StyleRuleCSSStyleDeclaration::reattach):
        * css/PropertySetCSSStyleDeclaration.h:
        (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
        (PropertySetCSSStyleDeclaration):
        (WebCore::StyleRuleCSSStyleDeclaration::create):
        (StyleRuleCSSStyleDeclaration):
        (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
        * css/StylePropertySet.cpp:
        (WebCore::MutableStylePropertySet::ensureCSSStyleDeclaration):
        (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
        * css/StylePropertySet.h:
        (StylePropertySet):
        (MutableStylePropertySet):
        * css/StyleRule.cpp:
        (WebCore::StyleRule::mutableProperties):
        (WebCore::StyleRulePage::mutableProperties):
        (WebCore::StyleRuleFontFace::mutableProperties):
        (WebCore::StyleRuleViewport::mutableProperties):
        (WebCore::StyleRuleFilter::mutableProperties):
        * css/StyleRule.h:
        (StyleRule):
        (StyleRuleFontFace):
        (StyleRulePage):
        (StyleRuleViewport):
        (StyleRuleFilter):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::StyleKeyframe::mutableProperties):
        * css/WebKitCSSKeyframeRule.h:
        (StyleKeyframe):
        * dom/Attr.cpp:
        (WebCore::Attr::style):
        * dom/Attr.h:
        (Attr):
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::removeStyleAddedByNode):
        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
        (WebCore::EditingStyle::triStateOfStyle):
        (WebCore::styleFromMatchedRulesForElement):
        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::copyTypingStyle):
        * editing/FrameSelection.h:
        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):

2013-04-14  Andreas Kling  <akling@apple.com>

        Move create() methods from StylePropertySet to MutableStylePropertySet.
        <http://webkit.org/b/114574>

        Reviewed by Antti Koivisto.

        Move the two create() methods that create MutableStylePropertySets from StylePropertySet
        to MutableStylePropertySet, and make them actually return MutableStylePropertySets.
        Switch to using {Pass,}RefPtr<MutableStylePropertySet> where appropriate to keep things building.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFontFaceValue):
        * css/DOMWindowCSS.cpp:
        (WebCore::DOMWindowCSS::supports):
        * css/ElementRuleCollector.cpp:
        (WebCore::leftToRightDeclaration):
        (WebCore::rightToLeftDeclaration):
        * css/FontLoader.cpp:
        (WebCore::FontLoader::resolveFontStyle):
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::copyPropertiesInSet):
        (WebCore::MutableStylePropertySet::create):
        * css/StylePropertySet.h:
        (StylePropertySet):
        (MutableStylePropertySet):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::resolveVariables):
        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::setMatrixValue):
        * dom/Attr.cpp:
        (WebCore::Attr::style):
        * dom/Document.cpp:
        (WebCore::Document::createCSSStyleDeclaration):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::ensureMutableInlineStyle):
        (WebCore::StyledElement::rebuildPresentationAttributeStyle):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::copyStyleOrCreateEmpty):
        * editing/EditingStyle.cpp:
        (WebCore::editingStyleFromComputedStyle):
        (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
        (WebCore::EditingStyle::setProperty):
        (WebCore::EditingStyle::extractAndRemoveTextDirection):
        (WebCore::styleFromMatchedRulesForElement):
        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
        (WebCore::EditingStyle::forceInline):
        * editing/Editor.cpp:
        (WebCore::Editor::setBaseWritingDirection):
        * editing/EditorCommand.cpp:
        (WebCore::executeApplyStyle):
        (WebCore::executeToggleStyleInList):
        (WebCore::executeApplyParagraphStyle):
        (WebCore::executeMakeTextWritingDirectionLeftToRight):
        (WebCore::executeMakeTextWritingDirectionNatural):
        (WebCore::executeMakeTextWritingDirectionRightToLeft):
        * html/HTMLTableElement.cpp:
        (WebCore::leakBorderStyle):
        (WebCore::HTMLTableElement::createSharedCellStyle):
        (WebCore::leakGroupBorderStyle):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::setFont):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        * svg/SVGElementRareData.h:
        (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::getPresentationAttribute):

2013-04-13  Sam Weinig  <sam@webkit.org>

        Fix three crashes seen on the bots after "Make Frame's ScriptController an OwnPtr and remove the #include"

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::open):
        Check that the frame is not null (as it can be in cases like http/tests/xmlhttprequest/detaching-frame-2.html).
        We used to be getting lucky, in that shouldBypassMainWorldContentSecurityPolicy(), the function that is ultimately
        called, only operates on global state. Now that we need to actually dereference the Frame to get the ScriptController,
        we see this crash.

2013-04-13  Sukolsak Sakshuwong  <sukolsak@gmail.com>

        Selection direction is not preserved when applying styles
        https://bugs.webkit.org/show_bug.cgi?id=110979

        Reviewed by Ryosuke Niwa.

        The patch is based on the one submitted by Shezan Baig.

        If the starting selection was directional and its base was not first,
        switch newStart and newEnd when setting the ending direction. Otherwise,
        leave the order unchanged.

        Test: editing/style/preserve-selection-direction.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::updateStartEnd):

2013-04-13  Alexey Proskuryakov  <ap@apple.com>

        Added svn:ignore for inspector/CodeGeneratorInspectorStrings.pyc

        * inspector: Added property svn:ignore.

2013-04-13  Sam Weinig  <sam@webkit.org>

        Make Frame's ScriptController an OwnPtr and remove the #include
        https://bugs.webkit.org/show_bug.cgi?id=114105

        Reviewed by Dean Jackson.

        * Modules/websockets/WebSocket.cpp:
        * bindings/generic/BindingSecurity.cpp:
        * bindings/js/JSEventListener.cpp:
        * bindings/js/JSLazyEventListener.cpp:
        * bindings/js/PageScriptDebugServer.cpp:
        * bindings/js/ScriptEventListener.cpp:
        * bindings/js/ScriptState.cpp:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMAbstractView.mm:
        * bindings/objc/DOMInternal.mm:
        * dom/DocumentStyleSheetCollection.cpp:
        * dom/EventTarget.cpp:
        * dom/ScriptElement.cpp:
        * history/CachedFrame.cpp:
        * html/HTMLCanvasElement.cpp:
        * html/HTMLDocument.cpp:
        * html/HTMLElement.cpp:
        * html/HTMLFormElement.cpp:
        * html/HTMLPlugInElement.cpp:
        * html/HTMLPlugInImageElement.cpp:
        * html/parser/HTMLParserOptions.cpp:
        * inspector/InspectorAgent.cpp:
        * inspector/InspectorController.cpp:
        * inspector/InspectorFrontendClientLocal.cpp:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorInstrumentation.cpp:
        * inspector/InspectorOverlay.cpp:
        * inspector/InspectorPageAgent.cpp:
        * inspector/PageRuntimeAgent.cpp:
        * loader/DocumentWriter.cpp:
        * loader/NavigationScheduler.cpp:
        * loader/SubframeLoader.cpp:
        * loader/cache/CachedResourceLoader.cpp:
        * page/DOMWindow.cpp:
        * page/EventSource.cpp:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/Navigator.cpp:
        * page/Page.cpp:
        * page/PageGroup.cpp:
        * xml/XMLHttpRequest.cpp:
        * xml/XMLTreeViewer.cpp:

2013-04-13  Anders Carlsson  <andersca@apple.com>

        Add form delegate method that's invoked right before sending a submit event to a form element
        https://bugs.webkit.org/show_bug.cgi?id=114575

        Reviewed by Dan Bernstein.

        * WebCore.exp.in:
        Export a symbol.

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

2013-03-13  Robert Hogan  <robert@webkit.org>

        Whitespace between nowrap elements ignored after collapsed trailing space in a text run
        https://bugs.webkit.org/show_bug.cgi?id=17705

        Reviewed by Ryosuke Niwa.

        Bug 93448 and r138654 fixed the treatment of line-breaks between nowrap elements. This augments
        that fix by recognizing that we have a potential break not only in situations where the next character is a 
        space and the current character is not, but also where the next character is a space and the current character 
        *is* a space *and* we are ignoring spaces. This is so because any spaces we have ignored up to this point 
        after the actual word end will get collapsed away even if we don't end up taking the line break. 

        In a nutshell, if we allow whitespace collapsing 'word  ' and 'word' are equivalent when before a whitespace
        character, so treat the first as well as the second as a potential linebreak.

        Test: fast/text/whitespace/inline-whitespace-wrapping-5.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

2013-04-13  Andreas Kling  <akling@apple.com>

        Rename/tweak some StylePropertySet/CSSStyleDeclaration copying functions.
        <http://webkit.org/b/114569>

        Reviewed by Anders Carlsson.

        - StylePropertySet::copy() -> mutableCopy()

            This function now returns a MutableStylePropertySet, and this is also reflected in the name.

        - CSSStyleDeclaration::copy() -> copyProperties()

            Renamed to reflect that it's the properties being copied, not the CSSStyleDeclaration.
            They also now return MutableStylePropertySets.

        - StylePropertySet::copyPropertiesInSet()
        - CSSStyleDeclaration::copyPropertiesInSet()

            These functions now return MutableStylePropertySets.

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::copyProperties):
        (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
        * css/CSSComputedStyleDeclaration.h:
        (CSSComputedStyleDeclaration):
        * css/CSSStyleDeclaration.h:
        (CSSStyleDeclaration):
        * css/PropertySetCSSStyleDeclaration.cpp:
        (WebCore::PropertySetCSSStyleDeclaration::copyProperties):
        * css/PropertySetCSSStyleDeclaration.h:
        * css/StylePropertySet.cpp:
        (WebCore::StylePropertySet::mutableCopy):
        (WebCore::StylePropertySet::copyPropertiesInSet):
        * css/StylePropertySet.h:
        (StylePropertySet):
        * css/StyleRule.cpp:
        (WebCore::StyleRule::StyleRule):
        (WebCore::StyleRule::mutableProperties):
        (WebCore::StyleRulePage::StyleRulePage):
        (WebCore::StyleRulePage::mutableProperties):
        (WebCore::StyleRuleFontFace::StyleRuleFontFace):
        (WebCore::StyleRuleFontFace::mutableProperties):
        (WebCore::StyleRuleViewport::StyleRuleViewport):
        (WebCore::StyleRuleViewport::mutableProperties):
        (WebCore::StyleRuleFilter::StyleRuleFilter):
        (WebCore::StyleRuleFilter::mutableProperties):
        * css/ViewportStyleResolver.cpp:
        (WebCore::ViewportStyleResolver::addViewportRule):
        * css/WebKitCSSKeyframeRule.cpp:
        (WebCore::StyleKeyframe::mutableProperties):
        * dom/Element.cpp:
        (WebCore::UniqueElementData::UniqueElementData):
        * dom/StyledElement.cpp:
        (WebCore::StyledElement::ensureMutableInlineStyle):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::copyStyleOrCreateEmpty):
        * editing/EditingStyle.cpp:
        (WebCore::copyEditingProperties):
        (WebCore::editingStyleFromComputedStyle):
        (WebCore::EditingStyle::EditingStyle):
        (WebCore::EditingStyle::init):
        (WebCore::EditingStyle::copy):
        (WebCore::EditingStyle::mergeStyle):
        (WebCore::getPropertiesNotIn):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::copyTypingStyle):

2013-04-13  Dirk Schulze  <krit@webkit.org>

        Rename StyleBuilder to DeprecatedStyleBuilder
        https://bugs.webkit.org/show_bug.cgi?id=114532

        Reviewed by Benjamin Poulain.

        The StyleBuilder code is hard to read and maintain. People should
        not add new properties to this class. To make this clear, this
        patch renames the class to DeprecatedStyleBuilder.

        Pure refactoring, no change in functionality.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSAllInOne.cpp:
        * css/DeprecatedStyleBuilder.cpp: Renamed from Source/WebCore/css/StyleBuilder.cpp.
        * css/DeprecatedStyleBuilder.h: Renamed from Source/WebCore/css/StyleBuilder.h.
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::StyleResolver):
        (WebCore::StyleResolver::applyProperty):
        (WebCore::StyleResolver::reportMemoryUsage):
        * css/StyleResolver.h:
        (StyleResolver):
        * rendering/style/RenderStyle.h:

2013-04-13  Andreas Kling  <akling@apple.com>

        Remove unused method CSSStyleDeclaration::makeMutable().
        <http://webkit.org/b/114567>

        Reviewed by Anders Carlsson.

        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSComputedStyleDeclaration.h:
        (CSSComputedStyleDeclaration):
        * css/CSSStyleDeclaration.h:
        (CSSStyleDeclaration):
        * css/PropertySetCSSStyleDeclaration.cpp:
        * css/PropertySetCSSStyleDeclaration.h:

2013-04-13  Antoine Quint  <graouts@apple.com>

        Width of last of consecutive tabs may be incorrect with "white-space: pre-wrap"
        https://bugs.webkit.org/show_bug.cgi?id=114562

        Reviewed by Dan Bernstein.

        When we measure the last word of a RenderText, make sure we use the correct x
        position taking into account the current accumulated word measurements up to
        this character. This is of particular importance in the case of tabs where the
        measured width would differ based on the x position.

        Test: fast/text/tab-last-word-in-renderer-pre-wrap.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::setLogicalWidthForTextRun):

2013-04-13  Mark Salisbury  <mark.salisbury@hp.com>

        [Windows, WinCairo] ImageBufferCairo.cpp fails to compile after 148247, 148264.
        https://bugs.webkit.org/show_bug.cgi?id=114540
        
        Reviewed by Brent Fulgham.

        * platform/graphics/cairo/ImageBufferCairo.cpp:

2013-04-13  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK build fix after r148305.

        * GNUmakefile.list.am: Adding the TrackListBase build targets to the build.

2013-04-09  Roger Fong  <roger_fong@apple.com>

        Update AVFoundationCF code following http://trac.webkit.org/changeset/148291.
        https://bugs.webkit.org/show_bug.cgi?id=114548.

        Reviewed by Eric Carlson.

        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
        (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
        (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
        (WebCore):
        (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
        (MediaPlayerPrivateAVFoundationCF):

2013-04-12  Simon Fraser  <simon.fraser@apple.com>

        Demystify some code in RenderLayer::updateScrollableAreaSet()
        https://bugs.webkit.org/show_bug.cgi?id=114543

        Reviewed by Tim Horton.

        Clean up some code that called functions with important side effects
        inside a ternary operator, and clean up the #ifdefs.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollableAreaSet):

2013-04-12  Alexey Proskuryakov  <ap@apple.com>

        <rdar://problem/13277362> REGRESSION (r141981): Crash when closing a Google Docs document
        https://bugs.webkit.org/show_bug.cgi?id=114541

        Reviewed by Brady Eidson.

        Test: http/tests/ssl/ping-with-unsafe-redirect.html

        * loader/FrameNetworkingContext.h:
        (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
        Added a null check. All NetworkingContext functions except for this one had it already.

2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>

        [Mac] REGRESSION: Auto substitution strips new lines
        https://bugs.webkit.org/show_bug.cgi?id=114537

        Reviewed by Enrica Casucci.

        The bug was caused by SpellingCorrectionCommand's use of InsertTextCommand. This command can't insert
        new lines and there's even an assertion for it. Use TypingCommand::insertText instead.

        Since TypingCommand::insertText calls appliedEditing on its own, we need to avoid calling that again in
        CompositeEditCommand::apply after SpellingCorrectionCommand::doApply. Replaced the check in apply to use
        callsAppliedEditingInDoApply instead of isTypingCommand, and added callsAppliedEditingInDoApply to both
        TypingCommand and SpellingCorrectionCommand to return true (it returns false by default).

        Test: platform/mac/editing/spelling/autocorrection-with-multi-line-text.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::apply): Use TypingCommand::insertText instead of InsertTextCommand
        (WebCore::CompositeEditCommand::callsAppliedEditingInDoApply): Added. Returns false.
        * editing/CompositeEditCommand.h:
        (CompositeEditCommand):
        * editing/SpellingCorrectionCommand.cpp:
        (WebCore::SpellingCorrectionCommand::doApply):
        (WebCore::SpellingCorrectionCommand::callsAppliedEditingInDoApply): Added. Returns true.
        * editing/SpellingCorrectionCommand.h:
        (SpellingCorrectionCommand):
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::callsAppliedEditingInDoApply): Added. Returns true.
        * editing/TypingCommand.h:
        (TypingCommand):

2013-04-12  Brendan Long  <b.long@cablelabs.com>

        Refactor TextTrack and TextTrackList to make it easier to add audio and video tracks
        https://bugs.webkit.org/show_bug.cgi?id=114330

        Reviewed by Jer Noble.

        No new tests because this doesn't add new functionality.

        * CMakeLists.txt: Only compile text track files if ENABLE(VIDEO_TRACK), and add TrackListBase
        * Target.pri: Add TrackListBase
        * WebCore.vcproj/WebCore.vcproj: Correct InbandTextTrackPrivate.h's location and add TrackListBase
        * WebCore.xcodeproj/project.pbxproj: Add TrackListBase
        * html/HTMLMediaElement.cpp: Renamed "track" functions to "textTrack"
        (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack): Renamed.
        (WebCore::HTMLMediaElement::mediaPlayerDidRemoveTextTrack): Renamed.
        (WebCore::HTMLMediaElement::addTextTrack): Renamed.
        (WebCore::HTMLMediaElement::removeTextTrack): Renamed.
        (WebCore::HTMLMediaElement::removeAllInbandTracks): Use renamed functions.
        (WebCore::HTMLMediaElement::didAddTextTrack): Renamed.
        (WebCore::HTMLMediaElement::didRemoveTextTrack): Renamed.
        * html/HTMLMediaElement.h:
        Renamed "track" functions to "textTrack" and only forward-declare TextTrackList if ENABLE(VIDEO_TRACK)
        * html/HTMLTrackElement.cpp: Renamed "track" functions to "textTrack"
        (WebCore::HTMLTrackElement::insertedInto):
        (WebCore::HTMLTrackElement::removedFrom):
        * html/track/TextTrack.cpp:
        Move media element, label, language and kind into TrackBase and move EventTarget functions into TextTrack.
        (WebCore::TextTrack::TextTrack): Added.
        (WebCore::TextTrack::interfaceName): Added.
        (WebCore::TextTrack::scriptExecutionContext): Added.
        (WebCore::TextTrack::eventTargetData): Added.
        (WebCore::TextTrack::ensureEventTargetData): Added.
        (WebCore::TextTrack::isValidKind): Added to support TrackBase::setKind()
        (WebCore::TextTrack::setKind): Override to support textTrackKindChanged()
        (WebCore::TextTrack::isRendered): Use kind(), label() and language() instead of m_kind, etc.
        (WebCore::TextTrack::platformTextTrack): Ditto.
        (WebCore::TextTrack::isMainProgramContent): Ditto.
        * html/track/TextTrack.h:
        Same as TextTrack.cpp, plus added defaultKindKeyword() so TrackBase::setKind() will work and added
        toTextTrack().
        * html/track/TextTrackList.cpp:
        Move functionality into TrackListBase, add toTextTrack() casts, use
        TrackBase where necesssary and use owner() instead of m_owner.

        Moved EventTarget functions into TrackListBase.
        (TextTrackList::TextTrackList):
        (TextTrackList::getTrackIndexRelativeToRenderedTracks):
        (TextTrackList::item):
        (TextTrackList::invalidateTrackIndexesAfterTrack):
        (TextTrackList::append):
        (TextTrackList::remove):
        (TextTrackList::contains):
        * html/track/TextTrackList.h:
        Move EventTarget, RefCounted and m_inbandTracks into TrackListBase.
        Override length(), contains() and remove().
        * html/track/TrackBase.cpp: Remove EventTarget functions.
        (WebCore::TrackBase::TrackBase):
        Remove EventTarget, add label and language
        (WebCore::TrackBase::setKind): Added
        * html/track/TrackBase.h:
        Don't extend EventTarget (AudioTrack and VideoTrack aren't). Handle
        kind, label, language and media element.
        (WebCore::TrackBase::setMediaElement): Added.
        (WebCore::TrackBase::mediaElement): Added.
        (WebCore::TrackBase::kind): Added.
        (WebCore::TrackBase::label): Added.
        (WebCore::TrackBase::setLabel): Added.
        (WebCore::TrackBase::language): Added.
        (WebCore::TrackBase::setLanguage): Added.
        * html/track/TrackListBase.cpp:
        Added. Handles functionality common to TextTrackList, AudioTrackList and
        VideoTrackList.
        (TrackListBase::TrackListBase): Added.
        (TrackListBase::~TrackListBase): Added.
        (TrackListBase::length): Added.
        (TrackListBase::remove): Added.
        (TrackListBase::contains): Added.
        (TrackListBase::scheduleAddTrackEvent): Added.
        (TrackListBase::scheduleRemoveTrackEvent): Added.
        (TrackListBase::scheduleChangeEvent): Added.
        (TrackListBase::asyncEventTimerFired): Added.
        * html/track/TrackListBase.h:
        Copied from Source/WebCore/html/track/TextTrackList.h. Handles
        functionality common to TextTrackList, AudioTrackList and VideoTrackList.
        (WebCore::TrackListBase::scriptExecutionContext): Added.
        (WebCore::TrackListBase::clearOwner): Added.
        (WebCore::TrackListBase::owner): Added.
        (WebCore::TrackListBase::isFiringEventListeners): Added.
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::addTextTrack): Renamed (was addTrack)
        (WebCore::MediaPlayer::removeTextTrack): Renamed (was removeTrack)
        * platform/graphics/MediaPlayer.h:
        (WebCore::MediaPlayerClient::mediaPlayerDidAddTextTrack): Renamed (was mediaPlayerDidAddTrack)
        (WebCore::MediaPlayerClient::mediaPlayerDidRemoveTextTrack): Renamed (was mediaPlayerDidRemoveTrack)

2013-04-12  Oliver Hunt  <oliver@apple.com>

        make the codegenerator actually emit polymorphism check in the "no vtable" path
        https://bugs.webkit.org/show_bug.cgi?id=114533

        Reviewed by David Kilzer.

        Make the "no vtable" check correct so that we actually plant a polymorphism
        check.  Update a few interfaces to have the correct validation attributes.        

        * Modules/webdatabase/SQLTransaction.idl:
        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/TestInterface.idl:
        * html/track/TextTrackCue.idl:
        * svg/SVGAnimatedAngle.idl:
        * svg/SVGAnimatedBoolean.idl:
        * svg/SVGAnimatedEnumeration.idl:
        * svg/SVGAnimatedInteger.idl:
        * svg/SVGAnimatedLength.idl:
        * svg/SVGAnimatedLengthList.idl:
        * svg/SVGAnimatedNumber.idl:
        * svg/SVGAnimatedNumberList.idl:
        * svg/SVGAnimatedPreserveAspectRatio.idl:
        * svg/SVGAnimatedRect.idl:
        * svg/SVGAnimatedString.idl:
        * svg/SVGAnimatedTransformList.idl:

2013-04-12  Oliver Hunt  <oliver@apple.com>

        Make CodeGeneratorJS plant comments to explain failures in the binding validation
        https://bugs.webkit.org/show_bug.cgi?id=114528

        Reviewed by Sam Weinig.

        No change in behaviour, just make the generated bindings include comments
        to aid diagnosing issues that may be non-obvious.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestException.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore::toJS):

2013-04-12  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r138858): GIFs don't start playing when they come out of background tabs
        https://bugs.webkit.org/show_bug.cgi?id=108864
        <rdar://problem/13140489>

        Reviewed by Antti Koivisto.

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::resumeAnimatingImagesForLoader): Added.
        Iterate through all of the loader's cached resources. If they are bitmap images
        which claim to be animatable, notify the image's observers that the animation advanced
        by one frame. In reality, the image is still on the same frame, but will now be repainted,
        restarting the animation loop.
        * loader/cache/CachedImage.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::setIsInWindow):
        When the FrameView is brought into a window, repaint all animated images.
        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::canAnimate): Added. 
        Return whether or not the image should animate (claims to animate, has not already
        finished its animation, and has an ImageObserver) *and* has more than one frame.
        * platform/graphics/BitmapImage.h:
        (BitmapImage): Add canAnimate.

2013-04-12  Martin Robinson  <mrobinson@igalia.com>

        r148197 broke the GTK+ build
        https://bugs.webkit.org/show_bug.cgi?id=114525

        Reviewed by Anders Carlsson.

        Re-add the ENABLE(SCROLLING_THREAD) guards to scrolling thread files
        and extend them with USE(COORDINATED_GRAPHICS). This code is unused
        by other configurations currently.

        * page/scrolling/ScrollingStateFixedNode.cpp: Re-add guards.
        * page/scrolling/ScrollingStateFixedNode.h: Ditto.
        * page/scrolling/ScrollingStateNode.cpp: Ditto.
        * page/scrolling/ScrollingStateNode.h: Ditto.
        * page/scrolling/ScrollingStateScrollingNode.cpp: Ditto.
        * page/scrolling/ScrollingStateScrollingNode.h: Ditto.
        * page/scrolling/ScrollingStateStickyNode.cpp: Ditto.
        * page/scrolling/ScrollingStateStickyNode.h: Ditto.
        * page/scrolling/ScrollingStateTree.cpp: Ditto.
        * page/scrolling/ScrollingStateTree.h: Ditto.
        * page/scrolling/mac/ScrollingStateNodeMac.mm: Ditto.
        * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm: Ditto.

2013-04-12  Jer Noble  <jer.noble@apple.com>

        (AVFoundation) WebKit fails to detect live stream.
        https://bugs.webkit.org/show_bug.cgi?id=114474

        Reviewed by Eric Carlson.

        Remove a workaround (added by r88944) for an error in an Apple.com javascript
        media controller. The error has been fixed, and the workaround is causing problems
        with other media streams.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):

2013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Split GtkAuthenticationDialog in two widgets
        https://bugs.webkit.org/show_bug.cgi?id=103644

        Reviewed by Xan Lopez.

        The current GtkAuthenticationDialog implements both the common
        logic and widgets to implement a real GtkDialog and a widget to be
        embedded in any container. WebKit1 uses a GtkDialog while WebKit2
        embeds the dialog in the WebView. This patch splits the code to
        leave in Platform only the code that is actually common, leaving
        the widget implementation to the WebKit layer, using a dialog in
        WebKit1 and embedding auth widget in the WebView in WebKit2.

        * GNUmakefile.list.am: Add new files to compilation.
        * platform/gtk/GtkAuthenticationDialog.cpp: Removed.
        * platform/gtk/GtkAuthenticationDialog.h: Removed.
        * platform/gtk/WebKitAuthenticationWidget.cpp: Added.
        (_WebKitAuthenticationWidgetPrivate):
        (packTwoColumnLayoutInBox):
        (createLabel):
        (createEntry):
        (webkitAuthenticationWidgetInitialize):
        (webkitAuthenticationWidgetFinalize):
        (webkit_authentication_widget_init):
        (webkit_authentication_widget_class_init):
        (webkitAuthenticationWidgetNew):
        (webkitAuthenticationWidgetCreateCredential):
        (webkitAuthenticationWidgetGetChallenge):
        * platform/gtk/WebKitAuthenticationWidget.h: Added.
        (_WebKitAuthenticationWidget):
        (_WebKitAuthenticationWidgetClass):

2013-04-11  Jer Noble  <jer.noble@apple.com>

        Add support for MediaPlayer::minTimeSeekable()
        https://bugs.webkit.org/show_bug.cgi?id=114484

        Reviewed by Eric Carlson.

        Plumb a new minTimeSeekable() method through MediaPlayer and
        MediaPlayerPrivate and use this new method in the existing
        HTMLMediaElement::minTimeSeekable() method.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::minTimeSeekable): Pass to MediaPlayer.
        * platform/graphics/MediaPlayer.cpp:
        (WebCore::NullMediaPlayerPrivate::minTimeSeekable): Return 0.
        (WebCore::MediaPlayer::minTimeSeekable): Pass to MediaPlayerPrivate.
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:
        (WebCore::MediaPlayerPrivateInterface::seekable): Define in terms of 
            minTimeSeekable()
        (WebCore::MediaPlayerPrivateInterface::minTimeSeekable): Default to 0.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
            Initialize new m_cachedMinTimeSeekable ivar.
        (WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble):
            Renamed from maxTimeSeekable().
        (WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Added.
            Cache value of platformMinTimeSeekable().
        (WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
            Reset m_cachedMinTimeSeekable.
        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): float -> double.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
            Added. Retrieve the lowest value from -[m_playerItem seekableTimeRanges].
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
            float -> double.

2013-04-12  Commit Queue  <rniwa@webkit.org>

        Unreviewed, rolling out r147942, r148026, and r148092.
        http://trac.webkit.org/changeset/147942
        http://trac.webkit.org/changeset/148026
        http://trac.webkit.org/changeset/148092
        https://bugs.webkit.org/show_bug.cgi?id=114521

        "r147942 is buggy. Rollback all the patches depending on it."
        (Requested by abucur on #webkit).

        * dom/ContainerNode.cpp:
        (WebCore::willRemoveChildren):
        (WebCore):
        (WebCore::ContainerNode::removeChildren):
        * dom/Document.cpp:
        (WebCore::Document::nodeChildrenWillBeRemoved):
        (WebCore):
        * dom/Document.h:
        (Document):
        * dom/Node.cpp:
        * dom/Node.h:
        (Node):
        * dom/NodeTraversal.cpp:
        * dom/NodeTraversal.h:
        (ElementTraversal):
        (NodeTraversal):
        * dom/Range.cpp:
        (WebCore::boundaryNodeChildrenWillBeRemoved):
        (WebCore):
        (WebCore::Range::nodeChildrenWillBeRemoved):
        * dom/Range.h:
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::attach):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::updateItemValues):
        (WebCore::HTMLOListElement::recalculateItemCount):
        * rendering/RenderCounter.cpp:
        (WebCore::previousInPreOrder):
        (WebCore::previousSiblingOrParent):
        (WebCore::parentElement):
        (WebCore::nextInPreOrder):
        * rendering/RenderListItem.cpp:
        (WebCore::enclosingList):
        (WebCore::RenderListItem::nextListItem):
        (WebCore::previousListItem):
        (WebCore::RenderListItem::calcValue):
        (WebCore::RenderListItem::explicitValueChanged):
        (WebCore::previousOrNextItem):
        (WebCore::RenderListItem::updateListMarkerNumbers):
        * rendering/RenderListItem.h:
        (RenderListItem):

2013-04-12  Jer Noble  <jer.noble@apple.com>

        TimeRanges::nearest() returns incorrect results.
        https://bugs.webkit.org/show_bug.cgi?id=114483

        Reviewed by Eric Carlson.

        Test: media/timeranges-nearest.html

        TimeRanges::nearest() has had an incorrect algorithm since its
        addition, which has gone unnoticed because no media engine supports
        seekable ranges with greater than one entry, and no media engine
        seekable ranges with startTime values > 0.

        Fix the algorithm used to walk a TimeRanges object; return the closest
        time, not the smallest delta between range and target time.
        * html/TimeRanges.cpp:
        (TimeRanges::nearest):

        Add some internal functions to allow us to write LayoutTests for
        TimeRanges objects:
        * WebCore.exp.in:
        * testing/Internals.cpp:
        (WebCore::Internals::createTimeRanges):
        (WebCore::Internals::closestTimeToTimeRanges):
        * testing/Internals.h:
        * testing/Internals.idl:

2013-04-12  Eric Carlson  <eric.carlson@apple.com>

        Support "forced" subtitles
        https://bugs.webkit.org/show_bug.cgi?id=114460

        Reviewed by Jer Noble.

        Test: media/track/track-forced-subtitles.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::configureTextTrackGroup): Enable a forced track if nothing else is enabled.
        (WebCore::HTMLMediaElement::configureTextTracks): Include forced tracks with captions+subtitles.

        * html/track/InbandTextTrack.cpp:
        (WebCore::InbandTextTrack::InbandTextTrack): Deal with kind=forced.

        * html/track/TextTrack.cpp:
        (WebCore::TextTrack::forcedKeyword): New keyword.
        (WebCore::TextTrack::isValidKindKeyword): Include forced.
        (WebCore::TextTrack::platformTextTrack): Ditto.
        * html/track/TextTrack.h:

        * page/CaptionUserPreferences.cpp:
        (WebCore::CaptionUserPreferences::primaryAudioTrackLanguageOverride): New override to support testing.
        * page/CaptionUserPreferences.h:

        * page/CaptionUserPreferencesMac.mm:
        (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Support forced tracks.
        * platform/graphics/InbandTextTrackPrivate.h:

        * platform/graphics/PlatformTextTrack.h: Add Forced, minor cleanup.

        * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
        (WebCore::InbandTextTrackPrivateAVF::processCue): Drive-by enhancement: log cue position.

        * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
        (WebCore::InbandTextTrackPrivateAVFObjC::kind): Support forced.
        (WebCore::InbandTextTrackPrivateAVFObjC::label): Drive-by cleanup.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Don't filter out forced tracks.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Log the language returned.

        * testing/Internals.cpp:
        (WebCore::Internals::setPrimaryAudioTrackLanguageOverride): New.
        (WebCore::Internals::setCaptionDisplayMode): New.
        * testing/Internals.h:
        * testing/Internals.idl:

2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>

        [Mac] Some ligatures are applied across different fronts
        https://bugs.webkit.org/show_bug.cgi?id=113604

        Reviewed by Darin Adler.

        The bug was caused by applyFontTransforms applying ligatures without updating the font data in the glyph buffer.

        Suppose we have characters AB and A uses font X and B uses font Y. Further suppose that we have ligatures for AB
        in Y. The problem was that WithIterator::advanceInternal calls applyFontTransforms on AB to apply this ligature
        even though A and B use different fonts. Since X doesn't contain the same ligature for A to be paired with that
        of B in X, we get a blank A.

        Fixed the bug by resetting lastGlyphCount after calling applyFontTransforms. This ensures that we don't call
        applyFontTransforms across different fonts.

        No new tests since this requires a variant of Osaka font that doesn't come with OS X.

        The bug 114482 tracks the effort to add a test for this bug fix. I've already asked someone to create a custom
        font for us so that we can test this bug fix but that's going to a while.

        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::advanceInternal):

2013-04-12  Ryosuke Niwa  <rniwa@webkit.org>

        [Mac] Enable spellchecking tests added in r141471
        https://bugs.webkit.org/show_bug.cgi?id=108525

        Reviewed by Darin Adler.

        Made automatic quote substitution, dash substitution, text replacement, and spelling correction
        togglable via internals object. These functions are no-op when text replacement is not used.

        This allows us to disable automatic spelling correction in spellcheck tests.

        Enabled several tests added in r141471.

        * WebCore.exp.in:
        * testing/Internals.cpp:
        (WebCore::Internals::setContinuousSpellCheckingEnabled): Don't null check editor() since it's not
        null whenever frame() is not null.
        (WebCore::Internals::setAutomaticQuoteSubstitutionEnabled): Added.
        (WebCore::Internals::setAutomaticLinkDetectionEnabled): Added.
        (WebCore::Internals::setAutomaticDashSubstitutionEnabled): Added.
        (WebCore::Internals::setAutomaticTextReplacementEnabled): Added.
        (WebCore::Internals::setAutomaticSpellingCorrectionEnabled): Added.
        * testing/Internals.h:
        * testing/Internals.idl:

2013-04-12  Alberto Garcia  <agarcia@igalia.com>

        [BlackBerry] Upstream the filesystem code
        https://bugs.webkit.org/show_bug.cgi?id=114437

        Reviewed by Rob Buis.

        These are the changes for AsyncFileSystemBlackBerry.

        This patch contains contributions from many members of the
        BlackBerry WebKit team.

        * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
        (WebCore::AsyncFileSystem::isAvailable):
        (WebCore):
        (WebCore::AsyncFileSystem::create):
        (WebCore::AsyncFileSystem::openFileSystem):
        (WebCore::AsyncFileSystemBlackBerry::openFileSystem):
        (WebCore::AsyncFileSystem::deleteFileSystem):
        (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
        (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
        (WebCore::AsyncFileSystemBlackBerry::move):
        (WebCore::AsyncFileSystemBlackBerry::copy):
        (WebCore::AsyncFileSystemBlackBerry::remove):
        (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
        (WebCore::AsyncFileSystemBlackBerry::readMetadata):
        (WebCore::AsyncFileSystemBlackBerry::createFile):
        (WebCore::AsyncFileSystemBlackBerry::createDirectory):
        (WebCore::AsyncFileSystemBlackBerry::fileExists):
        (WebCore::AsyncFileSystemBlackBerry::directoryExists):
        (WebCore::AsyncFileSystemBlackBerry::readDirectory):
        (WebCore::AsyncFileSystemBlackBerry::createWriter):
        (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
        (WebCore::AsyncFileSystemBlackBerry::fileSystemURLToPath):
        * platform/blackberry/AsyncFileSystemBlackBerry.h:
        (WTF):
        (WTF::BlackBerry::Platform::WebFileSystem):
        (WebCore::AsyncFileSystemBlackBerry::create):
        (AsyncFileSystemBlackBerry):

2013-04-12  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>

        Apply our MSVC 2012 optimizer bug workaround to all minor releases
        https://bugs.webkit.org/show_bug.cgi?id=114436

        Reviewed by Alexey Proskuryakov.

        The bug has only been partially fixed in Update 2 but our Update 1 workaround
        still avoids the crash.

        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::TextEncodingNameHash::equal):

2013-04-12  Mark Rowe  <mrowe@apple.com>

        And again, with the correct case this time.

        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:

2013-04-12  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
        Add missing #include and forward declaration.

2013-04-12  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed functionality fix for ports enabling the MicroData feature.

        * html/DOMSettableTokenList.idl: Add the SkipVTableValidation IDL attribute to the DOMSettableTokenList interface.
        This removes crashes in the MicroData layout tests that are occurring on EFL and GTK builders, the two ports being
        the only ports that enable this feature.

2013-04-11  Alexey Proskuryakov  <ap@apple.com>

        Move CachedRawResourceClient into a separate file
        https://bugs.webkit.org/show_bug.cgi?id=114491

        Reviewed by Mark Rowe.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/DocumentLoader.cpp:
        * loader/DocumentLoader.h:
        * loader/DocumentThreadableLoader.h:
        * loader/archive/cf/LegacyWebArchive.cpp:
        * loader/cache/CachedRawResource.cpp:
        * loader/cache/CachedRawResource.h:
        * loader/cache/CachedRawResourceClient.h: Added.
        * loader/icon/IconLoader.h:
        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:

2013-04-12  Commit Queue  <rniwa@webkit.org>

        Unreviewed, rolling out r148262.
        http://trac.webkit.org/changeset/148262
        https://bugs.webkit.org/show_bug.cgi?id=114493

        Cairo dep should now build, rolling r148247 back in (Requested
        by zdobersek on #webkit).

        * platform/graphics/GraphicsContext.cpp:
        (WebCore):
        * platform/graphics/ImageBuffer.cpp:
        (WebCore):
        * platform/graphics/cairo/GLContext.h:
        (GLContext):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::isAcceleratedContext):
        (WebCore):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBufferData::ImageBufferData):
        (WebCore):
        (WebCore::createCairoGLSurface):
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        (WebCore::mapSurfaceToImage):
        (WebCore::unmapSurfaceFromImage):
        (WebCore::getImageData):
        (WebCore::ImageBuffer::putByteArray):
        (WebCore::ImageBufferData::paintToTextureMapper):
        (WebCore::ImageBuffer::platformLayer):
        * platform/graphics/cairo/ImageBufferDataCairo.h:
        (ImageBufferData):
        * platform/graphics/egl/GLContextEGL.cpp:
        (WebCore::GLContextEGL::GLContextEGL):
        (WebCore::GLContextEGL::~GLContextEGL):
        (WebCore::GLContextEGL::cairoDevice):
        (WebCore):
        * platform/graphics/egl/GLContextEGL.h:
        * platform/graphics/glx/GLContextGLX.cpp:
        (WebCore::GLContextGLX::GLContextGLX):
        (WebCore::GLContextGLX::~GLContextGLX):
        (WebCore::GLContextGLX::cairoDevice):
        (WebCore):
        * platform/graphics/glx/GLContextGLX.h:
        (GLContextGLX):

2013-04-11  Alexey Proskuryakov  <ap@apple.com>

        Reduce includes of CachedSVGDocument.h
        https://bugs.webkit.org/show_bug.cgi?id=114489

        Reviewed by Jon Honeycutt.

        * loader/cache/CachedSVGDocumentReference.cpp: Added.
        * loader/cache/CachedSVGDocumentReference.h:
        Moved function implementations to newly added .cpp file, and removed an include
        of CachedSVGDocument.h.

        * css/WebKitCSSSVGDocumentValue.h: Just removed an unnecessary include.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:

2013-04-11  Commit Queue  <rniwa@webkit.org>

        Unreviewed, rolling out r148247.
        http://trac.webkit.org/changeset/148247
        https://bugs.webkit.org/show_bug.cgi?id=114490

        Cairo dep fails to build on builders due to missing EGL
        headers (Requested by zdobersek on #webkit).

        * platform/graphics/GraphicsContext.cpp:
        (WebCore):
        * platform/graphics/ImageBuffer.cpp:
        (WebCore):
        * platform/graphics/cairo/GLContext.h:
        (GLContext):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBufferData::ImageBufferData):
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        (WebCore::getImageData):
        (WebCore::ImageBuffer::putByteArray):
        (WebCore):
        * platform/graphics/cairo/ImageBufferDataCairo.h:
        (ImageBufferData):
        * platform/graphics/egl/GLContextEGL.cpp:
        (WebCore::GLContextEGL::GLContextEGL):
        (WebCore::GLContextEGL::~GLContextEGL):
        * platform/graphics/egl/GLContextEGL.h:
        * platform/graphics/glx/GLContextGLX.cpp:
        (WebCore::GLContextGLX::GLContextGLX):
        (WebCore::GLContextGLX::~GLContextGLX):
        * platform/graphics/glx/GLContextGLX.h:
        (GLContextGLX):

2013-04-11  Nico Weber  <thakis@chromium.org>

        Remove debugging code that is no longer used with current mac sdks.
        https://bugs.webkit.org/show_bug.cgi?id=114486

        Reviewed by Dan Bernstein.

        This code compared __MAC_OS_X_VERSION_MAX_ALLOWED and friends to
        107 and 106 instead of the correct 1070 and 1060. Instead of fixing
        this, rip the code out completely: Since WebKit now only targets
        current systems, the ifdef is always false anyways.

        No tests, as this only removes debugging code.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit):

2013-04-11  Oliver Hunt  <oliver@apple.com>

        Fix windows build and land new binding test results

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestException.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore):
        (WebCore::toJS):
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore):
        (WebCore::toJS):

2013-04-11  Shezan Baig  <sbaig1@bloomberg.net>

        Selection gaps don't repaint correctly with transforms
        https://bugs.webkit.org/show_bug.cgi?id=111000

        Reviewed by Simon Fraser.

        When computing offsetFromRepaintContainer, we need to add UseTransforms
        to the MapCoordinateFlags argument. Note that ApplyContainerFlip is
        the default value for the flag, so this change effectively only adds
        the UseTransforms flag.

        Tests: fast/repaint/selection-gap-absolute-child.html
               fast/repaint/selection-gap-fixed-child.html
               fast/repaint/selection-gap-flipped-absolute-child.html
               fast/repaint/selection-gap-flipped-fixed-child.html
               fast/repaint/selection-gap-transformed-absolute-child.html
               fast/repaint/selection-gap-transformed-fixed-child.html

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

2013-04-11  Oliver Hunt  <oliver@apple.com>

        Add more type validation to debug builds
        https://bugs.webkit.org/show_bug.cgi?id=114478

        Reviewed by Mark Hahnenberg.

        Add a bunch more type checks to the JS DOM bindings.

        * Modules/mediastream/MediaStream.idl:
        * Modules/webaudio/AudioDestinationNode.idl:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMBinding.h:
        (WebCore::getExistingWrapper):
        (WebCore):
        (WebCore::createNewWrapper):
        * bindings/scripts/CodeGeneratorJS.pm:
        (GetNativeTypeForConversions):
        (GetGnuVTableRefForInterface):
        (GetGnuVTableNameForInterface):
        (GetGnuMangledNameForInterface):
        (GetGnuVTableOffsetForType):
        (GetWinVTableRefForInterface):
        (GetWinVTableNameForInterface):
        (GetWinMangledNameForInterface):
        (GetNamespaceForInterface):
        (GetImplementationLacksVTableForInterface):
        (GetSkipVTableValidationForInterface):
        (GenerateImplementation):
        * bindings/scripts/IDLAttributes.txt:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * dom/Clipboard.idl:
        * dom/DOMStringMap.idl:
        * dom/MutationRecord.idl:
        * dom/NodeList.idl:
        * html/DOMTokenList.idl:
        * html/track/TextTrack.idl:
        * inspector/ScriptProfileNode.idl:
        * storage/Storage.idl:
        * xml/XPathNSResolver.idl:

2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>

        Remove ResourceLoadInfo
        https://bugs.webkit.org/show_bug.cgi?id=113302

        Reviewed by Benjamin Poulain.

        Co-authored by Christophe Dumez.

        Removed ResourceLoadInfo since it had been only used by Chromium port.

        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.order:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::buildObjectForResourceResponse):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadResourceSynchronously):
        * platform/network/ResourceLoadInfo.h: Removed.
        * platform/network/ResourceResponseBase.cpp:
        (WebCore):
        (WebCore::ResourceResponseBase::reportMemoryUsage):
        * platform/network/ResourceResponseBase.h:
        (ResourceResponseBase):

2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>

        Another Mac Lion build fix attempt after r148197.

        * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:

2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>

        Unable to paste twice in input field when specific CSS present
        https://bugs.webkit.org/show_bug.cgi?id=108675

        Reviewed by Ryosuke Niwa.

        When we are pre-rendering text in ReplaceSelectionCommand, we shouldn't care
        whether the content is clipped by its ancestors or not. This bug was caused
        by the fact the plainText() method returned an empty string because the text
        was fully clipped by its ancestors. Make plainText ignore style visibility.

        Test: editing/inserting/insert-text-into-text-field.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplacementFragment::ReplacementFragment):

2013-04-11  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Add accelerated 2D canvas support using cairo-gl
        https://bugs.webkit.org/show_bug.cgi?id=104672

        Reviewed by Alejandro G. Castro.

        No new tests. We do not yet have the ability to run tests against
        accelerated content.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore): We don't use the stub implementation of isAcceleratedContext any longer.
        * platform/graphics/ImageBuffer.cpp:
        (WebCore): Ditto for ImageBuffer::platformLayer.
        * platform/graphics/cairo/GLContext.h:
        (GLContext): Added method to get a cairo_device_t from the context.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::isAcceleratedContext): Return true when we are a CairoGL surface.
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBufferData::ImageBufferData): Initialize the size and the texture to 0.
        (WebCore::createCairoGLSurface): Added this helper.
        (WebCore::ImageBuffer::ImageBuffer): When we are in accelerated rendering mode, create
        a CairoGL surface.
        (WebCore::ImageBuffer::platformTransformColorSpace): Do not implement this for accelerated
        contexts yet.
        (WebCore::mapSurfaceToImage): Added this helper, since we don't require Cairo 1.12 yet,
        which provides an builtin implementation.
        (WebCore::unmapSurfaceFromImage): Ditto.
        (WebCore::getImageData): Map the surface to an image surface first.
        (WebCore::ImageBuffer::putByteArray): Ditto.
        (WebCore::ImageBufferData::paintToTextureMapper): Connect the accelerated canvas into the
        TextureMapper infrastructure.
        (WebCore::ImageBuffer::platformLayer): This lets the TextureMapper at the ImageBufferData.
        * platform/graphics/cairo/ImageBufferDataCairo.h:
        (ImageBufferData): Subclass TexturMapperPlatformLayer where appropriate.
        * platform/graphics/egl/GLContextEGL.cpp: Added implementation of cairoDevice.
        * platform/graphics/egl/GLContextEGL.h: Ditto.
        * platform/graphics/glx/GLContextGLX.cpp: Ditto
        * platform/graphics/glx/GLContextGLX.h: Ditto.

2013-04-11  Anders Carlsson  <andersca@apple.com>

        Implement removing storage area items
        https://bugs.webkit.org/show_bug.cgi?id=114472

        Reviewed by Beth Dakin.

        Export StorageMap::removeItem.

        * WebCore.exp.in:

2013-04-11  Brendan Long  <b.long@cablelabs.com>

        TextTrackList's .onremovetrack is missing from IDL
        https://bugs.webkit.org/show_bug.cgi?id=103421

        Reviewed by Eric Carlson.

        Fixed test media/track/opera/interfaces/TextTrackList/onremovetrack.html

        * html/track/TextTrackList.cpp:
        (TextTrackList::remove):
        (TextTrackList::scheduleRemoveTrackEvent):
        * html/track/TextTrackList.h:
        (TextTrackList):
        * html/track/TextTrackList.idl:

2013-04-11  Alberto Garcia  <agarcia@igalia.com>

        [BlackBerry] Upstream the filesystem code
        https://bugs.webkit.org/show_bug.cgi?id=114437

        Reviewed by Rob Buis.

        This patch contains contributions from many members of the
        BlackBerry WebKit team.

        * platform/blackberry/AsyncFileWriterBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::AsyncFileWriterBlackBerry::write):
        * platform/blackberry/AsyncFileWriterBlackBerry.h: Added.
        (WTF):
        (WTF::BlackBerry::Platform::WebFileWriter):
        (WebCore):
        * platform/blackberry/DOMFileSystemBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::DOMFileSystemBase::createFileSystemURL):
        (WebCore::DOMFileSystemBase::crackFileSystemURL):
        (WebCore::DOMFileSystemBase::supportsToURL):
        (WebCore::DOMFileSystemBase::isValidType):
        * platform/blackberry/LocalFileSystemBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::fileSystemTypeString):
        (WebCore::openFileSystem):
        (WebCore::LocalFileSystem::deleteFileSystem):
        (WebCore::LocalFileSystem::readFileSystem):
        (WebCore::LocalFileSystem::requestFileSystem):
        * platform/blackberry/PlatformAsyncFileSystemCallbacks.cpp: Added.
        (WebCore):
        (WebCore::PlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
        (WebCore::PlatformAsyncFileSystemCallbacks::notifySucceed):
        (WebCore::PlatformAsyncFileSystemCallbacks::notifyFail):
        (WebCore::getFileMetadata):
        (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadMetadata):
        (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
        (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadDirectory):
        (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
        (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
        (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
        (WebCore::PlatformAsyncFileSystemCallbacks::deleteMe):
        * platform/blackberry/PlatformAsyncFileSystemCallbacks.h: Added.
        (WebCore):
        * platform/blackberry/PlatformBlob.cpp: Added.
        (WebCore):
        (WebCore::PlatformBlob::nextDataItem):
        * platform/blackberry/PlatformBlob.h: Added.
        (WebCore):
        * platform/blackberry/PlatformFileWriterClient.cpp: Added.
        (WebCore):
        (WebCore::PlatformFileWriterClient::notifyWrite):
        (WebCore::PlatformFileWriterClient::notifyTruncate):
        (WebCore::PlatformFileWriterClient::notifyFail):
        * platform/blackberry/PlatformFileWriterClient.h: Added.
        (WebCore):
        (WTF):
        (WTF::WebCore::PlatformFileWriterClient):
        * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::WorkerAsyncFileSystemBlackBerry::WorkerAsyncFileSystemBlackBerry):
        (WebCore::WorkerAsyncFileSystemBlackBerry::~WorkerAsyncFileSystemBlackBerry):
        (WebCore::WorkerAsyncFileSystemBlackBerry::waitForOperationToComplete):
        (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystemOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystemOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::moveOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::copyOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::removeOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursivelyOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadataOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::createFileOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectoryOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::fileExistsOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExistsOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectoryOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadataOnMainThread):
        (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystem):
        (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystem):
        (WebCore::WorkerAsyncFileSystemBlackBerry::move):
        (WebCore::WorkerAsyncFileSystemBlackBerry::copy):
        (WebCore::WorkerAsyncFileSystemBlackBerry::remove):
        (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursively):
        (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadata):
        (WebCore::WorkerAsyncFileSystemBlackBerry::createFile):
        (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectory):
        (WebCore::WorkerAsyncFileSystemBlackBerry::fileExists):
        (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExists):
        (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectory):
        (WebCore::WorkerAsyncFileSystemBlackBerry::createWriter):
        (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
        * platform/blackberry/WorkerAsyncFileSystemBlackBerry.h: Added.
        (WebCore):
        (WorkerAsyncFileSystemBlackBerry):
        (WebCore::WorkerAsyncFileSystemBlackBerry::create):
        * platform/blackberry/WorkerAsyncFileWriterBlackBerry.cpp: Added.
        (WebCore):
        (WebCore::WorkerAsyncFileWriterBlackBerry::writeOnMainThread):
        (WebCore::WorkerAsyncFileWriterBlackBerry::truncateOnMainThread):
        (WebCore::WorkerAsyncFileWriterBlackBerry::abortOnMainThread):
        (WebCore::WorkerAsyncFileWriterBlackBerry::write):
        (WebCore::WorkerAsyncFileWriterBlackBerry::truncate):
        (WebCore::WorkerAsyncFileWriterBlackBerry::abort):
        (WebCore::WorkerAsyncFileWriterBlackBerry::waitForOperationToComplete):
        (WebCore::WorkerAsyncFileWriterBlackBerry::platformWriterClient):
        * platform/blackberry/WorkerAsyncFileWriterBlackBerry.h: Added.
        (WebCore):
        * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp: Added.
        (WebCore):
        (WebCore::performTaskOnMainThread):
        (WebCore::postTaskToMainThread):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyStop):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceed):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFail):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadata):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectory):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::deleteMe):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::postTaskToWorkerThread):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystemOnWorkerThread):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceedOnWorkerThread):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFailOnWorkerThread):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadataOnWorkerThread):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectoryEntryOnWorkerThread):
        (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriterOnWorkerThread):
        * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h: Added.
        (WebCore):
        * platform/blackberry/WorkerPlatformFileWriterClient.cpp: Added.
        (WebCore):
        (WebCore::WorkerPlatformFileWriterClient::notifyWriteOnWorkerThread):
        (WebCore::WorkerPlatformFileWriterClient::notifyFailOnWorkerThread):
        (WebCore::WorkerPlatformFileWriterClient::notifyTruncateOnWorkerThread):
        (WebCore::WorkerPlatformFileWriterClient::notifyWrite):
        (WebCore::WorkerPlatformFileWriterClient::notifyTruncate):
        (WebCore::WorkerPlatformFileWriterClient::notifyFail):
        (WebCore::WorkerPlatformFileWriterClient::postTaskToWorkerThreadIfNeeded):
        * platform/blackberry/WorkerPlatformFileWriterClient.h: Added.
        (WebCore):
        (WTF):
        (WTF::WebCore::WorkerPlatformFileWriterClient):

2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>

        Mac Lion build fix attempt after r148197.

        * page/scrolling/mac/ScrollingStateNodeMac.mm:

2013-04-11  Alexey Proskuryakov  <ap@apple.com>

        <rdar://problem/10416316> [Mac] WebSocket doesn't work with authenticating proxies
        https://bugs.webkit.org/show_bug.cgi?id=114464

        Reviewed by Brady Eidson.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:
        Updated for new wkCopyCONNECTProxyResponse signature.

        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::executePACFileURL): Fixed a typo in a comment.
        (WebCore::SocketStreamHandle::addCONNECTCredentials): Don't crash even if the rest
        of the fix didn't work (which would be the case on some OS versions).
        (WebCore::SocketStreamHandle::readStreamCallback): Replaced most breaks with returns,
        because breaks were confusing in such a huge switch. Changed null proxyResponse
        to not be treated as authentication success, because it's not. Merged two parts
        of WaitingForConnect state handling for clarity.
        (WebCore::SocketStreamHandle::writeStreamCallback): Don't blindly assume that we
        can start WebSocket handshake after kCFStreamEventCanAcceptBytes. Perhaps it's
        nothing but a failed CONNECT, and a read callback still needs to send authentication.
        Without this, establishing connections was flaky. Added a check for Closed state,
        matching read callback.

2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>

        MutationRecord is not exposed
        https://bugs.webkit.org/show_bug.cgi?id=114288

        Reviewed by Darin Adler.

        Expose MutationRecord on DOMWindow. This patch is copied from a patch
        by Adam Klein. https://codereview.chromium.org/13861028

        Test: fast/dom/MutationObserver/mutation-record-constructor.html

        * page/DOMWindow.idl:

2013-04-11  Beth Dakin  <bdakin@apple.com>

        Cannot scroll to footer on a page with overflow:hidden on the body
        https://bugs.webkit.org/show_bug.cgi?id=114462
        -and corresponding-
        <rdar://problem/13530042>

        Reviewed by Simon Fraser.

        Add a new scenario in which we want to overrideHidden -- whenever we are the 
        mainFrame and there is a header or footer.

        * page/FrameView.cpp:
        (WebCore::FrameView::applyOverflowToViewport):

2013-04-11  Commit Queue  <rniwa@webkit.org>

        Unreviewed, rolling out r148034, r148052, r148097, and
        r148194.
        http://trac.webkit.org/changeset/148034
        http://trac.webkit.org/changeset/148052
        http://trac.webkit.org/changeset/148097
        http://trac.webkit.org/changeset/148194
        https://bugs.webkit.org/show_bug.cgi?id=114463

        broke mutiresolution favicons, among other things (Requested
        by thorton on #webkit).

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::setIconDataForIconURL):
        * loader/icon/IconDatabase.h:
        (IconDatabase):
        * loader/icon/IconDatabaseBase.h:
        * loader/icon/IconRecord.cpp:
        * loader/icon/IconRecord.h:
        (IconRecord):

2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK][AC] Implement GraphicsLayerClutter::moveOrCopyAnimations
        https://bugs.webkit.org/show_bug.cgi?id=114019

        Reviewed by Gustavo Noronha Silva.

        Fill moveOrCopyAnimations that is based on Mac port implementation.

        Tests: animations/3d/change-transform-in-end-event.html
               animations/3d/transform-origin-vs-functions.html
               compositing/animation/state-at-end-event-transform-layer.html

        * platform/graphics/clutter/GraphicsLayerClutter.cpp:
        (WebCore::GraphicsLayerClutter::moveOrCopyLayerAnimation):
        (WebCore):
        (WebCore::GraphicsLayerClutter::moveOrCopyAnimations):
        * platform/graphics/clutter/GraphicsLayerClutter.h:

2013-04-11  Anders Carlsson  <andersca@apple.com>

        Implement StorageManager::getValues
        https://bugs.webkit.org/show_bug.cgi?id=114461

        Reviewed by Beth Dakin.

        Expose the item hash map.

        * storage/StorageMap.h:
        (WebCore::StorageMap::items):

2013-04-11  Eli Fidler  <efidler@blackberry.com>

        [BlackBerry] Use the platform list of languages with fonts instead of hardcoding
        https://bugs.webkit.org/show_bug.cgi?id=114452

        Reviewed by Rob Buis.

        BlackBerry PR 325244
        Internally reviewed by Jeff Rogers

        No functional change, but platform font changes won't need a WebKit change
        going forward.

        * page/blackberry/SettingsBlackBerry.cpp:
        (WebCore::Settings::initializeDefaultFontFamilies):

2013-04-11  Dirk Schulze  <krit@webkit.org>

        [CSS Shaders] Parse parameters descriptor
        https://bugs.webkit.org/show_bug.cgi?id=114455

        Reviewed by Dean Jackson.

        Add support for the 'parameters' descriptor in the filter at-rule to support
        parameterization of CSS Shaders.

        https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters

        Tests: css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid.html
               css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp: Added 'parameters' property and fail parsing if not inside
            of an @filter rule.
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFilterRuleParameters): New helper function to verify
            values.
        (WebCore):
        * css/CSSParser.h:
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in: Added new property name 'parameters'.
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):

2013-04-11  Arunprasad Rajkumar  <arunprasadr@nds.com>

        Default Implementation of toString for NPObject shouldn't return NPClass & NPObject address as String
        https://bugs.webkit.org/show_bug.cgi?id=114450

        Reviewed by Anders Carlsson.

        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::stringValue):

2013-04-11  Robert Hogan  <robert@webkit.org>

        REGRESSION (142152): ensure we skip past out-of-flow objects when detecting whitespace to ignore after leading empty inlines
        https://bugs.webkit.org/show_bug.cgi?id=114311

        Reviewed by Emil A Eklund.

        When we hit an empty inline in line layout and try to detect whether it has any whitespace after it that we ought to ignore, then
        we need to skip past out-of-flow and floating objects when looking for that whitespace. Failure to do so will result in us
        adding the width from the first space we encounter to our line width and over-estimating the real width of the line.

        We're hitting this bug now because we have broadened the category of empty inlines that get lineboxes so we go into line layout 
        and have to deal with them and their subsequent whitespace there. Previously this sort of whitespace would have been simply
        consumed by |skipLeadingWhitespace|.

        Test: fast/inline/out-of-flow-objects-and-whitespace-after-empty-inline.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::shouldSkipWhitespaceAfterStartObject):

2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>

        Autocorrected text doesn't have a marker of type autocorrected
        https://bugs.webkit.org/show_bug.cgi?id=114337

        Reviewed by Darin Adler.

        The bug was caused by markAndReplaceFor's text replacement errornously assuming that there are
        no other text checking result starting at the same offset. That resulted in us adjusting location
        offsets of the subsequent results pointing at the replaced text, hit an assertion, and blow up.

        Fixed the bug by skipping all remaining results for the replaced text since they're no longer
        applicable.

        Tests: Existing autocorection tests have been updated to assert new behavior.

        * editing/Editor.cpp:
        (WebCore::Editor::markAndReplaceFor):

2013-04-11  Michelangelo De Simone  <michelangelo@webkit.org>

        [CSS Shaders] Parse the geometry descriptor
        https://bugs.webkit.org/show_bug.cgi?id=110815

        Added initial parsing for the "geometry" descriptor, as per specification:
        https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#geometry
        This descriptor allows to specify the mesh geometry for custom filters.

        Reviewed by Dirk Schulze.

        Tests: css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-invalid.html
               css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-valid.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseGeometry): New method that parses the geometry
        descriptor (grid()).
        (WebCore):
        * css/CSSParser.h:
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in: Added conditional "geometry" property.
        * css/CSSValueKeywords.in: Added conditional "attached" value keyword; detached
        was already there.

2013-04-11  Anders Carlsson  <andersca@apple.com>

        Make StorageAreaMap dispatch session storage events
        https://bugs.webkit.org/show_bug.cgi?id=114454

        Reviewed by Beth Dakin.

        Export storage symbols and headers needed by WebKit2.

        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:

2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        handleMouseMoveEvent should let hit-testing hit-test scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=114430

        Reviewed by Antonio Gomes.

        Allow hit-testing to hit-test frame scrollbars so handleMouseMoveEvent
        does not have to do it itself.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent):

2013-04-11  Brian Holt  <brian.holt@samsung.com>

        [Gtk] Combo boxes should be arrow-out-of-able similar to list boxes when caret-browsing is enabled.
        https://bugs.webkit.org/show_bug.cgi?id=76796

        Reviewed by Chris Fleizach.

        When using caret-browsing with the right and left arrows, the
        behaviour of menuLists should be the same as listBoxes. This means
        not default-handling the event and passing it up the stack instead.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):

2013-04-11  Alexey Proskuryakov  <ap@apple.com>

        Remove some ResourceHandle.h includes
        https://bugs.webkit.org/show_bug.cgi?id=114416

        Reviewed by Ryosuke Niwa.

        * loader/CrossOriginAccessControl.h:
        * loader/CrossOriginPreflightResultCache.h:
        These files don't need ResourceHandle.h, just ResourceHandleTypes.h.

        * loader/TextTrackLoader.cpp:
        * loader/ThreadableLoader.h:
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/cache/MemoryCache.h:
        * loader/mac/ResourceLoaderMac.mm:
        * page/Settings.cpp:
        * platform/network/AuthenticationChallengeBase.cpp:
        * platform/network/cf/CookieJarCFNet.cpp:
        * platform/network/cf/ResourceRequestCFNet.cpp:
        * xml/XSLTProcessorLibxslt.cpp:
        * xml/parser/XMLDocumentParser.cpp:
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        Just straightforward removal of includes.

2013-04-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        Use CSS4 image-rendering to determing image scaling quality
        https://bugs.webkit.org/show_bug.cgi?id=113405

        Reviewed by Simon Fraser.

        Implement the new CSS4 image-rendering property values.

        Image scaling now uses low-quality (pixelated) scaling for
        crisp-edges, pixelated and optimizeSpeed values, and always
        use high quality (smooth) scaling for -webkit-smooth and
        optimizeQuality. The latter can be used to disable low quality
        scaling during CSS animations or live resizing.

        The new values are protected with a new CSS4_IMAGES feature, but
        the crisp-edge value has been introduced before to displace the
        deprecated -webkit-optimize-contrast value, and optimizeSpeed
        and optimizeQuality values are supported for SVG compatibility.

        * css/CSSParser.cpp:
        (WebCore::isValidKeywordPropertyAndValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator EImageRendering):
        * css/CSSValueKeywords.in:
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
        * rendering/RenderHTMLCanvas.cpp:
        (WebCore::RenderHTMLCanvas::paintReplaced):
        * rendering/style/RenderStyleConstants.h:

2013-04-11  Adenilson Cavalcanti  <cavalcantii@gmail.com>

        Build fix: use of uninitialized variable in ScrollingStateTree
        https://bugs.webkit.org/show_bug.cgi?id=114443

        Reviewed by Anders Carlsson.

        Initialize pointer to zero before use, fixes build.
        No new tests, no changes on behavior.

        * page/scrolling/ScrollingStateTree.cpp:
        (WebCore::ScrollingStateTree::attachNode):

2013-04-11  Dirk Schulze  <krit@webkit.org>

        [CSS Shaders] Parse mix descriptor
        https://bugs.webkit.org/show_bug.cgi?id=114414

        Reviewed by Antti Koivisto.

        Add support for the 'mix' descriptor in the filter at-rule to support blend modes
        and composite operators in CSS Shaders.
        Each pixel in the fragment shader will be blended and composited with the
        backdrop by taking these values into account.

        https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-mix

        Tests: css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid.html
               css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp: Added 'mix' property and fail parsing if not inside
            of an @filter rule.
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseFilterRuleMix): New helper function to verify
            values.
        (WebCore):
        * css/CSSParser.h:
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in: Added new property name 'mix'.
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):

2013-04-11  Zalan Bujtas  <zalan@apple.com>

        Parent box with background-size auto and gradient image does not get properly repainted when child box is resized. 
        https://bugs.webkit.org/show_bug.cgi?id=114424

        Reviewed by Antti Koivisto.
        
        Initiate full repaint on fill layer, when the image is generated and the background
        property defines auto size.
        http://www.w3.org/TR/css3-background/#background-size
        'If the image has neither an intrinsic width nor an intrinsic height, its size is determined as for 'contain'.'

        Extended fast/repaint/background-shorthand-with-gradient-and-height-changes.html
        to cover this case too.

        * rendering/RenderObject.cpp:
        (WebCore::mustRepaintFillLayers):

2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK][AC] use a smart pointer for GList and ClutterCanvas
        https://bugs.webkit.org/show_bug.cgi?id=114057

        Reviewed by Gustavo Noronha Silva.

        We can make simple code & prevent possible memory leak by using a proper smart pointer.
        Especially if we get children by clutter_actor_get_children, we should free it after using.

        No functionality changed.

        * platform/graphics/clutter/GraphicsLayerActor.cpp:
        (graphicsLayerActorUpdateTexture):
        (graphicsLayerActorRemoveAll):

2013-04-11  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry][CSS Filters] Blur filter fails to recompute blur size when layer size changes
        https://bugs.webkit.org/show_bug.cgi?id=114272

        Reviewed by Rob Buis.

        Blur appeared blocky or pixelated when surface changed size after
        creating the filter actions. The initial image size was used to
        determine the blur size (expressed in texture coordinate system).
        Fixed by recomputing the blur size when the surface size changes, using
        a new Uniform1f subclass that can use a functor to compute the uniform
        value per-frame.

        This fixes css3/filters/effect-blur-hw.html. This can only be verified
        by manual inspection because the BlackBerry port is not currently using
        pixel tests.

        PR 323730

        * platform/graphics/blackberry/LayerFilterRenderer.cpp:
        (WebCore):
        (SurfaceFunctor):
        (WebCore::SurfaceFunctor::SurfaceFunctor):
        (InverseSurfaceWidth):
        (WebCore::InverseSurfaceWidth::InverseSurfaceWidth):
        (WebCore::InverseSurfaceWidth::operator()):
        (InverseSurfaceHeight):
        (WebCore::InverseSurfaceHeight::InverseSurfaceHeight):
        (WebCore::LayerFilterRenderer::actionsForOperations):
        * platform/graphics/blackberry/LayerFilterRenderer.h:
        (Uniform1f):
        (WebCore):
        (Uniform1fWithFunctor):
        (WebCore::Uniform1fWithFunctor::create):
        (WebCore::Uniform1fWithFunctor::Uniform1fWithFunctor):
        (WebCore::Uniform1fWithFunctor::apply):
        (WebCore::Uniform1f::createWithFunctor):

2013-04-11  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Accelerated compositing debug rectangle incorrectly drawn for layers with surfaces
        https://bugs.webkit.org/show_bug.cgi?id=114275

        Reviewed by Carlos Garcia Campos.

        The drawDebugBorder method was updated to mirror the logic in
        compositeLayersRecursive, i.e. if we're compositing a surface to the
        screen, use the transformed bounds stored in the surface. The bounds
        stored in the layer should only be used when drawing the layer to the
        surface.

        Speaking of which, also update the code to skip border drawing when
        drawing a layer to a surface. Drawing the borders inside the surface
        would only result in messing up the surface contents, especially when
        CSS filters like blur were the reason for having a surface in the first
        place - the border would be blurred and hard to discern.

        Only manually testable, the debug border is disabled during layout
        tests.

        PR 323746

        * platform/graphics/blackberry/LayerRenderer.cpp:
        (WebCore::LayerRenderer::drawDebugBorder):
        * platform/graphics/blackberry/LayerRendererSurface.cpp:
        (WebCore::LayerRendererSurface::drawRect):
        (WebCore::LayerRendererSurface::transformedBounds): Added.
        (WebCore):
        * platform/graphics/blackberry/LayerRendererSurface.h:
        (LayerRendererSurface):

2013-04-11  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Compiler warning in LayerWebKitThread.cpp
        https://bugs.webkit.org/show_bug.cgi?id=114277

        Reviewed by Carlos Garcia Campos.

        All the relevant WTF::Vector APIs use size_t, storing the position in
        an int resulted in a compiler warning. Fixed by switching to size_t.

        No change in behavior, no new tests.

        PR 323753

        * platform/graphics/blackberry/LayerWebKitThread.cpp:
        (WebCore::LayerWebKitThread::remove):
        (WebCore::LayerWebKitThread::replaceSublayer):

2013-04-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>

        [CoordinatedGraphics] Use ScrollingStateTree to handle fixed elements positioning while scrolling
        https://bugs.webkit.org/show_bug.cgi?id=114353

        Reviewed by Noam Rosenthal.
        
        ScrollingCoordinatorCoordinatedGraphics should implement threaded scrolling interface and
        re-use threaded scrolling approach (ScrollingStateTree and ViewportConstraints) to handle
        fixed/sticky elements positioning while scrolling. The rationals are below.

        Before the change ScrollingCoordinatorCoordinatedGraphics was implementing Chromium-specific
        interface which is going to be removed eventually as there is no ScrollingCoordinatorChromium
        existing.

        Tested by existing manual tests (fixed-position.html for example.

        * CMakeLists.txt:
        * Target.pri:
            Included ScrollingStateTree files.

        * page/scrolling/ScrollingStateFixedNode.cpp:
        * page/scrolling/ScrollingStateFixedNode.h:
        * page/scrolling/ScrollingStateNode.cpp:
        * page/scrolling/ScrollingStateNode.h:
        * page/scrolling/ScrollingStateScrollingNode.cpp:
        * page/scrolling/ScrollingStateScrollingNode.h:
        * page/scrolling/ScrollingStateStickyNode.cpp:
        * page/scrolling/ScrollingStateStickyNode.h:
        * page/scrolling/ScrollingStateTree.cpp:
        * page/scrolling/ScrollingStateTree.h:
            Removed ENABLE(THREADED_SCROLLING) code guards.

        * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
        (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
        (WebCore::ScrollingCoordinatorCoordinatedGraphics::~ScrollingCoordinatorCoordinatedGraphics):
        (WebCore):
        (WebCore::ScrollingCoordinatorCoordinatedGraphics::attachToStateTree):
        (WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
        (WebCore::ScrollingCoordinatorCoordinatedGraphics::clearStateTree):
        (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
        * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
            ScrollingCoordinatorCoordinatedGraphics is using threaded scrolling approach to handle fixed
            elements positioning while scrolling.

        (WebCore):
        (ScrollingCoordinatorCoordinatedGraphics):
        * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp: Added.
        (WebCore):
        (WebCore::ScrollingStateNode::platformScrollLayer):
        (WebCore::ScrollingStateNode::setScrollPlatformLayer):
        (WebCore::ScrollingStateNode::setScrollLayer):
        * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp: Added.
        (WebCore):
        (WebCore::ScrollingStateScrollingNode::counterScrollingPlatformLayer):
        (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):

2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        [Qt] EventHandler should handle Space and BackSpace 
        https://bugs.webkit.org/show_bug.cgi?id=114428

        Reviewed by Jocelyn Turcotte.

        Enable default space-handling for Qt.

        * page/EventHandler.cpp:

2013-04-11  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>

        IconDatabase: Simplify boolean logic in assertion.
        https://bugs.webkit.org/show_bug.cgi?id=114425

        Reviewed by Andreas Kling.

        Follow-up to r148097; drop the overzealous use of !! to turn a
        PassRefPtr into a boolean.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::updateIconRecord):

2013-04-11  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] LayerTexture refactoring
        https://bugs.webkit.org/show_bug.cgi?id=114276

        Reviewed by Carlos Garcia Campos.

        Remove the GpuHandle and HostType typedefs from LayerTexture, they
        don't make any sense now that we removed the Skia code paths. With Skia
        they used to be an OpenGL texture ID and an SkBitmap respectively, but
        now it's just BlackBerry::Platform::Graphics::Buffer all around.

        This allows us to rename textureId() into buffer() which is more to the
        point. The texture ID concept is now up for grabs and can be used to
        consolidate all the various code for extracting an OpenGL texture from
        a BlackBerry::Platform::Graphics::Buffer. This opportunity is seized in
        LayerTexture::platformTexture(), a name which makes more sense than
        textureId() for anyone familiar with the GraphicsContext3D code. We can
        also leverage the Platform3DObject typedef to avoid including gl2.h.

        The vertex attribute state was getting trampled when interacting with
        BlackBerry::Platform::Graphics in the LayerFilterRenderer. Some
        additional GL state save/restore incantations when accessing the OpenGL
        texture for a LayerTexture in the new LayerTexture::platformTexture()
        method fixes various CSS Filters test cases.

        Since we removed the Skia integration from LayerTiler, nobody cares
        about the dirty rect, tile rect or opaqueness of the tile contents. So
        remove those parameters from the updateContents code path.

        No change in behavior except for fixing CSS Filters tests like
        css3/filters/effect-blur-hw.html. This can only be verified by manually
        looking at the tests, we don't have pixel test support to catch this
        kind of regression.

        PR 322882

        * platform/graphics/blackberry/LayerCompositingThread.cpp:
        (WebCore::LayerCompositingThread::drawSurface):
        * platform/graphics/blackberry/LayerFilterRenderer.cpp:
        (WebCore::LayerFilterRenderer::ping):
        (WebCore::LayerFilterRenderer::pong):
        (WebCore::LayerFilterRenderer::pushSnapshot):
        (WebCore::LayerFilterRenderer::popSnapshot):
        (WebCore::LayerFilterRenderer::applyActions):
        * platform/graphics/blackberry/LayerRenderer.cpp:
        (WebCore::LayerRenderer::useSurface):
        * platform/graphics/blackberry/LayerTexture.cpp:
        (WebCore::LayerTexture::LayerTexture):
        (WebCore::LayerTexture::updateContents):
        (WebCore::LayerTexture::setContentsToColor):
        (WebCore::LayerTexture::protect):
        (WebCore::LayerTexture::platformTexture):
        (WebCore):
        * platform/graphics/blackberry/LayerTexture.h:
        (WebCore::LayerTexture::isDirty):
        (WebCore::LayerTexture::buffer):
        (LayerTexture):
        (WebCore::LayerTexture::setBuffer):
        * platform/graphics/blackberry/LayerTile.cpp:
        (WebCore::LayerTile::setContents):
        (WebCore::LayerTile::updateContents):
        * platform/graphics/blackberry/LayerTile.h:
        (WebCore::LayerTile::hasTexture):
        (LayerTile):
        * platform/graphics/blackberry/LayerTiler.cpp:
        (WebCore::LayerTiler::updateTextureContentsIfNeeded):
        (WebCore::LayerTiler::uploadTexturesIfNeeded):
        (WebCore::LayerTiler::performTileJob):
        (WebCore::LayerTiler::drawTile):
        * platform/graphics/blackberry/LayerTiler.h:
        (WebCore::LayerTiler::TextureJob::TextureJob):
        (WebCore::LayerTiler::TextureJob::setContents):
        (WebCore::LayerTiler::TextureJob::updateContents):
        (TextureJob):
        (LayerTiler):
        * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
        (WebCore::TextureCacheCompositingThread::createBuffer):
        (WebCore::TextureCacheCompositingThread::collectGarbage):
        (WebCore::TextureCacheCompositingThread::install):
        (WebCore::TextureCacheCompositingThread::resizeTexture):
        (WebCore::TextureCacheCompositingThread::evict):
        (WebCore::TextureCacheCompositingThread::textureForContents):
        (WebCore::TextureCacheCompositingThread::updateContents):
        * platform/graphics/blackberry/TextureCacheCompositingThread.h:
        (TextureCacheCompositingThread):
        (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
        (ZombieTexture):

2013-04-11  Alberto Garcia  <agarcia@igalia.com>

        [BlackBerry] RenderThemeBlackBerry: upstream missing code
        https://bugs.webkit.org/show_bug.cgi?id=114343

        Reviewed by Xan Lopez.

        Add implementations of sliderTickSize() and
        sliderTickOffsetFromTrackCenter(), as well as a missing header.

        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore):
        (WebCore::RenderThemeBlackBerry::sliderTickSize):
        (WebCore::RenderThemeBlackBerry::sliderTickOffsetFromTrackCenter):
        * platform/blackberry/RenderThemeBlackBerry.h:
        (RenderThemeBlackBerry):

2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        HitTestRequest::AllowFrameScrollbars does not test main frame scrollbar
        https://bugs.webkit.org/show_bug.cgi?id=112563

        Reviewed by Antonio Gomes.

        Move the frame scrollbar testing from RenderPart to RenderView, so that it is
        tested by all frame and not just child frames. At the same time remove the 
        main frame test from the one current callsite using the option.

        Tested by fast/events/touch/gesture/gesture-scrollbar.html.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureEvent):
        * rendering/RenderPart.cpp:
        (WebCore::RenderPart::nodeAtPoint):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::hitTest):

2013-04-11  Rune Lillesveen  <rune@opera.com>

        Incorrect evaluation of resolution media queries
        https://bugs.webkit.org/show_bug.cgi?id=114029

        Reviewed by Kenneth Rohde Christiansen.

        The implementation used the physical resolution to evaluate the
        resolution media features. Changed to use the actual CSS resolution,
        also known as the device-pixel-ratio, instead. Unified the code for
        evaluating the resolution and device-pixel-ratio media features.

        No new tests, covered by existing tests.

        * WebCore.exp.in:
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::isResolution):
        * css/MediaQueryEvaluator.cpp:
        (WebCore::evalResolution):
        (WebCore::device_pixel_ratioMediaFeatureEval):
        (WebCore::resolutionMediaFeatureEval):
        * page/Screen.cpp:
        * page/Screen.h:
        * page/Settings.cpp:
        (WebCore):
        * page/Settings.h:
        (Settings):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::Backup::Backup):
        (WebCore::InternalSettings::Backup::restoreTo):
        * testing/InternalSettings.h:
        (Backup):
        (InternalSettings):
        * testing/InternalSettings.idl:

2013-04-11  Carlos Garcia Campos  <cgarcia@igalia.com>

        FrameLoaderClient::assignIdentifierToInitialRequest() not called for the main resource when loaded from the memory cache
        https://bugs.webkit.org/show_bug.cgi?id=112418

        Reviewed by Darin Adler.

        When the main resource is loaded from the memory cache the
        response is not added to the ResponseVector of the document
        loader, so that when committing the provisional load the remaining
        delegate messages are not called because the ResponseVector of the
        document loader is empty. When the main resource is loaded from
        the memory cache, there's no resource loader, and the client is
        notified about the response received using
        ResourceLoadNotifier::dispatchDidReceiveResponse() directly
        instead of ResourceLoadNotifier::didReceiveResponse() which is the
        one adding the response to the ResponseVector of the document
        loader. So, the problem can be fixed by adding the response to the
        ResponseVector before calling dispatchDidReceiveResponse() when
        loading the main resource without a resource loade

        Test: loader/go-back-cached-main-resource.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::responseReceived):

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

        Remove some includes of CachedImage.h
        https://bugs.webkit.org/show_bug.cgi?id=114411

        Reviewed by Dan Bernstein.

        * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
        definition of a class it holds, but default construction does not.

        * rendering/RenderImageResource.cpp:
        * rendering/RenderImageResource.h:
        Moved definitions of virtual functions to a .cpp file. There is no win from having
        them inline, and now we don't need CachedImage.h in the header.

        * bindings/js/JSNodeCustom.cpp:
        * dom/Clipboard.cpp:
        (WebCore::Clipboard::Clipboard):
        * platform/mac/ClipboardMac.h:
        * rendering/InlineFlowBox.cpp:
        * rendering/RenderBox.cpp:
        * rendering/RenderListItem.cpp:
        * rendering/RenderListMarker.cpp:
        * rendering/RenderTableCol.cpp:
        * rendering/RenderTableRow.cpp:
        * rendering/RenderTableSection.cpp:
        * svg/graphics/SVGImageCache.cpp:
        Removed unnecessary includes.

        * platform/mac/PasteboardMac.mm:
        * rendering/RenderSnapshottedPlugIn.cpp:
        Added ones where they are now necessary.

2013-04-10  No'am Rosenthal  <noam@webkit.org>

        Allow direct compositing of background images
        https://bugs.webkit.org/show_bug.cgi?id=108203

        Reviewed by Simon Fraser.

        Use setContentsToImage for background images, if the GraphicsLayer has only a background
        bitmap image and nothing else. Compute the contentsRect/contentsTileRect from the box model.
        Added new properties to GraphicsLayer, contentsTilePhase and contentsTileSize, which controls the "single tile rect",
        which allows us to compute the pattern-space transform of a tile, thus allowing background-size
        and other characteristics of background images.

        This feature is explicitly disabled when there is any composition with a background color or if
        there are several background images, as in that case having a single backing store has some
        advantages over directly compositing in hardware.

        Currently, this feature is disabled for all ports, allowing ports to implement their backend
        and decide when to enable it.

        Note that RenderBoxModelObject::getGeometryForBackgroundImage crops the contents rect to the 
        area that contains the tiles, which allows us to assume full tiling in GraphicsLayer.
        In this way contentsTileSize/Phase is equivalent to GraphicsContext::drawTiledImage.

        Tests: compositing/patterns/direct-pattern-compositing-add-text.html
               compositing/patterns/direct-pattern-compositing-change.html
               compositing/patterns/direct-pattern-compositing-contain.html
               compositing/patterns/direct-pattern-compositing-cover.html
               compositing/patterns/direct-pattern-compositing-load.html
               compositing/patterns/direct-pattern-compositing-padding.html
               compositing/patterns/direct-pattern-compositing-position.html
               compositing/patterns/direct-pattern-compositing-rotation.html
               compositing/patterns/direct-pattern-compositing-size.html
               compositing/patterns/direct-pattern-compositing.html

        * platform/graphics/GraphicsLayer.h:
        (GraphicsLayer):
        (WebCore::GraphicsLayer::setContentsTileSize):
        (WebCore::GraphicsLayer::setContentsTilePhase):
        (WebCore::GraphicsLayer::contentsTileSize):
        (WebCore::GraphicsLayer::contentsTilePhase):
        (WebCore::GraphicsLayer::supportsContentsTiling):
                Add a contentsTileRect property that enables tile-repeat of background images.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::imageChanged):
                Pass background image changes to the layer backing.

        * rendering/RenderBoxModelObject.cpp:
        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
                Expose a function that performs the geometry calculations needed to determine 
                the tileRect for a background image. This function is also responsible
                for cropping the contentsRect to fit the area that is drawn into.

        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::contentChanged):
        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::updateDirectlyCompositedContents):
        (WebCore::RenderLayerBacking::resetContentsRect):
        (WebCore::hasBoxDecorationsOrBackgroundImage):
        (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
        (WebCore::canCreateTiledImage):
        (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
        (WebCore::backgroundRectForBox):
                Allow background images to be directly composited if conditions allow (see bug description).

2013-04-10  Patrick Gansterer  <paroga@webkit.org>

        Replace ENABLE_LEGACY_WEB_AUDIO preprocessor statements in IDL files with Conditional attribute
        https://bugs.webkit.org/show_bug.cgi?id=114351

        Reviewed by Ryosuke Niwa.

        The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.

        * Modules/webaudio/AudioBufferSourceNode.idl:
        * Modules/webaudio/AudioContext.idl:
        * Modules/webaudio/AudioParam.idl:
        * Modules/webaudio/OscillatorNode.idl:

2013-04-10  Patrick Gansterer  <paroga@webkit.org>

        Replace ENABLE_DIRECTORY_UPLOAD preprocessor statements in IDL files with Conditional attribute
        https://bugs.webkit.org/show_bug.cgi?id=114350

        Reviewed by Ryosuke Niwa.

        The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.

        * fileapi/File.idl:

2013-04-10  Ryosuke Niwa  <rniwa@webkit.org>

        Cleanup local variables in Editor::markAndReplaceFor
        https://bugs.webkit.org/show_bug.cgi?id=114383

        Reviewed by Enrica Casucci.

        Added resultEndLocation, which is the sum of resultLocation and resultLength.

        Also replaced ambiguousBoundaryOffset by useAmbiguousBoundaryOffset since the ambiguous offset is always
        selectionOffset -1 to avoid the extra house keeping and obnoxious -1 check.

        * editing/Editor.cpp:
        (WebCore::Editor::markAndReplaceFor):

2013-04-10  Benjamin Poulain  <bpoulain@apple.com>

        Mass remove all the empty directories

        Rubberstamped by Ryosuke Niwa.

        * Modules/intents: Removed.
        * Modules/protocolhandler: Removed.
        * Modules/speech/mac: Removed.
        * accessibility/efl: Removed.
        * accessibility/gtk: Removed.
        * bridge/jni/jsc: Removed.
        * editing/android: Removed.
        * editing/gtk: Removed.
        * history/android: Removed.
        * page/android: Removed.
        * platform/android: Removed.
        * platform/clutter: Removed.
        * platform/graphics/blackberry/skia: Removed.
        * platform/graphics/harfbuzz/ng: Removed.
        * platform/graphics/pango: Removed.
        * platform/image-decoders/cg: Removed.
        * platform/image-decoders/qt: Removed.
        * platform/network/android: Removed.
        * platform/network/soup/cache/webkit: Removed.
        * platform/text/android: Removed.
        * platform/text/wince: Removed.
        * platform/track: Removed.

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

        Log when the animation timer fires
        https://bugs.webkit.org/show_bug.cgi?id=114393

        Reviewed by Dean Jackson.

        Logging to the Animations log channel when the updateAnimationTimer
        fires is useful, because it indicates whether we're running
        software animations.

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::updateAnimationTimer):

2013-04-10  Beth Dakin  <bdakin@apple.com>

        Inspector highlights are offset when the WKView has a header
        https://bugs.webkit.org/show_bug.cgi?id=114389
        -and corresponding-
        <rdar://problem/13522434>

        Reviewed by Sam Weinig.

        rootViewToContents() and contentsToRootView() need to factor in the 
        headerHeight(), much like windowToContents() and contentsToWindow() do already. 
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::rootViewToContents):
        (WebCore::ScrollView::contentsToRootView):

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

        Flesh out the Animations logging
        https://bugs.webkit.org/show_bug.cgi?id=114388

        Reviewed by Dean Jackson.

        Log state changes and transition/animation creation and destruction
        to the Animations log channel.

        * page/animation/AnimationBase.cpp:
        (WebCore::nameForState):
        (WebCore::AnimationBase::updateStateMachine):
        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
        (WebCore::AnimationBase::goIntoEndingOrLoopingState):
        (WebCore::AnimationBase::freezeAtTime):
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        * page/animation/KeyframeAnimation.h:
        (WebCore::KeyframeAnimation::keyframes):
        (KeyframeAnimation):

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

        <rdar://problem/13047266> External XML entities are not loaded with modern libxml2
        https://bugs.webkit.org/show_bug.cgi?id=114377

        Reviewed by Darin Adler.

        Covered by http/tests/security/xss-DENIED-xml-external-entity.xhtml when using
        new enough libxml2.

        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::switchToUTF16): Added a FIXME with an idea for improvement.
        (WebCore::XMLParserContext::createStringParser): Apply XML_PARSE_NOENT in a non-hacky
        way, so that the new libxml2 check doesn't fail.
        (WebCore::XMLParserContext::createMemoryParser): Updated an unhelpful and incorrect
        comment (XML_PARSE_NODICT actually means "Do not reuse the context dictionary").

2013-04-10  Eric Carlson  <eric.carlson@apple.com>

        [Mac] in-band tracks sometimes not recognized
        https://bugs.webkit.org/show_bug.cgi?id=114380

        Reviewed by Jer Noble.

        No new tests, covered by existing in-band tests.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Don't call selectMediaOption,
            availableMediaCharacteristicsWithMediaSelectionOptions is unlikely to be loaded at this time.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Disable automatic text track
            selection.
        (WebCore::assetMetadataKeyNames): Watch for the status of availableMediaCharacteristicsWithMediaSelectionOptions
            to change.

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

        [CSS Exclusions] Zoom causes shape-inside to fail when shape-padding is specified
        https://bugs.webkit.org/show_bug.cgi?id=113730

        Reviewed by Dirk Schulze.

        Snap computed margin and polygon boundaries to the LayoutUnit grid to ensure
        that they fall within the shape's LayoutUnit bounding box.

        Test: fast/exclusions/shape-inside/shape-inside-polygon-zoom.html

        * rendering/ExclusionPolygon.cpp:
        (WebCore::snapVerticesToLayoutUnitGrid): Convert the FloatPoint coordinates to LayoutUnits and then back to floats.
        (WebCore::computeShapePaddingBounds): Now calls snapVerticesToLayoutUnitGrid() before creating a FloatPolygon.
        (WebCore::computeShapeMarginBounds): Ditto.

2013-04-10  Csaba Osztrogonác  <ossy@webkit.org>

        One more unreviewed buildfix after r148123.

        * platform/graphics/filters/CustomFilterMeshGenerator.h:

2013-04-10  Beth Dakin  <bdakin@apple.com>

        FindBanner matches are offset when the WKView has a header or footer
        https://bugs.webkit.org/show_bug.cgi?id=114314
        -and corresponding-
        <rdar://problem/13522434>

        Reviewed by Simon Fraser.

        There were already a few places in the code where we needed to adjust the 
        scrollOffset() to pretend that (0,0) is that the top of the Document rather than 
        the top of the header. To fix the FindBanner issues, we need to know that version 
        of the offset in a few more places, so I added a function on ScrollView to fetch 
        it called scrollOffsetRelativeToDocument().

        New function subtracts out the headerHeight() to treat the top of 
        the document as (0,0).
        * WebCore.exp.in:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollOffsetRelativeToDocument):

        Use scrollOffsetRelativeToDocument() where we were previously making this 
        calculation. Also re-name an inaccurately named variable where we are actually 
        converting FROM a document offset to a ScrollableArea offset.
        (WebCore::ScrollView::windowToContents):
        * platform/ScrollView.h:
        (ScrollView):

        getRectToExpose needs to know about the actual visibleContentRect and the 
        visibleContentRect that is relative to the Document. So this 
        patch adds a new parameter to getRectToExpose for that purpose.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollRectToVisible):
        (WebCore::RenderLayer::getRectToExpose):
        * rendering/RenderLayer.h:

2013-04-10  Chris Fleizach  <cfleizach@apple.com>

        when ARIA button contains a link, label text is ignored (affects main buttons on m.facebook.com)
        https://bugs.webkit.org/show_bug.cgi?id=113906

        Reviewed by Tim Horton.

        If an element does not expose any children, then it's safe to include all of its sub children when determining
        the visible text.
        The bug is that all elements were ignoring focusable elements (like <a>) when determining visible children text

        Test: accessibility/link-inside-button-accessible-text.html

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::shouldUseAccessiblityObjectInnerText):
        * accessibility/AccessibilityNodeObject.h:
        (AccessibilityNodeObject):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isDescendantOfBarrenParent):
        (AccessibilityObject):

2013-04-10  Chris Fleizach  <cfleizach@apple.com>

        AX: Make sure all AX methods called from outside call prepareAccessibility
        https://bugs.webkit.org/show_bug.cgi?id=113818

        Reviewed by Darin Adler.

        Make sure any calls that can be made from outside WebCore are protected with the
        prepareAccessibility method.

        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper accessibilityMathRootIndexObject]):
        (-[WebAccessibilityObjectWrapper accessibilityMathRadicandObject]):
        (-[WebAccessibilityObjectWrapper accessibilityMathNumeratorObject]):
        (-[WebAccessibilityObjectWrapper accessibilityMathDenominatorObject]):
        (-[WebAccessibilityObjectWrapper accessibilityMathBaseObject]):
        (-[WebAccessibilityObjectWrapper accessibilityMathSubscriptObject]):
        (-[WebAccessibilityObjectWrapper accessibilityMathSuperscriptObject]):
        (-[WebAccessibilityObjectWrapper accessibilityMathUnderObject]):
        (-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
        (-[WebAccessibilityObjectWrapper accessibilityMathFencedOpenString]):
        (-[WebAccessibilityObjectWrapper accessibilityMathFencedCloseString]):
        (-[WebAccessibilityObjectWrapper accessibilityIsMathTopObject]):
        (-[WebAccessibilityObjectWrapper accessibilityMathType]):

2013-04-10  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed buildfix after r148123.

        * inspector/InspectorInstrumentation.h:
        (WebCore):

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

        Clicking on the volume slider of HTML5 elements is pausing sometimes
        https://bugs.webkit.org/show_bug.cgi?id=112548

        Reviewed by Eric Carlson.

        Test: media/click-volume-bar-not-pausing.html

        * html/shadow/MediaControlElementTypes.cpp:
        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
        Calling the setDefaultHandled() method on the event prevents it
        from being incorrectly propagated from the volume button up to the
        MediaDocument.

2013-04-10  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Rename BlackBerry specific Texture class
        https://bugs.webkit.org/show_bug.cgi?id=95781

        Reviewed by Rob Buis.

        Texture was a bit too generic and prone to name conflicts. Renamed it
        to LayerTexture.

        No change in behavior, no new tests.

        PR 322882

        * PlatformBlackBerry.cmake:
        * platform/graphics/blackberry/LayerCompositingThread.cpp:
        (WebCore::LayerCompositingThread::drawSurface):
        (WebCore::LayerCompositingThread::contentsTexture):
        * platform/graphics/blackberry/LayerCompositingThread.h:
        (LayerCompositingThread):
        * platform/graphics/blackberry/LayerCompositingThreadClient.h:
        (WebCore):
        (WebCore::LayerCompositingThreadClient::contentsTexture):
        * platform/graphics/blackberry/LayerFilterRenderer.cpp:
        (WebCore::LayerFilterRenderer::applyActions):
        * platform/graphics/blackberry/LayerFilterRenderer.h:
        (LayerFilterRenderer):
        * platform/graphics/blackberry/LayerRendererSurface.h:
        (WebCore::LayerRendererSurface::texture):
        (LayerRendererSurface):
        * platform/graphics/blackberry/LayerTexture.cpp: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.cpp.
        (WebCore):
        (WebCore::LayerTexture::LayerTexture):
        (WebCore::LayerTexture::~LayerTexture):
        (WebCore::LayerTexture::updateContents):
        (WebCore::LayerTexture::setContentsToColor):
        (WebCore::LayerTexture::protect):
        * platform/graphics/blackberry/LayerTexture.h: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.h.
        (WebCore):
        (LayerTexture):
        (WebCore::LayerTexture::create):
        (WebCore::LayerTexture::textureId):
        (WebCore::LayerTexture::isDirty):
        (WebCore::LayerTexture::hasTexture):
        (WebCore::LayerTexture::isColor):
        (WebCore::LayerTexture::isOpaque):
        (WebCore::LayerTexture::isProtected):
        (WebCore::LayerTexture::protect):
        (WebCore::LayerTexture::unprotect):
        (WebCore::LayerTexture::size):
        (WebCore::LayerTexture::width):
        (WebCore::LayerTexture::height):
        (WebCore::LayerTexture::bytesPerPixel):
        (WebCore::LayerTexture::sizeInBytes):
        (WebCore::LayerTexture::setTextureId):
        (WebCore::LayerTexture::setSize):
        * platform/graphics/blackberry/LayerTile.cpp:
        (WebCore::LayerTile::setContents):
        (WebCore::LayerTile::updateContents):
        (WebCore::LayerTile::setTexture):
        * platform/graphics/blackberry/LayerTile.h:
        (WebCore::LayerTile::texture):
        (LayerTile):
        * platform/graphics/blackberry/LayerTiler.cpp:
        (WebCore::LayerTiler::drawTile):
        (WebCore::LayerTiler::contentsTexture):
        * platform/graphics/blackberry/LayerTiler.h:
        (LayerTiler):
        (WebCore::LayerTiler::TextureJob::TextureJob):
        (WebCore::LayerTiler::TextureJob::setContents):
        (WebCore::LayerTiler::TextureJob::updateContents):
        (TextureJob):
        * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
        (WebCore::TextureProtector::TextureProtector):
        (TextureProtector):
        (WebCore::TextureCacheCompositingThread::allocateTextureId):
        (WebCore::freeTextureId):
        (WebCore::TextureCacheCompositingThread::textureResized):
        (WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
        (WebCore::TextureCacheCompositingThread::textureDestroyed):
        (WebCore::TextureCacheCompositingThread::install):
        (WebCore::TextureCacheCompositingThread::resizeTexture):
        (WebCore::TextureCacheCompositingThread::evict):
        (WebCore::TextureCacheCompositingThread::textureAccessed):
        (WebCore::TextureCacheCompositingThread::prune):
        (WebCore::TextureCacheCompositingThread::textureForTiledContents):
        (WebCore::TextureCacheCompositingThread::textureForColor):
        (WebCore::TextureCacheCompositingThread::updateContents):
        * platform/graphics/blackberry/TextureCacheCompositingThread.h:
        (WebCore::TextureCacheCompositingThread::createTexture):
        (TextureCacheCompositingThread):
        (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
        (ZombieTexture):

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

        Disallow programmatic movement of the browser window while user gestures are in progress.
        <http://webkit.org/b/114271>
        <rdar://problem/13226530>

        Reviewed by Oliver Hunt.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::moveBy):
        (WebCore::DOMWindow::moveTo):
        (WebCore::DOMWindow::resizeBy):
        (WebCore::DOMWindow::resizeTo):

2013-04-10  Ryosuke Niwa  <rniwa@webkit.org>

        Refactor Editor::markAndReplaceFor before fixing autocorrection bugs
        https://bugs.webkit.org/show_bug.cgi?id=114344

        Reviewed by Enrica Casucci.

        This patch refactors Editor::markAndReplaceFor so that we can start fixing bugs in a sane state.
        Extracted isAutomaticTextReplacementType and correctSpellcheckingPreservingTextCheckingParagraph,
        and made convenience local variables const.

        In particular, shouldMarkSpelling used to be assigned of false when shouldShowCorrectionPanel was true
        in a middle of a function but this was removed in favor of explicitly checking this condition later
        since shouldMarkSpelling was only referenced once after the assignment.

        * editing/Editor.cpp:
        (WebCore::isAutomaticTextReplacementType): Extracted.

        (WebCore::correctSpellcheckingPreservingTextCheckingParagraph): Extracted.  Used highestAncestor
        and rangeFromLocationAndLength to match the rest of the up-to-date editing code.

        (WebCore::Editor::markAndReplaceFor): See above.

2013-04-08  Anders Carlsson  <andersca@apple.com>

        Remove unneeded headers from FrameLoader.h
        https://bugs.webkit.org/show_bug.cgi?id=114223

        Reviewed by Geoffrey Garen.

        Remove unneeded headers from FrameLoader.h and add them back into the respective .cpp files where needed.

        * dom/Document.cpp:
        * history/CachedFrame.cpp:
        * history/PageCache.cpp:
        * inspector/InspectorResourceAgent.cpp:
        * loader/DocumentLoader.cpp:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):
        * loader/FrameLoader.h:
        (WebCore):
        (WebCore::FrameLoader::policyChecker):
        (WebCore::FrameLoader::history):
        (WebCore::FrameLoader::icon):
        * loader/MixedContentChecker.h:
        * loader/icon/IconLoader.cpp:
        * page/History.cpp:
        * page/Page.cpp:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        * testing/Internals.cpp:

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

        Minor code cleanup in AnimationBase::progress
        https://bugs.webkit.org/show_bug.cgi?id=114371

        Reviewed by Dean Jackson.

        Convert some "return; else if" to just "return; if".

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::progress):

2013-04-10  Robert Hogan  <robert@webkit.org>

        Empty inline continuations should only get lineboxes if the padding applies to their side of the inline
        https://bugs.webkit.org/show_bug.cgi?id=113896

        Reviewed by David Hyatt.

        Test: fast/inline/inline-with-empty-inline-continuations.html

        Where an empty inline is split across anonymous blocks we should only give lineboxes to the 'sides' of the
        inline that have borders, padding or margin.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::shouldApplyStartBorderPaddingOrMargin):
        (WebCore):
        (WebCore::shouldApplyEndBorderPaddingOrMargin):
        (WebCore::hasInlineDirectionBordersPaddingOrMargin):
        (WebCore::alwaysRequiresLineBox):

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

        [CSS Exclusions] Increasing padding does not correctly layout child blocks
        https://bugs.webkit.org/show_bug.cgi?id=112929

        Reviewed by David Hyatt.

        If a child block has changed dimension inside a shape and it has affected the block siblings
        we need to relayout the content inside the shape.

        Test: fast/exclusions/shape-inside/shape-inside-sibling-block-dimension-change-needs-relayout.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout): Add condition for dimension change.
        (WebCore::RenderBlock::layoutBlock): Call updateRegionsAndExclusionsAfterChildLayout with the new parameter.
        * rendering/RenderBlock.h:
        (RenderBlock): Add extra parameter to updateRegionsAndExclusionsAfterChildLayout(...)

2013-04-10  Geoffrey Garen  <ggaren@apple.com>

        Removed bitrotted TimeoutChecker code
        https://bugs.webkit.org/show_bug.cgi?id=114336

        Reviewed by Alexey Proskuryakov.

        This mechanism hasn't worked for a while.

        MarkL is working on a new version of this feature with a distinct
        implementation.

        * bindings/js/JSCallbackData.cpp:
        (WebCore::JSCallbackData::invokeCallback):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::commonJSGlobalData):
        * bindings/js/JSErrorHandler.cpp:
        (WebCore::JSErrorHandler::handleEvent):
        * bindings/js/JSEventListener.cpp:
        (WebCore::JSEventListener::handleEvent):
        * bindings/js/JSMutationCallback.cpp:
        (WebCore::JSMutationCallback::call):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::executeFunctionInContext):
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInWorld):
        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneBase::CloneBase):
        (WebCore::CloneSerializer::serialize):
        (WebCore::CloneDeserializer::deserialize):
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (-[WebScriptObject evaluateWebScript:]):

2013-04-10  Patrick Gansterer  <paroga@webkit.org>

        Replace ENABLE_JAVASCRIPT_DEBUGGER preprocessor statements in IDL files with Conditional attribute
        https://bugs.webkit.org/show_bug.cgi?id=114352

        Reviewed by Timothy Hatcher.

        The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.

        * page/Console.idl:

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

        Layers with opacity and blur filters are reported as opaque to the compositor
        https://bugs.webkit.org/show_bug.cgi?id=114295

        Reviewed by Simon Fraser.

        Test: compositing/contents-opaque/filter.html

        Some filters like opacity and blur might still trigger transparency in the layer, even though the
        background is opaque. I've added the special case in RenderLayer::backgroundIsKnownToBeOpaqueInRect to check
        for filters that might have transparency. Note that this special case is required only for software drawn
        filters, as the transparency is going to be backed in the GraphicsLayer content. Composited filters can
        figure it out in the compositor.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):

2013-04-10  Noam Rosenthal  <noam@webkit.org>

        [Texmap] In certain situations nested blending with overflow:hidden displays clipped results
        https://bugs.webkit.org/show_bug.cgi?id=114290

        Reviewed by Allan Sandfeld Jensen.

        Always apply the clip when binding a surface, even if it hasn't changed.
        Otherwise when binding a nested surface and rebinding its container surface,
        the clip wouldn't apply.

        Test: compositing/overlap-blending/nested-overlap-overflow.html

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::bind):

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

        Use minimal tiles during live resize
        https://bugs.webkit.org/show_bug.cgi?id=114364

        Reviewed by Darin Adler.

        We currently update non-visible speculative tiles during resizing. We should just drop them.

        * page/FrameView.cpp:
        (WebCore::FrameView::willStartLiveResize):
        (WebCore::FrameView::willEndLiveResize):
        * page/FrameView.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::computeTileCoverage):
        
            Use minimal coverage in live resize state.

2013-04-10  Victor Costan  <costan@gmail.com>

        Blob content type normalization.
        https://bugs.webkit.org/show_bug.cgi?id=111380

        Reviewed by Alexey Proskuryakov.

        Tests: http/tests/fast/files/blob-constructor.js
               http/tests/fileapi/xhr-send-form-data-filename-escaping.html
               http/tests/fileapi/xhr-send-form-data-mimetype-normalization.html

        * WebCore.exp.in: exported Blob::isNormalizedContentType()
        * bindings/js/JSBlobCustom.cpp:
        (WebCore::JSBlobConstructor::constructJSBlob): remove checks on Blob type, BlobBuilder will normalize it
        * fileapi/Blob.cpp:
        (BlobType): utilities for normalizing a Blob's type according to the File API spec
        (WebCore::BlobType::isValid): content type validity checks in the File API spec
        (WebCore::BlobType::normalize): implements the normalization rules in the File API spec
        (WebCore::BlobType::isNormalized): useful for ASSERTing that a Blob type has been normalized
        (WebCore): implement Blob type normalization according to the File API spec
        (WebCore::Blob::Blob): normalize the Blob type in the data URL
        (WebCore::Blob::slice): normalize the Blob type argument
        * fileapi/Blob.h:
        (BlobType): utilities for normalizing a Blob's type according to the File API spec
        (WebCore::Blob::create): assert that the deserialized Blob's type was normalized
        * fileapi/File.cpp:
        (WebCore::createBlobDataForFileWithType): assert that the File's MIME type is a normalized Blob type
        * fileapi/WebKitBlobBuilder.cpp:
        (WebCore::BlobBuilder::getBlob): normalize the Blob's type before building it
        * platform/network/BlobData.h:
        (WebCore::BlobData::setContentType): assert that the Blob type has been normalized
        * platform/network/FormData.cpp:
        (WebCore::FormData::appendKeyValuePairItems): assert that Blob's type has been normalized
        * platform/network/FormDataBuilder.cpp:
        (WebCore::FormDataBuilder::addContentTypeToMultiPartHeader): assert that the Content-Type field is normalized
        * xml/XMLHttpRequest.cpp: when responseType is blob, normalize Content-Type before passing to Blob constructor

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

        TileController doesn't remove tiles when the view is resized, leading to stale content
        https://bugs.webkit.org/show_bug.cgi?id=114323
        <rdar://problem/13520671>

        Reviewed by Simon Fraser.

        Ensure that tiles are removed if the view shrinks, so that they are not displayed
        with stale content if the view later grows again (they will not be repainted by WebCore
        while out-of-view).

        * platform/graphics/ca/mac/TileController.h:
        * platform/graphics/ca/mac/TileController.mm:
        (WebCore::TileController::revalidateTiles):

2013-04-10  Jessie Berlin  <jberlin@apple.com>

        Update the localizable strings file.

        Rubber-stamped by Dan Bernstein.

        * English.lproj/Localizable.strings:

2013-04-10  Patrick Gansterer  <paroga@webkit.org>

        Replace ENABLE_CHANNEL_MESSAGING preprocessor statements in IDL files with Conditional attribute
        https://bugs.webkit.org/show_bug.cgi?id=114346

        Reviewed by Geoffrey Garen.

        The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.

        * page/DOMWindow.idl:
        * workers/WorkerContext.idl:

2013-04-10  Eric Carlson  <eric.carlson@apple.com>

        Update all float attributes in HTMLMediaElement to double
        https://bugs.webkit.org/show_bug.cgi?id=113615

        Reviewed by Geoffrey Garen
        Patch by Aaron Colwell

        No new tests. Primary behavior doesn't change. Just time, playbackRate, and volume precision.
        All existing LayoutTests/media tests still pass.

        * WebCore.exp.in: Remove function that no longer need to be exported.

        * html/HTMLMediaElement.cpp: Change all float attributes to double.
        * html/HTMLMediaElement.h: Ditto.
        * html/HTMLMediaElement.idl: Ditto.
        * html/MediaController.cpp: Ditto.
        * html/MediaController.h: Ditto.
        * html/MediaControllerInterface.h: Ditto.
        * html/TimeRanges.cpp: Ditto.
        * html/TimeRanges.idl: Ditto.
        * html/shadow/MediaControlElementTypes.cpp: Ditto.
        * html/shadow/MediaControlElementTypes.h: Ditto.
        * html/shadow/MediaControlElements.cpp: Ditto.
        * html/shadow/MediaControlElements.h: Ditto.
        * html/shadow/MediaControls.cpp: Ditto.
        * html/shadow/MediaControlsApple.cpp: Ditto.
        * html/shadow/MediaControlsBlackBerry.cpp: Ditto.
        * html/shadow/MediaControlsBlackBerry.h: Ditto.
        * html/shadow/MediaControlsGtk.cpp: Ditto.
        * html/track/TextTrackCue.cpp: Ditto.
        * html/track/TextTrackCue.h: Ditto.
        * platform/Clock.h: Ditto.
        * platform/ClockGeneric.cpp: Ditto.
        * platform/ClockGeneric.h: Ditto.
        * platform/graphics/MediaPlayer.cpp: Ditto.
        * platform/graphics/MediaPlayer.h: Ditto.
        * platform/graphics/MediaPlayerPrivate.h: Ditto.
        * platform/mac/PlatformClockCA.cpp: Ditto.
        * platform/mac/PlatformClockCA.h: Ditto.
        * platform/mac/PlatformClockCM.h: Ditto.
        * platform/mac/PlatformClockCM.mm: Ditto.

2013-04-10  Patrick Gansterer  <paroga@webkit.org>

        Replace ENABLE_MICRODATA preprocessor statements in IDL files with Conditional attribute
        https://bugs.webkit.org/show_bug.cgi?id=114349

        Reviewed by Geoffrey Garen.

        The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.

        * dom/Document.idl:
        * html/HTMLElement.idl:

2013-04-10  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>

        REGRESSION(r148034): IconDatabase::updateIconRecord crashes with null iconData and iconBitmap.
        https://bugs.webkit.org/show_bug.cgi?id=114356

        Reviewed by Tim Horton.

        When loading an icon fails (for example, when a non-existent URI is
        passed to the loader), updateIconRecord can be called with both
        iconData and iconBitmap having no data.

        This used to be fine before r148034, but causes an assertion now.

        No new tests, existing tests such as fast/encoding/mispositioned-meta.html
        were crashing.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::updateIconRecord): Change the ASSERT() to check
        for a NAND condition that only fails if both iconData and iconBitmap
        are not 0.

2013-04-10  JungJik Lee  <jungjik.lee@samsung.com>

        [Texmap] Update a dirty region which is not covered with keepRect.
        https://bugs.webkit.org/show_bug.cgi?id=113752

        Reviewed by Jocelyn Turcotte.

        There can be a dirty region which is not covered with keepRect. 
        However the dirty could be inside the tile area. In this case, 
        currently we ignore the dirty by intersecting with keepRect 
        and the dirty region will not be invalidated until the tile is 
        recreated. We must expand the keep rect to its intersecting tiles 
        to make sure that the dirty region is applied to existing tiles. 

        No tests needed, change is unobservable.

        * platform/graphics/TiledBackingStore.cpp:
        (WebCore::TiledBackingStore::invalidate):

2013-04-10  Laszlo Gombos  <l.gombos@samsung.com>

        Remove ENABLE_3D_PLUGIN
        https://bugs.webkit.org/show_bug.cgi?id=108002

        Remove ENABLE_3D_PLUGIN, it was only used by Chromium.

        Reviewed by Antti Koivisto.

        No new tests, removing dead code.

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadPlugin):

2013-04-10  Noam Rosenthal  <noam@webkit.org>

        [Texmap] Hierarchy of layers with opacity may result in wrong blending.
        https://bugs.webkit.org/show_bug.cgi?id=113732

        Reviewed by Allan Sandfeld Jensen.

        This is a combination of three issues with nested intermediate surfaces:
        - glScissor inside an intermediate surface should not be mirrored.
        - The current surface should be passed to the next surface in paintOptions.
        - When clipping for the non-overlap region, the containing surface offset 
        should be applied.

        Though the changes are separate, they cannot be tested separately as neither
        fixes a testable case on its own. 

        Tests: compositing/overlap-blending/nested-non-overlap-clipping.html
               compositing/overlap-blending/nested-overlap.html

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGL::ClipStack::reset):
        (WebCore::TextureMapperGL::ClipStack::apply):
        (WebCore::TextureMapperGL::beginPainting):
        (WebCore::BitmapTextureGL::clearIfNeeded):
        * platform/graphics/texmap/TextureMapperGL.h:
        (ClipStack):
            Do not mirror the scissor clip when painting to an FBO.
            Also a minor refactor to avoid reading the viewport values from the driver.

        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
            Apply the offset when clipping for a non-overlap region.
        (WebCore::TextureMapperLayer::paintIntoSurface):
            Make sure the current surface is passed to the next one.

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

        Create fewer tiles when page is loading
        https://bugs.webkit.org/show_bug.cgi?id=114294

        Reviewed by Anders Carlsson.

        We currently create speculative tiles immediately. Page is often changing rapidly during loading and
        keeping the speculative tiles up to date creates extra work.
        
        Tests: platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative.html
               platform/mac-wk2/tiled-drawing/tile-coverage-speculative.html
        
       * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadProgressingStatusChanged):
        * page/FrameView.cpp:
        (WebCore::FrameView::adjustTiledBackingCoverage):
        (WebCore::FrameView::setWasScrolledByUser):
        
            User scrolling enables speculative tiling no matter what the load status.

        * page/FrameView.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::computeTileCoverage):
        (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
        
            Cover only the viewport during loading.

2013-04-10  Alberto Garcia  <agarcia@igalia.com>

        [BlackBerry] RenderThemeBlackBerry: get rid of all the SKIA code
        https://bugs.webkit.org/show_bug.cgi?id=114339

        Reviewed by Carlos Garcia Campos.

        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
        (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
        (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb):

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

        REGRESSION (r147719): Failures in two a11y tests on GTK
        https://bugs.webkit.org/show_bug.cgi?id=114259

        Reviewed by Ryosuke Niwa.

        No new tests - covered by existing tests.

        Partially revert r147719, restoring the possible creation of the AXObject cache 
        and the subsequent call to its handleFocusedUIElementChanged method. Removing this
        code caused regressions in accessibility tests on the GTK port, so the comment about
        the AXObject cache is adjusted accordingly.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode):

2013-04-09  Philippe Normand  <pnormand@igalia.com>

        [GStreamer] playbin uri getter is invalid
        https://bugs.webkit.org/show_bug.cgi?id=113884

        Reviewed by Martin Robinson.

        When loading a new media location use the url stored as a member
        variable instead of the one stored as a playbin property. The uri
        property semantic changed in playbin since 0.10.36+. One should
        now use current-uri but to avoid ifdefs depending on GStreamer
        version we simply use the url already known as member variable.

        Test: http/tests/media/video-redirect.html

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

2013-04-09  Geoffrey Garen  <ggaren@apple.com>

        [JSC] Script run from an isolated world should bypass a page's CSP
        https://bugs.webkit.org/show_bug.cgi?id=100815

        Reviewed by Oliver Hunt.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
        * bindings/js/ScriptController.h: Test the current caller's DOM wrapper
        world to decide whether CSP should be enforced.

        Like most of CSP, this is a stupid policy because it doesn't address
        second-order effects like <script> parsing or event handler execution,
        which might be triggered indirectly by privileged scripts. These indirect
        effects are still broken. Oh well.

2013-04-09  Benjamin Poulain  <bpoulain@apple.com>

        Remove chromium exceptions from WebCore's gitattributes
        https://bugs.webkit.org/show_bug.cgi?id=114327

        Reviewed by Darin Adler.

        * .gitattributes:

2013-04-09  Adam Klein  <adamk@chromium.org>

        Update Document's event listener type bitfield when adopting a Node
        https://bugs.webkit.org/show_bug.cgi?id=114322

        Reviewed by Darin Adler.

        Without this, moving a Node between documents can silently deactivate
        an event listener, if it's one of the types that whose creation is
        optimized away by Document::hasListenerType.

        An alternate approach would be to simply copy the old document's
        bitfield over. It's a tradeoff between making adoption fast and making
        the operation of any operation depending on these event types fast.
        The latter seems like the right optimization given that adoption
        doesn't happen very often.

        Test: fast/events/event-listener-moving-documents.html

        * dom/Node.cpp:
        (WebCore::Node::didMoveToNewDocument): For each event listener type on the adopted node, update the new document's list of listener types.

2013-04-09  Dean Jackson  <dino@apple.com>

        Add logging channel for animations
        https://bugs.webkit.org/show_bug.cgi?id=114325

        Reviewed by Simon Fraser.

        * platform/Logging.cpp: Add LogAnimations.
        (WebCore::getChannelFromName): Return LogAnimations for "Animations".
        * platform/Logging.h: Add LogAnimations.
        * platform/mac/LoggingMac.mm:
        (WebCore::initializeLoggingChannelsIfNecessary): Copy preference.
        * platform/win/LoggingWin.cpp:
        (WebCore::initializeLoggingChannelsIfNecessary): Copy preference.

2013-04-09  Dongwoo Joshua Im  <dw.im@samsung.com>

        [CSS3] Parsing the property, text-justify.
        https://bugs.webkit.org/show_bug.cgi?id=100058

        Reviewed by Andreas Kling.

        This patch implements the parsing side of the "text-justify" property specified
        in CSS3 working draft, with "-webkit-" prefix, under ENABLE_CSS3_TEXT flag.
        Specification link : http://www.w3.org/TR/css3-text/#text-justify

        Tests: fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify-inherited.html
               fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSParser.cpp:
        (WebCore::isValidKeywordPropertyAndValue):
        (WebCore::isKeywordPropertyID):
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore):
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator TextJustify):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/CSSPropertyNames.in:
        * css/CSSValueKeywords.in:
        * css/StyleBuilder.cpp:
        (WebCore::StyleBuilder::StyleBuilder):
        * css/StylePropertySet.cpp:
        (WebCore):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):
        * rendering/style/RenderStyle.h:
        * rendering/style/RenderStyleConstants.h:
        * rendering/style/StyleRareInheritedData.cpp:
        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
        (WebCore::StyleRareInheritedData::operator==):
        * rendering/style/StyleRareInheritedData.h:
        (StyleRareInheritedData):

2013-04-09  Joone Hur  <joone.hur@intel.com>

        [GTK][AC] Adding contentsLayer for image and video
        https://bugs.webkit.org/show_bug.cgi?id=113912

        Reviewed by Gustavo Noronha Silva.

        contentsLayer is a ClutterActor, which is added to the main layer 
        as a child when GraphicsLayer needs to render an image or video. 

        No new tests, already covered by existing AC tests.

        * platform/graphics/clutter/GraphicsLayerActor.cpp:
        (graphicsLayerActorUpdateTexture):
        * platform/graphics/clutter/GraphicsLayerClutter.cpp:
        (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
        (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
        (WebCore):
        (WebCore::GraphicsLayerClutter::setContentsToImage): Pass a Cairo surface to GraphicsLayer.
        (WebCore::GraphicsLayerClutter::setContentsNeedsDisplay):
        (WebCore::GraphicsLayerClutter::setContentsRect):
        (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerClutter::setupContentsLayer):
        (WebCore::GraphicsLayerClutter::updateContentsImage): Set the Cairo surface for contentsLayer 
        to upload it as a texture.
        (WebCore::GraphicsLayerClutter::updateContentsNeedsDisplay):
        (WebCore::GraphicsLayerClutter::updateContentsRect):
        (WebCore::GraphicsLayerClutter::updateSublayerList):
        * platform/graphics/clutter/GraphicsLayerClutter.h:
        (WebCore::GraphicsLayerClutter::hasContentsLayer):
        (GraphicsLayerClutter):
        (WebCore::GraphicsLayerClutter::contentsLayer):

2013-04-09  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION: Blob URLs broken with NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=114320

        Reviewed by Brady Eidson.

        Update BlobResourceHandle to use modern resource client calls.

        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::readSync): Don't call notifyReceiveData if there is
        no data (it's especially egregious when length is -1, signaling an error).
        (WebCore::BlobResourceHandle::notifyResponseOnSuccess): Use didReceiveResponseAsync
        when a client wants async callbacks. This is not very clean, as we don't wait
        for response, but should be workable for blobs.
        (WebCore::BlobResourceHandle::notifyResponseOnError): Ditto.
        (WebCore::BlobResourceHandle::notifyReceiveData): Use didReceiveBuffer (clients
        that only implement didReceiveData will have it automatically unwrapped).

2013-04-09  Jer Noble  <jer.noble@apple.com>

        REGRESSION (r123837): Full screen transition is broken at apple.com
        https://bugs.webkit.org/show_bug.cgi?id=95650

        Reviewed by Simon Fraser.

        Cancel any outstanding animations on <video> elements as they enter full screen, so as to
        not confuse the WebKit/WebKit2 full screen window animation about the starting and destination
        screen rects.

        * css/fullscreen.css:
        (video:-webkit-full-screen, audio:-webkit-full-screen):

2013-04-09  Jer Noble  <jer.noble@apple.com>

        hang in mediaSelectionGroupForMediaCharacteristic
        https://bugs.webkit.org/show_bug.cgi?id=114054

        Reviewed by Eric Carlson.

        No new tests; Fixes sporadic hangs in media/ tests.

        -[AVURLAsset mediaSelectionGroupForMediaCharacteristic:] can deadlock in certain situations: When AVURLAsset
        posts a synchronous AVAssetResourceLoader notification to the main thread, calling -mediaSelectionGroupForMediaCharacteristic:
        on the main thread requires IO to occur if the media characteristics are not yet loaded. Instead of blocking,
        bail out early if the media characteristics are not yet known.
        
        Add a new method, safeMediaSelectionGroupForLegibleMedia(), which first checks selection group availability
        before calling mediaSelectionGroupForMediaCharacteristic:.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        (MediaPlayerPrivateAVFoundationObjC):
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForLegibleMedia): Added.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Use new safe method.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Ditto.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Ditto.

2013-04-09  Chris Fleizach  <cfleizach@apple.com>

        AX: Bounding paths should be made available through accessibility
        https://bugs.webkit.org/show_bug.cgi?id=113817

        Unreviewed build fix for iOS.

        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper _accessibilityPath]):
        * accessibility/mac/WebAccessibilityObjectWrapperBase.h:

2013-04-09  Eric Carlson  <eric.carlson@apple.com>

        Unreviewed correctness fix: use lroundf instead of lround for a float to int conversion.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):

2013-04-06  Roger Fong  <roger_fong@apple.com>

        Change requisite hardware checks for enabling antialiasing.
        https://bugs.webkit.org/show_bug.cgi?id=114101
        <rdar://problem/12342776>.

        m_maySupportMultisampling should be true by default for all platforms/hardware now except older versions of AMD.

        Reviewed by Dean Jackson.

        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
        (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):

2013-04-09  Commit Queue  <rniwa@webkit.org>

        Unreviewed, rolling out r148010.
        http://trac.webkit.org/changeset/148010
        https://bugs.webkit.org/show_bug.cgi?id=114310

        Causes problems with focus rings (Requested by anttik on
        #webkit).

        * css/StyleBuilder.cpp:
        (WebCore::ApplyPropertyComputeLength::applyValue):
        (WebCore::ApplyPropertyComputeLength::createHandler):
        (WebCore::StyleBuilder::StyleBuilder):

2013-04-09  Eric Carlson  <eric.carlson@apple.com>

        Unreviewed, another fix for the Windows build after r148050.

        * html/track/TextTrackCueGeneric.cpp:
        (WebCore::TextTrackCueGeneric::setFontSize): Use lround().

2013-04-09  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Exclusions] Properly position multiple stacked floats with non rectangular shape outside
        https://bugs.webkit.org/show_bug.cgi?id=110372

        Reviewed by Dean Jackson.

        Stacked floats get positioned based on the bounding box of the shape,
        not on the shape contours itself. This patch causes that to happen.

        Test: fast/exclusions/shape-outside-floats/shape-outside-floats-stacked.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeLogicalLocationForFloat): Use the
            "BoundingBoxOffset" mode so that we compute offsets based on the shape
            bounding boxes of previous floats, not the shape contour.
        (WebCore::RenderBlock::logicalLeftOffsetForLine): Check the
            ShapeOutsideFloatOffsetMode to determine if the offset should be
            adjusted for the shape contour or not.
        (WebCore::RenderBlock::logicalRightOffsetForLine): Ditto.
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::logicalRightOffsetForLine): Add parameter for offset mode.
        (WebCore::RenderBlock::logicalLeftOffsetForLine): Ditto.
        (RenderBlock):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): If the
            new float is being added on top of a previous float on the same line,
            undo the offset for the previous float's shape contour so that we
            position the new float based on the bounding box.

2013-04-09  Eric Carlson  <eric.carlson@apple.com>

        Unreviewed, fix the Windows build after r148050.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Use lround().

2013-04-09  Tim Horton  <timothy_horton@apple.com>

        [wk2] IconDatabase images should be decoded in the WebProcess
        ​https://bugs.webkit.org/show_bug.cgi?id=112524
        <rdar://problem/10133914>

        Reviewed by Simon Fraser.

        Move an ASSERT that dereferenced a pointer inside the null-check for that pointer.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::setIconBitmapForIconURL):

2013-04-09  Eric Carlson  <eric.carlson@apple.com>

        [Mac] user caption styles not applied to correct element
        https://bugs.webkit.org/show_bug.cgi?id=114230

        Reviewed by Jer Noble.

        Test: media/track/track-css-user-override.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Drive by clean-up so we don't log excessively.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Initialize
            new member variables.
        (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Set cue font size when it is
            inserted into the tree.
        (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Update the font size of 
            all active cues.
        (WebCore::MediaControlTextTrackContainerElement::updateSizes): Set size-relative CSS properties
            after a time because this can be called during layout.
        * html/shadow/MediaControlElements.h:

        * html/shadow/MediaControls.cpp:
        (WebCore::MediaControls::textTrackPreferencesChanged): Call closedCaptionTracksChanged before updateSizes.

        * html/track/TextTrackCue.cpp:
        (WebCore::TextTrackCue::setFontSize): New, set the cue's font size.
        * html/track/TextTrackCue.h:

        * html/track/TextTrackCueGeneric.cpp:
        (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Set cue properties on the cue element
            instead of on the cue box to match what we do for the "cue" pseudo element.
        (WebCore::TextTrackCueGeneric::setFontSize): New, set the cue's font size.
        * html/track/TextTrackCueGeneric.h:

        * html/track/TextTrackList.cpp:
        (TextTrackList::remove): Drive-by cleanup, don't ASSERT when the media element is NULL.

        * page/CaptionUserPreferences.cpp:
        (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride): New, allow user CSS overrides
            to be tested in DRT.
        (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride): New, generate a user style
            sheet override. Moved here from CaptionUserPreferencesMac.
        * page/CaptionUserPreferences.h:

        * page/CaptionUserPreferencesMac.h:
        * page/CaptionUserPreferencesMac.mm:
        (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Don't ignore background color importance.
        (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Implement even when we don't 
            have the media accessibility framework so this can be tested in DRT. Apply all cue properties
            to the element used for the "cue" pseudo element.

        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
        (WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress): Drive-by cleanup, remove logging
            because this method is called so frequently and the logging is not especially useful.
        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Only log when the ready/network
            state changes because this method is called so frequently.

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformLayer): Drive-by cleanup, remove logging
            because this method is called so frequently and the logging is not especially useful.
        (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Make the logging more useful.

        * testing/Internals.cpp:
        (WebCore::Internals::resetToConsistentState): Reset captions style sheet override.
        (WebCore::Internals::captionsStyleSheetOverride): New, return the captions style sheet override.
        (WebCore::Internals::setCaptionsStyleSheetOverride): New, override the captions style sheet override.
        * testing/Internals.h:
        * testing/Internals.idl:

2013-04-08  Simon Fraser  <simon.fraser@apple.com>

        Repaint rect too small on elements with shadows
        https://bugs.webkit.org/show_bug.cgi?id=114225

        Reviewed by Dain Adler.
        
        We assumed that shadows (box-shadow, text-shadow, svg shadows)
        only required inflating the repaint rect by the blur radius of
        the shadow. However, this is incorrect; the shadow can extend
        further, which resulted in clipped or incorrectly invalidated
        shadows.
        
        Fix by disambiguating the blur radius (which is 2x the standard
        deviation of the Gaussian distribution used to generate the blur),
        from the painting extent, which is how far the shadow visually
        projects. Using a 1.4 multiplier of the blur radius is a good
        approximation for the painting extent.
        
        Renamed ShadowData::blur() to ShadowData::radius(), and added
        ShadowData::paintingExtent(). Use the latter in all places
        which relate to invalidation.

        Test: fast/box-shadow/shadow-repaint.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::fontAttributesForSelectionStart):
        * page/animation/CSSPropertyAnimation.cpp:
        (WebCore::blendFunc):
        * rendering/EllipsisBox.cpp:
        (WebCore::EllipsisBox::paint):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::applyShadowToGraphicsContext):
        (WebCore::InlineTextBox::paintDecoration):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::applyBoxShadowForBackground):
        (WebCore::areaCastingShadowInHole):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::getShadowExtent):
        (WebCore::RenderStyle::getShadowInsetExtent):
        (WebCore::RenderStyle::getShadowHorizontalExtent):
        (WebCore::RenderStyle::getShadowVerticalExtent):
        * rendering/style/ShadowData.cpp:
        (WebCore::ShadowData::ShadowData):
        (WebCore::ShadowData::operator==):
        (WebCore::calculateShadowExtent):
        * rendering/style/ShadowData.h:
        (WebCore::ShadowData::ShadowData):
        (WebCore::ShadowData::radius):
        (WebCore::ShadowData::paintingExtent):
        * rendering/svg/SVGRenderingContext.cpp:
        (WebCore::SVGRenderingContext::prepareToRenderSVGContent):

2013-04-08  Simon Fraser  <simon.fraser@apple.com>

        window.internals.repaintRectsAsText() is hard to use because it doesn't force layout
        https://bugs.webkit.org/show_bug.cgi?id=114219

        Reviewed by Beth Dakin.

        Force layout when setTracksRepaints() is set to true, to flush out any pending
        repaints from a layout that hasn't happened yet. Also force layout in
        trackedRepaintRectsAsText(), so that any pending layout happpens and thus
        repaints.

        * page/FrameView.cpp:
        (WebCore::FrameView::setTracksRepaints):
        (WebCore::FrameView::trackedRepaintRectsAsText):

2013-04-09  Chris Fleizach  <cfleizach@apple.com>

        AX: Bounding paths should be made available through accessibility
        https://bugs.webkit.org/show_bug.cgi?id=113817

        Unreviewed build fix (again).

        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):

2013-04-09  Chris Fleizach  <cfleizach@apple.com>

        AX: Bounding paths should be made available through accessibility
        https://bugs.webkit.org/show_bug.cgi?id=113817

        Unreviewed build fix.

        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (WebTransformCGPathToNSBezierPath):

2013-04-09  Chris Fleizach  <cfleizach@apple.com>

        AX: Bounding paths should be made available through accessibility
        https://bugs.webkit.org/show_bug.cgi?id=113817

        Reviewed by Tim Horton.

        Minor fix from review feedback.

        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):

2013-04-09  Tim Horton  <timothy_horton@apple.com>

        [wk2] IconDatabase images should be decoded in the WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=112524
        <rdar://problem/10133914>

        Reviewed by Oliver Hunt.

        No testable behavior change.

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::updateIconRecord):
        Added updateIconRecord, which factors most of setIconDataForIconURL out so it can
        be shared with setIconBitmapForIconURL. This function will set either a bitmap or
        raw image data for the given icon URL.

        (WebCore::IconDatabase::setIconBitmapForIconURL):
        Added; make a copy of the bitmap for thread-safety purposes, and call updateIconRecord.

        (WebCore::IconDatabase::setIconDataForIconURL):
        Factored out of what is now updateIconRecord.

        * loader/icon/IconDatabase.h:
        (IconDatabase): Add setIconBitmapForIconURL and updateIconRecord.

        * loader/icon/IconDatabaseBase.h:
        (WebCore::IconDatabaseBase::setIconBitmapForIconURL): Added.
        * loader/icon/IconRecord.cpp:
        (WebCore::IconRecord::setImage): Set the image for an icon record directly (as opposed
        to setting the image data, which causes the image to be decoded in the WebProcess).
        * loader/icon/IconRecord.h:
        (IconRecord): Add setImage.

2013-04-09  Chris Fleizach  <cfleizach@apple.com>

        AX: The bounding paths should be made available through accessibility
        https://bugs.webkit.org/show_bug.cgi?id=113817

        Reviewed by David Kilzer.

        This allows bounding paths to be returned for some web elements (image map areas and SVG shapes).
        This provides more accuracy when assistive technologies highlight elements.
        The Mac and iOS platforms share some code to help transform paths to their screen coordinates.

        Tests: platform/iphone-simulator/accessibility/element-paths.html
               platform/mac/accessibility/element-paths.html

        * accessibility/AccessibilityImageMapLink.cpp:
        (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
        (WebCore):
        (WebCore::AccessibilityImageMapLink::elementPath):
        (WebCore::AccessibilityImageMapLink::elementRect):
        * accessibility/AccessibilityImageMapLink.h:
        (AccessibilityImageMapLink):
        (WebCore::AccessibilityImageMapLink::supportsPath):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::elementPath):
        (WebCore::AccessibilityObject::supportsPath):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore):
        (WebCore::AccessibilityRenderObject::supportsPath):
        (WebCore::AccessibilityRenderObject::elementPath):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):
        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper _accessibilityPath]):
        (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
        (-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):
        (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
        (-[WebAccessibilityObjectWrapper accessibilityFrame]):
        (-[WebAccessibilityObjectWrapper frameForTextMarkers:]):
        * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
        (WebCore):
        * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
        (PathConversionInfo):
        (ConvertPathToScreenSpaceFunction):
        (-[WebAccessibilityObjectWrapperBase convertPathToScreenSpace:]):
        (-[WebAccessibilityObjectWrapperBase convertPointToScreenSpace:]):
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
        (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
        (WebTransformCGPathToNSBezierPath):
        (-[WebAccessibilityObjectWrapper bezierPathFromPath:]):
        (-[WebAccessibilityObjectWrapper path]):
        (-[WebAccessibilityObjectWrapper position]):
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

2013-04-09  Benjamin Poulain  <bpoulain@apple.com>

        Remove the WebKit copy of GLU and the file using it
        https://bugs.webkit.org/show_bug.cgi?id=114249

        Reviewed by Darin Adler.

        * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Removed.

2013-04-09  Andreas Kling  <akling@apple.com>

        Throttle resize events during live window resize.
        <http://webkit.org/b/114292>
        <rdar://problem/13411454>

        Reviewed by Geoffrey Garen.

        Limit resize events to one at max every 0.2 seconds during live window resize.
        This mitigates heavy CPU usage during resize on pages with complex onresize handlers.
        If there's a pending resize event when the live resize ends, it fires immediately.

        * page/FrameView.cpp:
        (WebCore::FrameView::sendResizeEvent):

            Factored out dispatch of the resize event after layout so we can call it on a timer
            instead of immediately while live window resize is active.

        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::performPostLayoutTasks):
        (WebCore::FrameView::delayedResizeEventTimerFired):
        (WebCore::FrameView::willEndLiveResize):
        (WebCore::FrameView::scheduleResizeEvent):
        * page/FrameView.h:
        * platform/ScrollableArea.h:

            Made willStartLiveResize() and willEndLiveResize() virtual so we can override
            them on FrameView.

2013-04-09  Jeff Rogers  <jrogers@rim.com>

        Add webp to supported image mime types if WEBP feature is enabled/used
        https://bugs.webkit.org/show_bug.cgi?id=112819

        Reviewed by Darin Adler.

        Add WebP to list of supported image types in MIMETypeRegistry if enabled.

        No new tests: WebP image decoding already covered by exisiting tests.

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initializeSupportedImageMIMETypes):

2013-04-09  Arnaud Renevier  <a.renevier@sisa.samsung.com>

        Whitespace in particular source code changes rendering; does not in Firefox
        https://bugs.webkit.org/show_bug.cgi?id=100943

        Reviewed by Darin Adler.

        A render inline which requires a line box is considered a possible
        trailing object. So, ensureLineBoxInsideIgnoredSpaces will be called
        for it, even if it is placed after a text render ending with a single
        space.

        Tests: fast/text/whitespace/trailing-space-before-empty-span-1.html
               fast/text/whitespace/trailing-space-before-empty-span-2.html

        * rendering/RenderBlockLineLayout.cpp:
        (TrailingObjects):
        (WebCore::TrailingObjects::appendBoxIfNeeded):
        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

2013-04-09  Andrei Bucur  <abucur@adobe.com>

        Use DOM ordering for list counts
        https://bugs.webkit.org/show_bug.cgi?id=110352

        Reviewed by Elliott Sprehn.

        Currently the list items ordering is made by traversing the render tree. This gives bad results for:
        - list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
        - list items matched to insertion points inside a shadow tree. The insertion point may be a child of a
        list so the numbering gets broken.

        To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
        so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
        namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
        for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
        pre-order traversal methods aware of the pseudo-elements.
        An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
        no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
        first parent of the <li> or the shadow root if there is no ancestor.
        The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
        To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
        of this method. The CSS counters and the list items now have the same traversal algorithm.

        In later patches I'll add tests that should cover the regions and shadow DOM use cases.
        Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
        Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975

        Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
        and fast/dom/shadow/shadow-and-list-elements.html

        * dom/Node.cpp:
        (WebCore::Node::pseudoAwarePreviousSibling):
        (WebCore):
        (WebCore::Node::pseudoAwareNextSibling):
        (WebCore::Node::pseudoAwareFirstChild):
        (WebCore::Node::pseudoAwareLastChild):
        * dom/Node.h:
        (Node):
        * dom/NodeTraversal.cpp:
        (WebCore):
        (WebCore::NodeTraversal::previousIncludingPseudo):
        (NodeTraversal):
        (WebCore::NodeTraversal::nextIncludingPseudo):
        (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
        * dom/NodeTraversal.h:
        (ElementTraversal):
        (NodeTraversal):
        (WebCore::ElementTraversal::previousIncludingPseudo):
        (WebCore::ElementTraversal::nextIncludingPseudo):
        (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
        (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::attach):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::updateItemValues):
        (WebCore::HTMLOListElement::recalculateItemCount):
        * rendering/RenderCounter.cpp:
        (WebCore::previousInPreOrder):
        (WebCore::previousSiblingOrParent):
        (WebCore::parentElement):
        (WebCore::nextInPreOrder):
        * rendering/RenderListItem.cpp:
        (WebCore):
        (WebCore::enclosingList):
        (WebCore::RenderListItem::nextListItem):
        (WebCore::previousListItem):
        (WebCore::RenderListItem::calcValue):
        (WebCore::RenderListItem::explicitValueChanged):
        (WebCore::previousOrNextItem):
        (WebCore::RenderListItem::updateListMarkerNumbers):
        * rendering/RenderListItem.h:
        (RenderListItem):

2013-04-09  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>

        [Texmap] TextureMapperLayer refactor for readiblity
        https://bugs.webkit.org/show_bug.cgi?id=114278

        Reviewed by Noam Rosenthal.

        Removes non-needed return values, function parameters and changes
        boolean values with enums for readibility.

        No behavioral changes, thus no tests.

        * platform/graphics/texmap/TextureMapperLayer.cpp:
        (WebCore::TextureMapperLayer::computeTransformsRecursive):
        (WebCore::TextureMapperLayer::paintSelf):
        (WebCore::TextureMapperLayer::sortByZOrder):
        (WebCore::TextureMapperLayer::computeOverlapRegions):
        (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
        (WebCore::commitSurface):
        (WebCore::TextureMapperLayer::paintWithIntermediateSurface):
        (WebCore::TextureMapperLayer::paintRecursive):
        * platform/graphics/texmap/TextureMapperLayer.h:
        (TextureMapperLayer):

2013-04-09  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>

        [WebSocket] Ignore incoming message in CLOSING state
        https://bugs.webkit.org/show_bug.cgi?id=85934

        Reviewed by Kent Tamura.

        Change WebSocket implementation to suit the new WebSocket API, which
        states that we should ignore messages in CLOSING state.

        No new tests, updating existing tests.

        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::didReceiveMessage):

2013-04-09  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: Add Localized strings after r144154 and r135127
        https://bugs.webkit.org/show_bug.cgi?id=114269

        Reviewed by Timothy Hatcher.

        No new tests, no behavior change.

        * English.lproj/localizedStrings.js:

2013-04-09  Antti Koivisto  <antti@apple.com>

        Throttle compositing layer flushes in subframes
        https://bugs.webkit.org/show_bug.cgi?id=114267

        Reviewed by Andreas Kling.

        Throttle compositing layer flushes in all frames, not just the main one.
        
        This especially reduces flushes/repaints generated by ads in iframes.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadProgressingStatusChanged):
        * page/FrameView.cpp:
        (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
        * page/FrameView.h:

2013-04-09  Suchit Agrawal  <a.suchit@samsung.com>

        Table border doesn't show up
        https://bugs.webkit.org/show_bug.cgi?id=13709

        Reviewed by Antti Koivisto.

        Border issue is fixed when border width is less than 0.8pt

        Border width is stored as unsigned. Border width (specified by
        author) is converted into pixels and some times this pixel value
        goes less than 1px. In this case, border width becomes 0px when
        pixel value (double type) assigned to unsigned type.
        Border width should not fall to 0px unless it is specified by
        author.

        Test: fast/borders/border-width-less-then-a-unit-of-pt.html

        * css/StyleBuilder.cpp:
        ApplyPropetyComputeLength class is replaced with 3 classes :
        ApplyPropertyComputeBorderWidth, ApplyPropertyComputeTextSpacing
        and ApplyPropertyComputeTransformOriginZ.

        (WebCore::ApplyPropertyComputeBorderWidth::applyValue):
        (WebCore::ApplyPropertyComputeBorderWidth::createHandler):
        This class handles all width properties like border, outline,
        etc. These all properties stores value in integer types.
        Pixel value rounded of to 1px if value less than 1px and greater
        than 0px.

        (WebCore):
        (ApplyPropertyComputeTextSpacing):
        (WebCore::ApplyPropertyComputeTextSpacing::setValue):
        (WebCore::ApplyPropertyComputeTextSpacing::applyValue):
        (WebCore::ApplyPropertyComputeTextSpacing::createHandler):
        This class handles all spacing properties like word-spacing,
        letter-spacing etc.

        (ApplyPropertyComputeTransformOriginZ):
        (WebCore::ApplyPropertyComputeTransformOriginZ::setValue):
        (WebCore::ApplyPropertyComputeTransformOriginZ::applyValue):
        (WebCore::ApplyPropertyComputeTransformOriginZ::createHandler):
        This class handles TransformOriginZ Property.

        (WebCore::StyleBuilder::StyleBuilder):
        ApplyProprtyComputeLength class usage changed with defined new
        classes as per class definition.

2013-04-09  Gabor Loki  <loki@webkit.org>

        Initialization skipped error on WinCario after r147643
        https://bugs.webkit.org/show_bug.cgi?id=114258

        Reviewed by Csaba Osztrogonác.

        Build fix. Adding extra block statement to avoid error C2362 on WinCario

        * platform/win/DragImageCairoWin.cpp:
        (WebCore::createDragImageFromImage):

2013-04-09  Jinwoo Song  <jinwoo7.song@samsung.com>

        [WK2] Remove build warnings for unused parameters
        https://bugs.webkit.org/show_bug.cgi?id=114234

        Reviewed by Andreas Kling.

        Fix build warnings -Wunused-parameter.

        * Modules/indexeddb/IDBBackingStore.cpp:
        (WebCore::IDBBackingStore::openInMemory):
        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::CreateIndexAbortOperation::perform):
        (WebCore::DeleteIndexAbortOperation::perform):
        (WebCore::CreateObjectStoreAbortOperation::perform):
        (WebCore::DeleteObjectStoreAbortOperation::perform):
        (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
        * Modules/indexeddb/IDBLevelDBCoding.cpp:
        (WebCore::IDBLevelDBCoding::decodeBool):
        (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
        * Modules/indexeddb/IDBLevelDBCoding.h:
        (WebCore::IDBLevelDBCoding::encodeIntSafely):
        * bindings/js/IDBBindingUtilities.cpp:
        (WebCore::canSet):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
        (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore::ComparatorAdapter::FindShortestSeparator):
        (WebCore::ComparatorAdapter::FindShortSuccessor):

2013-04-09  Thiago Marcos P. Santos  <thiago.santos@intel.com>

        [WK2] Drop WebProcess capabilities on Linux using seccomp filters
        https://bugs.webkit.org/show_bug.cgi?id=89875

        Reviewed by Maciej Stachowiak.

        Make the DATA_DIR global since it is now needed for WebCore and WebKit2.
        It is now used to set a sandbox policy for the EFL port.

        * PlatformEfl.cmake:

2013-04-08  Ryosuke Niwa  <rniwa@webkit.org>

        Remove WebCore.gyp/gypi
        https://bugs.webkit.org/show_bug.cgi?id=114239

        Reviewed by Benjamin Poulain.

        * WebCore.gyp: Removed.
        * WebCore.gyp/.gitignore: Removed.
        * WebCore.gyp/ConvertFileToHeaderWithCharacterArray.gypi: Removed.
        * WebCore.gyp/MakeNames.gypi: Removed.
        * WebCore.gyp/WebCore.gyp: Removed.
        * WebCore.gyp/mac: Removed.
        * WebCore.gyp/mac/adjust_visibility.sh: Removed.
        * WebCore.gyp/mac/check_objc_rename.sh: Removed.
        * WebCore.gyp/scripts: Removed.
        * WebCore.gyp/scripts/action_csspropertynames.py: Removed.
        * WebCore.gyp/scripts/action_cssvaluekeywords.py: Removed.
        * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Removed.
        * WebCore.gyp/scripts/action_makenames.py: Removed.
        * WebCore.gyp/scripts/action_useragentstylesheets.py: Removed.
        * WebCore.gyp/scripts/rule_bison.py: Removed.
        * WebCore.gyp/scripts/supplemental_idl_files.py: Removed.
        * WebCore.gypi: Removed.

2013-04-08  Mihai Maerean  <mmaerean@adobe.com>

        Rollout r147756: performance regression
        https://bugs.webkit.org/show_bug.cgi?id=114176

        Reviewed by Alexis Menard.

        Rolling out the patch for https://bugs.webkit.org/show_bug.cgi?id=74144 "[CSS Regions] Elements in a region
        should be assignable to a named flow" because of the performance regression in Parser/html5-full-render.html .

        No new tests (because this is a rollout patch).

        * dom/Element.cpp:
        * dom/Element.h:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::parentRenderer):
        (WebCore::NodeRenderingContext::shouldCreateRenderer):
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        * dom/NodeRenderingContext.h:
        * dom/PseudoElement.h:
        * dom/Text.cpp:
        (WebCore::Text::textRendererIsNeeded):
        (WebCore::Text::updateTextRenderer):
        * dom/Text.h:
        * rendering/FlowThreadController.cpp:
        * rendering/FlowThreadController.h:
        * rendering/RenderObject.h:
        * rendering/RenderRegion.h:
        * svg/SVGElement.cpp:
        * svg/SVGElement.h:
        
2013-04-08  Benjamin Poulain  <benjamin@webkit.org>

        Remove HTML Notification
        https://bugs.webkit.org/show_bug.cgi?id=114231

        Reviewed by Ryosuke Niwa.

        The feature is dead. It was only kept in the tree because of chromium.

        * Configurations/FeatureDefines.xcconfig:
        * Modules/notifications/Notification.cpp:
        (WebCore):
        (WebCore::Notification::Notification):
        * Modules/notifications/Notification.h:
        (Notification):
        * Modules/notifications/NotificationCenter.h:
        (NotificationCenter):
        * Modules/notifications/NotificationCenter.idl:
        * page/FeatureObserver.h:

2013-04-08  Dean Jackson  <dino@apple.com>

        Don't try to remove a non-existent snapshot
        https://bugs.webkit.org/show_bug.cgi?id=114226
        <rdar://problem/13604480>

        Reviewed by Darin Adler.

        We don't need to trigger the timer to remove a snapshot
        if there was never a snapshot displayed.

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::setDisplayState): Detect if we're moving from the DisplayingSnapshot state.
        (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): Guard against a missing renderer.

2013-04-08  Patrick Gansterer  <paroga@webkit.org>

        Do not define CAN_THEME_URL_ICON for PLATFORM(WIN_CAIRO)
        https://bugs.webkit.org/show_bug.cgi?id=108444

        Reviewed by Darin Adler.

        Image::loadPlatformResource("urlIcon") returns nothing
        since r30961 on Windows which makes the code useless.

        * loader/icon/IconDatabase.cpp:

2013-04-05  Roger Fong  <roger_fong@apple.com>

        Build fix.

        * platform/win/DragImageWin.cpp:
        (WebCore::createDragImageIconForCachedImageFilename):

2013-04-08  Geoffrey Garen  <ggaren@apple.com>

        Stop #include-ing all of JavaScriptCore in every DOM-related file
        https://bugs.webkit.org/show_bug.cgi?id=114220

        Reviewed by Sam Weinig.

        I separated ScriptWrappableInlines.h from ScriptWrappable.h so
        WebCore data types that inherit from ScriptWrappable don't
        have to #include all of the infrastructure for accessing that data member.

        * ForwardingHeaders/heap/PassWeak.h: Added.
        * ForwardingHeaders/heap/WeakInlines.h: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/DOMWrapperWorld.h:
        * bindings/js/JSDOMBinding.h:
        (JSC):
        * bindings/js/JSEventListener.h:
        * bindings/js/JSMutationCallback.cpp:
        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/ScriptWrappable.h:
        (JSC):
        (WebCore):
        (ScriptWrappable):
        * bindings/js/ScriptWrappableInlines.h: Added.
        (WebCore):
        (WebCore::ScriptWrappable::wrapper):
        (WebCore::ScriptWrappable::setWrapper):
        (WebCore::ScriptWrappable::clearWrapper):
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.h:
        * bridge/runtime_root.cpp:
        * bridge/runtime_root.h:
        * css/StylePropertySet.cpp:
        * dom/LiveNodeList.cpp:
        (WebCore::LiveNodeListBase::reportMemoryUsage):
        * dom/Node.cpp:
        (WebCore::Node::reportMemoryUsage):
        * inspector/InspectorDebuggerAgent.cpp:
        * inspector/NetworkResourcesData.cpp:
        * loader/cache/CachedSVGDocument.cpp:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::reportMemoryUsage):

2013-04-08  Tiancheng Jiang  <tijiang@rim.com>

        [BlackBerry] Clean up render theme code. 
        https://bugs.webkit.org/show_bug.cgi?id=114216

        Reviewed by Rob Buis.

        BlackBerry PR 323062

        Clean up redundant code.

        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore):
        (WebCore::RenderThemeBlackBerry::paintSliderTrack):
        * platform/blackberry/RenderThemeBlackBerry.h:
        (RenderThemeBlackBerry):

2013-04-08  Arunprasad Rajkumar  <arunprasadr@nds.com>

        Call Netscape Plugin's toString() and valueOf() instead of providing default implementation
        https://bugs.webkit.org/show_bug.cgi?id=113139

        Reviewed by Anders Carlsson.

        Tests: plugins/npruntime/tostring.html
               plugins/npruntime/valueof.html

        * bridge/c/c_instance.cpp:
        (JSC::Bindings::CInstance::~CInstance):
        (JSC::Bindings::CInstance::invokeMethod):
        (JSC::Bindings::CInstance::invokeDefaultMethod):
        (Bindings):
        (JSC::Bindings::CInstance::invokeConstruct):
        (JSC::Bindings::CInstance::stringValue):
        (JSC::Bindings::CInstance::booleanValue):
        (JSC::Bindings::CInstance::valueOf):
        (JSC::Bindings::CInstance::toJSPrimitive):
        * bridge/c/c_instance.h:
        (CInstance):

2013-04-08  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r138858): Crash in WebCore::FrameLoader::~FrameLoader() when opening page in a background tab
        https://bugs.webkit.org/show_bug.cgi?id=109935
        <rdar://problem/13225963>

        Reviewed by Brady Eidson.

        Previously, we were deciding if a Page could go into
        the PageCache by blacklisting certain load types. Instead,
        whitelist the load types that we know can go into the cache,
        so that newly-added load types are not cached unless
        that is explicitly desired.

        The crash occurs when a page which is actively loading
        is put into the page cache while doing a redirect with
        FrameLoadTypeRedirectWithLockedBackForwardList (note that
        this is a redirect that was not covered in the blacklist),
        and then promptly removed from the page cache, resulting
        in resources from the redirect target (the now-active page)
        being incorrectly destroyed.

        No new tests, only known crash repro case is extremely
        timing dependent (and only happens in WebKit2, with tiled
        drawing, in background tabs).

        * history/PageCache.cpp:
        (WebCore::PageCache::canCache):

2013-04-08  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * platform/network/ResourceHandle.cpp:
        (WebCore::ResourceHandle::continueDidReceiveResponse):

2013-04-08  Anders Carlsson  <andersca@apple.com>

        Add an async version of ResourceHandle::didReceiveResponse
        https://bugs.webkit.org/show_bug.cgi?id=114215

        Reviewed by Sam Weinig.

        In order to support converting NSURLConnections to NSURLDownloads when using the network process
        we need an async version of didReceiveResponse.

        * WebCore.exp.in:
        * platform/network/ResourceHandleClient.cpp:
        (WebCore::ResourceHandleClient::didReceiveResponseAsync):
        Just call continueDidReceiveResponse().

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::continueWillSendRequest):
        Split up a single condition in two, making it easier to see which assertion fails.

        (WebCore::ResourceHandle::continueDidReceiveResponse):
        Call -[WebCoreResourceHandleAsOperationQueueDelegate continueDidReceiveResponse].

        (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
        (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
        (WebCore::ResourceHandle::continueWillCacheResponse):
        Split up a single condition in two, making it easier to see which assertion fails.

        * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
        * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
        (-[WebCoreResourceHandleAsOperationQueueDelegate continueDidReceiveResponse]):
        Signal the semaphore.

        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
        Call didReceiveResponseAsync on the main thread and wait on the semaphore.

2013-04-08  Beth Dakin  <bdakin@apple.com>

        Crash in ScrollingCoordinator::mainThreadScrollingReasons() when going back
        https://bugs.webkit.org/show_bug.cgi?id=114214
        -and corresponding-
        <rdar://problem/13208616>

        Reviewed by Anders Carlsson.

        When a page is restoring from the page cache, the mainFrame can have a null 
        Document. So we should null-check the Document here. 

        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::mainThreadScrollingReasons):

2013-04-08  Andrei Bucur  <abucur@adobe.com>

        Simplify ContainerNode::removeChildren
        https://bugs.webkit.org/show_bug.cgi?id=113517

        Reviewed by Darin Adler.

        The patch is based on the work made by Elliott Sprehn. He kindly agreed
        for me to finalize the last bits and pieces of the fix.

        Simplify ContainerNode::removeChildren by merging the loops and removing
        willRemoveChildren. This removes two traversals of the children, avoids
        refing and derefing all the children once, avoids allocating a second
        NodeVector of children, and means we detach() in the same order as
        normal removal.

        This does mean you can get into an infinite loop with DOMNodeRemoved
        listeners by continously adding nodes but this is true in all other browsers
        and the current behavior is bad because it means you don't get notified
        of nodes added during removal (which other browsers do notify of). This
        patch removes the containerNode.html test that originally tested for this
        infinite loop and adds a new one that tests that all nodes get notified.

        This makes PerformanceTests/Parser/innerHTML-setter.html 2-6% faster.

        There's also a new test verifying ranges remain consistent if modified
        inside an mutation event handler. Without the patch it's possible to create
        a range with boundaries outside of the DOM tree.

        Tests: fast/dom/Range/range-remove-children-event.html
               fast/events/mutation-during-innerHTML.html

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::removeChildren):
        * dom/Document.cpp:
        * dom/Document.h: nodeChildrenWillBeRemoved is not needed any more.
        * dom/Range.cpp:
        * dom/Range.h: nodeChildrenWillBeRemoved is not needed any more.

2013-04-06  Simon Fraser  <simon.fraser@apple.com>

        Remove some #includes in headers in rendering code
        https://bugs.webkit.org/show_bug.cgi?id=114079

        Reviewed by Sam Weinig.

        Clean up #includes in RenderObject, RenderLayer etc.
        Moved makeMatrixRenderable() into RenderLayer.app, allowing
        the removal of a TransformationMatrix.h include.
        
        Make some RenderLayer functions that deal with filters not inline,
        to avoid including RenderLayerFilterInfo.h.

        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/ImageOrientation.cpp:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        * platform/graphics/transforms/AffineTransform.cpp:
        * platform/graphics/transforms/AffineTransform.h:
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderLayer.cpp:
        (WebCore::makeMatrixRenderable):
        (WebCore::RenderLayer::filterRenderer):
        (WebCore::RenderLayer::filterInfo):
        (WebCore::RenderLayer::ensureFilterInfo):
        (WebCore::RenderLayer::removeFilterInfoIfNeeded):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLineBoxList.h:
        * rendering/RenderObject.h:

2013-04-08  Robert Hogan  <robert@webkit.org>

        Unreviewed, rolling out r147850.
        http://trac.webkit.org/changeset/147850
        https://bugs.webkit.org/show_bug.cgi?id=113706

        Changeset crossed paths with 147505, which is the same fix.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::inlineLogicalWidth):

2013-04-08  Alexey Proskuryakov  <ap@apple.com>

        <rdar://problem/12834449> Crashes in WebSocketChannel::processFrame when processing a ping
        https://bugs.webkit.org/show_bug.cgi?id=114178

        Reviewed by Brady Eidson.

        No test, I could never reproduce even manually.

        Calling enqueueRawFrame() could change incoming buffer, so a subsequent skipBuffer()
        would operate on wrong assumptions. This happened because enqueueRawFrame() actually
        tried to process the queue, and send failure sometimed clears m_buffer.

        Fixing this by decoupling enqueuing from sending, and making sure that skipBuffer()
        in ping frame processing case is performed at a safe time.

        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::send):
        (WebCore::WebSocketChannel::startClosingHandshake):
        (WebCore::WebSocketChannel::processFrame):
        (WebCore::WebSocketChannel::enqueueTextFrame):
        (WebCore::WebSocketChannel::enqueueRawFrame):
        (WebCore::WebSocketChannel::enqueueBlobFrame):

2013-04-08  Max Vujovic  <mvujovic@adobe.com>

        REGRESSION (r147502): Animations of CA filters broken
        https://bugs.webkit.org/show_bug.cgi?id=114067

        Reviewed by Dean Jackson.

        Revert r147502 [1] because it broke CA filter animations.
        
        [1]: http://trac.webkit.org/changeset/147502

        * platform/graphics/IntRectExtent.h:
        (WebCore::IntRectExtent::isZero):
        (IntRectExtent):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::needsCompositingLayersRebuiltForOverflow):
        (WebCore):
        (WebCore::RenderLayer::styleChanged):
        * rendering/RenderLayer.h:
        (RenderLayer):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateFilters):
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):

2013-04-08  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>

        [Qt] Avoid "QFont::setPixelSize: Pixel size <= 0 (0)"
        https://bugs.webkit.org/show_bug.cgi?id=114175

        Reviewed by Allan Sandfeld Jensen.

        QFont doesn't support a 0-size but WebCore does.
        Leave our QFont in its default state in this case to avoid the warning.

        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

2013-04-08  Yi Shen  <max.hong.shen@gmail.com>

        Counter still gets incremented when counter-increment is set to none
        https://bugs.webkit.org/show_bug.cgi?id=84985

        Reviewed by Darin Adler.

        When the counter-increment is set to none, no counters are incremented.

        Tests: New test cases added in fast/css/counters/counter-increment-tests.htm

        * css/StyleBuilder.cpp:
        (WebCore::ApplyPropertyCounter::applyValue):

2013-04-08  Douglas Stockwell  <dstockwell@chromium.org>

        Crash in WebCore::ElementRuleCollector::collectMatchingRulesForList
        https://bugs.webkit.org/show_bug.cgi?id=113458

        Reviewed by Darin Adler.

        A stylesheet which has been invalidated (type changed from "" or
        "text/css") was not correctly removed from the list of active
        style sheets when its children are changed.

        This change releases StyleElement::m_sheet in advance of calling
        DocumentStyleSheetCollection::updateActiveStyleSheets.

        (StyleElement::clearSheet calls CSSStyleSheet::clearOwnerNode calls
        CSSStyleSheet::didMutate calls Document::styleResolverChanged calls
        DocumentStyleSheetCollection::updateActiveStyleSheets)

        Test: fast/css/style-element-invalidation-crash.html

        * dom/StyleElement.cpp:
        (WebCore::StyleElement::clearSheet): Release m_sheet before we
          trigger an update of the active style sheets.

2013-04-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] DOM objects created wrapping a base class have incorrect GObject type
        https://bugs.webkit.org/show_bug.cgi?id=113132

        Reviewed by Gustavo Noronha Silva.

        Some of the DOM methods can create a concrete instance of another
        object, but return a base class. GObject bindings provide custom
        kit implementations for Node, Element, Event and EvenTarget, so
        any concrete HTMLElement wrapped as an HTMLElement ends up
        wrapping the right WebCore object but in the wrong GObject type.
        This affects not only HTMLElements, but any polymorphic object
        wrapped using a base class.
        This patch changes the way objects are created, so that all
        classes have their own kit implementation, but for polymorphic
        objects the kit implementation of the base class is always
        used. The kit method of polymorphic base classes use a generic
        wrap method instead of the wrapFoo method like all other
        classes. In the static code we provide the implementation of the
        generic wrap method for every polimorphic base class, falling back
        to their wrapFoo method if the concrete object can't be used to
        wrap the object.
        Both WebKitDOMBinding and WebKitHTMLElementWrapperFactory now provide
        implementations of wrap and have been renamed to WebKitDOMPrivate
        and WebKitDOMHTMLPrivate.

        * bindings/gobject/GNUmakefile.am:
        * bindings/gobject/WebKitDOMBinding.cpp: Removed.
        * bindings/gobject/WebKitDOMEventTarget.cpp:
        (WebKit::kit): Moved kit implementation from WebKitDOMBinding for
        consistency with all other objects that have their own kit.
        (WebKit::core): Updated to match the core implementation fo all
        other objects.
        * bindings/gobject/WebKitDOMEventTargetPrivate.h:
        (WebCore):
        (WebKit):
        * bindings/gobject/WebKitDOMHTMLPrivate.cpp: Added.
        (WebKit): Use preprocessor macros to define and set the wrap
        functions of all HTML elements, removing a lot of boilerplate code
        and making it easier to add new wrap functions in the future.
        (WebKit::wrap):
        * bindings/gobject/WebKitDOMHTMLPrivate.h: Renamed from Source/WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.h.
        (WebCore):
        (WebKit):
        * bindings/gobject/WebKitDOMObject.cpp:
        * bindings/gobject/WebKitDOMPrivate.cpp: Added.
        (WebKit):
        (WebKit::wrap):
        * bindings/gobject/WebKitDOMPrivate.h: Renamed from Source/WebCore/bindings/gobject/WebKitDOMBinding.h.
        (WebCore):
        (WebKit):
        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Removed.
        * bindings/scripts/CodeGeneratorGObject.pm:
        (IsBaseType): Helper function to check if a type is a base class.
        (GetBaseClass): Helper function to get the base class for a given
        parent type.
        (GenerateFunction): Remove special case for EventTarget since the
        kit prototype of EventTarget is in its private header like all
        other objects.
        (GenerateCFile): Add a kit implementation for all objects.
        (IsPolymorphic): Helper function to check if the given type is the
        base class of a polymorphic object.
        (Generate): Include the private header of the base class for
        polymorphic objects.
        (WriteData): Remove the special case for WebKitDOMNode since now
        all objects has a kit method.
        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
        (WebKit::kit):
        * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
        (WebKit::kit):
        * bindings/scripts/test/GObject/WebKitDOMTestNodePrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsPrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
        (WebKit):
        * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestTypedefsPrivate.h:
        (WebKit):

2013-04-08  Andras Becsi  <andras.becsi@digia.com>

        Fix the build with strict GCC 4.8

        Unreviewed build fix.

        Initialize dragImage to suppress GCC's warning about it being possibly used uninitialized,
        which results is a build failure with GCC 4.8 that sets -Werror=maybe-uninitialized.

        No new tests needed.

        * page/DragController.cpp:
        (WebCore::DragController::doImageDrag):

2013-04-08  Zan Dobersek  <zdobersek@igalia.com>

        Remove the unused LayoutTestSupport class
        https://bugs.webkit.org/show_bug.cgi?id=114170

        Reviewed by Alexey Proskuryakov.

        The LayoutTestSupport class is not used by any port anywhere in the code and should be removed.

        No new tests - no changes in functionality.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/LayoutTestSupport.cpp: Removed.
        * platform/LayoutTestSupport.h: Removed.

2013-04-08  Zan Dobersek  <zdobersek@igalia.com>

        Remove WebCore::(enable|disable)SecureTextInput methods
        https://bugs.webkit.org/show_bug.cgi?id=114126

        Reviewed by Alexey Proskuryakov.

        Remove the enableSecureTextInput and disableSecureTextInput methods and all the codepaths leading to them.
        These were used only by the Chromium port and are as such not required anymore.

        No new tests - no changes in functionality.

        * GNUmakefile.list.am:
        * WebCore.order:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (Document):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::focusedOrActiveStateChanged):
        * editing/FrameSelection.h:
        (FrameSelection):
        * html/PasswordInputType.cpp:
        * html/PasswordInputType.h:
        (PasswordInputType):
        * page/Frame.cpp:
        (WebCore::Frame::setDocument):
        * platform/SecureTextInput.h: Removed.

2013-04-08  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix; r147892 moved an export definition out of
        a protective #ifdef, causing a link error on platforms which do
        not define that method.

        * WebCore.exp.in:

2013-04-08  Brendan Long  <b.long@cablelabs.com>

        [Qt] Enable text tracks from track elements
        https://bugs.webkit.org/show_bug.cgi?id=113522

        Reviewed by Jocelyn Turcotte.

        No new tests because they're already there. This just enables the feature.

        * Target.pri:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * platform/qt/LocalizedStringsQt.cpp:
        (WebCore):
        (WebCore::textTrackSubtitlesText):
        (WebCore::textTrackOffText):
        (WebCore::textTrackNoLabelText):

2013-04-08  Sergio Villar Senin  <svillar@igalia.com>

        [GTK] Toggle OverWrite mode when pressing the Insert key
        https://bugs.webkit.org/show_bug.cgi?id=113384

        Reviewed by Martin Robinson.

        Perform an OverWrite command as a response to the emission of the
        toggle-overwrite signal. Due to the nature of the command it will
        only do that when being on a richly editable web content.

        * platform/gtk/KeyBindingTranslator.cpp:
        (WebCore::toggleOverwriteCallback):

2013-04-08  Seokju Kwon  <seokju.kwon@gmail.com>

        [BlackBerry] Provide more specific error description for SocketStreamError
        https://bugs.webkit.org/show_bug.cgi?id=114134

        Reviewed by Rob Buis.

        Pass the reason of a failure to SocketStreamError instance
        and notify it via SocketStreamHandleClient::didFailSocketStream().

        * platform/network/blackberry/SocketStreamError.h:
        (WebCore::SocketStreamError::SocketStreamError):
        * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
        (WebCore::SocketStreamHandle::notifyStatusReceived):

2013-04-08  Youenn Fablet  <youennf@gmail.com>

        [GTK][EFL] HEAD requests changed to GET after 303 redirection
        https://bugs.webkit.org/show_bug.cgi?id=110127

        Reviewed by Martin Robinson.

        Made shouldRedirectAsGET always return false for HEAD requests.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::shouldRedirectAsGET):

2013-04-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        DragImage should not depend on Frame and CachedImage
        https://bugs.webkit.org/show_bug.cgi?id=21357

        Reviewed by Sam Weinig.

        Remove Frame and CachedImage dependencies from DragImage.

        * dom/Clipboard.h:
        (WebCore): Add forward delcaration for CacheImage since it's not
        included anymore in DragImage.h.
        * page/DragController.cpp:
        (WebCore::DragController::startDrag): Use
        Frame::dragImageForSelection() and call
        dissolveDragImageToFraction() for the returned DragImage. Pass the
        font rendering mode to createDragImageForLink, instead of a Frame
        that is only used to get the font rendering mode.
        (WebCore::DragController::doImageDrag): Get the suggested filename
        for the cached image and pass it to
        createDragImageIconForCachedImageFilename().
        * platform/DragImage.cpp:
        (WebCore::createDragImageForLink): Receive a FontRenderingMode
        instead of a Frame.
        * platform/DragImage.h:
        (WebCore): Remove createDragImageForSelection, change
        createDragImageForLink to receive a FontRenderingMode instead of a
        frame, and rename createDragImageIconForCachedImage as
        createDragImageIconForCachedImageFilename since it nows received
        the suggested filename of the cached image.
        * platform/blackberry/DragImageBlackBerry.cpp:
        (WebCore::createDragImageIconForCachedImageFilename): Adapt to API
        changes.
        * platform/efl/DragImageEfl.cpp:
        (WebCore::createDragImageIconForCachedImageFilename): Ditto.
        * platform/gtk/DragImageGtk.cpp:
        (WebCore::createDragImageIconForCachedImageFilename): Ditto.
        * platform/mac/DragImageMac.mm:
        (WebCore::dissolveDragImageToFraction): Return early if the passed
        image is NULL.
        (WebCore::createDragImageIconForCachedImageFilename): Adapt to API
        changes.
        (WebCore::createDragImageForLink): Ditto.
        * platform/qt/DragImageQt.cpp:
        (WebCore::createDragImageIconForCachedImageFilename): Ditto.
        * platform/win/DragImageWin.cpp:
        (WebCore::createDragImageIconForCachedImageFilename): Ditto.
        (WebCore::createDragImageForLink): Ditto.
        * platform/wx/DragImageWx.cpp:
        (WebCore::createDragImageIconForCachedImageFilename): Ditto.

2013-04-08  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>

        [EFL] REGRESSION(r147743): Use the correct `operator new' override in RenderThemeEfl.
        https://bugs.webkit.org/show_bug.cgi?id=114166

        Reviewed by Alexis Menard.

        r147743 disabled GLOBAL_FAST_MALLOC_NEW on the EFL port, but this has
        caused some pixel tests in WK1 to crash.

        The problem stems from RenderThemeEfl::applyEdjeRTLState() directly
        calling `operator new(size_t)' for some allocations.
        RefCounted<RenderTheme>, on its turn, has a WTF_MAKE_FAST_ALLOCATED
        call which adds some `operator new' overrides to the class. Our direct
        calls in applyEdjeRTLState() made the scope resolution rules choose the
        WTF_MAKE_FAST_ALLOCATED version (which uses FastMalloc's allocator),
        while WTF::deleteOwnedPtr() calls the global `operator delete' (which
        uses the system's free() implementation).

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore::RenderThemeEfl::applyEdjeRTLState): Explicitly choose the
        global `operator new' when calling it.

2013-04-07  Benjamin Poulain  <benjamin@webkit.org>

        Remove the android code from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=114136

        Reviewed by Anders Carlsson.

        * WebCore.exp.in:
        * dom/ViewportArguments.cpp:
        (WebCore):
        (WebCore::setViewportFeature):
        (WebCore::viewportErrorMessageTemplate):
        (WebCore::viewportErrorMessageLevel):
        * dom/ViewportArguments.h:
        (WebCore::ViewportArguments::ViewportArguments):
        (ViewportArguments):
        (WebCore::ViewportArguments::operator==):
        * editing/EditingBehavior.h:
        (WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
        (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
        (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
        * editing/EditingBehaviorTypes.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleGestureLongTap):
        (WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
        * page/Settings.cpp:
        (WebCore):
        (WebCore::editingBehaviorTypeForPlatform):
        * platform/graphics/FontCache.h:
        (FontCache):
        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
        (WebCore::FontPlatformData::getRenderStyleForStrike):
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::setEditingBehavior):

2013-04-07  Oliver Hunt  <oliver@apple.com>

        Add bounds checking for WTF::Vector::operator[]
        https://bugs.webkit.org/show_bug.cgi?id=89600

        Reviewed by Filip Pizlo.

        Fix exports

        * WebCore.exp.in:

2013-04-07  Benjamin Poulain  <benjamin@webkit.org>

        Do not allocate static AtomicStrings when searching for alternate font names
        https://bugs.webkit.org/show_bug.cgi?id=114110

        Reviewed by Geoffrey Garen.

        FontCache's alternateFamilyName does some font name substitutions
        when a font is not found for a given name.

        In the vast majority of cases, no substitutions are made and
        alternateFamilyName returns the null atom.
        Given the usage the function had a couple of problems:
        -It created 6 static AtomicString.
        -It did a case insensitive comparison with 6 differents strings
         before failing.

        This patch aims at solving both issues.

        Instead of creating all AtomicString statically, the alternate name
        are simply created on the fly as needed. Because the operation is so
        unfrequent, and it uses the fast constructor, doing so should not slow
        down the function.

        To avoid comparing the input to every string, every time, the length of
        the input is first evaluated, and we only do the necessary string comparisons.

        On x86_64, this reduces the binary size by 2128 bytes.

        * platform/graphics/FontCache.cpp:
        (WebCore::familyNameEqualIgnoringCase):
        When comparing strings, we know:
        -The family name is non null.
        -The length of both strings is equal.
        -The length is not null.
        Make the comparison accordingly.

        (WebCore::alternateFamilyName):
        (WebCore::FontCache::getCachedFontPlatformData):

2013-04-07  Zan Dobersek  <zdobersek@igalia.com>

        Remove remaining PLATFORM(CHROMIUM)-guarded code in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=114081

        Remove the remaining PLATFORM(CHROMIUM) build guards. There are still a couple of guards
        that most likely apply only to Chromium, like OS(ANDROID) or USE(SKIA_ON_MAC_CHROMIUM),
        but removal of these should go into separate patches.

        * bindings/generic/RuntimeEnabledFeatures.cpp:
        (WebCore):
        * config.h:
        * history/PageCache.cpp:
        (WebCore):
        (WebCore::logCanCacheFrameDecision):
        (WebCore::logCanCachePageDecision):
        (WebCore::PageCache::canCache):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::getContext):
        (WebCore::HTMLCanvasElement::shouldAccelerate):
        * html/HTMLCanvasElement.h:
        * html/HTMLMediaElement.cpp:
        (WebCore::createFileURLForApplicationCacheResource):
        (WebCore::HTMLMediaElement::loadResource):
        * html/HTMLSelectElement.cpp:
        (WebCore):
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::defaultEventHandler):
        * html/canvas/EXTDrawBuffers.cpp:
        (WebCore::EXTDrawBuffers::satisfiesWebGLRequirements):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore):
        (WebCore::WebGLRenderingContext::create):
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
        (WebCore::WebGLRenderingContext::platformLayer):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::willPaintImpl):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::didBeginFrame):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::notifyFinished):
        * page/FeatureObserver.cpp:
        (WebCore::FeatureObserver::~FeatureObserver):
        * platform/AsyncFileSystem.cpp:
        (WebCore):
        * platform/ContextMenu.h:
        (ContextMenu):
        * platform/ContextMenuItem.h:
        * platform/Cursor.h:
        * platform/DragData.cpp:
        (WebCore):
        * platform/DragData.h:
        * platform/DragImage.h:
        * platform/LocalizedStrings.h:
        (WebCore):
        * platform/Pasteboard.h:
        (Pasteboard):
        * platform/PlatformExportMacros.h:
        * platform/PlatformInstrumentation.h:
        (WebCore::PlatformInstrumentation::willDecodeImage):
        (WebCore::PlatformInstrumentation::didDecodeImage):
        (WebCore::PlatformInstrumentation::willResizeImage):
        (WebCore::PlatformInstrumentation::didResizeImage):
        * platform/PlatformMenuDescription.h:
        (WebCore):
        * platform/PlatformSpeechSynthesizer.h:
        (PlatformSpeechSynthesizer):
        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        (PlatformWheelEvent):
        * platform/ScrollAnimator.cpp:
        (WebCore):
        (WebCore::ScrollAnimator::handleWheelEvent):
        * platform/ScrollAnimator.h:
        (ScrollAnimator):
        * platform/ScrollAnimatorNone.cpp:
        (WebCore::ScrollAnimatorNone::scroll):
        (WebCore::ScrollAnimatorNone::animationTimerFired):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::updateOverhangAreas):
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::scrollPositionChanged):
        * platform/Scrollbar.cpp:
        * platform/SecureTextInput.cpp: Removed.
        * platform/SecureTextInput.h:
        (WebCore):
        * platform/SuddenTermination.h:
        (WebCore):
        * platform/Widget.h:
        (Widget):
        * platform/graphics/ANGLEWebKitBridge.h:
        * platform/graphics/BitmapImage.h:
        * platform/graphics/FloatPoint.h:
        (FloatPoint):
        * platform/graphics/FloatRect.h:
        (FloatRect):
        * platform/graphics/FloatSize.h:
        (FloatSize):
        * platform/graphics/Font.cpp:
        (WebCore):
        (WebCore::Font::width):
        * platform/graphics/Font.h:
        (Font):
        * platform/graphics/FontCache.cpp:
        (WebCore):
        * platform/graphics/FontCache.h:
        (FontCache):
        * platform/graphics/FontDescription.h:
        * platform/graphics/FontPlatformData.cpp:
        * platform/graphics/GlyphBuffer.h:
        (WebCore):
        (WebCore::GlyphBuffer::add):
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawImage):
        (WebCore::GraphicsContext::drawImageBuffer):
        * platform/graphics/GraphicsContext3D.h:
        (GraphicsContext3D):
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::supportsBackgroundColorContent):
        * platform/graphics/Icon.h:
        (Icon):
        * platform/graphics/ImageSource.cpp:
        * platform/graphics/ImageSource.h:
        (WebCore):
        * platform/graphics/IntRect.h:
        (IntRect):
        (WebCore):
        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/PlatformLayer.h:
        * platform/graphics/SimpleFontData.h:
        (SimpleFontData):
        (DerivedFontData):
        * platform/graphics/filters/FECustomFilter.cpp:
        (WebCore::FECustomFilter::resizeContext):
        * platform/graphics/gpu/DrawingBuffer.h:
        (WebCore):
        (DrawingBuffer):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
        (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
        * platform/image-decoders/ImageDecoder.h:
        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore::LevelDBDatabase::open):
        * platform/network/BlobRegistry.cpp:
        (WebCore::blobRegistry):
        * platform/network/BlobRegistryImpl.cpp:
        * platform/network/NetworkStateNotifier.cpp:
        * platform/network/NetworkStateNotifier.h:
        (NetworkStateNotifier):
        * platform/network/NetworkingContext.h:
        (NetworkingContext):
        * platform/network/ResourceHandleClient.h:
        * platform/network/ResourceRequestBase.cpp:
        (WebCore):
        * platform/text/cf/HyphenationCF.cpp:
        * plugins/PluginViewNone.cpp:
        (WebCore):
        * testing/Internals.cpp:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::createRequest):

2013-04-07  Ed Bartosh  <bartosh@gmail.com>

        [EFL] --minimal build fails because of incorrect usage of GENERATE_THEME in CMakeLists.txt
        https://bugs.webkit.org/show_bug.cgi?id=113902

        Unreviewed.

        * platform/efl/DefaultTheme/CMakeLists.txt:
        Put possibly empty variable after non-empty to avoid space
        at the beginning of string parameter

2013-04-07  Patrick Gansterer  <paroga@webkit.org>

        Add default implementation for KURL::fileSystemPath()
        https://bugs.webkit.org/show_bug.cgi?id=108326

        Reviewed by Benjamin Poulain.

        The code for KURL::fileSystemPath() has been duplicated in different ports.
        Add an implementation of this function to KURL.cpp for this ports and
        get rid of the very similar port specific implementation files.

        * PlatformBlackBerry.cmake:
        * PlatformEfl.cmake:
        * PlatformWinCE.cmake:
        * platform/KURL.cpp:
        (WebCore):
        (WebCore::KURL::fileSystemPath):
        * platform/blackberry/KURLBlackBerry.cpp: Removed.
        * platform/efl/KURLEfl.cpp: Removed.
        * platform/wince/KURLWinCE.cpp: Removed.
        * platform/wx/KURLWx.cpp: Removed.

2013-04-07  Patrick Gansterer  <paroga@webkit.org>

        Remove references to Skia and V8 from CMake files
        https://bugs.webkit.org/show_bug.cgi?id=114130

        Reviewed by Geoffrey Garen.

        * PlatformBlackBerry.cmake:

2013-04-07  David Kilzer  <ddkilzer@apple.com>

        Remove the rest of SVG_DOM_OBJC_BINDINGS
        <http://webkit.org/b/114112>

        Reviewed by Geoffrey Garen.

        * Configurations/WebCore.xcconfig:
        - Remove EXCLUDED_SOURCE_FILE_NAMES_SVG_DOM_OBJC_BINDINGS.  Note
          that DOMHTMLIFrameElementPrivate.h should not have been in
          this list because the class contained methods other than just
          -getSVGDocument.

        * WebCore.xcodeproj/project.pbxproj:
        - Remove DOMHTMLFrameElementPrivate.h since the only method it
          contained was -[DOMHTMLFrameElement getSVGDocument], which was
          part of the SVG DOM Objective-C bindings.

        * bindings/objc/DOM.mm:
        (kitClass):
        * bindings/objc/DOMEvents.mm:
        (kitClass):
        * bindings/objc/ExceptionHandlers.mm:
        (WebCore::raiseDOMException):
        - Remove code in ENABLE(SVG_DOM_OBJC_BINDINGS).

2013-04-07  Oliver Hunt  <oliver@apple.com>

        Inspector should display information about non-object exceptions
        https://bugs.webkit.org/show_bug.cgi?id=114123

        Reviewed by Adele Peterson.

        Make use of the stack trace for line information when we're reporting
        an exception

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::reportException):

2013-04-07  Robert Hogan  <robert@webkit.org>

        table element may get larger when its contents are recreated
        https://bugs.webkit.org/show_bug.cgi?id=111342

        Reviewed by Darin Adler.

        Remove anonymous table section wrappers when destroying their children.

        Test: fast/table/anonymous-table-section-removed.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):

2013-04-07  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Fix build without precompiled header after r145827.

        * platform/ContextMenuItem.h:
        * platform/PlatformMenuDescription.h:

2013-04-07  Patrick Gansterer  <paroga@webkit.org>

        Fix compilation of LocaleWin with !ENABLE(CALENDAR_PICKER) && !ENABLE(DATE_AND_TIME_INPUT_TYPES)

        * platform/text/win/LocaleWin.cpp:
        (WebCore::LocaleWin::ensureShortMonthLabels):
        (WebCore):
        (WebCore::LocaleWin::ensureMonthLabels):

2013-04-07  Patrick Gansterer  <paroga@webkit.org>

        [WIN] Fix build without precompiled header after r144216.

        * platform/network/cf/FormDataStreamCFNet.h:
        * platform/network/mac/FormDataStreamMac.h:

2013-04-07  Ed Bartosh  <bartosh@gmail.com>

        [EFL] --minimal build fails with error: WebCore::FrameSelection::notifyAccessibilityForSelectionChange()
        https://bugs.webkit.org/show_bug.cgi?id=114089

        Reviewed by Chris Fleizach.

        Wrapped accessibility related code in #if HAVE(ACCESSIBILITY)
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::setSelection):
        * editing/FrameSelection.h:
        (WebCore):

2013-04-06  Benjamin Poulain  <benjamin@webkit.org>

        Get rid of skia
        https://bugs.webkit.org/show_bug.cgi?id=114108

        Reviewed by Anders Carlsson.

        * platform/graphics/filters/skia/*: Removed.
        * platform/graphics/skia/*: Removed.
        * platform/image-decoders/skia/*: Removed.
        * platform/image-encoders/skia/*: Removed.

2013-04-06  Benjamin Poulain  <benjamin@webkit.org>

        Remove the chromium code from platform/graphics/mac
        https://bugs.webkit.org/show_bug.cgi?id=114107

        Reviewed by Anders Carlsson.

        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/mac/FontComplexTextMac.cpp:
        (WebCore::Font::selectionRectForComplexText):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::offsetForPositionForComplexText):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::hasBrokenCTFontGetVerticalTranslationsForGlyphs):

2013-04-06  Benjamin Poulain  <benjamin@webkit.org>

        Clean platform/graphics/cg of the chromium bits
        https://bugs.webkit.org/show_bug.cgi?id=114106

        Reviewed by Anders Carlsson.

        * platform/graphics/cg/BitmapImageCG.cpp:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels):
        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
        (GraphicsContextPlatformPrivate):
        * platform/graphics/cg/ImageBufferCG.cpp:
        * platform/graphics/cg/ImageCG.cpp:
        * platform/graphics/cg/PathCG.cpp:
        * platform/graphics/cg/PatternCG.cpp:

2013-04-06  Timothy Hatcher  <timothy@apple.com>

        Remove InjectedScriptHost.evaluateReturnsEvalFunction.

        https://webkit.org/b/114099

        * inspector/InjectedScriptHost.h:
        (InjectedScriptHost):
        * inspector/InjectedScriptHost.idl:
        * inspector/InjectedScriptSource.js:
        (InjectedScript.prototype._evaluateOn):

2013-04-06  Benjamin Poulain  <bpoulain@apple.com>

        Remove the chromium code from WebCore/platform/mac
        https://bugs.webkit.org/show_bug.cgi?id=114104

        Reviewed by Sam Weinig.

        * platform/mac/NSScrollerImpDetails.h:
        (WebCore::isScrollbarOverlayAPIAvailable):
        * platform/mac/NSScrollerImpDetails.mm:
        * platform/mac/ScrollAnimatorMac.mm:
        (-[WebScrollbarPainterDelegate layer]):
        (WebCore::scrollAnimationEnabledForSystem):
        * platform/mac/ScrollElasticityController.mm:
        (WebCore):
        * platform/mac/ScrollbarThemeMac.h:
        (ScrollbarThemeMac):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarTheme::nativeTheme):
        (WebCore::ScrollbarThemeMac::paint):
        (WebCore):
        * platform/mac/ThemeMac.mm:
        (WebCore::ThemeMac::ensuredView):
        * platform/mac/WebCoreNSCellExtras.h:

2013-04-06  Benjamin Poulain  <benjamin@webkit.org>

        Remove the Chromium code from Mac's FontPlatformData
        https://bugs.webkit.org/show_bug.cgi?id=114103

        Reviewed by Sam Weinig.

        * platform/graphics/FontPlatformData.h:
        (WebCore):
        (FontPlatformData):
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::platformDataInit):
        (WebCore::FontPlatformData::platformDataAssign):
        (WebCore::FontPlatformData::setFont):
        (WebCore::FontPlatformData::ctFont):

2013-04-06  Oliver Hunt  <oliver@apple.com>

        Unify the many and varied stack trace mechanisms, and make the result sane.
        https://bugs.webkit.org/show_bug.cgi?id=114072

        Reviewed by Filip Pizlo.

        Now that we've fleshed out the StackFrames from Interpreter::getStackTrace
        WebCore can just ask us for a stack trace rather than implementing its own
        stack walking.

        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        * inspector/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::isEqual):
        * inspector/ScriptCallFrame.h:
        (ScriptCallFrame):
        (WebCore::ScriptCallFrame::columnNumber):

2013-04-06  Geoffrey Garen  <ggaren@apple.com>

        Removed v8 bindings hooks from IDL files
        https://bugs.webkit.org/show_bug.cgi?id=114091

        Reviewed by Anders Carlsson and Sam Weinig.

        * Modules/encryptedmedia/MediaKeySession.idl:
        * Modules/filesystem/DOMWindowFileSystem.idl:
        * Modules/filesystem/WorkerContextFileSystem.idl:
        * Modules/gamepad/NavigatorGamepad.idl:
        * Modules/geolocation/NavigatorGeolocation.idl:
        * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
        * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
        * Modules/mediastream/DOMWindowMediaStream.idl:
        * Modules/mediastream/NavigatorMediaStream.idl:
        * Modules/notifications/DOMWindowNotifications.idl:
        * Modules/notifications/NotificationCenter.idl:
        * Modules/notifications/WorkerContextNotifications.idl:
        * Modules/quota/DOMWindowQuota.idl:
        * Modules/speech/DOMWindowSpeech.idl:
        * Modules/webaudio/AudioBufferSourceNode.idl:
        * Modules/webaudio/AudioContext.idl:
        * Modules/webaudio/AudioParam.idl:
        * Modules/webaudio/DOMWindowWebAudio.idl:
        * Modules/webdatabase/DOMWindowWebDatabase.idl:
        * Modules/webdatabase/WorkerContextWebDatabase.idl:
        * Modules/websockets/DOMWindowWebSocket.idl:
        * Modules/websockets/WorkerContextWebSocket.idl:
        * bindings/js/JSDOMBinding.cpp:
        * bindings/js/ScriptController.h:
        (ScriptController):
        * bindings/scripts/test/TestNode.idl:
        * bindings/scripts/test/TestObj.idl:
        * css/CSSFontFaceLoadEvent.idl:
        * css/CSSHostRule.idl:
        * css/CSSRule.idl:
        * css/CSSRuleList.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleSheet.idl:
        * css/CSSValue.idl:
        * css/FontLoader.idl:
        * css/StyleSheet.idl:
        * css/WebKitCSSRegionRule.idl:
        * dom/Clipboard.idl:
        * dom/CustomElementConstructor.idl:
        * dom/CustomEvent.idl:
        * dom/DOMNamedFlowCollection.idl:
        * dom/DOMStringMap.idl:
        * dom/DataTransferItemList.idl:
        * dom/Document.idl:
        * dom/DocumentFragment.idl:
        * dom/Element.idl:
        * dom/Event.idl:
        * dom/EventTarget.idl:
        * dom/MessageChannel.idl:
        * dom/MouseEvent.idl:
        * dom/MutationRecord.idl:
        * dom/NamedNodeMap.idl:
        * dom/Node.idl:
        * dom/NodeList.idl:
        * dom/RequestAnimationFrameCallback.idl:
        * dom/ShadowRoot.idl:
        * dom/Text.idl:
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::encodeBackForwardTreeNode):
        (WebCore::HistoryItem::decodeBackForwardTree):
        * html/DOMSettableTokenList.idl:
        * html/DOMTokenList.idl:
        * html/HTMLAllCollection.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLCollection.idl:
        * html/HTMLDialogElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFormControlsCollection.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLMediaElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptionsCollection.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLSpanElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTemplateElement.idl:
        * html/HTMLTrackElement.idl:
        * html/HTMLUnknownElement.idl:
        * html/MediaKeyError.idl:
        * html/MediaKeyEvent.idl:
        * html/MicroDataItemValue.idl:
        * html/canvas/CanvasRenderingContext2D.idl:
        * html/canvas/DOMPath.idl:
        * html/shadow/HTMLContentElement.idl:
        * html/shadow/HTMLShadowElement.idl:
        * html/track/TextTrack.idl:
        * inspector/InjectedScriptHost.idl:
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
        (WebCore::InspectorIndexedDBAgent::requestDatabase):
        (WebCore::InspectorIndexedDBAgent::requestData):
        (WebCore::InspectorIndexedDBAgent::clearObjectStore):
        (WebCore):
        * loader/EmptyClients.h:
        (EmptyFrameLoaderClient):
        * loader/FrameLoaderClient.h:
        (FrameLoaderClient):
        * page/Console.idl:
        * page/DOMWindow.idl:
        * page/DOMWindowPagePopup.idl:
        * page/History.idl:
        * page/Location.idl:
        * platform/graphics/skia/PatternSkia.cpp:
        (WebCore::Pattern::platformDestroy):
        (WebCore::Pattern::platformPattern):
        * testing/Internals.cpp:
        (WebCore::Internals::serializeObject):
        (WebCore::Internals::deserializeBuffer):

2013-04-06  Zan Dobersek  <zdobersek@igalia.com>

        Remove the USE(SKIA_ON_MAC_CHROMIUM) guards
        https://bugs.webkit.org/show_bug.cgi?id=114084

        Reviewed by Ryosuke Niwa.

        Remove the USE(SKIA_ON_MAC_CHROMIUM) guards. The guards were enabled only
        for the Chromium port via the features.gypi file that was removed in r147714.

        * platform/graphics/FloatPoint.h:
        (FloatPoint):
        * platform/graphics/FloatRect.h:
        (FloatRect):
        * platform/graphics/FloatSize.h:
        (FloatSize):
        * platform/graphics/FontPlatformData.cpp:
        (WebCore):
        * platform/graphics/FontPlatformData.h:
        (FontPlatformData):
        (WebCore::FontPlatformData::hash):
        * platform/graphics/IntPoint.h:
        (IntPoint):
        * platform/graphics/IntRect.h:
        (IntRect):
        (WebCore):
        * platform/graphics/IntSize.h:
        (IntSize):
        * platform/graphics/SimpleFontData.h:
        (SimpleFontData):
        (WebCore::SimpleFontData::widthForGlyph):
        * platform/graphics/cg/FloatPointCG.cpp:
        * platform/graphics/cg/FloatRectCG.cpp:
        * platform/graphics/cg/FloatSizeCG.cpp:
        * platform/graphics/cg/IntPointCG.cpp:
        * platform/graphics/cg/IntRectCG.cpp:
        * platform/graphics/cg/IntSizeCG.cpp:
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/mac/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
        (FontCustomPlatformData):

2013-04-06  Robert Hogan  <robert@webkit.org>

        REGRESSION(r142152): Text wraps in menu
        https://bugs.webkit.org/show_bug.cgi?id=113706

        Reviewed by David Hyatt.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::inlineLogicalWidth): Empty inline elements add their inline border/padding/margin to the width of the
        line when we iterate through them in nextLineBreak(), so no need to add them again here when climbing back up
        from their first child looking for border/padding/margin to add. (An empty inline element can have floating children.)

2013-04-06  Geoffrey Garen  <ggaren@apple.com>

        Rolled out 147820 and 147818 because they caused plugins tests to ASSERT
        https://bugs.webkit.org/show_bug.cgi?id=114094

        Reviewed by Anders Carlsson.

        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        * inspector/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::isEqual):
        * inspector/ScriptCallFrame.h:
        (ScriptCallFrame):
        (WebCore::ScriptCallFrame::lineNumber):

2013-04-06  Anders Carlsson  <andersca@apple.com>

        Remove VisitedLinks.{cpp|h}
        https://bugs.webkit.org/show_bug.cgi?id=114095

        Reviewed by Geoffrey Garen.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/VisitedLinks.cpp: Removed.
        * platform/VisitedLinks.h: Removed.

2013-04-06  Anders Carlsson  <andersca@apple.com>

        Another build fix.

        Actually remove the right files from WebCore.vcxproj.

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

2013-04-06  Anders Carlsson  <andersca@apple.com>

        Fix build.

        ThreadableLoaderClientWrapper was still calling didReceiveCachedMetadata; I didn't notice it
        because the file was not in the Xcode project so I went ahead and added it.

        * WebCore.xcodeproj/project.pbxproj:
        * loader/ThreadableLoaderClientWrapper.h:

2013-04-06  Anders Carlsson  <andersca@apple.com>

        Remove dead CachedMetadata code
        https://bugs.webkit.org/show_bug.cgi?id=114093

        Reviewed by Geoffrey Garen.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * loader/CachedMetadata.cpp: Removed.
        * loader/CachedMetadata.h: Removed.
        * loader/ResourceLoader.h:
        (ResourceLoader):
        * loader/SubresourceLoader.cpp:
        * loader/SubresourceLoader.h:
        (SubresourceLoader):
        * loader/ThreadableLoaderClient.h:
        * loader/WorkerThreadableLoader.cpp:
        * loader/WorkerThreadableLoader.h:
        (MainThreadBridge):
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::reportMemoryUsage):
        * loader/cache/CachedResource.h:
        (WebCore):
        (CachedResource):
        * platform/network/ResourceHandle.cpp:
        * platform/network/ResourceHandle.h:
        (ResourceHandle):
        * platform/network/ResourceHandleClient.h:
        (ResourceHandleClient):

2013-04-06  Anders Carlsson  <andersca@apple.com>

        Remove more dead Chromium code
        https://bugs.webkit.org/show_bug.cgi?id=114090

        Reviewed by Alp Toker.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/StatsCounter.cpp: Removed.
        * platform/StatsCounter.h: Removed.

2013-04-06  Patrick Gansterer  <paroga@webkit.org>

        Build fix for WinCE after r143046.

        * platform/graphics/wince/ImageWinCE.cpp:
        (WebCore::Image::drawPattern):

2013-04-06  Mark Salisbury  <mark.salisbury@hp.com>

        [WinCE] Do not call missing method createDragImageFromImage()
        https://bugs.webkit.org/show_bug.cgi?id=110421

        * platform/win/ClipboardWin.cpp:

2013-04-05  Mark Salisbury  <mark.salisbury@hp.com>

        [WinCE] Compile missing NetworkStorageSession methods
        https://bugs.webkit.org/show_bug.cgi?id=110419

        * PlatformWinCE.cmake:

2013-04-05  Kangil Han  <kangil.han@samsung.com>

        Prefer prefix ++/-- operators for non-primitive types
        https://bugs.webkit.org/show_bug.cgi?id=114033

        Reviewed by Alexey Proskuryakov.

        Post ++/-- creates a copy of current value and it is not necessary, so use prefix instead.

        * bindings/js/Dictionary.cpp:
        (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
        (WebCore::Dictionary::getOwnPropertyNames):
        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        * dom/ContainerNode.cpp:
        (WebCore::willRemoveChildren):
        * dom/Range.cpp:
        (WebCore::Range::processAncestorsAndTheirSiblings):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::detachChildren):
        * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
        (WebCore):
        (WebCore::LoopBlinnPathProcessor::subdivideCurvesSlow):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDocumentMarkers):
        * xml/XPathFunctions.cpp:
        (WebCore::XPath::Function::setArguments):

2013-04-05  Hans Muller  <hmuller@adobe.com>

        [CSS Exclusions] Add support for the simple case of shape-margin polygonal shape-outside
        https://bugs.webkit.org/show_bug.cgi?id=113726

        Reviewed by Dirk Schulze.

        Add support for computing the shape-outside shape-margin boundary for a polygon.
        This change is similar to the one added for padding polygons, see bug 112592.
        The algorithm used for computing the margin boundary is is provisional. It works
        correctly for convex polygons and will work correctly for non self-intersecting
        polygons whose margin boundary is the same shape as the original polygon.

        Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-diamond-margin-polygon.html
               fast/exclusions/shape-outside-floats/shape-outside-floats-left-margin-polygon.html
               fast/exclusions/shape-outside-floats/shape-outside-floats-right-margin-polygon.html

        * rendering/ExclusionPolygon.cpp:
        (WebCore::appendArc): Generalized this method a little, to deal with margin and padding connecting arcs.
        (WebCore::computeShapePaddingBounds): Pass the new appendArc() parameter.
        (WebCore::computeShapeMarginBounds): Compute the margin boundary for a polygon, per the constraints summarized above.
        (WebCore::ExclusionPolygon::getExcludedIntervals): Use the margin polygon for this computation.

2013-04-05  Andy Estes  <aestes@apple.com>

        Returning NULL from willSendRequest should cancel a load from the memory cache
        https://bugs.webkit.org/show_bug.cgi?id=114075

        Reviewed by Darin Adler.

        When a resource is loaded from the memory cache and the client does not
        implement the didLoadResourceFromMemoryCache delegate method, WebKit
        synthesizes the typical sequence of resource load callbacks. One of
        these is willSendRequest, which gives the client the opportunity to
        modify the request. We should respect these modifications.

        Handling any arbitrary modification is difficult given where in the
        loading process we check the memory cache (see <http://webkit.org/b/113251>),
        but we can handle the common case where the client cancels the load by
        returning a NULL request.

        Test: fast/loader/willsendrequest-returns-null-for-memory-cache-load.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::willLoadMediaElementURL): Passed request to sendRemainingDelegateMessages.
        (WebCore::FrameLoader::commitProvisionalLoad): Ditto.
        (WebCore::FrameLoader::loadResourceSynchronously): Ditto.
        (WebCore::FrameLoader::loadedResourceFromMemoryCache): Added an out
        parameter to pass back a request potentially modified by
        requestFromDelegate, which is also passed to sendRemainingDelegateMessages.
        * loader/FrameLoader.h:
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::dispatchDidFailLoading): Added a
        function to dispatch didFailLoading and to call the correct InspectorInstrumentation.
        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): If the
        request is NULL, call dispatchDidFailLoading and return. This matches
        the delegate callback sequence of a non memory cache load that is
        cancelled by willSendRequest.
        * loader/ResourceLoadNotifier.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
        Return false if the memory cache load is cancelled by the client.
        (WebCore::CachedResourceLoader::requestResource): Return early if
        shouldContinueAfterNotifyingLoadedFromMemoryCache is false.

2013-04-05  Chris Fleizach  <cfleizach@apple.com>

        AX: VoiceOver can't press on items
        https://bugs.webkit.org/show_bug.cgi?id=114071

        Reviewed by Tim Horton.

        The AXScrollToVisibleAction should not be used on earlier Mac versions because
        it confuses VoiceOver.

        Updated existing tests.

        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper accessibilityActionNames]):

2013-04-05  Anders Carlsson  <andersca@apple.com>

        Stop building Objective-C bindings for the SVG DOM
        https://bugs.webkit.org/show_bug.cgi?id=114076

        Reviewed by Geoffrey Garen.

        The DOM SVG Objective-C bindings have never been exposed as API, and not building them cuts WebCore build by 10%.

        * Configurations/FeatureDefines.xcconfig:
        * Configurations/WebCore.xcconfig:
        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap):
        (kitClass):
        * bindings/objc/DOMCSS.mm:
        (kitClass):
        * bindings/objc/DOMEvents.mm:
        * bindings/objc/DOMSVG.h: Removed.
        * bindings/objc/DOMSVGException.h: Removed.
        * bindings/objc/DOMSVGPathSegInternal.mm: Removed.
        * bindings/objc/ExceptionHandlers.mm:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLObjectElement.idl:

2013-04-05  Oliver Hunt  <oliver@apple.com>

        Unify the many and varied stack trace mechanisms, and make the result sane.
        https://bugs.webkit.org/show_bug.cgi?id=114072

        Reviewed by Filip Pizlo.

        Now that we've fleshed out the StackFrames from Interpreter::getStackTrace
        WebCore can just ask us for a stack trace rather than implementing its own
        stack walking.

        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        * inspector/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::isEqual):
        * inspector/ScriptCallFrame.h:
        (ScriptCallFrame):
        (WebCore::ScriptCallFrame::columnNumber):

2013-04-05  Beth Dakin  <bdakin@apple.com>

        Setting a header or footer should cause a relayout
        https://bugs.webkit.org/show_bug.cgi?id=114070

        Reviewed by Sam Weinig.

        Mark the RenderView as needing layout in order to adjust everything for the new 
        header/footer.

        * page/FrameView.cpp:
        (WebCore::FrameView::setHeaderHeight):
        (WebCore::FrameView::setFooterHeight):

2013-04-05  Chris Fleizach  <cfleizach@apple.com>

        AX: Make SVG Group containers accessible elements
        https://bugs.webkit.org/show_bug.cgi?id=113939

        Reviewed by Simon Fraser.

        SVG group containers are currently not exposed in the AX tree. 
        When an SVG element has a <title> child, that is not being used for the AX label.
        When hit-testing, from Accessibility, SVG groups are never returned.

        All these issues are fixed for Mac and iOS.
        There are two tests because right now iOS skips all the top-level accessibility tests
        due to fundamental architectural differences.

        Tests: accessibility/svg-group-element-with-title.html
               platform/iphone-simulator/accessibility/svg-group-element-with-title.html

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::alternativeText):
        (WebCore::AccessibilityNodeObject::accessibilityDescription):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper isSVGGroupElement]):
        (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
        (-[WebAccessibilityObjectWrapper accessibilityClickPoint]):
        * rendering/HitTestRequest.h:
            Add a new option, AccessibilityHitTest, that will allow us to override normal behavior.
        * rendering/svg/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::nodeAtFloatPoint):
           Allow a SVG group to be the node at a point, for accessibility hit tests.

2013-04-05  Chris Fleizach  <cfleizach@apple.com>

        WebSpeech: event.elapsedTime is always 1364484608
        https://bugs.webkit.org/show_bug.cgi?id=114045

        Reviewed by Tim Horton.

        We were calculating elapsed time incorrectly.

        Test: platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html

        * Modules/speech/SpeechSynthesis.cpp:
        (WebCore::SpeechSynthesis::fireEvent):

2013-04-05  Chris Fleizach  <cfleizach@apple.com>

        WebSpeech: crash at WebCore::SpeechSynthesis::speak
        https://bugs.webkit.org/show_bug.cgi?id=113937

        Reviewed by Tim Horton.

        Protect against the case when invalid data is passed in.

        Test: platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html

        * Modules/speech/SpeechSynthesis.cpp:
        (WebCore::SpeechSynthesis::speak):
        * Modules/speech/SpeechSynthesisUtterance.cpp:
        (WebCore::SpeechSynthesisUtterance::setVoice):

2013-04-05  Antti Koivisto  <antti@apple.com>

        Throttle compositing layer flushes during page loading
        https://bugs.webkit.org/show_bug.cgi?id=113786

        Reviewed by Simon Fraser.
        
        Page content can change rapidly during page loading triggering excessive layer flushes and repainting. We should avoid this unnecessary work.
        
        This patch reduces layer flushes (and painting) during loading by 50-70% on many popular pages.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadProgressingStatusChanged):        
        * loader/FrameLoader.h:
        * loader/ProgressTracker.cpp:
        (WebCore::ProgressTracker::ProgressTracker):
        (WebCore::ProgressTracker::reset):
        (WebCore::ProgressTracker::progressStarted):
        (WebCore::ProgressTracker::finalProgressComplete):
        (WebCore::ProgressTracker::isLoadProgressing):
        (WebCore::ProgressTracker::progressHeartbeatTimerFired):
        * loader/ProgressTracker.h:
        
            Track if the document load is progressing. This is done with a heartbeat timer that checks every 100ms if we have received more than 1k of data.
            If four heartbeats pass without progress then we consider the load stalled.

        * page/FrameView.cpp:
        (WebCore::FrameView::resetDeferredRepaintDelay):
        
            Disable throttling temporary on user interaction so the page stays as responsive as possible even during loading.

        (WebCore::FrameView::updateLayerFlushThrottling):
        
            Enable throttling when the load is progressing, disable otherwise.

        * page/FrameView.h:
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::canThrottleLayerFlush):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
        (WebCore::GraphicsLayerCA::canThrottleLayerFlush):
        
            Don't throttle if new tiles have been added by the tile controller. They may have stale content and need to be flushed immediately.

        (WebCore::GraphicsLayerCA::noteLayerPropertyChanged):
        
            Set the new TilesAdded change flag.

        * platform/graphics/ca/GraphicsLayerCA.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::notifyFlushRequired):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::notifyFlushRequired):
        (WebCore::RenderLayerCompositor::scheduleLayerFlushNow):
        
            Factor the actual flush scheduling to private function.

        (WebCore::RenderLayerCompositor::scheduleLayerFlush):
        
            Mark the compositor for flush and return without flushing if the flushes are currently being throttled.

        (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
        
            After a flush, start the throtting timer (currently 0.5s) coalescing the subsequent flushes.

        (WebCore::RenderLayerCompositor::didChangeVisibleRect):
        
            Do immediately flush if needed.

        (WebCore::RenderLayerCompositor::setLayerFlushThrottlingEnabled):
        
            Flush immediately if disabled.

        (WebCore::RenderLayerCompositor::disableLayerFlushThrottlingTemporarilyForInteraction):
        (WebCore::RenderLayerCompositor::isThrottlingLayerFlushes):
        (WebCore::RenderLayerCompositor::startLayerFlushTimerIfNeeded):
        (WebCore::RenderLayerCompositor::layerFlushTimerFired):
        
            Flush when the timer fires timer.

        * rendering/RenderLayerCompositor.h:

2013-04-05  Benjamin Poulain  <benjamin@webkit.org>

        Clean the chromium bits of WebCore's WebDatabase
        https://bugs.webkit.org/show_bug.cgi?id=114010

        Reviewed by Ryosuke Niwa.

        * Modules/webdatabase/AbstractDatabaseServer.h:
        * Modules/webdatabase/ChangeVersionWrapper.cpp:
        (WebCore::ChangeVersionWrapper::performPreflight):
        (WebCore::ChangeVersionWrapper::performPostflight):
        * Modules/webdatabase/Database.cpp:
        * Modules/webdatabase/Database.h:
        (Database):
        * Modules/webdatabase/DatabaseBackend.cpp:
        (WebCore::DatabaseBackend::openAndVerifyVersion):
        * Modules/webdatabase/DatabaseBackendBase.cpp:
        (WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
        (WebCore::DatabaseBackendBase::performOpenAndVerify):
        (WebCore::DatabaseBackendBase::getActualVersionForTransaction):
        (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
        * Modules/webdatabase/DatabaseBackendBase.h:
        (DatabaseBackendBase):
        * Modules/webdatabase/DatabaseBackendSync.cpp:
        (WebCore::DatabaseBackendSync::openAndVerifyVersion):
        * Modules/webdatabase/DatabaseContext.cpp:
        (WebCore::DatabaseContext::databaseExceededQuota):
        * Modules/webdatabase/DatabaseManager.cpp:
        * Modules/webdatabase/DatabaseManager.h:
        (DatabaseManager):
        * Modules/webdatabase/DatabaseServer.cpp:
        (WebCore::DatabaseServer::initialize):
        (WebCore::DatabaseServer::setClient):
        (WebCore::DatabaseServer::databaseDirectoryPath):
        (WebCore::DatabaseServer::setDatabaseDirectoryPath):
        (WebCore::DatabaseServer::openDatabase):
        * Modules/webdatabase/DatabaseServer.h:
        * Modules/webdatabase/DatabaseSync.cpp:
        (WebCore::DatabaseSync::changeVersion):
        * Modules/webdatabase/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::canEstablishDatabase):
        (WebCore::DatabaseTracker::retryCanEstablishDatabase):
        * Modules/webdatabase/DatabaseTracker.h:
        (WebCore):
        (DatabaseTracker):
        * Modules/webdatabase/SQLStatementBackend.cpp:
        (WebCore::SQLStatementBackend::execute):
        (WebCore::SQLStatementBackend::setDatabaseDeletedError):
        (WebCore::SQLStatementBackend::setVersionMismatchedError):
        (WebCore::SQLStatementBackend::setFailureDueToQuota):
        * Modules/webdatabase/SQLStatementBackend.h:
        (SQLStatementBackend):
        * Modules/webdatabase/SQLTransaction.cpp:
        (WebCore::SQLTransaction::deliverTransactionCallback):
        (WebCore::SQLTransaction::deliverStatementCallback):
        * Modules/webdatabase/SQLTransactionBackend.cpp:
        (WebCore::SQLTransactionBackend::executeSQL):
        (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
        (WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
        (WebCore::SQLTransactionBackend::nextStateForCurrentStatementError):
        (WebCore::SQLTransactionBackend::postflightAndCommit):
        (WebCore::SQLTransactionBackend::acquireOriginLock):
        (WebCore::SQLTransactionBackend::releaseOriginLockIfNeeded):
        * Modules/webdatabase/SQLTransactionBackend.h:
        (SQLTransactionBackend):
        * Modules/webdatabase/SQLTransactionBackendSync.cpp:
        (WebCore::SQLTransactionBackendSync::begin):
        (WebCore::SQLTransactionBackendSync::commit):

2013-04-05  Geoffrey Garen  <ggaren@apple.com>

        Made USE(JSC) unconditional
        https://bugs.webkit.org/show_bug.cgi?id=114058

        Reviewed by Anders Carlsson.

        * Modules/webdatabase/Database.cpp:
        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL):
        * bindings/js/JavaScriptCallFrame.cpp:
        * bindings/js/JavaScriptCallFrame.h:
        * bindings/scripts/InFilesCompiler.pm:
        (generateHeadersHeader):
        * css/MediaQueryListListener.cpp:
        (WebCore::MediaQueryListListener::queryChanged):
        * dom/ContainerNode.cpp:
        (WebCore::dispatchChildRemovalEvents):
        * dom/EventListener.h:
        (EventListener):
        (WebCore::EventListener::visitJSFunction):
        * dom/EventTarget.h:
        (EventTarget):
        (WebCore):
        (WebCore::EventTarget::visitJSEventListeners):
        * dom/Node.cpp:
        * dom/Node.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore):
        (WebCore::ScriptExecutionContext::globalData):
        * dom/ScriptExecutionContext.h:
        (ScriptExecutionContext):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::notifyFinished):
        * inspector/InjectedScriptHost.h:
        (InjectedScriptHost):
        (WebCore::InjectedScriptHost::evaluateReturnsEvalFunction):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore):
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        * page/Frame.cpp:
        * page/Settings.cpp:
        (WebCore):
        (WebCore::Settings::shouldRespectPriorityInCSSAttributeSetters):
        * page/Settings.h:
        (Settings):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        (WebCore::PluginView::stop):
        (WebCore::PluginView::performRequest):
        (WebCore::PluginView::npObject):
        (WebCore):
        (WebCore::PluginView::bindingInstance):
        (WebCore::PluginView::privateBrowsingStateChanged):
        * plugins/PluginView.h:
        (PluginView):
        * plugins/PluginViewBase.h:
        (PluginViewBase):
        (WebCore::PluginViewBase::scriptObject):
        * plugins/PluginViewNone.cpp:
        (WebCore):
        (WebCore::PluginView::bindingInstance):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::PluginView::setNPWindowIfNeeded):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::dropProtection):

2013-04-05  Roger Fong  <roger_fong@apple.com>

        More VS2010 solution makefile fixes.
        <rdar://problem/13588964>

        * WebCore.vcxproj/WebCore.make:

2013-04-05  Ed Bartosh  <bartosh@gmail.com>

        [EFL] --no-tiled-backing-store build fails because of not used #if USE(ACCELERATED_COMPOSITING)
        https://bugs.webkit.org/show_bug.cgi?id=113627

        Reviewed by Simon Fraser.

       Wrapped code with #if USE(ACCELERATED_COMPOSITING) to make it compilable
       with --no-tiled-backing-store build option:
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::animate):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::animate):
        * platform/graphics/TextTrackRepresentation.cpp:
        (NullTextTrackRepresentation):
        * platform/graphics/TextTrackRepresentation.h:
        (TextTrackRepresentation):
        * testing/Internals.cpp:
        (WebCore::Internals::resetToConsistentState):
        (WebCore::Internals::setHeaderHeight):
        (WebCore::Internals::setFooterHeight):

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove the remaining Chromium files from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=114055

        Reviewed by Benjamin Poulain.

        Removed.

        * Resources/pagepopups/chromium: Removed.
        * Resources/pagepopups/chromium/calendarPickerChromium.css: Removed.
        * Resources/pagepopups/chromium/pickerCommonChromium.css: Removed.
        * html/shadow/MediaControlsChromium.cpp: Removed.
        * html/shadow/MediaControlsChromium.h: Removed.
        * html/shadow/MediaControlsChromiumAndroid.cpp: Removed.
        * html/shadow/MediaControlsChromiumAndroid.h: Removed.

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from WebCore/css
        https://bugs.webkit.org/show_bug.cgi?id=114052

        Reviewed by Benjamin Poulain.

        Removed.

        * css/mediaControlsChromium.css: Removed.
        * css/mediaControlsChromiumAndroid.css: Removed.
        * css/themeChromium.css: Removed.
        * css/themeChromiumAndroid.css: Removed.
        * css/themeChromiumLinux.css: Removed.
        * css/themeChromiumSkia.css: Removed.

2013-04-05  Brendan Long  <self@brendanlong.com>

        [GStreamer] Segfault when attempting to install missing plugins
        https://bugs.webkit.org/show_bug.cgi?id=114046
        
        gst_install_plugins_async expects a null terminated list, but we weren't
        adding a null terminator.

        Reviewed by Philippe Normand.

        No new tests since this just fixes a segfault.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):

2013-04-05  Benjamin Poulain  <benjamin@webkit.org>

        Remove the chromium code for WebCore's indexeddb module
        https://bugs.webkit.org/show_bug.cgi?id=114004

        Reviewed by Ryosuke Niwa.

        * Modules/indexeddb/IDBBackingStore.cpp:
        (WebCore::IDBBackingStore::IDBBackingStore):
        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::openConnection):
        (WebCore::IDBDatabaseBackendImpl::close):
        * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
        * Modules/indexeddb/IDBTracing.h:

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Cleanup after git svn left empty directories.

        * loader/chromium: Removed.
        * page/chromium: Removed.
        * page/scrolling/chromium: Removed.
        * plugins/chromium: Removed.

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Actually delete platform/chromium.

        * platform/chromium: Removed.

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from WebCore/platform
        https://bugs.webkit.org/show_bug.cgi?id=114014

        Reviewed by Anders Carlsson.

        Removed.

        * platform/audio/chromium: Removed.
        * platform/audio/chromium/AudioBusChromium.cpp: Removed.
        * platform/audio/chromium/AudioDestinationChromium.cpp: Removed.
        * platform/audio/chromium/AudioDestinationChromium.h: Removed.
        * platform/audio/chromium/FFTFrameOpenMAXDLAndroid.cpp: Removed.
        * platform/graphics/FontPlatformData.h:
        * platform/graphics/chromium: Removed.
        * platform/graphics/chromium/AnimationTranslationUtil.cpp: Removed.
        * platform/graphics/chromium/AnimationTranslationUtil.h: Removed.
        * platform/graphics/chromium/Canvas2DLayerBridge.cpp: Removed.
        * platform/graphics/chromium/Canvas2DLayerBridge.h: Removed.
        * platform/graphics/chromium/Canvas2DLayerManager.cpp: Removed.
        * platform/graphics/chromium/Canvas2DLayerManager.h: Removed.
        * platform/graphics/chromium/CrossProcessFontLoading.h: Removed.
        * platform/graphics/chromium/CrossProcessFontLoading.mm: Removed.
        * platform/graphics/chromium/DeferredImageDecoder.cpp: Removed.
        * platform/graphics/chromium/DeferredImageDecoder.h: Removed.
        * platform/graphics/chromium/DiscardablePixelRef.cpp: Removed.
        * platform/graphics/chromium/DiscardablePixelRef.h: Removed.
        * platform/graphics/chromium/DrawingBufferChromium.cpp: Removed.
        * platform/graphics/chromium/Extensions3DChromium.h: Removed.
        * platform/graphics/chromium/FontCacheAndroid.cpp: Removed.
        * platform/graphics/chromium/FontCacheChromiumLinux.cpp: Removed.
        * platform/graphics/chromium/FontCacheChromiumWin.cpp: Removed.
        * platform/graphics/chromium/FontChromiumWin.cpp: Removed.
        * platform/graphics/chromium/FontPlatformData.h: Removed.
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: Removed.
        * platform/graphics/chromium/FontPlatformDataChromiumWin.h: Removed.
        * platform/graphics/chromium/FontRenderStyle.h: Removed.
        * platform/graphics/chromium/FontUtilsChromiumWin.cpp: Removed.
        * platform/graphics/chromium/FontUtilsChromiumWin.h: Removed.
        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: Removed.
        * platform/graphics/chromium/GraphicsLayerChromium.cpp: Removed.
        * platform/graphics/chromium/GraphicsLayerChromium.h: Removed.
        * platform/graphics/chromium/IconChromium.cpp: Removed.
        * platform/graphics/chromium/IconChromiumAndroid.cpp: Removed.
        * platform/graphics/chromium/ImageBufferDataSkia.h: Removed.
        * platform/graphics/chromium/ImageChromium.cpp: Removed.
        * platform/graphics/chromium/ImageDecodingStore.cpp: Removed.
        * platform/graphics/chromium/ImageDecodingStore.h: Removed.
        * platform/graphics/chromium/ImageFrameGenerator.cpp: Removed.
        * platform/graphics/chromium/ImageFrameGenerator.h: Removed.
        * platform/graphics/chromium/LayerPainterChromium.h: Removed.
        * platform/graphics/chromium/LazyDecodingPixelRef.cpp: Removed.
        * platform/graphics/chromium/LazyDecodingPixelRef.h: Removed.
        * platform/graphics/chromium/MediaPlayerPrivateChromium.cpp: Removed.
        * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Removed.
        * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp: Removed.
        * platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.h: Removed.
        * platform/graphics/chromium/PlatformIcon.h: Removed.
        * platform/graphics/chromium/ScaledImageFragment.cpp: Removed.
        * platform/graphics/chromium/ScaledImageFragment.h: Removed.
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Removed.
        * platform/graphics/chromium/SkSizeHash.h: Removed.
        * platform/graphics/chromium/TextureUploader.h: Removed.
        * platform/graphics/chromium/ThreadSafeDataTransport.cpp: Removed.
        * platform/graphics/chromium/ThreadSafeDataTransport.h: Removed.
        * platform/graphics/chromium/TransformSkMatrix44Conversions.cpp: Removed.
        * platform/graphics/chromium/TransformSkMatrix44Conversions.h: Removed.
        * platform/graphics/chromium/TransparencyWin.cpp: Removed.
        * platform/graphics/chromium/TransparencyWin.h: Removed.
        * platform/graphics/chromium/UniscribeHelper.cpp: Removed.
        * platform/graphics/chromium/UniscribeHelper.h: Removed.
        * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Removed.
        * platform/graphics/chromium/UniscribeHelperTextRun.h: Removed.
        * platform/graphics/chromium/VDMXParser.cpp: Removed.
        * platform/graphics/chromium/VDMXParser.h: Removed.
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
        * platform/mediastream/chromium: Removed.
        * platform/mediastream/chromium/MediaStreamCenterChromium.cpp: Removed.
        * platform/mediastream/chromium/MediaStreamCenterChromium.h: Removed.
        * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.cpp: Removed.
        * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.h: Removed.
        * platform/mediastream/chromium/RTCDataChannelHandlerChromium.cpp: Removed.
        * platform/mediastream/chromium/RTCDataChannelHandlerChromium.h: Removed.
        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp: Removed.
        * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h: Removed.
        * platform/network/chromium: Removed.
        * platform/network/chromium/AuthenticationChallenge.h: Removed.
        * platform/network/chromium/AuthenticationChallengeChromium.cpp: Removed.
        * platform/network/chromium/BlobRegistryProxy.cpp: Removed.
        * platform/network/chromium/BlobRegistryProxy.h: Removed.
        * platform/network/chromium/CookieJarChromium.cpp: Removed.
        * platform/network/chromium/DNSChromium.cpp: Removed.
        * platform/network/chromium/ResourceError.h: Removed.
        * platform/network/chromium/ResourceHandle.cpp: Removed.
        * platform/network/chromium/ResourceHandleInternal.h: Removed.
        * platform/network/chromium/ResourceRequest.cpp: Removed.
        * platform/network/chromium/ResourceRequest.h: Removed.
        * platform/network/chromium/ResourceResponse.cpp: Removed.
        * platform/network/chromium/ResourceResponse.h: Removed.
        * platform/network/chromium/SocketStreamError.h: Removed.
        * platform/network/chromium/SocketStreamHandle.cpp: Removed.
        * platform/network/chromium/SocketStreamHandle.h: Removed.
        * platform/network/chromium/SocketStreamHandleInternal.h: Removed.
        * platform/sql/chromium: Removed.
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Removed.
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
        * platform/text/chromium: Removed.
        * platform/text/chromium/Hyphenation.cpp: Removed.
        * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: Removed.

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from WebCore/workers
        https://bugs.webkit.org/show_bug.cgi?id=114050

        Reviewed by Anders Carlsson.

        Removed.

        * workers/WorkerLoaderProxy.h:
        (WorkerLoaderProxy):
        * workers/chromium: Removed.

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from WebCore/storage
        https://bugs.webkit.org/show_bug.cgi?id=114049

        Reviewed by Anders Carlsson.

        Removed.

        * storage/StorageNamespace.cpp:
        * storage/chromium: Removed.

2013-04-05  Seokju Kwon  <seokju.kwon@gmail.com>

        [SOUP] Remove unnecessary explicit keyword in SocketStreamError.h
        https://bugs.webkit.org/show_bug.cgi?id=113913

        Reviewed by Martin Robinson.

        No new tests, just removing an unnecessary code.

        * platform/network/soup/SocketStreamError.h:
        (WebCore::SocketStreamError::SocketStreamError):

2013-04-05  Zan Dobersek  <zdobersek@igalia.com>

        Remove WTF_USE_GOOGLEURL-guarded code
        https://bugs.webkit.org/show_bug.cgi?id=114028

        Reviewed by Ryosuke Niwa.

        The only remaining usage of the USE(GOOGLEURL) guards is in LinkHashChromium.cpp that will
        get removed when purging the Source/WebCore/platform/chromium directory.

        * config.h: Remove the define that was Chromium-specific.
        * platform/KURL.cpp:
        (WebCore):
        (WebCore::KURL::reportMemoryUsage):
        (WebCore::KURL::isSafeToSendToAnotherThread):
        * platform/KURL.h:
        (KURL):
        * platform/KURLGoogle.cpp: Removed.
        * platform/KURLGooglePrivate.h: Removed.

2013-04-05  Bem Jones-Bey  <bjonesbe@adobe.com>

        [regression] Security: Heap-use-after-free in WebCore::RenderBlock::logicalRightOffsetForLine
        https://bugs.webkit.org/show_bug.cgi?id=111594

        Reviewed by David Hyatt.

        Swapping the bases was causing any floats in the right base to be
        lost, so change the code so that it no longer swaps the bases.

        Test: fast/ruby/float-object-doesnt-crash.html

        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::removeChild): Don't swap the bases anymore.

2013-04-05  Anders Carlsson  <andersca@apple.com>

        Remove dead code
        https://bugs.webkit.org/show_bug.cgi?id=114043

        Reviewed by Beth Dakin.

        * platform/PublicSuffix.h:

2013-04-05  Anders Carlsson  <andersca@apple.com>

        Remove dead Chromium code from WebCore/workers
        https://bugs.webkit.org/show_bug.cgi?id=114039

        Reviewed by Antti Koivisto.

        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * workers/WorkerLoaderProxy.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerContextProxy::create):
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::WorkerScriptLoader):
        (WebCore::WorkerScriptLoader::createResourceRequest):
        * workers/WorkerScriptLoader.h:
        * workers/WorkerThread.cpp:
        (WebCore::WorkerThread::workerThread):
        * workers/chromium/WorkerContextProxyChromium.cpp: Removed.
        * workers/chromium/WorkerContextProxyChromium.h: Removed.

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from WebCore/plugins
        https://bugs.webkit.org/show_bug.cgi?id=114015

        Reviewed by Andreas Kling.

        Removed.

        * plugins/chromium: Removed.
        * plugins/chromium/PluginDataChromium.cpp: Removed.
        * plugins/chromium/PluginDataChromium.h: Removed.
        * plugins/chromium/PluginListBuilder.cpp: Removed.
        * plugins/chromium/PluginListBuilder.h: Removed.

2013-04-05  Simon Fraser  <simon.fraser@apple.com>

        ASSERTION FAILED: m_repaintRect == renderer()->clippedOverflowRectForRepaint(renderer()->containerForRepaint()) after r135816
        https://bugs.webkit.org/show_bug.cgi?id=103432

        Reviewed by Allan Sandfeld Jensen.
        
        Remove optimization added in r99752 that attempted to avoid clip rect
        updates for table cells. As the assertions show, this optimization
        is not always correct, so remove it. Bug 108272 tracks adding it back in.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::RenderLayer):
        (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Remove m_canSkipRepaintRectsUpdateOnScroll
        check when updating clip rects.
        * rendering/RenderLayer.h: Remove the m_canSkipRepaintRectsUpdateOnScroll bit.

2013-04-05  Bear Travis  <betravis@adobe.com>

        [css exclusions] Dynamically removing shape-inside should cause relayout of child blocks' inline content
        https://bugs.webkit.org/show_bug.cgi?id=111029

        Reviewed by David Hyatt.

        Preserve a removed ExclusionShapeInsideInfo for one additional layout pass
        so that it can notify descendant inline content to relayout. This patch adds
        a new 'needsRemoval' boolean to ExclusionShapeInsideInfo, which is set when
        a style change removes but does not replace a shape-inside. When determining
        whether a block needs to relayout inline children, ExclusionShapeInsideInfos with
        the needsRemoval boolean set are included, but at other times (such as during
        inline layout), they are ignored.

        Added tests to the existing dynamic shape testfile
        fast/exclusions/shape-inside/shape-inside-dynamic-nested.html

        * rendering/ExclusionShapeInsideInfo.h:
        (WebCore::ExclusionShapeInsideInfo::setNeedsRemoval): Get/Set the
        needsRemoval boolean.
        (WebCore::ExclusionShapeInsideInfo::needsRemoval): Ditto.
        (ExclusionShapeInsideInfo):
        (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo):
        Initialize the needsRemoval boolean.
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState): Propagate removed shape insides
        for layout correctly. You only need to track one at a time, and a
        removed shape inside should not take precedence over a set shape-inside.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
        Set the ExclusionShapeInsideInfo needsRemoval boolean, rather than immediately
        removing the info.
        (WebCore::exclusionInfoRequiresRelayout): Account for the needsRemoval
        boolean as another way of requiring relayout.
        (WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout):
        Look up whether an ExclusionShapeInsideInfo has been removed.
        (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
        Remove any ExclusionShapeInsides marked for removal after a layout pass.
        (WebCore):
        (WebCore::RenderBlock::layoutBlock): Call the new updateRegionsAndExclusions
        Before/After methods.
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::exclusionShapeInsideInfo): Filter the result based
        on whether it should include removed infos.
        (RenderBlock):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Ditto.
        * rendering/RenderDeprecatedFlexibleBox.cpp:
        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): 
        Same as RenderBlock::layoutBlock.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::layoutBlock): Ditto.

2013-04-05  Mihai Maerean  <mmaerean@adobe.com>

        [CSS Regions] Elements in a region should be assignable to a named flow
        https://bugs.webkit.org/show_bug.cgi?id=74144

        Reviewed by David Hyatt.

        DOM children of a region must not be rendered as children of the region, but can be collected in flow threads.

        NodeRenderingContext::parentRenderer now creates the parent render flow thread if it doesn't exist.

        Element::moveToFlowThreadIsNeeded is a virtual method that is overriden in PseudoElement to return false and
        in SVGElement so only svg root elements can directly be collected by a render flow thread.

        RenderObject::canDOMChildrenHaveRenderParent exists to optimize the code so nodes inside regions (and maybe
        other types of renderers in the future) can still have renderers if they need to be in a flow thread while the
        rest of renderers that can't have children skip the new instructions.

        Tests: fast/regions/flow-body-in-html.html . To test the duplicate bug #103685.
               fast/regions/region-content-flown-into-region.html
               fast/regions/universal-selector-children-to-the-same-region.html . To test the duplicate bug #103685.

        * dom/Element.cpp:
        (WebCore::Element::moveToFlowThreadIsNeeded):
        * dom/Element.h:
        * dom/NodeRenderingContext.cpp:
        (WebCore::NodeRenderingContext::parentRenderer): the renderer that will be the parent for this node's renderer.
        In the case of RenderFlowThreads, it may need to create it.
        (WebCore::NodeRenderingContext::shouldCreateRenderer): In a region, only the children that need to be in a flow
        thread should have a renderer.
        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
        (WebCore::NodeRenderingContext::moveToFlowThread):
        * dom/NodeRenderingContext.h:
        (NodeRenderingContext):
        * dom/PseudoElement.h: pseudo-elements cannot be directly collected into a named flow.
        * dom/Text.cpp:
        (WebCore::Text::textRendererIsNeeded):
        (WebCore::Text::updateTextRenderer): Because calling textRendererIsNeeded(NodeRenderingContext(...)) on a
        non-const l-value NodeRenderingContext cannot be done on a temporary object on the stack.
        * dom/Text.h:
        * rendering/FlowThreadController.cpp:
        (WebCore::FlowThreadController::isContentNodeRegisteredWithAnyNamedFlow):
        * rendering/FlowThreadController.h:
        * rendering/RenderObject.h:
        (WebCore::RenderObject::canDOMChildrenHaveRenderParent): Even if this render object can't have render children,
        the children in the DOM tree may have a render parent (that is different from this render object).
        * rendering/RenderRegion.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::moveToFlowThreadIsNeeded): Allow only svg root elements to be directly collected by a
        render flow thread.
        * svg/SVGElement.h:
        (SVGElement):

2013-04-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        Fix GCC with C++11 build
        https://bugs.webkit.org/show_bug.cgi?id=111579

        Reviewed by Anders Carlsson.

        If the destructor is private, MemoryInstrumentation can not create an inherited class.

        * css/PropertySetCSSStyleDeclaration.h:
        (StyleRuleCSSStyleDeclaration):
        * dom/ShadowRoot.h:
        (ShadowRoot):
        * loader/SubresourceLoader.h:
        (SubresourceLoader):
        * platform/Timer.h:

2013-03-28  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        [Qt] Create ShadowBlur on demand.
        https://bugs.webkit.org/show_bug.cgi?id=113506

        Reviewed by Noam Rosenthal.

        This patch creates ShadowBlur objects on demand instead of keeping a single one alive for
        each GraphicsContext. This matches what other platforms does and fixes the problem with 
        an active shadowblur being affected by changing shadow settings on the GraphicsContext.

        The method mustUseShadowBlur is moved from ShadowBlur to GraphcisContext, so that it can
        be used to determine if a ShadowBlur object should even be generated.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::hasBlurredShadow):
        (WebCore::GraphicsContext::mustUseShadowBlur):
        * platform/graphics/GraphicsContext.h:
        (GraphicsContext):
        * platform/graphics/ShadowBlur.cpp:
        (WebCore::ShadowBlur::ShadowBlur):
        * platform/graphics/ShadowBlur.h:
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::drawGlyphsShadow):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::fillRectWithRoundedHole):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawQtGlyphRun):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::restorePlatformState):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::fillRectWithRoundedHole):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::clearPlatformShadow):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::draw):

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from WebCore/page
        https://bugs.webkit.org/show_bug.cgi?id=114013

        Reviewed by Anders Carlsson.

        Removed.

        * page/Console.cpp:
        (WebCore::Console::time):
        (WebCore::Console::timeEnd):
        * page/EventHandler.cpp:
        (WebCore::shouldGesturesTriggerActive):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore):
        (WebCore::EventHandler::sendScrollEventToView):
        * page/FeatureObserver.cpp:
        (WebCore::FeatureObserver::updateMeasurements):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::useSlowRepaints):
        * page/PageConsole.cpp:
        * page/PageGroup.cpp:
        (WebCore::PageGroup::isLinkVisited):
        (WebCore::PageGroup::addVisitedLink):
        * page/Settings.cpp:
        (WebCore):
        * page/android: Removed.
        * page/chromium: Removed.
        * page/chromium/ChromeClientChromium.h: Removed.
        * page/chromium/DragControllerChromium.cpp: Removed.
        * page/chromium/EventHandlerChromium.cpp: Removed.
        * page/scrolling/ScrollingCoordinator.cpp:
        (WebCore::ScrollingCoordinator::create):
        (WebCore):
        * page/scrolling/ScrollingCoordinator.h:
        (ScrollingCoordinator):
        * page/scrolling/ScrollingTree.cpp:
        (WebCore):
        * page/scrolling/ScrollingTree.h:
        (ScrollingTree):
        * page/scrolling/chromium: Removed.
        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Removed.
        * page/scrolling/chromium/ScrollingCoordinatorChromium.h: Removed.

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from WebCore/rendering
        https://bugs.webkit.org/show_bug.cgi?id=114017

        Reviewed by Simon Fraser.

        Removed.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::setLogicalWidthForTextRun):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
        (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
        (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::paintContents):
        (WebCore::shouldCompositeOverflowControls):
        (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
        * rendering/RenderMediaControlsChromium.cpp: Removed.
        * rendering/RenderMediaControlsChromium.h: Removed.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::shouldRespectImageOrientation):
        * rendering/RenderText.cpp:
        (WebCore):
        (WebCore::RenderText::previousOffsetForBackwardDeletion):
        * rendering/RenderThemeChromiumAndroid.cpp: Removed.
        * rendering/RenderThemeChromiumAndroid.h: Removed.
        * rendering/RenderThemeChromiumCommon.cpp: Removed.
        * rendering/RenderThemeChromiumCommon.h: Removed.
        * rendering/RenderThemeChromiumDefault.cpp: Removed.
        * rendering/RenderThemeChromiumDefault.h: Removed.
        * rendering/RenderThemeChromiumFontProvider.cpp: Removed.
        * rendering/RenderThemeChromiumFontProvider.h: Removed.
        * rendering/RenderThemeChromiumFontProviderLinux.cpp: Removed.
        * rendering/RenderThemeChromiumFontProviderWin.cpp: Removed.
        * rendering/RenderThemeChromiumMac.h: Removed.
        * rendering/RenderThemeChromiumMac.mm: Removed.
        * rendering/RenderThemeChromiumSkia.cpp: Removed.
        * rendering/RenderThemeChromiumSkia.h: Removed.
        * rendering/RenderThemeChromiumWin.cpp: Removed.
        * rendering/RenderThemeChromiumWin.h: Removed.
        * rendering/RenderThemeMacShared.mm:
        (WebCore::RenderThemeMacShared::paintSliderThumb):

2013-04-05  Noam Rosenthal  <noam@webkit.org>

        [Texmap] css3/filters/filter-animation-from-none-hw.html does not animate
        https://bugs.webkit.org/show_bug.cgi?id=114026

        Reviewed by Allan Sandfeld Jensen.

        Allow the filter's blending function to take place when animating from/to none.

        * platform/graphics/GraphicsLayerAnimation.cpp:
        (WebCore::applyFilterAnimation):

2013-04-05  Noam Rosenthal  <noam@webkit.org>

        [CoordGfx] Enable filter animations
        https://bugs.webkit.org/show_bug.cgi?id=114027

        Reviewed by Allan Sandfeld Jensen.

        Allow CoordinatedGraphicsLayer to serialize filter animations to the UI process.

        Covered by animation tests in css3/filters.

        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
        (WebCore::CoordinatedGraphicsLayer::addAnimation):

2013-04-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        Avoid double hash table lookups in TextureMapperGL
        https://bugs.webkit.org/show_bug.cgi?id=114030

        Reviewed by Noam Rosenthal.

        Use Vector::add() and leverage its returned AddResult value instead of
        calling Vector::find() then Vector::set() if the key does not already
        exist in the map. This results in a single hash lookup instead of two
        in this case.

        No new tests, no behavior change.

        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::TextureMapperGLData::SharedGLData::getShaderProgram):
        (WebCore::TextureMapperGLData::getStaticVBO):
        (WebCore::TextureMapperGL::drawUsingCustomFilter):

2013-04-05  Aivo Paas  <aivopaas@gmail.com>

        Updating mouse cursor on style changes without emitting fake mousemove event
        https://bugs.webkit.org/show_bug.cgi?id=101857

        Reviewed by Allan Sandfeld Jensen.

        Mouse cursor changes in styles used to be reflected in UI through dispatching a fake
        mousemove event. The old approach has some flaws: it emits a mousemove event in
        javascript when there is no mouse movement involved (bug 85343); the fake mousemove
        event is cancelled while there is a mouse button held down - cursor won't change
        until mouse is moved or the button released (bug 53341).

        The new approach does not use the fake mousemove event. Instead, it uses only the logic
        needed for the actual cursor change to happen.

        EventHandler::selectCursor was refactored to not take a whole mouse event but instead work with
        HitTestResult so that EventHandler::updateCursor must not create a useless PlatformEvent.

        Fixes: https://bugs.webkit.org/show_bug.cgi?id=85343 (mousemove event on cursor change)
               https://bugs.webkit.org/show_bug.cgi?id=53341 (no cursor change when mouse button down)

        Tests: fast/events/mouse-cursor-change.html
               fast/events/mouse-cursor-no-mousemove.html

        * page/EventHandler.cpp:
        (WebCore::EventHandler::EventHandler):
        (WebCore::EventHandler::clear):
        (WebCore::EventHandler::cursorUpdateTimerFired):
        (WebCore::EventHandler::updateCursor):
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::handleMouseMoveEvent):
        (WebCore::EventHandler::scheduleCursorUpdate):
        * page/EventHandler.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::shouldSetCursor):
        * page/FrameView.h:
        * page/MouseEventWithHitTestResults.cpp:
        (WebCore::MouseEventWithHitTestResults::isOverLink):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::isOverLink):
        * rendering/HitTestResult.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::styleDidChange):

2013-04-05  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>

        [Qt] PluginsX11: exposedRect offset is applied twice when painting windowless
        https://bugs.webkit.org/show_bug.cgi?id=114020

        Reviewed by Simon Hausmann.

        Both XGetImage and QPainter::drawImage would apply the offset.
        Since the XImage will only contain the exposed rect, no need to specify
        the source rect to drawImage.

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::paintUsingXPixmap):

2013-04-05  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: crash in InspectorDOMAgent::innerHighlightQuad after r147566
        https://bugs.webkit.org/show_bug.cgi?id=113991

        Reviewed by Joseph Pecoraro.

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::innerHighlightQuad):

2013-04-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r145279): Build fails while linking when MEDIA_STREAM is enabled
        https://bugs.webkit.org/show_bug.cgi?id=113294

        Reviewed by Xan Lopez.

        In r145279 NamedGetter extended attribute is added to
        RTCStatsResponse.idl which makes the code generator to add
        prototypes for JSRTCStatsResponse::nameGetter and
        JSRTCStatsResponse::canGetItemsForName to the generated
        JSRTCStatsResponse header, but they are not implemented
        anywhere. We need to provide a JSRTCStatsResponseCustom file with
        the implementation of both functions.

        * GNUmakefile.list.am: Add JSRTCStatsResponseCustom.cpp to
        compilation.
        * Target.pri: Ditto.
        * UseJSC.cmake: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
        * bindings/js/JSRTCStatsResponseCustom.cpp: Added.
        (WebCore):
        (WebCore::JSRTCStatsResponse::canGetItemsForName):
        (WebCore::JSRTCStatsResponse::nameGetter):

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from WebCore/loader
        https://bugs.webkit.org/show_bug.cgi?id=114011

        Reviewed by Benjamin Poulain.

        Removed.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::responseReceived):
        * loader/DocumentThreadableLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::defaultObjectContentType):
        (WebCore):
        * loader/FrameLoader.h:
        (FrameLoader):
        * loader/FrameLoaderClient.h:
        (FrameLoaderClient):
        * loader/PingLoader.cpp:
        (WebCore::PingLoader::loadImage):
        (WebCore::PingLoader::sendPing):
        (WebCore::PingLoader::sendViolationReport):
        * loader/ResourceLoadScheduler.cpp:
        (WebCore):
        (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
        (WebCore::ResourceLoadScheduler::scheduleLoad):
        * loader/ResourceLoader.h:
        * loader/SubresourceLoader.h:
        * loader/ThreadableLoaderClient.h:
        (ThreadableLoaderClient):
        * loader/ThreadableLoaderClientWrapper.h:
        (ThreadableLoaderClientWrapper):
        * loader/appcache/ApplicationCacheHost.h:
        (WebCore):
        (ApplicationCacheHost):
        * loader/cache/CachedRawResource.h:
        (CachedRawResource):
        (WebCore::CachedRawResourceClient::redirectReceived):
        * loader/cache/CachedResource.cpp:
        (WebCore):
        (WebCore::CachedResource::load):
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::didSendData):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::preload):
        * loader/chromium: Removed.
        * loader/chromium/CachedRawResourceChromium.cpp: Removed.
        * loader/chromium/DocumentThreadableLoaderChromium.cpp: Removed.
        * loader/chromium/ResourceLoaderChromium.cpp: Removed.
        * loader/chromium/SubresourceLoaderChromium.cpp: Removed.

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from WebCore/editing
        https://bugs.webkit.org/show_bug.cgi?id=114008

        Reviewed by Benjamin Poulain.

        Removed.

        * editing/EditingBehavior.h:
        (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
        * editing/FrameSelection.h:
        (WebCore):
        * editing/chromium: Removed.
        * editing/chromium/EditorChromium.cpp: Removed.
        * editing/chromium/FrameSelectionChromium.cpp: Removed.

2013-04-05  Benjamin Poulain  <benjamin@webkit.org>

        Remove the chromium code from the filesystem module
        https://bugs.webkit.org/show_bug.cgi?id=114002

        Reviewed by Ryosuke Niwa.

        * Modules/filesystem/DOMFileSystemBase.cpp:
        (WebCore::DOMFileSystemBase::createFileSystemURL):
        * Modules/filesystem/FileSystemType.h:
        * Modules/filesystem/LocalFileSystem.cpp:
        * Modules/filesystem/LocalFileSystem.h:
        (LocalFileSystem):

2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from Source/WebCore/dom
        https://bugs.webkit.org/show_bug.cgi?id=114007

        Reviewed by Benjamin Poulain.

        Removed.

        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        (WebCore::Document::implicitClose):
        (WebCore::Document::setFocusedNode):
        * dom/MessagePortChannel.h:
        (MessagePortChannel):
        * dom/ShadowRoot.cpp:
        (WebCore::ShadowRoot::ShadowRoot):
        * dom/default/chromium: Removed.
        * dom/default/chromium/PlatformMessagePortChannelChromium.cpp: Removed.
        * dom/default/chromium/PlatformMessagePortChannelChromium.h: Removed.

2013-04-05  Benjamin Poulain  <benjamin@webkit.org>

        Remove the chromium directories from WebCore/Modules
        https://bugs.webkit.org/show_bug.cgi?id=114000

        Reviewed by Ryosuke Niwa.

        First step in cleaning the code: remove the chromium-specific files.

        * Modules/filesystem/chromium/DOMFileSystemChromium.cpp: Removed.
        * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp: Removed.
        * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp: Removed.
        * Modules/filesystem/chromium/DraggedIsolatedFileSystem.h: Removed.
        * Modules/indexeddb/chromium/IDBFactoryBackendInterfaceChromium.cpp: Removed.
        * Modules/indexeddb/chromium/IDBFactoryBackendInterfaceChromium.h: Removed.
        * Modules/speech/chromium/SpeechSynthesisChromium.cpp: Removed.
        * Modules/webdatabase/chromium/DatabaseObserver.h: Removed.
        * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: Removed.
        * Modules/webdatabase/chromium/QuotaTracker.cpp: Removed.
        * Modules/webdatabase/chromium/QuotaTracker.h: Removed.
        * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp: Removed.

2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>

        Remove Chromium code from WebCore/accessibility
        https://bugs.webkit.org/show_bug.cgi?id=114001

        Reviewed by Benjamin Poulain.

        Removed.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::AccessibilityObject):
        (WebCore::AccessibilityObject::detach):
        (WebCore::AccessibilityObject::isDetached):
        * accessibility/AccessibilityObject.h:
        (AccessibilityObject):
        * accessibility/chromium: Removed.
        * accessibility/chromium/AXObjectCacheChromium.cpp: Removed.
        * accessibility/chromium/AccessibilityObjectChromium.cpp: Removed.

2013-04-05  Benjamin Poulain  <bpoulain@apple.com>

        Remove WTFURL from WebKit
        https://bugs.webkit.org/show_bug.cgi?id=113994

        Reviewed by Ryosuke Niwa.

        * GNUmakefile.list.am:
        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/KURL.cpp:
        (WebCore):
        (WebCore::KURL::reportMemoryUsage):
        (WebCore::KURL::isSafeToSendToAnotherThread):
        * platform/KURL.h:
        (KURL):
        (WebCore):
        * platform/KURLWTFURL.cpp: Removed.
        * platform/KURLWTFURLImpl.h: Removed.
        * platform/cf/KURLCFNet.cpp:
        (WebCore::KURL::KURL):
        (WebCore::KURL::createCFURL):
        (WebCore):
        * platform/mac/KURLMac.mm:
        (WebCore::KURL::KURL):
        (WebCore::KURL::createCFURL):

2013-04-04  peavo@outlook.com  <peavo@outlook.com>

        WinCairo build fails to link.
        https://bugs.webkit.org/show_bug.cgi?id=113873

        Reviewed by Brent Fulgham.

        Removed double guards for USE(ACCELERATED_COMPOSITING),
        and moved methods out of USE(ACCELERATED_COMPOSITING) guard to fix linker errors. 

        * page/FrameView.cpp:
        (WebCore::FrameView::setWantsLayerForTopOverHangArea):
        (WebCore::FrameView::setWantsLayerForBottomOverHangArea):
        (WebCore::FrameView::setWantsLayerForHeader):
        (WebCore::FrameView::setWantsLayerForFooter):
        (WebCore::FrameView::setHeaderHeight):
        (WebCore::FrameView::setFooterHeight):

2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>

        Remove code for 10.5 and earlier from Source/WebCore
        https://bugs.webkit.org/show_bug.cgi?id=113754

        Reviewed by Benjamin Poulain.

        Removed the code for 10.5 and removed if-def for 10.6.

        * WebCore.xcodeproj/project.pbxproj:
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::populate):
        * platform/LocalizedStrings.cpp:
        (WebCore::imageTitle):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setAllowsFontSmoothing):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::clear):
        * platform/graphics/cg/PathCG.cpp:
        (WebCore::Path::boundingRect):
        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
        (WebCore):
        (WebCore::FontPlatformData::ctFont):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
        (WebCore::MediaPlayerPrivateGStreamerBase::supportsFullscreen):
        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore):
        (WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
        (WebCore::FontCache::platformInit):
        * platform/graphics/mac/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::createFontCustomPlatformData):
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
        (WebCore::MediaPlayerPrivateQTKit::supportsFullscreen):
        (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
        (WebCore::MediaPlayerPrivateQTKit::cacheMovieScale):
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/mac/WebLayer.h:
        * platform/mac/CursorMac.mm:
        (WebCore::Cursor::ensurePlatformCursor):
        * platform/mac/DisplaySleepDisabler.cpp:
        (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
        (WebCore):
        * platform/mac/DisplaySleepDisabler.h:
        (DisplaySleepDisabler):
        * platform/mac/EmptyProtocolDefinitions.h:
        * platform/mac/HTMLConverter.h:
        * platform/mac/HTMLConverter.mm:
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenuMac::populate):
        * platform/mac/ScrollElasticityController.mm:
        (systemUptime):
        * platform/mac/SharedTimerMac.mm:
        (PowerObserver):
        (WebCore::PowerObserver::PowerObserver):
        (WebCore::PowerObserver::~PowerObserver):
        (WebCore::PowerObserver::didReceiveSystemPowerNotification):
        * platform/mac/SuddenTermination.mm:
        * platform/mac/WebCoreFullScreenWindow.mm:
        (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
        * platform/mac/WebFontCache.mm:
        (+[WebFontCache getTraits:inFamily:]):
        (+[WebFontCache internalFontWithFamily:traits:weight:size:]):
        * platform/mac/WebVideoFullscreenController.mm:
        (SOFT_LINK_POINTER):
        (-[WebVideoFullscreenController updateMenuAndDockForFullscreen]):
        * platform/mac/WebVideoFullscreenHUDWindowController.mm:
        (createControlWithMediaUIControlType):
        (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
        * platform/network/Credential.h:
        * platform/network/cf/DNSCFNet.cpp:
        (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
        * platform/network/cf/ProxyServerCFNet.cpp:
        (WebCore):
        (WebCore::proxyServersForURL):
        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::chooseProxy):
        * platform/network/mac/AuthenticationMac.mm:
        (WebCore):
        * platform/network/mac/WebCoreURLResponse.mm:
        (WebCore::adjustMIMETypeIfNecessary):
        * platform/text/TextChecking.h:
        (WebCore):

2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>

        Qt build fix attempt after r147684.

        * html/canvas/CanvasRenderingContext.cpp:

2013-04-04  Benjamin Poulain  <bpoulain@apple.com>

        alternateFamilyName should return a null, not an empty value
        https://bugs.webkit.org/show_bug.cgi?id=113987

        Reviewed by Anders Carlsson.

        The string object corresponding semantically to "no-value" is
        a null string, not an empty string.

        Fix alternateFamilyName() accordingly.

        * platform/graphics/FontCache.cpp:
        (WebCore::alternateFamilyName):
        (WebCore::FontCache::getCachedFontPlatformData):

2013-04-04  Anders Carlsson  <andersca@apple.com>

        Work around a bug in the bindings generation script.

        * WebCore.xcodeproj/project.pbxproj:

2013-04-04  Dean Jackson  <dino@apple.com>

        Don't dispatch delayed click if snapshotted plugin was triggered by a click on the label
        https://bugs.webkit.org/show_bug.cgi?id=113982

        Reviewed by Tim Horton.

        We regressed the way clicks were sent on to restarted plugins when we moved to a
        Shadow Root - we were always sending the click. We should only send the click
        on if the user clicked on the main plugin content, and not send it when you
        click directly on the label.

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Keep a reference to the container and label.
        (WebCore::HTMLPlugInImageElement::partOfSnapshotLabel): New method that detects if a Node was part
            of the snapshot label.
        (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Only record the event if you should forward it on.
        * html/HTMLPlugInImageElement.h:
        (HTMLPlugInImageElement): New parameter to userDidClickSnapshot and member variables for shadow content.
        * rendering/RenderSnapshottedPlugIn.cpp:
        (WebCore::RenderSnapshottedPlugIn::handleEvent): Ask the plugin if the clicked target was the snapshot label.

2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        Unreviewed EFL build fix.

        Add missing include for FloatRect.h.

        * platform/efl/PlatformScreenEfl.cpp:

2013-04-04  Tim Horton  <timothy_horton@apple.com>

        Unreviewed build fix.

        * platform/graphics/GlyphPageTreeNode.cpp:

2013-04-04  Anders Carlsson  <andersca@apple.com>

        Another build fix.

        * platform/graphics/FontCache.cpp:
        * platform/graphics/SimpleFontData.cpp:

2013-04-04  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * WebCore.xcodeproj/project.pbxproj:

2013-04-04  Geoffrey Garen  <ggaren@apple.com>

        Removed empty files from the build
        https://bugs.webkit.org/show_bug.cgi?id=113978

        Reviewed by Anders Carlsson.

        Anders made a list of all the empty files that are slowing down the Mac
        build, and I grepped them away.

        * WebCore.xcodeproj/project.pbxproj:

2013-04-04  Anders Carlsson  <andersca@apple.com>

        Prune unneeded header #includes
        https://bugs.webkit.org/show_bug.cgi?id=113973

        Reviewed by Geoffrey Garen.

        Reduce the amount of headers included by other headers by:
        - Moving implicit and explicit constructors and destructors into .cpp files so member variable constructors/destructors
          don't have to be declared.
        - Move CachedResourceClient subclasses out into separate headers so that their respective CachedResource subclasses don't
          have to be included by the classes that derive from those subclasses.
        - Remove headers that were never needed in the first place.

        * Modules/webaudio/AudioContext.h:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        * css/CSSFontFaceSource.h:
        * html/canvas/CanvasPattern.cpp:
        (WebCore::CanvasPattern::create):
        (WebCore::CanvasPattern::CanvasPattern):
        (WebCore::CanvasPattern::~CanvasPattern):
        * html/canvas/CanvasPattern.h:
        (WebCore::CanvasPattern::pattern):
        (WebCore::CanvasPattern::originClean):
        * html/parser/HTMLScriptRunner.h:
        * loader/ImageLoader.h:
        * loader/LinkLoader.h:
        * loader/TextTrackLoader.h:
        * loader/cache/CachedFont.cpp:
        * loader/cache/CachedFont.h:
        * loader/cache/CachedFontClient.h: Added.
        (WebCore::CachedFontClient::~CachedFontClient):
        (WebCore::CachedFontClient::expectedType):
        (WebCore::CachedFontClient::resourceClientType):
        (WebCore::CachedFontClient::fontLoaded):
        * loader/cache/CachedResourceHandle.cpp:
        (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
        (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
        (WebCore::CachedResourceHandleBase::setResource):
        * loader/cache/CachedResourceHandle.h:
        (WebCore::CachedResourceHandleBase::get):
        (WebCore::CachedResourceHandleBase::operator!):
        (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
        (WebCore::CachedResourceHandleBase::operator=):
        (WebCore::CachedResourceHandle::CachedResourceHandle):
        (WebCore::CachedResourceHandle::get):
        (WebCore::CachedResourceHandle::operator->):
        (WebCore::CachedResourceHandle::operator=):
        (WebCore::CachedResourceHandle::operator==):
        (WebCore::CachedResourceHandle::operator!=):
        (WebCore::operator==):
        (WebCore::operator!=):
        * loader/cache/CachedSVGDocument.h:
        * loader/cache/CachedSVGDocumentReference.h:
        * loader/cache/CachedSVGDocumentClient.h: Added.
        (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
        (WebCore::CachedSVGDocumentClient::expectedType):
        (WebCore::CachedSVGDocumentClient::resourceClientType):
        * loader/cache/CachedStyleSheetClient.h:
        * platform/PlatformScreen.h:
        * platform/audio/HRTFElevation.cpp:
        * platform/audio/HRTFKernel.cpp:
        (WebCore::HRTFKernel::fftSize):
        * platform/audio/HRTFKernel.h:
        * platform/audio/ReverbConvolverStage.cpp:
        (WebCore::ReverbConvolverStage::~ReverbConvolverStage):
        * platform/audio/ReverbConvolverStage.h:
        * platform/graphics/FontPlatformData.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/Path.cpp:
        * platform/graphics/Path.h:
        * platform/graphics/Pattern.cpp:
        * platform/graphics/Pattern.h:
        * platform/graphics/filters/FilterOperation.cpp:
        (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
        (WebCore::ReferenceFilterOperation::~ReferenceFilterOperation):
        (WebCore::ReferenceFilterOperation::setCachedSVGDocumentReference):
        * platform/graphics/filters/FilterOperation.h:
        * platform/graphics/transforms/AffineTransform.h:
        * plugins/DOMMimeType.h:
        * rendering/RenderLayerFilterInfo.h:
        * rendering/style/StyleCachedShader.h:
        * svg/SVGFEImageElement.h:
        * svg/SVGFontFaceUriElement.h:
        * svg/SVGUseElement.h:
        * xml/parser/XMLDocumentParser.h:

2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        [Cairo] Stop passing raw pointers to BitmapImage::create()
        https://bugs.webkit.org/show_bug.cgi?id=113945

        Reviewed by Martin Robinson.

        BitmapImage::create() was updated in r147643 to take a PassRefPtr<cairo_surface_t>
        in argument instead of a cairo_surface_t*. This patch updates several call sites
        so that they now pass in a smart pointer instead of a raw one to avoid silent
        converting from cairo_surface_t* to PassRefPtr<cairo_surface_t>.

        No new tests, no behavior change.

        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBufferData::ImageBufferData): Use RefPtr to m_surface to avoid manual
        memory handling.
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::~ImageBuffer):
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::clip):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        (WebCore::getImageData):
        (WebCore::ImageBuffer::putByteArray):
        * platform/graphics/cairo/ImageBufferDataCairo.h:
        (ImageBufferData):
        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
        (ImageGStreamer::ImageGStreamer):
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::ImageBuffer::toDataURL):

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

        Page content missing when flipping from an empty layer to a tiled layer
        https://bugs.webkit.org/show_bug.cgi?id=113977
        <rdar://problem/13444219>

        Reviewed by Tim Horton.
        
        Some articles on USA Today were missing content on load, when a large GraphicsLayer
        which did not draw content needed to draw content (and become tiled in the process).
        
        The bug was an ordering dependency in GraphicsLayerCA::commitLayerChangesBeforeSublayers().
        swapFromOrToTiledLayer() sets some dirty flags, but for some properties which have
        already been committed in the current flush cycle.
        
        Fix by moving the swapFromOrToTiledLayer() to the top of the commit, which is
        safe since it only consults GraphicsLayer properties, not CALayer properties.

        Test: compositing/tiling/empty-to-tiled.html

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerCA::updateGeometry):
        (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
        (WebCore::GraphicsLayerCA::updateContentsScale):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (GraphicsLayerCA):

2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        Regression(r147639) Causes assertion hit in HashTable
        https://bugs.webkit.org/show_bug.cgi?id=113954

        Reviewed by Benjamin Poulain.

        Lookup the key in the hash table again after the recursive call to
        getCachedFontPlatformData() as it may have altered the hash map and
        invalidated the previous iterator we had.

        No new tests, covered by existing tests.

        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::getCachedFontPlatformData):

2013-04-04  Eric Carlson  <eric.carlson@apple.com>

        [Mac] add "automatic" text track menu item
        https://bugs.webkit.org/show_bug.cgi?id=113822

        Reviewed by Jer Noble.

        No new tests, existing tests updated.

        * English.lproj/Localizable.strings: Add new track menu item.

        * html/HTMLMediaElement.cpp: 
        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_captionDisplayMode.
        (WebCore::HTMLMediaElement::finishParsingChildren): LoadTextTrackResource -> ConfigureTextTracks.
        (WebCore::HTMLMediaElement::scheduleDelayedAction): Ditto.
        (WebCore::HTMLMediaElement::loadTimerFired): Ditto.
        (WebCore::HTMLMediaElement::loadInternal): Ditto. Flag the caption menu as invalid so it will
            be rebuilt again.
        (WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): LoadTextTrackResource -> ConfigureTextTracks.
        (WebCore::HTMLMediaElement::didAddTrack): Ditto.
        (WebCore::HTMLMediaElement::configureTextTrackGroup): Deal with new track display modes.
        (WebCore::HTMLMediaElement::HTMLMediaElement::hasClosedCaptions): Minor cleanup.
        (WebCore::HTMLMediaElement::configureTextTrackGroup): Add some logging.
        (WebCore::HTMLMediaElement::configureTextTracks): Call updateActiveTextTrackCues so cue display
            is updated.
        (WebCore::HTMLMediaElement::captionPreferencesChanged): Deal with new track display modes.
        (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Add some logging.
        * html/HTMLMediaElement.h: Ditto.

        * html/shadow/MediaControlElementTypes.cpp: Remove trackIndexAttributeName and trackListIndexForElement.
        * html/shadow/MediaControlElementTypes.h: Ditto.

        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Don't use track index,
            everything we need is in the track<->element map now.
        (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Ditto. Always rebuild the 
            track list because clear the map each time the menu goes away because it refs every track.
        (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Don't set the track
            index attribute on the menu items, just use the map.
        * html/shadow/MediaControlElements.h:

        * html/shadow/MediaControlsApple.cpp:
        (WebCore::MediaControlsApple::changedClosedCaptionsVisibility): resetTrackListMenu is gone.
        (WebCore::MediaControlsApple::reset): Ditto.
        (WebCore::MediaControlsApple::closedCaptionTracksChanged): Ditto.

        * html/track/TextTrack.cpp:
        (WebCore::TextTrack::captionMenuOffItem): New, static TextTrack used for the menu "Off" item.
        (WebCore::TextTrack::captionMenuAutomaticItem): New, static TextTrack used for the menu "Automatic" item.
        * html/track/TextTrack.h:

        * page/CaptionUserPreferences.cpp:
        (WebCore::CaptionUserPreferences::shouldShowCaptions): Removed, we use captionDisplayMode instead.
        (WebCore::CaptionUserPreferences::captionDisplayMode): New.
        (WebCore::CaptionUserPreferences::setCaptionDisplayMode): New.
        (WebCore::CaptionUserPreferences::setPreferredLanguage): Make the parameter a const reference.
        (WebCore::CaptionUserPreferences::textTrackSelectionScore): Return 0 if the user doesn't want
            captions or subtitles.
        (WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Take language as a parameter
            instead of assuming that it is always the entire language list.
        * page/CaptionUserPreferences.h:

        * page/CaptionUserPreferencesMac.h:
        * page/CaptionUserPreferencesMac.mm:
        (WebCore::CaptionUserPreferencesMac::shouldShowCaptions): Removed, we use captionDisplayMode instead.
        (WebCore::CaptionUserPreferencesMac::captionDisplayMode): New.
        (WebCore::CaptionUserPreferencesMac::setCaptionDisplayMode): New.
        (WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Make the parameter a const reference.
        (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Deal with "Automatic" mode.
            captions or subtitles.
        (WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Take language as a parameter
            instead of assuming that it is always the entire language list.
        (WebCore::CaptionUserPreferencesMac::sortedTrackListForMenu): Insert "Off" and "Automatic" items.

        * platform/LocalizedStrings.cpp:
        (WebCore::textTrackAutomaticMenuItemText): New.
        * platform/LocalizedStrings.h:

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::languageOfPrimaryAudioTrack): New.
        * platform/graphics/MediaPlayer.h:
        * platform/graphics/MediaPlayerPrivate.h:

        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
        (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Return the language
            of the main audio track.

2013-04-04  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r146580): Assertion using SecurityOrigin::create, URL string is not valid
        https://bugs.webkit.org/show_bug.cgi?id=113961

        Reviewed by Geoff Garen.

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
        (WebCore::SecurityOrigin::create):
        Don't use ParsedURLString, because http://host:80/ is normalized to http://host/,
        so it's not a parsed URL string.

2013-04-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r147662.
        http://trac.webkit.org/changeset/147662
        https://bugs.webkit.org/show_bug.cgi?id=113955

        The change r147662  breaks fast/regions/fixed-pos-elem-in-
        region.html (Requested by benjaminp on #webkit).

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::inlineLogicalWidth):

2013-04-04  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r147373): Auto-sizing doesn't always respect minimum width changes
        https://bugs.webkit.org/show_bug.cgi?id=113947
        <rdar://problem/13579024>

        Reviewed by Anders Carlsson.

        Reset the FrameView size to the minimum auto-sizing size
        before performing auto-sizing. We were already resetting the height,
        but not the width, instead using the FrameView's current width.

        This means that changing the minimum width without also manually
        resizing the FrameView will never see the width change.

        Auto-sizing tests are not working on Mac yet.

        * page/FrameView.cpp:
        (WebCore::FrameView::autoSizeIfEnabled):

2013-04-04  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Remove the gyp build
        https://bugs.webkit.org/show_bug.cgi?id=113942

        Reviewed by Gustavo Noronha Silva.

        * WebCore.gyp/WebCoreGTK.gyp: Removed.

2013-04-04  Robert Hogan  <robert@webkit.org>

        REGRESSION(r142152): Text wraps in menu
        https://bugs.webkit.org/show_bug.cgi?id=113706

        Reviewed by David Hyatt.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::inlineLogicalWidth): Empty inline elements add their inline border/padding/margin to the width of the
        line when we iterate through them in nextLineBreak(), so no need to add them again here when climbing back up
        from their first child looking for border/padding/margin to add. (An empty inline element can have floating children.)

2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>

        Changing typing style with font size delta overrides the previous font size delta
        https://bugs.webkit.org/show_bug.cgi?id=113923

        Reviewed by Andreas Kling.

        The bug was caused by a new font size delta value overriding the old one as
        opposed to being added to the old value. Fixed that in overrideWithStyle.

        Also made overrideWithStyle share code with mergeStyle since there is already
        code to merge text-decorations there.

        Unfortunately, adding a test for this fix proved to be hard because we don't
        expose any API to directly set typing style.

        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::overrideWithStyle): Use mergeStyle.
        (WebCore::EditingStyle::mergeStyle): Add font size deltas as opposed to simply
        using the new value.

2013-04-04  Chris Fleizach  <cfleizach@apple.com>

        AX:File upload button has wrong label
        https://bugs.webkit.org/show_bug.cgi?id=113924

        Reviewed by David Kilzer.

        Allow the label and value to be returned for file upload controls on iOS.
        Due to the different AX APIs, we can expose a bit more information on iOS.

        Test: platform/iphone-simulator/accessibility/file-upload-button.html

        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
        (-[WebAccessibilityObjectWrapper fileUploadButtonReturnsValueInTitle]):
        * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
        (-[WebAccessibilityObjectWrapperBase fileUploadButtonReturnsValueInTitle]):
        (-[WebAccessibilityObjectWrapperBase accessibilityTitle]):

2013-04-03  Dean Jackson  <dino@apple.com>

        Expose settings to disable plugin snapshotting autostart and primary detection
        https://bugs.webkit.org/show_bug.cgi?id=113918

        Reviewed by Tim Horton.

        Three new settings:
        - snapshotAllPlugIns: Do not apply any heuristics - immediately snapshot a plugin.
        - primaryPlugInSnapshotDetectionEnabled: Toggle snapshotting the "main" plugin in the page.
        - autostartOriginPlugInSnapshottingEnabled: Toggle snapshotting based on URL origins.

        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Don't tell the host that we've started
            if the autostartOriginPlugInSnapshottingEnabled is false.
        (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Don't restart a primary
            plugin if primaryPlugInSnapshotDetectionEnabled is false.
        (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Snapshot immediately if
            snapshotAllPlugIns is true. Also, don't test for autostart if
            autostartOriginPlugInSnapshottingEnabled is false.
        * page/Settings.in: Three new settings values.

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

        [BlackBerry] Remove skia code from PluginViewBlackBerry
        https://bugs.webkit.org/show_bug.cgi?id=113936

        Reviewed by Rob Buis.

        Skia is not used anymore by the BlackBerry port.

        * plugins/blackberry/PluginViewBlackBerry.cpp:
        (WebCore::PluginView::paint):

2013-04-04  Emil A Eklund  <eae@chromium.org>

        Change RenderFrameSet::computeEdgeInfo to use m-rows/m_cols directly
        https://bugs.webkit.org/show_bug.cgi?id=113825

        Reviewed by Eric Seidel.

        Tests: fast/frames/invalid-frameset-compute-edge.html

        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::computeEdgeInfo):

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

        [GTK][AC] Invalid clear ClutterContent of ClutterActor
        https://bugs.webkit.org/show_bug.cgi?id=113758

        Reviewed by Gustavo Noronha Silva.

        Using clutter_actor_set_content(actor, 0) is better to clear ClutterContent of ClutterActor.
        Actually the ClutterContent referece is cleared in the API if we set 0.

        No new tests since no functionality changed.

        * platform/graphics/clutter/GraphicsLayerActor.cpp:
        (graphicsLayerActorUpdateTexture):

2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        [Cairo] Fix canvas drawing of SVG-based patterns and remove NativeImageCairo
        https://bugs.webkit.org/show_bug.cgi?id=113929

        Reviewed by Martin Robinson.

        Make (Pass)NativeImagePtr typedefs to (Pass)RefPtr<cairo_surface_t> instead
        of NativeImageCairo*. Now that we switch to using smart pointers,
        NativeImageCairo is removed as it made no sense to make it ref counted when
        it merely held a single ref counted member.

        Now that Cairo is using smart pointers for (Pass)NativeImagePtr, this patch
        also enables the implementation of SVGImage::nativeImageForCurrentFrame()
        for USE(CAIRO) as well. This effectively fixes canvas drawing of SVG-based
        patterns for Cairo-based ports.

        No new tests, covered by svg/canvas/canvas-pattern-svg.html.

        * GNUmakefile.list.am: Remove NativeImageCairo.* for GTK.

        * PlatformEfl.cmake: Remove NativeImageCairo.* for EFL.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        Remove NativeImageCairo.* for Win.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::FrameData::reportMemoryUsage):
        Update MemoryClassInfo::addRawBuffer() call now that m_frame is a RefPtr
        for USE(CAIRO).

        * platform/graphics/BitmapImage.h:
        (BitmapImage):
        Remove factory method taking a cairo_surface_t* in argument. This is useless
        now that PassNativeImagePtr is a typedef to PassRefPtr<cairo_surface_t> and
        there is already a factory method taking a PassNativeImagePtr in argument.

        * platform/graphics/NativeImagePtr.h:
        (WebCore):
        Make PassNativeImagePtr a typedef to PassRefPtr<cairo_surface_t> and
        NativeImagePtr a typedef to RefPtr<cairo_surface_t>, instead of
        NativeImageCairo*. Moving to smart pointers is needed to enable implementation
        of SVGImage::nativeImageForCurrentFrame() for Cairo.

        * platform/graphics/cairo/BitmapImageCairo.cpp:
        (WebCore::BitmapImage::BitmapImage):
        (WebCore::BitmapImage::draw):
        (WebCore::BitmapImage::checkForSolidColor):
        (WebCore::FrameData::clear):
        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
        (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):
        Update Cairo graphics code to reflect the (Pass)NativeImagePtr type changes.

        * platform/graphics/cairo/NativeImageCairo.cpp: Removed.
        * platform/graphics/cairo/NativeImageCairo.h: Removed.

        * platform/graphics/cairo/PatternCairo.cpp:
        (WebCore::Pattern::createPlatformPattern):
        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
        (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
        * platform/graphics/efl/ImageEfl.cpp:
        (WebCore::BitmapImage::getEvasObject):
        * platform/graphics/gtk/ImageGtk.cpp:
        (WebCore::BitmapImage::getGdkPixbuf):
        * platform/graphics/texmap/TextureMapperGL.cpp:
        (WebCore::BitmapTextureGL::updateContents):
        * platform/graphics/win/ImageCairoWin.cpp:
        (WebCore::BitmapImage::create):
        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
        * platform/gtk/DragImageGtk.cpp:
        (WebCore::createDragImageFromImage):
        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
        (WebCore::ImageFrame::asNewNativeImage):
        * platform/win/DragImageCairoWin.cpp:
        (WebCore::createDragImageFromImage):
        Update code to reflect the (Pass)NativeImagePtr type changes.

        * svg/graphics/SVGImage.cpp:
        (WebCore):
        * svg/graphics/SVGImage.h:
        Enable SVGImage::nativeImageForCurrentFrame() for USE(CAIRO).

2013-04-04  Ed Bartosh  <bartosh@gmail.com>

        [EFL] --minimal build fails with 'error: unused variable'
        https://bugs.webkit.org/show_bug.cgi?id=113903

        Reviewed by Gustavo Noronha Silva.

        Moved variable definition under #if where it's used
        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::restartedCallback):

2013-04-04  Andreas Kling  <akling@apple.com>

        Global FontPlatformData cache should use OwnPtr.
        <http://webkit.org/b/111939>

        Reviewed by Anders Carlsson.

        Let the global FontPlatformData use OwnPtr instead of raw pointers + deleteAllValues().

        * platform/graphics/FontCache.cpp:
        (WebCore::FontCache::getCachedFontPlatformData):
        (WebCore::FontCache::purgeInactiveFontData):
        (WebCore::FontCache::invalidate):

            Tweaked code for OwnPtr. Also made getCachedFontPlatformData() do one hash lookup
            instead of two.

        * platform/graphics/FontCache.h:
        * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/chromium/FontCacheAndroid.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/freetype/FontCacheFreeType.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/mac/FontCacheMac.mm:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/qt/FontCacheQt.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/skia/FontCacheSkia.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/win/FontCacheWin.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/wince/FontCacheWinCE.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/wx/FontCacheWx.cpp:
        (WebCore::FontCache::createFontPlatformData):

            FontCache::createFontPlatformData() now returns a PassOwnPtr.

2013-04-04  Andreas Kling  <akling@apple.com>

        Render images with low-quality scaling while FrameView is being resized.
        <http://webkit.org/b/113764>
        <rdar://problem/13555154>

        Reviewed by Antti Koivisto.

        Have ImageQualityController ask the renderer's containing FrameView if it's currently in live
        resize, and if so, paint all images with low-quality scaling. A high-quality repaint will happen
        ~0.5 sec after live resizing ends, piggybacking on the same mechanism we use to do JS-animated
        resizing with low-quality scaling.

        This reduces CPU time spent generating new tiles during live window resize, especially on Retina
        systems where a lot of upscaling happens on legacy web content.

        * rendering/RenderBoxModelObject.cpp:
        (ImageQualityController):

            Added an m_liveResizeOptimizationIsActive flag that tracks whether the ImageQualityController
            is painting everything in low quality due to live window resize. It gets unset when the HQ
            repaint timer fires and everything has been repainted properly.

        (WebCore::ImageQualityController::highQualityRepaintTimerFired):

            When the HQ repaint timer fires, check if the renderer's containing FrameView is still in
            live resize, and if so, abort HQ repaint for now and reschedule the timer.

        (WebCore::ImageQualityController::ImageQualityController):
        (WebCore::ImageQualityController::objectDestroyed):
        (WebCore::ImageQualityController::shouldPaintAtLowQuality):

2013-04-04  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: fix closure compiler warnings in IndexedDBModel.js
        https://bugs.webkit.org/show_bug.cgi?id=113926

        Reviewed by Alexander Pavlov.

        No new tests: no change in behaviour.

        * inspector/front-end/IndexedDBModel.js:

2013-04-04  Xidorn Quan  <quanxunzhen@gmail.com>

        REGRESSION (r145870): Can't get insertion point to appear in some input and textareas on wordpress
        https://bugs.webkit.org/show_bug.cgi?id=113591

        Reviewed by Simon Fraser.

        Since a child node could overflow its ancestor, it is not wise to check
        one's radii boundary before checking whether the given point intersects
        its children. This patch moves the related code down to fix the bug.

        Test: fast/borders/border-radius-child.html

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

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

        [GStreamer] Virtual modifier for MediaPlayer::simulateAudioInterruption must go
        https://bugs.webkit.org/show_bug.cgi?id=113851

        Reviewed by Eric Carlson.

        * platform/graphics/MediaPlayer.h:
        (MediaPlayer): Removed virtual modifier to
        simulateAudioInterruption.

2013-04-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        [Qt] Support -webkit-font-smoothing
        https://bugs.webkit.org/show_bug.cgi?id=106009

        Reviewed by Jocelyn Turcotte.

        Remove false dependency on Qt 5.1 for the -webkit-font-smoothing property.
        For now we are still keeping the dependency on Font::shouldUseSmoothing().

        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        Regression(r142765) Broke Custom SVG cursors and SVG canvas drawing for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=113420

        Reviewed by Stephen White.

        Introduce a PassNativeImagePtr typedef that is used in place of NativeImagePtr
        for method arguments and return values. This is needed as Skia now maps
        NativeImagePtr to RefPtr<NativeImageSkia> and PassNativeImagePtr to
        PassRefPtr<NativeImageSkia>. We move towards ref counted smart pointers so that
        SVGImage::nativeImageForCurrentFrame() can transfer ownership of the native
        image to the caller if needed (e.g. for SVGImage).

        Provide nativeImageForCurrentFrame() implementation for SVGImage. SVGImage no
        longer holds the native image internally, to save memory. It is therefore created
        when nativeImageForCurrentFrame() is called and ownership is passed to the
        caller. For now, this implementation is only enabled for Skia as others are using
        raw pointers for PassNativeImagePtr.

        Test: svg/canvas/canvas-pattern-svg.html

        * loader/icon/IconDatabase.cpp:
        (WebCore::IconDatabase::synchronousNativeIconForPageURL):
        Return a PassNativeImagePtr instead of NativeImagePtr.

        * loader/icon/IconDatabase.h:
        (IconDatabase):
        * loader/icon/IconDatabaseBase.h:
        (WebCore::IconDatabaseBase::synchronousNativeIconForPageURL):
        Return a PassNativeImagePtr instead of NativeImagePtr.

        * platform/chromium/DragImageChromiumSkia.cpp:
        (WebCore::createDragImageFromImage):
        Store return value of nativeImageForCurrentFrame() in a RefPtr instead of a raw
        one.

        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeImage):
        Store return value of nativeImageForCurrentFrame() in a RefPtr<NativeImageSkia>
        instead of a NativeImagePtr. While these are equivalent, the former is more
        readable in Skia-specific code.

        * platform/graphics/BitmapImage.cpp:
        (WebCore::BitmapImage::frameAtIndex):
        Return a PassNativeImagePtr instead of a NativeImagePtr.

        (WebCore::BitmapImage::nativeImageForCurrentFrame):
        Return a PassNativeImagePtr instead of a NativeImagePtr.

        * platform/graphics/BitmapImage.h:
        (WebCore::BitmapImage::create):
        Take a PassNativeImagePtr in argument instead of a NativeImagePtr.

        (BitmapImage): Ditto.

        * platform/graphics/GraphicsContext.h:
        (GraphicsContext): Ditto.

        * platform/graphics/GraphicsContext3D.h:
        (ImageExtractor):
        Keep NativeImageSkia in a RefPtr instead of OwnPtr, now that it is refcounted.

        * platform/graphics/Image.h:
        (WebCore::Image::nativeImageForCurrentFrame):
        Return a PassNativeImagePtr instead of a NativeImagePtr.

        * platform/graphics/ImageBuffer.h:
        (ImageBuffer):
        Have copyNativeImage() return a PassNativeImagePtr instead of a NativeImagePtr.

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::createFrameAtIndex):
        Return a PassNativeImagePtr instead of a NativeImagePtr.

        * platform/graphics/ImageSource.h:
        Have createFrameAtIndex() return a PassNativeImagePtr instead of a NativeImagePtr.

        * platform/graphics/NativeImagePtr.h:
        Map NativeImagePtr to a RefPtr<NativeImageSkia> instead of NativeImageSkia* for Skia.
        Introduce new PassNativeImagePtr that maps to PassRefPtr<NativeImageSkia> for Skia
        and is equivalent to NativeImagePtr for other ports. We now use smart pointers for
        the native image so that SVGImage::nativeImageForCurrentFrame() can pass ownership
        of the native image to the caller, unlike BitmapImage::nativeImageForCurrentFrame().

        * platform/graphics/blackberry/ImageBlackBerry.cpp:
        (WebCore::ImageFrame::asNewNativeImage):
        Return a PassNativeImagePtr instead of a NativeImagePtr.

        (WebCore::BitmapImage::BitmapImage):
        Take a PassNativeImagePtr instead of a NativeImagePtr in argument.

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

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::copyNativeImage):
        Take a PassNativeImagePtr instead of a NativeImagePtr in argument.

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToImage):
        Store return value of nativeImageForCurrentFrame() in a RefPtr instead of a raw one.

        * platform/graphics/filters/skia/FEBlendSkia.cpp:
        (WebCore::FEBlend::platformApplySkia): Ditto.

        * platform/graphics/filters/skia/FEColorMatrixSkia.cpp:
        (WebCore::FEColorMatrix::platformApplySkia): Ditto.

        * platform/graphics/filters/skia/FEComponentTransferSkia.cpp:
        (WebCore::FEComponentTransfer::platformApplySkia): Ditto.

        * platform/graphics/filters/skia/FEDisplacementMapSkia.cpp:
        (WebCore::FEDisplacementMap::platformApplySkia): Ditto.

        * platform/graphics/filters/skia/FELightingSkia.cpp:
        (WebCore::FELighting::platformApplySkia): Ditto.

        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageFrame::asNewNativeImage):
        Return a PassNativeImagePtr instead of a NativeImagePtr.

        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::nativeImageForCurrentFrame):
        Return a PassNativeImagePtr instead of a NativeImagePtr.

        * platform/graphics/qt/StillImageQt.h:
        (StillImage): Ditto.

        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
        No longer need to adopt the return value of asNewNativeImage() now
        that it returns a PassRefPtr instead of a raw one.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::copyImage):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        Call NativeImageSkia::create() factory method now that the constructor
        is private.

        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::FrameData::clear):
        Just call clear() on m_frame instead of explicitely deleting it now
        that it is a RefPtr.

        (WebCore::Image::drawPattern):
        Store return value of nativeImageForCurrentFrame() in a RefPtr instead
        of a raw one.

        (WebCore::BitmapImage::BitmapImage):
        (WebCore::BitmapImage::checkForSolidColor):
        Store return value of frameAtIndex() in a RefPtr instead of a raw one.

        (WebCore::BitmapImage::draw):
        Store return value of nativeImageForCurrentFrame() in a RefPtr instead
        of a raw one.

        * platform/graphics/skia/NativeImageSkia.cpp:
        Add new constructor taking all members in argument. This is used for
        cloning a NativeImageSkia object.

        (WebCore::NativeImageSkia::NativeImageSkia):
        (WebCore::NativeImageSkia::deepSkBitmapCopy):
        Add convenience function to make a deep copy of a SkBitmap.

        * platform/graphics/skia/NativeImageSkia.h:
        (WebCore):
        (WebCore::NativeImageSkia::create):
        (NativeImageSkia):
        Make NativeImageSkia subclass RefCounted. Make the constructor private
        and add a factory method instead that returns a PassRefPtr.

        (WebCore::NativeImageSkia::clone):
        Add a clone() method now that NativeImageSkia is refcounted and is no
        longer copyable.

        * platform/graphics/skia/PatternSkia.cpp:
        (WebCore::Pattern::platformPattern):
        Store return value of nativeImageForCurrentFrame() in a RefPtr instead
        of a raw one.

        * platform/graphics/wince/ImageWinCE.cpp:
        (WebCore::ImageFrame::asNewNativeImage):
        Return a PassNativeImagePtr instead of a NativeImagePtr.

        * platform/image-decoders/ImageDecoder.h:
        (ImageFrame):
        Have asNewNativeImage() return a PassNativeImagePtr instead of a
        NativeImagePtr.

        (WebCore::ImageFrame::getAddr):
        (WebCore::ImageFrame::setSkBitmap):
        (WebCore::ImageFrame::getSkBitmap):
        (WebCore::ImageFrame::width):
        (WebCore::ImageFrame::height):
        Update use of m_bitmap now that it is a pointer type and call
        NativeImageSkia::create() to construct a NativeImageSkia object now
        that the constructor is private.

        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
        (WebCore::ImageFrame::asNewNativeImage):
        Return a PassNativeImagePtr instead of a NativeImagePtr.

        * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
        (WebCore::ImageFrame::asNewNativeImage): Ditto.

        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::ImageFrame::ImageFrame):
        Initialize m_bitmap in the constructor now that it is a pointer
        type and we need NativeImageSkia's default constructor to be
        called.

        (WebCore::ImageFrame::operator=):
        Call NativeImageSkia's new clone() method to copy m_bitmap as
        NativeImageSkia is now RefCounted and no longer copyable.

        (WebCore::ImageFrame::clearPixelData):
        (WebCore::ImageFrame::zeroFillPixelData):
        (WebCore::ImageFrame::copyBitmapData):
        (WebCore::ImageFrame::setSize):
        Update use of m_bitmap now that it is a pointer type.

        (WebCore::ImageFrame::asNewNativeImage):
        Return a PassNativeImagePtr instead of a NativeImagePtr.
        Call NativeImageSkia's clone method now that it is no longer
        copyable.

        (WebCore::ImageFrame::setHasAlpha):
        (WebCore::ImageFrame::setStatus):
        Update use of m_bitmap now that it is a pointer type.

        * platform/image-decoders/wx/ImageDecoderWx.cpp:
        (WebCore::ImageFrame::asNewNativeImage):
        Return a PassNativeImagePtr instead of a NativeImagePtr.

        * svg/graphics/SVGImage.cpp:
        (WebCore):
        (WebCore::SVGImage::nativeImageForCurrentFrame):
        Add implementation of nativeImageForCurrentFrame() for SVGImage as
        it is needed for SVG custom cursor support and Canvas drawing of
        patterns containing SVG images. As SVGImage no longer keep the
        native image internally to save memory, the implementation creates
        the native image when nativeImageForCurrentFrame() and passes
        its ownership to the caller.

        * svg/graphics/SVGImage.h:
        Override Image::nativeImageForCurrentFrame() and remove dummy
        implementation of frameAtIndex() as it is not needed / used.

        * svg/graphics/SVGImageForContainer.cpp:
        (WebCore::SVGImageForContainer::nativeImageForCurrentFrame):
        Add implementation of nativeImageForCurrentFrame() which merely
        forwards the call to the Image being contained.

        * svg/graphics/SVGImageForContainer.h:
        Override Image::nativeImageForCurrentFrame().

2013-04-04  Andrei Bucur  <abucur@adobe.com>

        [CSSRegions] RenderFlowThread::renderRegionForLine should use a faster search method
        https://bugs.webkit.org/show_bug.cgi?id=66921

        Reviewed by David Hyatt.

        The RenderFlowThread::regionAtBlockOffset() function is a hot path for the code using
        flow threads because it translates from block coordinates to regions.
        Currently the method is O(n), using a linear search through the regions chain to find the
        region where a block offset lands.
        The patch improves this search by using an interval tree (PODIntervalTree). Before a flow
        thread is laid out, each region is updated to hold the size of the portion of the flow it
        will receive. This information is gathered inside the interval tree and used to speedup the
        search in RenderFlowThread::regionAtBlockOffset(). The algorithm uses a custom adapter
        simplified for looking up offsets inside the interval tree.
        For now, the interval tree is cleared every time the flow thread portions list is updated.
        The implementation can be improved but induces some cmplexity as we'd have to manually manage
        the life cycle of the tree's nodes. The performance gains are good enough as is to make this
        only optional.
        Another important change is now the flow thread portion rectangles will not overflow when
        using auto-height regions (or very large regions). The maximum size of the flow is set to
        LayoutUnit::max()/2. Any region forcing a greater size will be capped so the thread
        won't overflow.

        Performance test results:
        /Layout/RegionsAuto:Time            ms 699.95   181.20  74.11% Better
        /Layout/RegionsAutoMaxHeight:Time   ms 2083.00  308.55  85.19% Better
        /Layout/RegionsFixed:Time           ms 726.10   223.65  69.20% Better
        /Layout/RegionsFixedShort:Time      ms 869.60   288.25  66.85% Better

        Tests: See PerformanceTests/Layout/Regions*

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::regionAtBlockOffset):
        (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
        (WebCore::RenderFlowThread::RegionSearchAdapter::collectIfNeeded):
        (WebCore):
        * rendering/RenderFlowThread.h:
        (WebCore):

2013-04-04  Seokju Kwon  <seokju.kwon@gmail.com>

        [Qt] WebSocket errors should be logged to console
        https://bugs.webkit.org/show_bug.cgi?id=113842

        Reviewed by Jocelyn Turcotte.

        Pass the reason of a failure to SocketStreamError instance
        and notify it via SocketStreamHandleClient::didFailSocketStream().

        Test : http/tests/inspector/console-websocket-error.html

        * platform/network/qt/SocketStreamError.h:
        (WebCore::SocketStreamError::SocketStreamError):
        * platform/network/qt/SocketStreamHandleQt.cpp:
        (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
        (WebCore::SocketStreamHandlePrivate::socketErrorCallback):

2013-04-04  Ed Bartosh  <bartosh@gmail.com>

        [ATK] build fails when accessibility is turned off
        https://bugs.webkit.org/show_bug.cgi?id=113699

        Reviewed by Gyuyoung Kim.

        * editing/atk/FrameSelectionAtk.cpp: Wrapped accessibility code in #if HAVE(ACCESSIBILITY)

2013-04-04  Seokju Kwon  <seokju.kwon@gmail.com>

        Web Inspector: fix closure compiler warnings in the profiler code HeapSnapshotDataGrids.js
        https://bugs.webkit.org/show_bug.cgi?id=113922

        Reviewed by Yury Semikhatsky.

        No new tests: no change in behaviour.

        * inspector/front-end/HeapSnapshotDataGrids.js:

2013-04-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Add a decoration image to search input field
        https://bugs.webkit.org/show_bug.cgi?id=113552

        Reviewed by Laszlo Gombos.

        Though EFL port has a decoration image for search input field, we didn't use it.
        Start to show it.

        Tests: fast/forms/search-cancel-button-style-sharing.html
               fast/forms/search-rtl.html
               fast/css/input-search-padding.html
               fast/css/text-input-with-webkit-border-radius.html
               fast/css/text-overflow-input.html
               fast/forms/box-shadow-override.html
               fast/forms/control-restrict-line-height.html
               fast/forms/input-appearance-height.html
               fast/forms/placeholder-position.html
               fast/forms/placeholder-pseudo-style.html
               fast/forms/search-styled.html
               fast/forms/search-vertical-alignment.html
               fast/forms/searchfield-heights.html
               fast/repaint/search-field-cancel.html 
               fast/replaced/width100percent-searchfield.html

        * platform/efl/RenderThemeEfl.cpp:
        (WebCore):
        (WebCore::RenderThemeEfl::supportsDataListUI):
        (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):

2013-04-03  Kent Tamura  <tkent@chromium.org>

        Input value/placeholder is not redrawn when the input height grows
        https://bugs.webkit.org/show_bug.cgi?id=113845

        Reviewed by Ojan Vafai.

        Test: fast/forms/text/text-height-grow.html

        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::styleDidChange):
        We need relayout of the inner text element.

2013-04-03  Shawn Singh  <shawnsingh@chromium.org>

        Add comment to clarify isStackingContext() in RenderLayer.h
        https://bugs.webkit.org/show_bug.cgi?id=113909

        Reviewed by Simon Fraser.

        It was not obvious how the implementation of isStackingContext()
        was correct, a comment is appropriate here for anyone who reads
        this code in the future.

        Just a change in comment, no test needed.

        * rendering/RenderLayer.h:

2013-04-03  Hans Muller  <hmuller@adobe.com>

        [CSS Exclusions] Removed ExclusionShape dead code
        https://bugs.webkit.org/show_bug.cgi?id=113904

        Reviewed by Dirk Schulze.

        No new tests, just removing dead code.

        * rendering/ExclusionShape.cpp:
        (WebCore::ExclusionShape::createExclusionShape):
        * rendering/ExclusionShape.h:
        (ExclusionShape):

2013-04-03  Otto Derek Cheung  <otcheung@rim.com>

        [BlackBerry] Switch MediaPlayerPrivateBlackBerry.cpp's timer to use CLOCK_MONOTONIC
        https://bugs.webkit.org/show_bug.cgi?id=113900

        Reviewed by Rob Buis.
        Internally Reviewed by Jeff Rogers.

        Timers should use CLOCK_MONOTONIC to avoid undesirable effects when
        the user switches the system time.

        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
        (WebCore::MediaPlayerPrivate::drawBufferingAnimation):

2013-04-03  Dave Michael  <dmichael@chromium.org>

        Unable to focus on embedded plugins such as Flash via javascript focus()
        https://bugs.webkit.org/show_bug.cgi?id=32292

        Reviewed by Ryosuke Niwa.

        Make embed, object, and applet elements support focus() when
        appropriate. Prior to this patch, javascript focus() had no effect on
        embed, object, or applet elements unless tabindex or contenteditable is
        set. With this patch, focus() will focus the element unless the plugin
        content has failed to load (i.e., we are showing either fallback content
        or an unavailable plugin indicator).

        Test: plugins/focus.html
              java/focus.html

        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::supportsFocus):
        Overridden to return true except when the plugin content has failed to load.
        * html/HTMLPlugInElement.h:
        (WebCore::HTMLPlugInElement::useFallbackContent):
        Moved up from HTMLPlugInImageElement.
        (WebCore::HTMLPlugInElement::supportsFocus):
        * html/HTMLPlugInElement.h:
        (WebCore::HTMLPlugInImageElement::useFallbackContent):
        Removed. Now the implementation is inherited from HTMLPlugInElement.

2013-04-03  Glenn Adams  <glenn@skynav.com>

        Element boundaries prevent Japanese line break opportunities
        https://bugs.webkit.org/show_bug.cgi?id=105692

        Reviewed by Darin Adler.

        Introduce use of prior context when using text break iterators
        in non-ASCII path through nextBreakablePosition(). This enables
        the use of line break context across an element boundary for
        the non-ASCII path. Use of this context with the ASCII path was
        enabled by https://bugs.webkit.org/show_bug.cgi?id=17427.

        Performance tests of line layout and html5 parsing show that this
        patch provides an approximately 4% improvement with Japanese and
        no statistically significant regression with ASCII path. Parsing
        (html5-full-render) performance is not significantly affected.

        Tests: fast/text/line-break-between-text-nodes-cjk.html
               fast/text/line-break-between-text-nodes-latin1.html

        Expect rebaselines will be needed due to different line breaks:
               fast/text/international/003.html
               fast/text/international/text-combine-image-test-expected.html
               fast/text/writing-mode/Kusa-Makura-background-canvas.html

        * platform/text/TextBreakIterator.cpp:
        (WebCore::acquireLineBreakIterator): Pass prior context to non-ICU path.
        * platform/text/TextBreakIterator.h:
        (WebCore::LazyLineBreakIterator::priorContextLength): Added.
        (WebCore::LazyLineBreakIterator::get): Pass prior context to ICU path.
        (WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator): Editorial.
        * platform/text/TextBreakIteratorICU.cpp:
        Use prior context from line break iterators. Requires
        adding new UTF16 (UChar*) text provider and reimplementing
        Latin1 (LChar*) text provider. Implementation is optimized
        by using generic functionality that applies to both string
        sources.
        (WebCore::textPinIndex): Added.
        (WebCore::textNativeLength): Added.
        (WebCore::textFixPointer): Added.
        (WebCore::textClone): Added.
        (WebCore::textExtract): Added.
        (WebCore::textClose): Added.
        (WebCore::textGetContext): Added.
        (WebCore::textLatin1GetCurrentContext): Added.
        (WebCore::textLatin1MoveInPrimaryContext): Added.
        (WebCore::textLatin1SwitchToPrimaryContext): Added.
        (WebCore::textLatin1MoveInPriorContext): Added.
        (WebCore::textLatin1SwitchToPriorContext): Added.
        (WebCore::textInChunkOrOutOfRange): Added.
        (WebCore::textLatin1Access): Added.
        (WebCore::textInit): Added.
        (WebCore::textOpenLatin1): Added.
        (WebCore::textUTF16GetCurrentContext): Added.
        (WebCore::textUTF16MoveInPrimaryContext): Added.
        (WebCore::textUTF16SwitchToPrimaryContext): Added.
        (WebCore::textUTF16MoveInPriorContext): Added.
        (WebCore::textUTF16SwitchToPriorContext): Added.
        (WebCore::textUTF16Access): Added.
        (WebCore::textOpenUTF16): Added.
        (WebCore::acquireLineBreakIterator): Use new text providers with prior context.
        * platform/text/wchar/TextBreakIteratorWchar.cpp:
        (WebCore::acquireLineBreakIterator): Pass prior context to non-ICU path.
        * rendering/break_lines.cpp:
        (WebCore::nextBreakablePosition): Use prior context in ICU path.

2013-04-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        [Chromium] Bad cast from BitmapImageSingleFrameSkia to BitmapImage
        https://bugs.webkit.org/show_bug.cgi?id=113492

        Reviewed by Stephen White.

        Remove BitmapImageSingleFrameSkia and have ImageBufferSkia construct
        BitmapImage objects instead via an intermediate NativeImageSkia.

        No new tests, covered by existing tests.

        * WebCore.gypi:
        * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp: Remove
        include for BitmapImageSingleFrameSkia.h header.
        * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Removed.
        * platform/graphics/skia/BitmapImageSingleFrameSkia.h: Removed.
        * platform/graphics/skia/ImageBufferSkia.cpp: Construct BitmapImage
        objects instead of BitmapImageSingleFrameSkia ones.
        (WebCore::ImageBuffer::copyImage):
        (WebCore::drawNeedsCopy):
        (WebCore::ImageBuffer::draw):
        (WebCore::ImageBuffer::drawPattern):
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::BitmapImage::BitmapImage): Implement BitmapImage constructor
        that takes an NativeImageSkia* in argument.
        (WebCore):
        (WebCore::BitmapImage::draw): Remove m_source.initialized() check as
        this will return false for BitmapImage objects constructed from a
        NativeImageSkia, due to the lack of decoder.
        * platform/graphics/skia/NativeImageSkia.cpp:
        (WebCore::NativeImageSkia::NativeImageSkia): Add parameter to the
        NativeImageSkia constructor so that the caller can request a deep copy
        instead of a shallow one. This is needed by the ImageBuffer.
        * platform/graphics/skia/NativeImageSkia.h:
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageFrame::setSkBitmap):

2013-04-03  David Vest  <davve@opera.com>

        ASSERTION FAILED: resultAnimationElement->m_animatedType
        https://bugs.webkit.org/show_bug.cgi?id=93528

        Reviewed by Philip Rogers.

        When the order of animation elements change within an animation
        group, we can't assume that the resultElement is the same as it
        was when the animation was frozen. Make sure to reset the
        animation type for the resultElement before updating the
        animation.

        Test: svg/animations/animation-dependency-crash.html

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::progress):

2013-04-03  Timothy Hatcher  <timothy@apple.com>

        Stop unconditionally enabling JavaScript execution when closing the Web Inspector.

        https://webkit.org/b/113889
        rdar://problem/12281794

        Reviewed by Joseph Pecoraro.

        * inspector/InspectorPageAgent.cpp:
        (WebCore::InspectorPageAgent::InspectorPageAgent): Initialize m_originalScriptExecutionDisabled.
        (WebCore::InspectorPageAgent::enable): Populate m_originalScriptExecutionDisabled based on current setting.
        (WebCore::InspectorPageAgent::disable): Restore previous setting.
        * inspector/InspectorPageAgent.h:
        (InspectorPageAgent): Added m_originalScriptExecutionDisabled.

2013-04-03  Dean Jackson  <dino@apple.com>

        Cross fade into restarted plugin
        https://bugs.webkit.org/show_bug.cgi?id=113868

        Reviewed by Tim Horton.

        Allow a restarted plugin to fade in over its snapshot, avoiding the abrupt
        flash of empty content. The WebCore part of this patch marks the plugin
        element as restarted, and draws the snapshot for a short amount of time
        as the plugin is restarting. After the plugin has reappeared, we stop drawing
        the snapshot.

        There is a little bit of drive-by whitespace removal in HTMLPlugInImageElement.

        * html/HTMLPlugInElement.h:
        (WebCore::HTMLPlugInElement::restartedPlugin): New method indicating if the plugin has been restarted.
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialise new timer and member variable.
        (WebCore::HTMLPlugInImageElement::setDisplayState): If we are moving into a restarting state, make sure
            to remember this and also start a timer so that we show the snapshot for while.
        (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): No need to draw the snapshot from here on.
        * html/HTMLPlugInImageElement.h:
        (HTMLPlugInImageElement): Member variable to remember if we've restarted.
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::paintContents): Only exit early from the paint if we're not a restarting
            plugin, otherwise we do want to draw the snapshot if there is one.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::isRestartedPlugin): Detects a restarted plugin.
        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Don't become a simple container
            compositing layer if you're a restarted plugin.

2013-04-03  John Griggs  <jgriggs@blackberry.com>

        [BlackBerry] Adjustments to media controls appearance.
        https://bugs.webkit.org/show_bug.cgi?id=113816
        https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=316398
        https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=316438

        Updates to the BlackBerry media controls:
         - extend the timeline slider.
         - move the volume slider for audio elements up so it does not overlap the main panel.
         - upstream some other cosmetic changes to media controls that were not previously upstreamed.

        Reviewed by Rob Buis.

        BlackBerry-specific, cosmetic change; No new tests required.

        * platform/blackberry/RenderThemeBlackBerry.cpp:
        (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
        (WebCore::RenderThemeBlackBerry::paintMediaPlayButton):
        (WebCore::RenderThemeBlackBerry::paintMediaMuteButton):
        (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
        (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb):

2013-04-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        [Gstreamer] Use gst_buffer_extract() in copyGstreamerBuffersToAudioChannel()
        https://bugs.webkit.org/show_bug.cgi?id=113880

        Reviewed by Philippe Normand.

        copyGstreamerBuffersToAudioChannel() was mapping the GstBuffer content to memcpy
        it to the AudioChannel buffer. This patch leverages gst_buffer_extract() to
        simplify the code as it does exactly what we need: gst_buffer_map, memcpy,
        gst_buffer_unmap and error handling.

        Also replace GstBuffer NULL check by an assertion as we already make sure they
        are not NULL before adding them to the list. Additionally, we now call
        audioChannel->mutableData() only once instead of once per iteration. It is
        a bit better as the getter does some work internally.

        No new tests, no behavior change.

        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
        (WebCore::copyGstreamerBuffersToAudioChannel):

2013-04-03  Antoine Quint  <graouts@apple.com>

        Web Inspector: DOM.highlightRect() and DOM.highlightQuad() should allow for page coordinates
        https://bugs.webkit.org/show_bug.cgi?id=113869

        Add a new "usePageCoordinates" parameter to DOM.highlightRect() and DOM.highlightQuad()
        allowing to specify that the rect or quad to highlight should be converted to page
        coordinates instead of using the default viewport coordinates.

        Reviewed by Timothy Hatcher.

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::highlightRect):
        (WebCore::InspectorDOMAgent::highlightQuad):
        (WebCore::InspectorDOMAgent::innerHighlightQuad):
        Store the "usePageCoordinates" parameter obtained from the protocol calls onto the
        highlight configuration object so that it may be used within the InspectorOverlay.

        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/InspectorOverlay.cpp:
        (WebCore::InspectorOverlay::highlightQuad):
        Check the highlight configuration for the "usePageCoordinates" parameter and
        apply the inverse of the page's scroll offset to the quad if it's true.

        * inspector/InspectorOverlay.h:
        (HighlightConfig):
        (WebCore::Highlight::setDataFromConfig):
        (Highlight):

2013-04-03  Kangil Han  <kangil.han@samsung.com>

        Add omitted reference operator of VisiblePosition in AccessibilityObject
        https://bugs.webkit.org/show_bug.cgi?id=113879

        Reviewed by Darin Adler.

        Seems reference operator has been omitted in startOfStyleRange function, so add it.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::startOfStyleRange):

2013-04-03  Jessie Berlin  <jberlin@apple.com>

        Update the localizable strings file.

        Rubber-stamped by Michael Saboff.

        * English.lproj/Localizable.strings:

2013-04-03  David Kilzer  <ddkilzer@apple.com>

        BUILD FIX (r147493): Fix number of arguments to AudioDestinationIOS constructor

        Fixes the following build failures:

            Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp:84:25: error: no matching constructor for initialization of 'WebCore::AudioDestinationIOS'
                return adoptPtr(new AudioDestinationIOS(callback, sampleRate));
                                    ^                   ~~~~~~~~~~~~~~~~~~~~
            In file included from Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp:36:
            Source/WebCore/platform/audio/ios/AudioDestinationIOS.h:44:5: note: candidate constructor not viable: requires 3 arguments, but 2 were provided
                AudioDestinationIOS(AudioIOCallback&, unsigned numberOfOutputChannels, double sampleRate);
                ^
            Source/WebCore/platform/audio/ios/AudioDestinationIOS.h:42:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
            class AudioDestinationIOS : public AudioDestination, public AudioSessionListener {
                  ^
            Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp:101:22: error: out-of-line definition of 'AudioDestinationIOS' does not match any declaration in 'WebCore::AudioDestinationIOS'
            AudioDestinationIOS::AudioDestinationIOS(AudioIOCallback& callback, double sampleRate)
                                 ^~~~~~~~~~~~~~~~~~~
            2 errors generated.

        * platform/audio/ios/AudioDestinationIOS.h:
        (AudioDestinationIOS): Remove numberOfOutputChannels argument.

2013-04-03  David Kilzer  <ddkilzer@apple.com>

        BUILD FIX (r147494): -[AVAudioSession setCategory:error:] takes NSError**

        Fixes the following build failure:

            Source/WebCore/platform/audio/ios/AudioSessionIOS.mm:151:71: error: cannot initialize a parameter of type 'NSError **' with an lvalue of type 'NSError *'
                [[AVAudioSession sharedInstance] setCategory:categoryString error:error];
                                                                                  ^~~~~

        * platform/audio/ios/AudioSessionIOS.mm:
        (WebCore::AudioSession::setCategory): Add '&' operator.

2013-04-03  Felipe Zimmerle  <felipe@zimmerle.org>

        CSP blocks inline style when cloning a node
        https://bugs.webkit.org/show_bug.cgi?id=112270

        Reviewed by Adam Barth.

        Checks if the Element is being cloned, if so, the application of the
        style is allowed otherwise it relies on default permission mechanism.

        Test: http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html

        * dom/Element.cpp:
        (WebCore::Element::attributeChanged): Added parameter
        AttributeModificationReason to the method signature.
        (WebCore::Element::cloneAttributesFromElement): It is now calling 
        attributeChanged with AttributeModificationReason parameter. In this scope
        it is always set to ModifiedByCloning.
        (WebCode::Element::attributeChangedFromParserOrByCloning):
        Added parameter AttributeModificationReason.
        * dom/Element.h: Added AttributeModificationReason enum. Used to specify
        whenever an attribute was set by a cloned oject or directly.
        AttributeModificationReason added to attributeChanged with the default
        value set to ModifiedDirectly. 
        * dom/StyledElement.cpp: 
        (WebCore::StyledElement::attributeChanged): Added
        AttributeModificationReason to the method signature.
        (WebCore::StyledElement::styleAttributeChanged): Now it is checking the
        reason of the update, if the reason is ModifiedDirectly check CSP
        before set. If ModifiedByCloning set the attribute ignoring the CSP
        policy.
        * dom/StyledElement.h:
        (StyledElement): Added AttributeModificationReason parameter to the methods:
        attributeChanged and styleAttributeChanged, attributeChanged has
        ModifiedDirectly as default value.
        * svg/SVGElement.cpp: 
        (WebCore::SVGElement::attributeChanged): Added AttributeModificationReason
        parameter to the method signature.
        * svg/SVGElement.h: 
        (SVGElement): Added AttributeModificationReason parameter to the
        attributeChanged signature with the default value set to:
        ModifiedDirectly.

2013-04-03  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed 32bit buildfix after r147542.

        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::didReceiveBinaryData):

2013-04-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        [Gstreamer] Avoid calls to g_slist_nth_data in webKitWebAudioSrcLoop()
        https://bugs.webkit.org/show_bug.cgi?id=113875

        Reviewed by Philippe Normand.

        webKitWebAudioSrcLoop() was iterating over 2 GSLists by using a counter and then
        calling g_slist_nth_data() to get the element of each GSList. This is inefficient
        because calling g_slist_nth_data() will iterate the GSList up until index 'n'.

        This patch improves this by keeping pointers to the current element of each list
        while iterating, so that we can simply use g_slist_next() to iterate instead
        of g_slist_nth_data().

        No new tests, no behavior change.

        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
        (webKitWebAudioSrcLoop):

2013-04-03  Keishi Hattori  <keishi@webkit.org>

        Actions that require user gesture don't work in window.showModalDialog in Chromium
        https://bugs.webkit.org/show_bug.cgi?id=113777

        Reviewed by Jochen Eisinger.

        In Chromium the window for showModalDialog is not modal which causes the
        UserGestureIndicator to block actions in the sub window. We introduce a
        RAII that saves the UserGestureIndicator and state, then resets it before
        runModalDialog, and restore it when it's done.

        No new tests. Can't cause user gesture inside modal dialog.

        * dom/UserGestureIndicator.cpp:
        (WebCore::UserGestureIndicatorDisabler::UserGestureIndicatorDisabler): Saves and resets the topmost indicator and state.
        (WebCore):
        (WebCore::UserGestureIndicatorDisabler::~UserGestureIndicatorDisabler): Restores topmost indicator and state.
        * dom/UserGestureIndicator.h:
        (WebCore):
        (UserGestureIndicatorDisabler): RAII to temporarily disable UserGestureIndicator.
        (UserGestureIndicator): Allow access to UserGestureIndicatorDisabler.
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::showModalDialog): Disable UserGestureIndicator while runModalDialog.

2013-04-03  Zeno Albisser  <zeno@webkit.org>

        [Qt] Fail gracefully if an OpenGL context could not be created.
        https://bugs.webkit.org/show_bug.cgi?id=113784

        In case we fail to create or adopt a valid platform OpenGL context
        we do not want to provide a GraphicsContext3D instance.
        Otherwise we would crash as soon as the instance is being used.

        Reviewed by Jocelyn Turcotte.

        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
        (WebCore::GraphicsContext3D::GraphicsContext3D):

2013-04-03  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK][AC] Implement matrix keyframe animations with clutter ac backend
        https://bugs.webkit.org/show_bug.cgi?id=110314

        Reviewed by Gustavo Noronha Silva.

        Clutter 1.12 doesn't support additive transform animations yet, So clutter ac backend
        uses matrix animations for the case. This patch follows changeset 143369, 143343
        to support matrix keyframe animations. I believe this change is easy if you understand
        above two changesets.

        Covered by existing animation tests.

        * platform/graphics/clutter/PlatformClutterAnimation.cpp:
        (WebCore::PlatformClutterAnimation::setValues):
        (WebCore::PlatformClutterAnimation::addClutterKeyframeTransitionForProperty):
        (WebCore):
        (WebCore::PlatformClutterAnimation::addTransformTransition):
        * platform/graphics/clutter/PlatformClutterAnimation.h:
        (PlatformClutterAnimation):

2013-04-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>

        Should close select popup when the element loses focus
        https://bugs.webkit.org/show_bug.cgi?id=113220

        Reviewed by Kent Tamura.

        Test: fast/forms/select-popup-closes-on-blur.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): handle the blur event, closing
        the popup menu if any.
        * testing/Internals.cpp:
        (WebCore::Internals::isSelectPopupVisible): utility to query the select node renderer to
        find out whether the popup is open or closed.
        (WebCore):
        * testing/Internals.h: add the new method definition.
        * testing/Internals.idl: ditto.

2013-03-28  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        [Qt] Switch ContextMenu implementation to CROSS_PLATFORM_CONTEXT_MENU
        https://bugs.webkit.org/show_bug.cgi?id=113535

        Reviewed by Simon Hausmann.

        Now Qt uses the CROSS_PLATFORM_CONTEXT_MENUS
        USE flag. This flag provides a full cross-platform
        representation of a ContextMenu and a ContextMenuItem.
        The embedder can then decide how to show this, so neither
        WebCore nor WebCore/platform need to know any platform
        specifics about menus.

        No new tests, no behavior changes.

        * Target.pri:
        * platform/ContextMenu.h:
        (ContextMenu):
        * platform/ContextMenuItem.h:
        * platform/qt/ContextMenuItemQt.cpp:
        (WebCore::ContextMenuItem::platformContextMenuItem):
        * platform/qt/ContextMenuQt.cpp:
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::getContextMenuItems):
        (WebCore::ContextMenu::createPlatformContextMenuFromItems):
        (WebCore::ContextMenu::platformContextMenu):

2013-04-03  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        [Qt] Monospace font does not render in proper sizes
        https://bugs.webkit.org/show_bug.cgi?id=93263

        Reviewed by Jocelyn Turcotte.

        Remove this patch's artificial dependency on Qt 5.1.

        * platform/graphics/qt/FontPlatformDataQt.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

2013-04-03  Takeshi Yoshino  <tyoshino@chromium.org>

        Refine LOG messages in WebSocket related components
        https://bugs.webkit.org/show_bug.cgi?id=113852

        Reviewed by Kent Tamura.

        Refine LOG messages by
        - Make them contain method names to ease identifying where the event occurred.
        - For consistency, make all messages print the pointer of the origin instance.
        - Quote UTF8 data in LOG messages.
        - For overloaded methods, add the type to clarify which one is run

        * Modules/websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        (WebCore::WebSocket::send):
        (WebCore::WebSocket::close):
        (WebCore::WebSocket::contextDestroyed):
        (WebCore::WebSocket::didConnect):
        (WebCore::WebSocket::didReceiveMessage):
        (WebCore::WebSocket::didReceiveBinaryData):
        (WebCore::WebSocket::didReceiveMessageError):
        (WebCore::WebSocket::didUpdateBufferedAmount):
        (WebCore::WebSocket::didStartClosingHandshake):
        (WebCore::WebSocket::didClose):
        * Modules/websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::connect):
        (WebCore::WebSocketChannel::subprotocol):
        (WebCore::WebSocketChannel::extensions):
        (WebCore::WebSocketChannel::send):
        (WebCore::WebSocketChannel::bufferedAmount):
        (WebCore::WebSocketChannel::close):
        (WebCore::WebSocketChannel::fail):
        (WebCore::WebSocketChannel::disconnect):
        (WebCore::WebSocketChannel::willOpenSocketStream):
        (WebCore::WebSocketChannel::didOpenSocketStream):
        (WebCore::WebSocketChannel::didCloseSocketStream):
        (WebCore::WebSocketChannel::didReceiveSocketStreamData):
        (WebCore::WebSocketChannel::didFailSocketStream):
        (WebCore::WebSocketChannel::didStartLoading):
        (WebCore::WebSocketChannel::didReceiveData):
        (WebCore::WebSocketChannel::didFinishLoading):
        (WebCore::WebSocketChannel::didFail):
        (WebCore::WebSocketChannel::appendToBuffer):
        (WebCore::WebSocketChannel::processBuffer):
        (WebCore::WebSocketChannel::startClosingHandshake):
        (WebCore::WebSocketChannel::closingTimerFired):
        * Modules/websockets/WebSocketDeflater.cpp:
        (WebCore::WebSocketDeflater::~WebSocketDeflater):
        (WebCore::WebSocketInflater::~WebSocketInflater):
        * Modules/websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::readServerHandshake):
        * platform/network/chromium/SocketStreamHandle.cpp:
        (WebCore::SocketStreamHandleInternal::connect):
        (WebCore::SocketStreamHandleInternal::send):
        (WebCore::SocketStreamHandleInternal::close):
        (WebCore::SocketStreamHandleInternal::didOpenStream):
        (WebCore::SocketStreamHandleInternal::didSendData):
        (WebCore::SocketStreamHandleInternal::didReceiveData):
        (WebCore::SocketStreamHandleInternal::didClose):
        (WebCore::SocketStreamHandleInternal::didFail):

2013-04-03  Tor Arne Vestbø  <tor.arne.vestbo@digia.com>

        [Qt] Update QMAKE_MAC_SDK check for Qt 5.1

        Relies on QMAKE_MAC_SDK_VERSION set in features.prf

        Reviewed by Simon Hausmann.

        * WebCore.pri:

2013-04-03  Kristof Provost  <kristof@codepro.be>

        [Qt] assignToHTMLImageElement no longer exists in Qt5
        https://bugs.webkit.org/show_bug.cgi?id=113639

        Reviewed by Simon Hausmann.

        No new tests: covered by ./Source/WebKit/qt/tests/hybridPixmap/test.html

        * bridge/qt/qt_pixmapruntime.cpp:
        (JSC::Bindings::QtPixmapRuntime::getClassRef):

2013-04-03  Antoine Quint  <graouts@apple.com>

        Web Inspector: crash in WebCore::InspectorLayerTreeAgent::buildObjectForLayer if a layer is created for an anonymous RenderObject (:first-letter)
        https://bugs.webkit.org/show_bug.cgi?id=113768

        The InspectorLayerTreeAgent now knows how to deal with anonymous RenderObjects
        for the :first-letter and :first-line pseudo-elements.

        Reviewed by Timothy Hatcher.

        Test: inspector-protocol/layers/layers-anonymous.html

        * inspector/Inspector.json:
        Change the Layer type in the LayerTree domain to have more accurate terminology
        (pseudo-element vs. pseudo-class) and a new optional isAnonymous flag for layers
        associated to anonymous RenderObjects.

        * inspector/InspectorLayerTreeAgent.cpp:
        (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
        Check for anonymous RenderObjects and set the parent renderer's node as the node
        for this layer since anonymous renderers have the Document as their node and this
        would not be satisfactory to show in a front-end. We also check for anonymous
        RenderObjects for the :first-letter and :first-line pseudo-elements and set them
        in the pseudoElement property of the Layer object created such that a front-end
        could correctly identify what type of pseudo-element for the associated node
        yielded this layer.

        (WebCore::InspectorLayerTreeAgent::idForNode):
        Here we fix the actual crash by first checking if the node provided is null and
        returning 0 if there's no such node. This ensures that any scenario where there
        is no node associated with the RenderObject simply informs of the front-end that
        no such node exists and we do not crash.

2013-04-03  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [REGRESSION(r147117)][Elements] Copy/paste keyboard shortcuts broken in "Edit as HTML"
        https://bugs.webkit.org/show_bug.cgi?id=113798

        Reviewed by Yury Semikhatsky.

        Stop propagation of "copy" event from the multiline editor's
        CodeMirror host element so that it is not handled by
        WebInspector.documentCopy().

        * inspector/front-end/UIUtils.js:
        (.consumeCopy):
        (.cleanUpAfterEditing):
        * inspector/front-end/inspector.js:
        (WebInspector.addMainEventListeners):

2013-04-03  Takashi Sakamoto  <tasak@google.com>

        With borders of differing alpha, the corners become squared off
        https://bugs.webkit.org/show_bug.cgi?id=113744

        Reviewed by Simon Fraser.

        paintTranslucentBorderSides should pick up borders with common color
        in order: top, bottom, left and right (not top, right, bottom and
        left), because willBeOverdrawn depends on the assumption, borders are
        drawn in order: top, bottom, left and right.

        Test: fast/borders/border-left-right-same-bottom-different-color.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):

2013-04-03  Mihnea Ovidenie  <mihnea@adobe.com>

        [New Multicolumn]Remove assert in RenderMultiColumnFlowThread::createAnonymous
        https://bugs.webkit.org/show_bug.cgi?id=113855

        Reviewed by Antti Koivisto.

        Remove CSSRegions specific assert from new multicolumn implementation.
        No change in functionality, no new tests.

        * rendering/RenderMultiColumnFlowThread.cpp:
        (WebCore::RenderMultiColumnFlowThread::createAnonymous):

2013-04-03  Mike West  <mkwst@chromium.org>

        X-Frame-Options: Blocked frames should not inherit their parent's SecurityOrigin.
        https://bugs.webkit.org/show_bug.cgi?id=112903

        Reviewed by Adam Barth.

        This change brings WebKit in line with IE and Gecko's behavior, both of
        which treat the blocked frame as being cross-origin for the purposes of
        access checks ('[frame].contentWindow.location.href' is inaccessible,
        for example).

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv):
            Rather than redirecting to 'about:blank', redirect to a URL which
            does not inherit the SecurityOrigin of the parent.
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::responseReceived):
            Before calling cancelMainResourceLoad, ensure that the frame's
            document is sandboxed into a unique origin so that it doesn't inherit
            the parent's SecurityOrigin.

2013-04-03  Mikhail Naganov  <mnaganov@chromium.org>

        [Chromium] Implement target-densityDpi viewport property emulation
        https://bugs.webkit.org/show_bug.cgi?id=110835

        The value is only used in the Chromium port, when the corresponding
        setting is enabled.

        This is needed for supporting existing WebView-based applications
        that rely on this property.

        Reviewed by Adam Barth.

        * dom/ViewportArguments.cpp:
        (WebCore::findTargetDensityDPIValue):
        (WebCore):
        (WebCore::setViewportFeature):
        * dom/ViewportArguments.h:
        (WebCore::ViewportArguments::ViewportArguments):
        (ViewportArguments):
        (WebCore::ViewportArguments::operator==):

2013-04-03  Mike West  <mkwst@chromium.org>

        Extract URL that doesn't inherit a parent's SecurityOrigin out into a constant.
        https://bugs.webkit.org/show_bug.cgi?id=113780

        Reviewed by Jochen Eisinger.

        We're scheduling navigations to 'data:text/html,' in XSSAuditor in
        order to end up on a page that doesn't inherit its parent's
        SecurityOrigin. We'll be reusing this mechainsm to solve
        http://wkbug.com/112903

        This patch makes us more explicit about what we're doing and why.
        It doesn't change any behavior: XSSAuditor tests should still pass.

        * html/parser/XSSAuditorDelegate.cpp:
        (WebCore::XSSAuditorDelegate::didBlockScript):
            Use SecurityOrigin::urlWithUniqueSecurityOrigin rather than a
            literal string to make our intentions clear.
        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::urlWithUniqueSecurityOrigin):
        * page/SecurityOrigin.h:
            Add the new static method.

2013-04-02  Chris Fleizach  <cfleizach@apple.com>

        clean up static casts in WebAccessibilityObjectWrapperMac.mm to methods like toAccessibilityList()
        https://bugs.webkit.org/show_bug.cgi?id=113828

        Reviewed by Tim Horton.

        static_cast changed to toAccessibilityList().

        * accessibility/AccessibilityList.h:
        (WebCore::toAccessibilityList):
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper subrole]):
        (-[WebAccessibilityObjectWrapper roleDescription]):

2013-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r147370.
        http://trac.webkit.org/changeset/147370
        https://bugs.webkit.org/show_bug.cgi?id=113850

        This patch is causing crashes in video tests on all Mac bots.
        (Requested by jernoble_ on #webkit).

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::~HTMLMediaElement):

2013-04-02  James Craig  <james@cookiecrook.com>

        AXRoleDescripton for DL is "list"; should be "description list"
        https://bugs.webkit.org/show_bug.cgi?id=111665

        Reviewed by Chris Fleizach.

        Defining the role and description strings, and accessors for DL.
        This previously relied on getting the role and description from the platform API.

        Updated existing test coverage.

        * English.lproj/Localizable.strings:
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (createAccessibilityRoleMap):
        (-[WebAccessibilityObjectWrapper subrole]):
        (-[WebAccessibilityObjectWrapper roleDescription]):
        * platform/LocalizedStrings.cpp:
        (WebCore::AXDescriptionListText):
        (WebCore):
        * platform/LocalizedStrings.h:
        (WebCore):
        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
        (WebCore::AXDescriptionListText):
        (WebCore):
        * platform/chromium/LocalizedStringsChromium.cpp:
        (WebCore::AXDescriptionListText):
        (WebCore):
        * platform/efl/LocalizedStringsEfl.cpp:
        (WebCore::AXDescriptionListText):
        (WebCore):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::AXDescriptionListText):
        (WebCore):
        * platform/qt/LocalizedStringsQt.cpp:
        (WebCore::AXDescriptionListText):
        (WebCore):

2013-04-02  Eugene Klyuchnikov  <eustas@chromium.org>

        Web Inspector: [Network] Split business logic and presentation for initiator column.
        https://bugs.webkit.org/show_bug.cgi?id=113486

        Reviewed by Pavel Feldman.

        Currently business logic and presentation are mixed.
        This prevents making cell renderer static and applying
        viewport rendering, because initiator sorting function
        depends on data written when cell is rendered.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
        Removed business logic. Use "initiatorInfo".
        (WebInspector.NetworkDataGridNode.InitiatorComparator):
        Use "initiatorInfo".
        * inspector/front-end/NetworkRequest.js:
        (WebInspector.NetworkRequest.prototype.initiatorInfo):
        Extracted business logic from "refreshInitiatorCell".

2013-04-02  Ryosuke Niwa  <rniwa@webkit.org>

        needsLeopardMailQuirks should be removed
        https://bugs.webkit.org/show_bug.cgi?id=113749

        Reviewed by Benjamin Poulain.

        Removed needsLeopardMailQuirks from settings.in after r147447.

        * page/Settings.in:

2013-04-02  Jaehun Lim  <ljaehun.lim@samsung.com>

        [css3-text] Rendering -webkit-each-line value for text-indent from css3-text
        https://bugs.webkit.org/show_bug.cgi?id=113259

        Reviewed by Levi Weintraub.

        CSS3 TEXT introduces new value, "each-line" for text-indent.
        Indentation affects the first line of the block container as well as each line
        after a forced line break, but does not affect lines after a soft wrap break.

        This patch is the rendering part to support each-line value for text-indent.
        It's prefixed and guarded by CSS3_TEXT flag.

        Test: fast/css3-text/css3-text-indent/text-indent-each-line.html

        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::availableLogicalWidthForLine):
        (WebCore::RenderBlock::logicalRightOffsetForLine):
        (WebCore::RenderBlock::logicalLeftOffsetForLine):
        (WebCore::RenderBlock::startOffsetForLine):
        (WebCore::RenderBlock::endOffsetForLine):
        (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
        (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
            Rename a parameter from firstLine to shouldIndentText.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineWidth::LineWidth):
        (WebCore::LineWidth::shouldIndentText): Return boolean according to m_shouldIndentText.
        (WebCore::LineWidth::updateAvailableWidth):
        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
        (WebCore::LineWidth::fitBelowFloats):
            Add enum IndentTextOrNot and m_shouldIndentText.
            Use m_shouldIndentText instead of m_isFirstLine.

        (WebCore::requiresIndent): Decide whether text indentation is required.
        (WebCore::updateLogicalInlinePositions):
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

2013-04-02  Glenn Adams  <glenn@skynav.com>

        Generalize prior line break context state and names.
        https://bugs.webkit.org/show_bug.cgi?id=113823

        Reviewed by Darin Adler.

        No new tests required due to no behavioral change.

        * platform/text/TextBreakIterator.h:
        (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
        (WebCore::LazyLineBreakIterator::lastCharacter):
        (WebCore::LazyLineBreakIterator::secondToLastCharacter):
        (WebCore::LazyLineBreakIterator::setPriorContext):
        (WebCore::LazyLineBreakIterator::updatePriorContext):
        (WebCore::LazyLineBreakIterator::resetPriorContext):
        (WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator):
        Store previous characters as prior context buffer used directly
        by line break iterator implementation. Rename members to reflect
        somewhat more general usage. Also fix bad indentations.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
        Use renamed line break iterator methods.

2013-04-02  Emil A Eklund  <eae@chromium.org>

        Padding applied twice for empty generated RenderInlines
        https://bugs.webkit.org/show_bug.cgi?id=113800

        Reviewed by Levi Weintraub.
        
        The padding for empty generated content render objects is
        incorrectly applied twice. Regression from r140693.

        Test: fast/css-generated-content/margin-empty-content.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::inlineLogicalWidth):

2013-04-02  Levi Weintraub  <leviw@chromium.org>

        InlineIterator needs to be updated when RenderCombineText shrinks at a line break
        https://bugs.webkit.org/show_bug.cgi?id=113733

        Reviewed by Emil A Eklund.

        Update stale InlineIterators that point beyond the end of a RenderCombineText that's
        shrunk when RenderCombineText::combineText() is called.

        Test: fast/text/international/combine-at-line-break-crash.html

        * rendering/BidiRun.h:
        (WebCore::BidiRun::BidiRun): Adding an assertion that runs are created within
        the bounds of their associated RenderText.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::iteratorIsBeyondEndOfRenderCombineText): Added.
        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Update stale iterators.

2013-04-02  Max Vujovic  <mvujovic@adobe.com>

        [CSS Filters] Filter outsets clipped on composited layers when filter is applied after first layout
        https://bugs.webkit.org/show_bug.cgi?id=109098

        Reviewed by Dean Jackson.

        This patch addresses the following issues:
        (1) Compositors who can compute their own filter outsets don't need WebKit to inflate the
            composited layer bounds. Eventually, all platforms' compositors should be able to
            compute their own filter outsets.
        (2) When filter outsets change, we need to update composited layer bounds if the filters are
            painted in software.
        (3) When filter outsets change, we need to recompute the overlap map to promote the correct
            layers to composited layers on all platforms.

        Tests: css3/filters/composited-layer-bounds-after-sw-blur-animation.html
               css3/filters/composited-layer-bounds-with-composited-blur.html
               css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change.html
               css3/filters/composited-layer-promotion-after-outset-overlap-change-using-composited-shadow.html
               css3/filters/composited-layer-promotion-after-outset-overlap-change-using-sw-shadow.html

        * platform/graphics/IntRectExtent.h:
        (WebCore::IntRectExtent::isZero):
        (IntRectExtent):

            Make isZero public on IntRectExtent.

        * rendering/RenderLayer.cpp:
        (WebCore::hasOrHadFilters):

            Helper function used to exit early from filters related code.

        (WebCore::RenderLayer::updateFilters):

            Move filter updating code from RenderLayer::styleChanged into this new method.

            This method calls RenderLayerBacking::updateFilters instead of
            RenderLayerBacking::updateGraphicsLayerGeometry. RenderLayerBacking::updateFilters lets
            us know whether there was a filter paint mode change (i.e. the filters were painted in
            software and are now painted in the compositor, or vice-versa). We need to know this
            earlier, in RenderLayer::styleChanged, because we may need to rebuild the compositing
            layers due to a filter paint mode change.

        (WebCore::RenderLayer::styleChanged):

            Add a condition for filters for setCompositingLayersNeedRebuild. If the filter outsets
            on a layer changed, we need to rebuild the compositing layers because there could be new
            overlap. Likewise, if there are or were filter outsets and the filter paint mode changed
            the layer bounds (and child positions) may have changed. In either case, we don't
            rebuild the compositing layers if there is an accelerated filter animation running.

            Remove old code to detect a filter paint mode change from the end of
            RenderLayer::styleChanged because it could never be executed. The old code counted on
            RenderLayerBacking::canCompositeFilters to change on its own, but it doesn't change
            unless updateFilters gets called. Thus, we could never enter the if statement that
            calls setBackingNeedsRepaint.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateFilters):

            Now return true if there was a filter paint mode change, so RenderLayer::styleChanged
            can decide if it should rebuild the compositing layers.

            Call updateOrRemoveFilterEffectRenderer and setContentsNeedDisplay if there was a
            render mode change. We need to either destroy or create the software renderer and we
            need to repaint the layer contents if there was a render mode change.

        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

            Don't call updateFilters here. Call it earlier in RenderLayer::styleChanged, for reasons
            explained above.

        * rendering/RenderLayerBacking.h:
        (RenderLayerBacking):

            Make updateFilters public so RenderLayer::styleChanged can call it.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::calculateCompositedBounds):

            If the platform's compositor computes filter outsets for its layers internally, do not
            inflate WebKit's composited bounds for filter outsets. This results in smaller layers
            on Safari. Note that we still need to include filter outsets in layer bounds for other
            situations like overlap testing in WebKit and when we're painting filters in software.

2013-04-02  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Make libsecret optional
        https://bugs.webkit.org/show_bug.cgi?id=113821

        Reviewed by Gustavo Noronha Silva.

        Don't try to use libsecret if credential storage is disabled.

        * platform/gtk/GRefPtrGtk.cpp: Protect libsecret sections.
        * platform/gtk/GRefPtrGtk.h: Ditto.
        * platform/network/gtk/CredentialBackingStore.cpp: Ditto.

2013-04-02  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Exclusions] refactor shape-outside code to use isFloatingWithShapeOutside() helper method
        https://bugs.webkit.org/show_bug.cgi?id=113799

        Reviewed by Dirk Schulze.

        When reviewing my patch for bug 110349, Julien mentioned that the
        common test for floating with shape outside should be factored out.
        This patch does that.

        No new functionality, so no new tests.

        * rendering/ExclusionShapeOutsideInfo.cpp:
        (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Use helper method.
        * rendering/RenderBox.h:
        (WebCore::RenderBox::exclusionShapeOutsideInfo): Ditto.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::shouldBeNormalFlowOnly): Ditto.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::hasPaintOffset):  Ditto.
        (WebCore::RenderObject::isFloatingWithShapeOutside): Add method to
            encapsulate the common test.

2013-04-02  Jer Noble  <jer.noble@apple.com>

        Add platform AudioSession and iOS platform-specific code.
        https://bugs.webkit.org/show_bug.cgi?id=113813
        <rdar://problem/11701792>

        Reviewed by Eric Carlson.

        Replace the deprecated AudioToolbox AudioSession APIs with the new AVAudioSession API.
        To protect against exposing platform specific intrinsics to cross-platform code, add a
        platform generic class AudioSession, with port-specific implementations. A default
        implementation is provided.

        Add a new listener interface to receive interruption notifications:
        * platform/audio/AudioSessionListener.h: Added.
        (WebCore::AudioSessionListener::AudioSessionListener):
        (WebCore::AudioSessionListener::~AudioSessionListener):

        Add a platform generic AudioSession class:
        * platform/audio/AudioSession.cpp: Added.
        (AudioSession::sharedSession): AudioSession is a singleton object, and this is its accessor.
        (AudioSession::addListener): Add the parameter to the listeners set.
        (AudioSession::removeListener): Remove the parameter from the listers set.
        (AudioSession::beganAudioInterruption): Iterate over the parameters.
        (AudioSession::endedAudioInterruption): Ditto.
        (AudioSession::AudioSession): Empty stub.
        (AudioSession::~AudioSession): Ditto.
        (AudioSession::setCategory): Ditto.
        (AudioSession::category): Ditto.
        (AudioSession::sampleRate): Ditto.
        (AudioSession::numberOfOutputChannels): Ditto.
        (AudioSession::setActive): Ditto.
        (AudioSession::preferredBufferDuration): Ditto.
        (AudioSession::setPreferredBufferDuration): Ditto.
        * platform/audio/AudioSession.h: Added.

        Add IOS-specific AudioSession implementation:
        * platform/audio/ios/AudioSessionIOS.mm: Added.
        (-[WebAudioSessionHelper initWithCallback:WebCore::]): Register for interruption notifications.
        (-[WebAudioSessionHelper dealloc]): Unregister for interruption notifications.
        (-[WebAudioSessionHelper interruption:]): Pass to AudioSession.
        (WebCore::AudioSessionPrivate::AudioSessionPrivate): Private storage for AudioSessionIOS.
        (WebCore::AudioSession::AudioSession): Create AudioSessionPrivate and WebAudioSessionHelper.
        (WebCore::AudioSession::~AudioSession): Simple destructor.
        (WebCore::AudioSession::setCategory): Check the current categoryOverride, and refuse to overwrite
            "MediaPlayback" with "AmbientSound".
        (WebCore::AudioSession::setCategoryOverride): Simple setter.
        (WebCore::AudioSession::categoryOverride): Simple getter.
        (WebCore::AudioSession::category): Pass to AVAudioSession.
        (WebCore::AudioSession::sampleRate): Ditto.
        (WebCore::AudioSession::numberOfOutputChannels): Ditto.
        (WebCore::AudioSession::setActive): Ditto.
        (WebCore::AudioSession::preferredBufferDuration): Ditto.
        (WebCore::AudioSession::setPreferredBufferDuration): Ditto.

        Use the new AudioSession class in place of explicit AudioToolbox or AVAudioSession calls:
        * platform/audio/ios/AudioDestinationIOS.cpp:
        (WebCore::AudioDestination::hardwareSampleRate): Pass to AudioSession.
        (WebCore::AudioDestination::maxChannelCount): Ditto.
        (WebCore::AudioDestinationIOS::AudioDestinationIOS): Register for listeners and activate.
        (WebCore::AudioDestinationIOS::~AudioDestinationIOS): Unregister and deactivate.
        (WebCore::AudioDestinationIOS::configure): Use AudioSession to set the buffer length.
        * platform/audio/ios/AudioDestinationIOS.h:

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

2013-04-02  Jer Noble  <jer.noble@apple.com>

        Upstream AudioDestinationIOS.
        https://bugs.webkit.org/show_bug.cgi?id=113806

        Reviewed by Eric Carlson.

        Upstream AudioDestinationIOS from the iOS repository.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/audio/ios/AudioDestinationIOS.cpp: Added.
        (WebCore::audioDestinations):
        (WebCore::AudioDestination::create):
        (WebCore::AudioDestination::hardwareSampleRate):
        (WebCore::AudioDestination::maxChannelCount):
        (WebCore::AudioDestinationIOS::AudioDestinationIOS):
        (WebCore::AudioDestinationIOS::~AudioDestinationIOS):
        (WebCore::AudioDestinationIOS::configure):
        (WebCore::AudioDestinationIOS::audioDestinationInterruptionListener):
        (WebCore::AudioDestinationIOS::initializeAudioSession):
        (WebCore::AudioDestinationIOS::start):
        (WebCore::AudioDestinationIOS::stop):
        (WebCore::AudioDestinationIOS::beganAudioInterruption):
        (WebCore::AudioDestinationIOS::endedAudioInterruption):
        (WebCore::AudioDestinationIOS::render):
        (WebCore::AudioDestinationIOS::inputProc):
        (WebCore::AudioDestinationIOS::frameSizeChangedProc):
        * platform/audio/ios/AudioDestinationIOS.h: Added.
        (AudioDestinationIOS):
        (WebCore::AudioDestinationIOS::isPlaying):
        (WebCore::AudioDestinationIOS::sampleRate):

2013-04-02  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        fast/dom/HTMLImageElement/image-alt-text.html and fast/dom/HTMLInputElement/input-image-alt-text.html are failing
        https://bugs.webkit.org/show_bug.cgi?id=94198

        Reviewed by Darin Adler.

        Fix alt text not being displayed for img elements or input of type
        "image" due to insufficient size. imageSizeForError() was adding
        padding for the alt text but setImageSizeForAltText() was not. The
        issue was occurring in paintReplaced() because the contentWidth() /
        contentHeight() would be exactly the same size as the alt text.
        However, paintReplaced() first draws an outline rect where the
        image should be and then reduces the usable width / height for the
        alt text by 2 so that the text does not get printed over the rect
        borders. However, after decreasing the usable width / height, there
        is no longer enough space to draw the text.

        No new tests, already covered by existing tests.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::setImageSizeForAltText): Add padding to the text size
        so that the alt text can still be drawn, despite the outline rect
        borders. Such padding was already used in imageSizeForError(). Also use
        ceilf() for the value returned by Font::width() instead of truncating it.
        This is needed because we need to fit the whole text in the image and this
        may not be the case if we truncate.
        (WebCore::RenderImage::paintReplaced):

2013-04-02  Raymond Toy  <rtoy@google.com>

        Add support for using ARM FFT in WebAudio
        https://bugs.webkit.org/show_bug.cgi?id=109755

        Reviewed by Chris Rogers.

        No new tests.

        * WebCore.gyp/WebCore.gyp: Add dependency on openmax_dl when use_openmax_dl_fft is enabled.
        * WebCore.gypi: Add source FFTFrameOpenMAXDLAndroid.cpp
        * platform/audio/AudioArray.h:
        (WebCore::AudioArray::allocate): Need 32-byte aligntment with the
        OpenMAX DL FFT.
        * platform/audio/FFTFrame.h:
        (FFTFrame): Support OpenMAX DL FFT
        * platform/audio/FFTFrameStub.cpp: Support OpenMAX DL FFT
        * platform/audio/chromium/FFTFrameOpenMAXDLAndroid.cpp: Added.  Implements the
        necessary interface using the OpenMAX DL FFT routines.
        (WebCore):
        (WebCore::FFTFrame::FFTFrame):
        (WebCore::FFTFrame::initialize):
        (WebCore::FFTFrame::cleanup):
        (WebCore::FFTFrame::~FFTFrame):
        (WebCore::FFTFrame::multiply):
        (WebCore::FFTFrame::doFFT):
        (WebCore::FFTFrame::doInverseFFT):
        (WebCore::FFTFrame::realData):
        (WebCore::FFTFrame::imagData):
        (WebCore::FFTFrame::contextForSize):

2013-04-02  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>

        [GStreamer] Memory leaks in MediaPlayerPrivateGStreamer
        https://bugs.webkit.org/show_bug.cgi?id=113762

        Reviewed by Philippe Normand.

        Don't leak strings returned by gst_element_get_name() and
        gst_missing_plugin_message_get_installer_detail().

        No new tests. No change in behavior.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):

2013-04-02  Min Qin  <qinmin@chromium.org>

        Fix css style for CC button on android
        https://bugs.webkit.org/show_bug.cgi?id=113815

        Reviewed by Adam Barth.

        The default CC button size is 16px as defined in mediaControls.css. Android should use 35px.
        This change fixed that problem.
        Also fixed a problem that r142947 does not change the display of fullscreen button to -webkit-flex
        Android does not run media layout tests currently. Will fix the test expectations when layout tests are run in content shell.

        * css/mediaControlsChromiumAndroid.css:
        (video::-webkit-media-controls-fullscreen-button):
        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):

2013-04-02  Alexey Proskuryakov  <ap@apple.com>

        [Mac] Remove WKCreateNSURLConnectionDelegateProxy
        https://bugs.webkit.org/show_bug.cgi?id=113810

        Reviewed by Anders Carlsson.

        This WKSI function is not used any more.

        * WebCore.exp.in:
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2013-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r147464.
        http://trac.webkit.org/changeset/147464
        https://bugs.webkit.org/show_bug.cgi?id=113812

        JSSQLResultSet.cpp:131:24: error: implicit conversion loses
        integer precision: 'int64_t' (aka 'long long') to 'int'
        [-Werror,-Wshorten-64-to-32] (Requested by xenon on #webkit).

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjAttrWithGetterException):
        (WebCore::jsTestObjStringAttrWithGetterException):
        (WebCore::jsTestObjWithScriptStateAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebCore::jsTestObjNullableDoubleAttribute):
        (WebCore::jsTestObjNullableLongAttribute):
        (WebCore::jsTestObjNullableBooleanAttribute):
        (WebCore::jsTestObjNullableStringAttribute):
        (WebCore::jsTestObjNullableLongSettableAttribute):
        (WebCore::jsTestObjNullableStringValue):
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore::jsTestTypedefsAttrWithGetterException):
        (WebCore::jsTestTypedefsStringAttrWithGetterException):

2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: Make Source Frame & status bar a layout boundary
        https://bugs.webkit.org/show_bug.cgi?id=112353

        Reviewed by Pavel Feldman.

        No new tests: no change in behaviour.

        - Add View.markAsLayoutBoundary method to mark a view as a layout
        boundary. This will force this view to autoupdate its height to actual
        pixel value.
        - Mark both CodeMirrorTextEditor and DefaultTextEditor as a layout
        boundary.
        - Mark main-status-bar element with a layout-boundary class.

        * inspector/front-end/CodeMirrorTextEditor.js:
        (WebInspector.CodeMirrorTextEditor):
        * inspector/front-end/DefaultTextEditor.js:
        * inspector/front-end/View.js:
        (WebInspector.View.prototype.markAsLayoutBoundary):
        (WebInspector.View.prototype._processWillShow):
        (WebInspector.View.prototype._processWasShown):
        (WebInspector.View.prototype._processOnResize):
        * inspector/front-end/inspector.css:
        (.layout-boundary):
        * inspector/front-end/inspector.html:

2013-04-02  Alexey Proskuryakov  <ap@apple.com>

        <rdar://problem/13551119> [WK2] Crashes in NetworkProcess when canceling loads
        https://bugs.webkit.org/show_bug.cgi?id=113803

        Reviewed by Darin Adler.

        Stop using a delegate proxy. It hasn't been needed in years, and the extra layer
        just adds bugs.

        This specific issue gets fixed because connection retains its delegate is retained,
        but a proxy does not.

        * WebCore.exp.in:
        * platform/network/ResourceHandle.h:
        * platform/network/ResourceHandleInternal.h:
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::releaseDelegate):
        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
        Removed code that was dealing with delegate proxy.

2013-04-02  John J. Barton  <johnjbarton@chromium.org>

        Web Inspector: Encapsulate SetEmbedderData/GetEmbedderData
        https://bugs.webkit.org/show_bug.cgi?id=113331

        Reviewed by Pavel Feldman.

        Refactor to encapsulate uses of V8 Set/GetEmbedderData together
        with uses of V8 Set/GetAlignedPointerInEmbedderData since these
        functions operate on the same underyling array in V8.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::setContextDebugId):
        (WebCore::ScriptController::contextDebugId):
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::setInjectedScriptContextDebugId):
        * bindings/v8/V8PerContextData.cpp:
        (WebCore::V8PerContextDebugData::setContextDebugData):
        (WebCore):
        (WebCore::V8PerContextDebugData::contextDebugId):
        (WebCore::V8PerContextDebugData::createDebugData):
        (WebCore::V8PerContextDebugData::getDebugData):
        (WebCore::V8PerContextDebugData::setDebugData):
        * bindings/v8/V8PerContextData.h:
        (V8PerContextDebugData):
        (WebCore):

2013-04-02  Alexei Filippov  <alph@chromium.org>

        Web Inspector: Adjust toolbar labels position
        https://bugs.webkit.org/show_bug.cgi?id=113805

        Reviewed by Pavel Feldman.

        Move the labels 1px up to make them centered.
        Also fix font centering in native memory distribution snapshot.

        * inspector/front-end/inspector.css:
        (.toolbar-label):
        * inspector/front-end/nativeMemoryProfiler.css:
        (.native-snapshot-view .data-grid td):

2013-04-02  Beth Dakin  <bdakin@apple.com>

        Viewport constrained elements should work properly with headers and footers
        https://bugs.webkit.org/show_bug.cgi?id=113743

        Reviewed by Simon Fraser.

        ScrollableArea::constrainScrollPositionForOverhang() needs to take headerHeight 
        and footerHeight into account. It also needs to use totalContentsSize() instead of 
        contentsSize().

        Send totalContentsSize() instead of contentsSize() and also send headerHeight() 
        and footerHeight().
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollOffsetForFixedPosition):
        * page/FrameView.h:
        (FrameView):

        The scrolling tree will also need to know about header and footer heights since it 
        will need these values to call 
        ScrollableArea::constrainScrollPositionForOverhang().
        * page/scrolling/ScrollingStateScrollingNode.cpp:
        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
        (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
        (WebCore::ScrollingStateScrollingNode::setFooterHeight):
        * page/scrolling/ScrollingStateScrollingNode.h:
        (WebCore::ScrollingStateScrollingNode::headerHeight):
        (ScrollingStateScrollingNode):
        (WebCore::ScrollingStateScrollingNode::footerHeight):
        * page/scrolling/ScrollingTreeScrollingNode.cpp:
        (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
        (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
        * page/scrolling/ScrollingTreeScrollingNode.h:
        (WebCore::ScrollingTreeScrollingNode::headerHeight):
        (WebCore::ScrollingTreeScrollingNode::footerHeight):
        (ScrollingTreeScrollingNode):
        * page/scrolling/mac/ScrollingCoordinatorMac.h:
        (ScrollParameters):
        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
        (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode):
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

        Use footerHeight when calculating the maxValue and use headerHeight in determining 
        what the minimum value is. 
        * platform/ScrollableArea.cpp:
        (WebCore::constrainedScrollPosition):
        (WebCore::ScrollableArea::constrainScrollPositionForOverhang):
        * platform/ScrollableArea.h:
        (ScrollableArea):

2013-04-02  Stephen White  <senorblanco@chromium.org>

        [Skia] Enable GPU-accelerated Skia path for FEComposite filter.
        https://bugs.webkit.org/show_bug.cgi?id=113797

        Reviewed by Adrienne Walker.

        Tests: css3/filters/effect-reference-composite-hw.html
               css3/filters/effect-reference-composite.html

        * WebCore.gypi:
        * platform/graphics/filters/FEComposite.h:
        Enable Skia DAG hook for FEComposite.
        * platform/graphics/filters/skia/FECompositeSkia.cpp: Added.
        (WebCore::FEComposite::createImageFilter):
        Implement skia DAG builder for FEComposite, and implement generic
        skia version of composite filter.

2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: Avoid using style.display="inline-block"
        https://bugs.webkit.org/show_bug.cgi?id=113802

        Reviewed by Pavel Feldman.

        No new tests.

        - Create class "inline-block" which will set "display: inline-block"
        style.
        - Use this class with DIV elements to get "inline-block" element.

        * inspector/front-end/ObjectPopoverHelper.js:
        (WebInspector.ObjectPopoverHelper.prototype.):
        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        * inspector/front-end/inspector.css:
        (.inline-block):

2013-04-02  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Timeline] warning markers are not propagated to coalesced records
        https://bugs.webkit.org/show_bug.cgi?id=113789

        Reviewed by Pavel Feldman.

        Test: inspector/timeline/timeline-coalescing.html

        * inspector/front-end/TimelinePresentationModel.js: set childHasWarning on coalescing record if the record it replaces had warnings.
        (WebInspector.TimelinePresentationModel.prototype._replaceWithCoalescedRecord):

2013-04-02  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: memory instrumentation for external strings is broken
        https://bugs.webkit.org/show_bug.cgi?id=113788

        Reviewed by Pavel Feldman.

        Native memory snapshot now provides information about JS external strings.

        Test: inspector/profiler/memory-instrumentation-external-string.html

        * inspector/InspectorMemoryAgent.cpp:

2013-04-02  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: memory instrumentation for external arrays is broken
        https://bugs.webkit.org/show_bug.cgi?id=113790

        Report pointers to external arrays as retaining ones to make sure their
        size is counted correctly.

        Reviewed by Pavel Feldman.

        Test: inspector/profiler/memory-instrumentation-external-array.html

        * inspector/InspectorMemoryAgent.cpp:

2013-04-02  Peter Beverloo  <peter@chromium.org>

        [JSC] Don't create a JSValue if it's not going to be used for nullable attributes
        https://bugs.webkit.org/show_bug.cgi?id=112711

        Reviewed by Sam Weinig.

        When nullable attributes are used, it's possible that we disregard the JSValue
        when null should be returned instead. This is a waste, and we should cast the
        native type to a JSValue as late as possible.

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        (NativeValueToLocal):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::jsTestObjAttrWithGetterException):
        (WebCore::jsTestObjStringAttrWithGetterException):
        (WebCore::jsTestObjWithScriptStateAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebCore::jsTestObjNullableDoubleAttribute):
        (WebCore::jsTestObjNullableLongAttribute):
        (WebCore::jsTestObjNullableBooleanAttribute):
        (WebCore::jsTestObjNullableStringAttribute):
        (WebCore::jsTestObjNullableLongSettableAttribute):
        (WebCore::jsTestObjNullableStringValue):
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore::jsTestTypedefsAttrWithGetterException):
        (WebCore::jsTestTypedefsStringAttrWithGetterException):

2013-04-02  Bem Jones-Bey  <bjonesbe@adobe.com>

        [css exclusions] overflow:hidden undoes shape-outside offsets
        https://bugs.webkit.org/show_bug.cgi?id=110349

        Reviewed by Julien Chaffraix.

        When overflow: hidden was set on a float with shape-outside, the
        offset from the shape-outside was being ignored. This was because the
        float was being placed in the normal flow, causing the offsets to be
        calculated differently. Since floats with shape outside behave like
        positioned objects in many places, I have caused them to take the same
        behavior as positioned objects in this case as well: the floats with
        shape-outside do not get placed in the normal flow when overflow:
        hidden is set.

        Test: fast/exclusions/shape-outside-floats/shape-outside-floats-overflow-hidden.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::shouldBeNormalFlowOnly): Floats that have
            shape-outside should not be in the normal flow.

2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: resource preview of html/js/css types should be on a grey background
        https://bugs.webkit.org/show_bug.cgi?id=113791

        Reviewed by Pavel Feldman.

        No new tests.

        - Add a css rule to set grey background for SourceFrame in resource view.
        - Add "fill" style to SourceFrame element to setup its height.

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        * inspector/front-end/resourceView.css:
        (.resource-view .script-view):

2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: [CodeMirror] Editor doesn't have yellow background in DivergedFromVM state
        https://bugs.webkit.org/show_bug.cgi?id=113783

        Reviewed by Pavel Feldman.

        No new tests.

        Force CodeMirrorTextEditor to have transparent background to inherit
        background color from source frame.

        * inspector/front-end/cm/cmdevtools.css:
        (.CodeMirror):

2013-04-02  Jochen Eisinger  <jochen@chromium.org>

        Check whether popups are allowed before creating a new window
        https://bugs.webkit.org/show_bug.cgi?id=113782

        Reviewed by Adam Barth.

        Otherwise, firing a generated mouse event at an anchor is enough to
        work around the popup blocker.

        Test: fast/loader/url-selected-user-gesture.html

        * loader/PolicyChecker.cpp:
        (WebCore::PolicyChecker::checkNewWindowPolicy):

2013-04-02  Jochen Eisinger  <jochen@chromium.org>

        When computing the percentage of the logical height, use the logical top and bottom
        https://bugs.webkit.org/show_bug.cgi?id=113761

        Reviewed by Ojan Vafai.

        Test: fast/writing-mode/percentage-height-orthogonal-writing-modes.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computePercentageLogicalHeight):

2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: [CodeMirror] do not show cursor in read-only mode
        https://bugs.webkit.org/show_bug.cgi?id=113793

        Reviewed by Alexander Pavlov.

        No new tests.

        Pass "nocursor" option to CodeMirror's "readonly" setting.

        * inspector/front-end/CodeMirrorTextEditor.js:
        (WebInspector.CodeMirrorTextEditor.prototype.setReadOnly):

2013-04-02  Nate Chapin  <japhet@chromium.org>

        Unreviewed, rolling out r147402.
        http://trac.webkit.org/changeset/147402
        https://bugs.webkit.org/show_bug.cgi?id=112903

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::responseReceived):

2013-04-02  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK][AC] Support preserves3D css property for clutter ac backend.
        https://bugs.webkit.org/show_bug.cgi?id=113318

        Reviewed by Gustavo Noronha Silva.

        This patch brings preserve-3D css property support to WebKitGtk+ with clutter ac backed.
        Most of the code is based on Mac port's implementation. The core concept is that
        if a layer has preserve-3d property false, we mark itself and its immediate children
        to make them flatten. And then we remove 3D factor in a modelView matrix
        when applying it to each actor.

        No new tests as this is covered with existing AC tests.

        * platform/graphics/clutter/GraphicsLayerActor.cpp:
        (_GraphicsLayerActorPrivate):
        (graphics_layer_actor_init):
        (graphicsLayerActorApplyTransform):
        (graphicsLayerActorNew):
        (graphicsLayerActorRemoveFromSuperLayer):
        (graphicsLayerActorSetDrawsContent):
        (graphicsLayerActorSetFlatten):
        * platform/graphics/clutter/GraphicsLayerActor.h:
        * platform/graphics/clutter/GraphicsLayerClutter.cpp:
        (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
        (WebCore::GraphicsLayerClutter::platformLayer):
        (WebCore::GraphicsLayerClutter::moveOrCopyAnimations):
        (WebCore):
        (WebCore::GraphicsLayerClutter::setPreserves3D):
        (WebCore::GraphicsLayerClutter::flushCompositingState):
        (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
        (WebCore::GraphicsLayerClutter::commitLayerChangesAfterSublayers):
        (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
        (WebCore::GraphicsLayerClutter::updateGeometry):
        (WebCore::GraphicsLayerClutter::updateSublayerList):
        (WebCore::GraphicsLayerClutter::updateStructuralLayer):
        (WebCore::GraphicsLayerClutter::ensureStructuralLayer):
        (WebCore::GraphicsLayerClutter::structuralLayerPurpose):
        (WebCore::GraphicsLayerClutter::layerForSuperlayer):
        * platform/graphics/clutter/GraphicsLayerClutter.h:
        (CommitState):
        (WebCore::GraphicsLayerClutter::CommitState::CommitState):
        (GraphicsLayerClutter):
        (WebCore::GraphicsLayerClutter::primaryLayer):

2013-04-02  Adam Klein  <adamk@chromium.org>

        HTML parser should consistently inspect the namespace of elements on the stack of open elements
        https://bugs.webkit.org/show_bug.cgi?id=113723

        Reviewed by Adam Barth.

        Added HTMLStackItem::matchesHTMLTag method and use that nearly
        everywhere instead of HTMLStackItem::hasLocalName. The most important
        of these changes is in HTMLElementStack's inScopeCommon() function,
        where the use of matchesHTMLTag means that any of the inXXXScope()
        calls now only match HTML tags.

        Tests: html5lib/generated/run-namespace-sensitivity-data.html
               html5lib/generated/run-namespace-sensitivity-write.html

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
        * html/parser/HTMLElementStack.cpp:
        (WebCore::HTMLElementStack::popUntil):
        (WebCore::HTMLElementStack::topmost):
        (WebCore::inScopeCommon):
        (WebCore::HTMLElementStack::inScope):
        (WebCore::HTMLElementStack::inListItemScope):
        (WebCore::HTMLElementStack::inTableScope):
        (WebCore::HTMLElementStack::inButtonScope):
        (WebCore::HTMLElementStack::inSelectScope):
        * html/parser/HTMLElementStack.h:
        (WebCore::HTMLElementStack::popUntilPopped):
        * html/parser/HTMLFormattingElementList.cpp:
        (WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
        * html/parser/HTMLStackItem.h:
        (WebCore::HTMLStackItem::matchesHTMLTag):
        (HTMLStackItem):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
        (WebCore::HTMLTreeBuilder::processEndTagForInBody):

2013-04-02  Hayato Ito  <hayato@chromium.org>

        Report memory usage for ShadowDistributedRules.
        https://bugs.webkit.org/show_bug.cgi?id=109882

        Reviewed by Dimitri Glazkov.

        This is a follow-up patch for r142855.

        No new tests, no behavior change for layout tests.

        * css/DocumentRuleSets.cpp:
        (WebCore):
        (WebCore::ShadowDistributedRules::reportMemoryUsage):
        (WebCore::DocumentRuleSets::reportMemoryUsage):
        * css/DocumentRuleSets.h:
        (ShadowDistributedRules):

2013-04-02  Chris Fleizach  <cfleizach@apple.com>

        AX: Need to get line thickness from fraction on web
        https://bugs.webkit.org/show_bug.cgi?id=113720

        Reviewed by David Kilzer.

        Expose the line thickness property for fractions, which is needed to
        help determine the type of equation.

        Test: platform/mac/accessibility/mathml-line-fraction.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::mathLineThickness):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::mathLineThickness):
        (WebCore):
        * accessibility/AccessibilityRenderObject.h:
        (AccessibilityRenderObject):
        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
        (-[WebAccessibilityObjectWrapper accessibilityMathLineThickness]):
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

2013-04-02  Alexandre Elias  <aelias@chromium.org>

        Unreviewed, rolling out r147389.
        http://trac.webkit.org/changeset/147389
        https://bugs.webkit.org/show_bug.cgi?id=113738

        r147389 was temporary patch for Chromium branch management, needs
        revert.

        * platform/ScrollView.cpp:
        (WebCore::positionScrollbarLayer):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::positionOverflowControlsLayers):

2013-04-02  David Vest  <davve@opera.com>

        Hang when calling setCurrentTime on SVG with cyclic animation dependency chain
        https://bugs.webkit.org/show_bug.cgi?id=113485

        Reviewed by Stephen Chenney.

        If no exact match can be found, approximateBinarySearch may return
        either adjacent value to the key. Selecting the lesser value when
        there is a greater one may cause interval creation to fail in a
        way that causes infinite loops during seeking. Detect and amend
        this condition by selecting the greater value when possible.

        Test: svg/animations/animation-dependency-hang.html

        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::findInstanceTime):

2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: source location gets frozen after inspector reload
        https://bugs.webkit.org/show_bug.cgi?id=113776

        Reviewed by Pavel Feldman.

        Put statusBarText item in its own container and update its contents in
        ScriptsPanel._updateScriptViewStatusBarItems in similar way it's done
        for statusBarItems.

        No new tests.

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.statusBarText):
        (WebInspector.ScriptsPanel.prototype._updateScriptViewStatusBarItems):

2013-04-02  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Remove unneeded cpp file from CMake build. Rubber-stamp by Alexis Menard.

        * CMakeLists.txt: Remove FFTFrameStub.cpp, since adding this file or not
        to your build is a platform decision.

2013-04-01  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: [Timeline] unify logic for 3 overview modes in Timeline
        https://bugs.webkit.org/show_bug.cgi?id=113708

        Reviewed by Yury Semikhatsky.

        - make TimelineOverviewPane logic independent on overview mode;
        - show only one of 3 controls at one time;
        - attach overview controls to the same parent.

        * inspector/front-end/OverviewGrid.js: remove gridElement() and itemsGraphsElement(), no longer needed.
        (WebInspector.OverviewGrid):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.setMode):
        (WebInspector.TimelineOverviewPane.prototype._innerSetMode):
        (WebInspector.TimelineOverviewPane.prototype._createOverviewControl): 
        (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
        (WebInspector.TimelineOverviewPane.prototype._update):
        (WebInspector.TimelineOverviewPane.prototype.addFrame):
        (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
        (WebInspector.TimelineOverviewPane.prototype._reset):
        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
        (WebInspector.TimelineOverviewBase.prototype.update):
        (WebInspector.TimelineOverviewBase.prototype.reset):
        (WebInspector.TimelineOverviewBase.prototype.categoryVisibilityChanged):
        (WebInspector.TimelineOverviewBase.prototype.addFrame):
        (WebInspector.TimelineOverviewBase.prototype.getWindowTimes):
        (WebInspector.TimelineEventOverview):
        (WebInspector.TimelineEventOverview.prototype.categoryVisibilityChanged):
        * inspector/front-end/timelinePanel.css:

2013-04-02  Julien Chaffraix  <jchaffraix@webkit.org>

        webkit fails IETC grid-column-002
        https://bugs.webkit.org/show_bug.cgi?id=83907

        Reviewed by Ojan Vafai.

        Tests: fast/css-grid-layout/grid-item-column-row-get-set.html
               ietestcenter/css3/grid/grid-column-002.htm

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        Don't accept 0 as a valid <integer> position.

2013-04-02  Dmitry Gozman  <dgozman@chromium.org>

        Web Inspector: allow referencing of nodes that have not been pushed to the front-end
        https://bugs.webkit.org/show_bug.cgi?id=110921

        Reviewed by Pavel Feldman.

        Nodes not yet pushed to front-end are referenced by BackendNodeId and retained.
        One can group nodes when generating BackendNodeIds to release them all together later.

        To resolve node references by BackendNodeId, frontend should use new pushNodeByBackendIdToFrontend method.
        This will invalidate the generated BackendNodeId.

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::discardBindings):
        (WebCore::InspectorDOMAgent::backendNodeIdForNode):
        (WebCore::InspectorDOMAgent::releaseBackendNodeIds):
        (WebCore::InspectorDOMAgent::pushNodeByBackendIdToFrontend):
        * inspector/InspectorDOMAgent.h:
        (WebCore):
        (InspectorDOMAgent):

2013-04-02  Andrei Bucur  <abucur@adobe.com>

        [CSS Regions] Nested auto-height regions don't layout correctly
        https://bugs.webkit.org/show_bug.cgi?id=111969

        Reviewed by David Hyatt.

        The patch fixes the auto-height regions processing model to work with nested named flows. Currently
        this use case doesn't work correctly because the order in which the computed height value is propagated
        to the regions is incorrect. For example, in the case of two flows (f1 and f2) and two auto-height
        regions (r1 and r2) with r2 a member of f1:
        1. the normal layout phase starts
        2. r1 is laid out with height = 0
        3. f1 is laid out including r2 with height = 0; overrideLogicalHeight for r1 is computed
        4. f2 is laid out; overrideLogicalHeight for r2 is computed
        5. the constrained layout phase starts
        6. r1 is laid out using the overrideLogicalHeight computed in the normal phase
        7. f1 is laid out including r2 with its overrideLogicalHeight
        8. f2 is laid out

        The problem appears at step 6 because the overrideLogicalheight computed during step 3 assumes r2
        has a height of 0. The patch changes the algorithm to update the auto-height regions in the reverse
        order of their flow threads dependecies. Here is a high level overview of the new algorithm,
        considering the named flows are sorted in the order of their dependencies:
        1. The flows are laid out from the outer flow to the inner flow. This successfully computes the outer
        non-auto-height regions size so the inner flows have the necessary information to correctly fragment
        the content.
        2. The flows are laid out from the inner flow to the outer flow. After an inner flow is laid out it
        goes into the constrained layout phase and marks the auto-height regions they need layout. This
        means the outer flows will relayout if they depend on regions with auto-height regions belonging to
        inner flows. This step will correctly compute the overrideLogicalHeights for the auto-height regions.
        It's possible for non-auto-height regions to relayout if they depend on auto-height regions. This
        will invalidate the inner flow threads and mark them as needing layout.
        3. The last step is to do one last layout if there are pahtological dependencies between non-auto-height
        regions and auto-height regions as detected in the previous step.

        The patch also removes the layout phase flag from RenderView and moves it to the flow threads. This
        happens because a flow needs to update its auto-height regions overrideLogicalHeight while updating
        the logical height of the regions belonging to the inner flows that are laid out by the flow (i.e. the
        outer flow is in the normal phase while the inner flows are in the constrained layout phase).

        There's also a new flag on the RenderFlowThread that is set when the flow needs the constrained layout
        phase. This could have been placed on the flow thread controller but I think it will be useful when doing
        content balancing for the new multi-column implementation.

        Another change is the moment we clear the overrideLogicalHeight value on empty auto-height regions because
        we don't have to relayout a flow thread once it's in the constrained phase. We need to have the correct
        flow thread portions correctly computed after the artificial forced break is applied at the end of the content.

        Tests: fast/regions/autoheight-mixed-nested-complex-regions.html
               fast/regions/autoheight-mixed-nested-regions.html
               fast/regions/autoheight-mixed-parallel-regions.html
               fast/regions/autoheight-nested-regions.html

        * rendering/FlowThreadController.cpp:
        (WebCore::FlowThreadController::FlowThreadController):
        (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
        (WebCore):
        (WebCore::FlowThreadController::registerNamedFlowContentNode):
        (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
        (WebCore::FlowThreadController::updateFlowThreadsChainIfNecessary):
        (WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
        (WebCore::FlowThreadController::updateFlowThreadsNeedingTwoStepLayout):
        (WebCore::FlowThreadController::resetFlowThreadsWithAutoHeightRegions):
        (WebCore::FlowThreadController::updateFlowThreadsIntoConstrainedPhase):
        * rendering/FlowThreadController.h:
        (FlowThreadController):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::RenderFlowThread):
        (WebCore::RenderFlowThread::validateRegions):
        (WebCore::RenderFlowThread::layout):
        (WebCore::RenderFlowThread::regionAtBlockOffset):
        (WebCore::RenderFlowThread::applyBreakAfterContent): Apply an artificial break at the end of the content.
        This way we can detect when the content ends and clear the overrideLogicalHeight on the empty auto-height regions.
        (WebCore::RenderFlowThread::computeOverflowStateForRegions):
        (WebCore):
        (WebCore::RenderFlowThread::initializeRegionsOverrideLogicalContentHeight):
        (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
        (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
        (WebCore::RenderFlowThread::addForcedRegionBreak):
        * rendering/RenderFlowThread.h:
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::pageLogicalWidth):
        (WebCore::RenderRegion::pageLogicalHeight):
        (WebCore::RenderRegion::maxPageLogicalHeight):
        (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
        (WebCore::RenderRegion::layoutBlock):
        (WebCore::RenderRegion::updateLogicalHeight):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        (WebCore):
        (WebCore::RenderView::layoutContentInAutoLogicalHeightRegions):
        (WebCore::RenderView::layout):
        * rendering/RenderView.h:
        (WebCore):
        (RenderView):

2013-04-02  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: ignore minimum record duration filter in Timeline overview
        https://bugs.webkit.org/show_bug.cgi?id=113705

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelineOverviewPane.js:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._durationFilterChanged):

2013-03-29  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: display the number of dirty render objects in Layout timeline event
        https://bugs.webkit.org/show_bug.cgi?id=95331

        Reviewed by Pavel Feldman.

        Count the render objects that need layout in InspectorTimelineAgent::willLayout()
        and display the number in popover over Layout record in Timeline panel.

        * English.lproj/localizedStrings.js:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::willLayout):
        (WebCore::InspectorTimelineAgent::didLayout):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore):
        (WebCore::TimelineRecordFactory::createLayoutData):
        (WebCore::TimelineRecordFactory::appendLayoutRoot):
        * inspector/TimelineRecordFactory.h:
        (TimelineRecordFactory):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):

2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: [CodeMirror] Popover for codemirror
        https://bugs.webkit.org/show_bug.cgi?id=113771

        Reviewed by Pavel Feldman.

        Implement methods TextEditor.cursorPositionToCoordinates, TextEditor.coordinatesToCursorPosition and
        TextEditor.tokenAtTextPosition in CodeMirrorTextEditor to support popover
        functionality. Add css classes to highlight popover anchoring text.

        No new tests.

        * inspector/front-end/CodeMirrorTextEditor.js:
        (WebInspector.CodeMirrorTextEditor.prototype.cursorPositionToCoordinates):
        (WebInspector.CodeMirrorTextEditor.prototype.coordinatesToCursorPosition):
        (WebInspector.CodeMirrorTextEditor.prototype.tokenAtTextPosition):
        * inspector/front-end/cm/cmdevtools.css:
        (.CodeMirror .source-frame-eval-expression):
        (.CodeMirror .source-frame-eval-expression-end):
        (.CodeMirror .source-frame-eval-expression-start):

2013-04-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        [BlackBerry] Implement ScrollingCoordinator::frameViewLayoutUpdated()
        https://bugs.webkit.org/show_bug.cgi?id=113763

        Reviewed by Rob Buis.

        PR 318945
        Internally reviewed by Jakob Petsovits.

        And remove the BlackBerry specific methods
        frameViewFrameRectDidChange and frameViewContentsSizeDidChange.

        * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp:
        (WebCore::ScrollingCoordinatorBlackBerry::frameViewLayoutUpdated):
        Called when the frame view has been laid out. Update the contents
        rectangle and visible area of the scroll layer for the given frame
        view.
        * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.h:
        (ScrollingCoordinatorBlackBerry):
        * platform/graphics/blackberry/LayerWebKitThread.h:
        (WebCore::LayerWebKitThread::setFrameVisibleRect): Return early if
        value hasn't changed.
        (WebCore::LayerWebKitThread::setFrameContentsSize): Ditto.

2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: Separate JavaScriptSourceFrame popover from knowledge of editor's DOM
        https://bugs.webkit.org/show_bug.cgi?id=113412

        Reviewed by Pavel Feldman.

        - Use TextEditor.coordinatesToCursorPosition,
        TextEditor.cursorPositionToCoordinates and TextEditor.tokenAtTextPosition to figure out
        hovering area and create popover anchor.
        - Use TextEditor.highlightRange/TextEditor.removeHighlight methods to
        highlight hovering text in editor.

        No new tests: no change in behaviour.

        * inspector/front-end/DefaultTextEditor.js:
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype.willHide):
        (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
        (WebInspector.JavaScriptSourceFrame.prototype.):
        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
        (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
        * inspector/front-end/inspector.css:
        (.popover-anchor):
        (.source-frame-eval-expression):

2013-04-02  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] RenderFlowThread should not be created as a Document renderer
        https://bugs.webkit.org/show_bug.cgi?id=113658

        Reviewed by Julien Chaffraix.

        After https://bugs.webkit.org/show_bug.cgi?id=107138, RenderFlowThread should not be constructed as a renderer for Document.
        Since it does not have an element associated, it will be constructed using the pattern for anonymous blocks.
        However, since I do not want the flow thread to be collapsed as anonymous blocks are, i changed RenderObject::isAnonymousBlock
        to return false for a RenderFlowThread (the alternative would have been to patch more call sites to prevent RenderFlowThread
        collapsing as anonymous block).

        Covered by existing tests.

        * rendering/FlowThreadController.cpp:
        (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::RenderFlowThread):
        * rendering/RenderFlowThread.h:
        * rendering/RenderMultiColumnBlock.cpp:
        (WebCore::RenderMultiColumnBlock::addChild):
        * rendering/RenderMultiColumnFlowThread.cpp:
        (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
        (WebCore::RenderMultiColumnFlowThread::createAnonymous):
        * rendering/RenderMultiColumnFlowThread.h:
        (RenderMultiColumnFlowThread):
        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::createAnonymous):
        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
        * rendering/RenderNamedFlowThread.h:
        (RenderNamedFlowThread):
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isAnonymousBlock):

2013-04-02  Shinya Kawanaka  <shinyak@chromium.org>

        Unreviewed, rolling out r147383.
        http://trac.webkit.org/changeset/147383
        https://bugs.webkit.org/show_bug.cgi?id=112369

        Speculative rollout because of lots of layout test failure

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
        (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
        (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
        (WebCore::HTMLDocumentParser::insert):
        * html/parser/HTMLParserScheduler.cpp:
        (WebCore::PumpSession::PumpSession):
        * html/parser/HTMLParserScheduler.h:

2013-04-02  Eugene Klyuchnikov  <eustas@chromium.org>

        Web Inspector: [HeapProfiler] Table rows do not appear when resizing.
        https://bugs.webkit.org/show_bug.cgi?id=113760

        Reviewed by Yury Semikhatsky.

        Analysis: custom-made split-view doesn't notify content panes about
        resizing.

        * inspector/front-end/HeapSnapshotView.js:
        (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
        Notify content pane about resize.

2013-04-02  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Clean-up RenderFlowThread::updateRegionsFlowThreadPortionRect
        https://bugs.webkit.org/show_bug.cgi?id=113659

        Reviewed by Julien Chaffraix.

        RenderRegion::logicalHeightOfAllFlowThreadContent already contains the
        override logical content height for auto-height regions in normal layout phase.
        Therefore, there is no need to explicitly override region's rect height with
        the region's overrideLogicalContentHeight as the region rect already contains
        the right value.

        No change in functionality, covered by existing tests.

        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::pageLogicalHeight):
        (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):

2013-04-02  Mike West  <mkwst@chromium.org>

        X-Frame-Options: Blocked frames should not inherit their parent's SecurityOrigin.
        https://bugs.webkit.org/show_bug.cgi?id=112903

        Reviewed by Adam Barth.

        This change brings WebKit in line with IE and Gecko's behavior, both of
        which treat the blocked frame as being cross-origin for the purposes of
        access checks ('[frame].contentWindow.location.href' is inaccessible,
        for example).

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv):
            Rather than redirecting to 'about:blank', redirect to
            'data:text/html,<p></p>' which does not inherit the SecurityOrigin
            of the parent.
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::responseReceived):
            Before calling cancelMainResourceLoad, ensure that the frame's
            document is sandboxed into a unique origin so that it doesn't
            inherit the parent's SecurityOrigin.

2013-04-01  Elliott Sprehn  <esprehn@chromium.org>

        RenderObject::offsetParent should return Element*
        https://bugs.webkit.org/show_bug.cgi?id=113739

        Reviewed by Abhishek Arya.

        The offsetParent of a node should always be an Element, ensure this
        by fixing RenderObject::offsetParent to return an Element* and clean up
        the method to match the algorithm in the spec which lets us remove the
        comments that were trying to explain what was going on.

        This also hardens against badness where RenderObject::offsetParent
        could have returned a renderer with a non-Element node which would result
        in a bad cast in Element::offsetParent. We fixed all cases of this, but
        this patch makes sure such things never happen again.

        No new tests, no change in behavior.

        * dom/Element.cpp:
        (WebCore::Element::offsetParent):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::offsetParent): Now returns Element*.
        * rendering/RenderObject.h:
        (RenderObject):

2013-04-01  Alpha Lam  <hclam@chromium.org>

        Simply GIFImageReader error handling
        https://bugs.webkit.org/show_bug.cgi?id=113718

        Reviewed by Adam Barth.

        When GIFImageReader encounters a parsing error it should just return
        without doing any more work. Current code saves a boolean before return,
        this is not necessary.

        Tested with existing unit tests.
        Tested locally with ASAN build with 60k GIF images.

        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::repetitionCount):
        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::decode):
        * platform/image-decoders/gif/GIFImageReader.h:
        (GIFImageReader::GIFImageReader):
        (GIFImageReader):

2013-04-01  Elliott Sprehn  <esprehn@chromium.org>

        Make all v8 weak callbacks type safe
        https://bugs.webkit.org/show_bug.cgi?id=111802

        Reviewed by Adam Barth.

        Make all v8 handle weak callbacks typesafe by adding a new class WeakHandleListner
        that uses templates to generate the callback proxies that have the correct type
        arguments. Now getting the arguments wrong will fail compilation.

        No new tests, no change in behavior.

        * bindings/v8/DOMDataStore.h:
        (WebCore::::callback):
        * bindings/v8/DOMWrapperMap.h:
        (WebCore::DOMWrapperMap::DOMWrapperMap):
        (WebCore::DOMWrapperMap::set):
        (WebCore::DOMWrapperMap::reportMemoryUsage):
        (DOMWrapperMap):
        * bindings/v8/DOMWrapperWorld.cpp:
        (WebCore::::callback):
        (WebCore::DOMWrapperWorld::makeContextWeak):
        * bindings/v8/ScriptState.cpp:
        (WebCore::::callback):
        (WebCore::ScriptState::ScriptState):
        * bindings/v8/ScriptState.h:
        (ScriptState):
        * bindings/v8/ScriptWrappable.h:
        (ScriptWrappable):
        (WebCore::ScriptWrappable::setWrapper):
        (WebCore::::callback):
        * bindings/v8/V8AbstractEventListener.cpp:
        (WebCore::::callback):
        (WebCore::V8AbstractEventListener::setListenerObject):
        * bindings/v8/V8AbstractEventListener.h:
        (V8AbstractEventListener):
        * bindings/v8/V8MutationCallback.cpp:
        (WebCore::::callback):
        (WebCore::V8MutationCallback::V8MutationCallback):
        * bindings/v8/V8MutationCallback.h:
        (V8MutationCallback):
        * bindings/v8/V8NPObject.cpp:
        (V8NPTemplateMap):
        (WebCore::V8NPTemplateMap::set):
        (WebCore::::callback):
        (WebCore::staticNPObjectMap):
        * bindings/v8/V8Utilities.h:
        (WeakHandleListener):
        (WebCore::WeakHandleListener::makeWeak):
        (WebCore::WeakHandleListener::WeakHandleListener):
        (WebCore::WeakHandleListener::invokeWeakCallback):
        * bindings/v8/V8ValueCache.cpp:
        (WebCore::::callback):
        (WebCore::StringCache::v8ExternalStringSlow):
        * bindings/v8/custom/V8InjectedScriptManager.cpp:
        (WebCore::::callback):
        (WebCore::createInjectedScriptHostV8Wrapper):

2013-04-01  Tien-Ren Chen  <trchen@chromium.org>

        Hide non-coordinated scrollbars for Android M26
        https://bugs.webkit.org/show_bug.cgi?id=113738

        Reviewed by Simon Fraser.

        This patch will hide any non-coordinated scrollbars on Android.
        Coordinated scrollbars won't be affected.

        Currently all scrollbars are coordinated on Android. The sole purpose
        of this patch is to be cherry-picked to the M26 branch.

        No new tests. Please revert immediately after landed.

        * platform/ScrollView.cpp:
        (WebCore::positionScrollbarLayer):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::positionOverflowControlsLayers):

2013-04-01  Chris Evans  <cevans@google.com>

        Crash in Node::enclosingBlockFlowElement()
        https://bugs.webkit.org/show_bug.cgi?id=113712

        Reviewed by Abhishek Arya.

        Fix a bad Node assumption if we walk up to the document root.

        Test: editing/execCommand/format-block-at-root.html

        * dom/Node.cpp:
        (WebCore::Node::isBlockFlowElement): Check we found an Element Node and rename from isBlockFlow().
        (WebCore::Node::enclosingBlockFlowElement): Use the new toElement().
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::formatRange): Check for NULL.
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApplyForSingleParagraph):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::enclosingInline): Impact from method rename.

2013-04-01  James Simonsen  <simonjam@chromium.org>

        [Resource Timing] Expose timing information for iframes
        https://bugs.webkit.org/show_bug.cgi?id=103927

        Reviewed by Nate Chapin.

        The only catch with main documents is that we only want to record the load that was initiated by
        adding the <iframe> to a document. We don't want any subsequent navigations within the iframe to
        be reported.

        Test: http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_iframe_self_navigation.html

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::revalidateResource):
        (WebCore::CachedResourceLoader::loadResource):
        (WebCore::CachedResourceLoader::loadDone): Make sure iframes are reported in the parent.

2013-04-01  Konrad Piascik  <kpiascik@blackberry.com>

        [BlackBerry] Move Path into it's own header
        https://bugs.webkit.org/show_bug.cgi?id=113724

        Reviewed by Rob Buis.

        No behavioural change.

        * platform/graphics/blackberry/PathBlackBerry.cpp:

2013-04-01  Konrad Piascik  <kpiascik@blackberry.com>

        [BlackBerry] canvas is not rendering correctly for www.html5-benchmark.com
        https://bugs.webkit.org/show_bug.cgi?id=113716

        Reviewed by Rob Buis.

        PR 317205
        Internally reivewed by: Mike Lattanzio, Jacky Jiang

        This is a site issue where they detect physical pixels by multiplying
        availWidth * devicePixelRatio.  This gives us an invalid result since
        we don't round the CSS pixels that are reported to availWidth and availHeight.

        * platform/blackberry/PlatformScreenBlackBerry.cpp:
        (WebCore::toUserSpace):

2013-04-01  Hans Muller  <hmuller@adobe.com>

        [CSS Exclusions] shape-outside on floats fails to respect shape-margin's vertical extent
        https://bugs.webkit.org/show_bug.cgi?id=113600

        Reviewed by Dirk Schulze.

        ExclusionShapeInsideInfo classes need to depend on the ExclusionShape's padded boundary and
        ExclusionShapeOutsideInfo classes should depend on the ExclusionShape's margin boundary. Added
        a virtual method to the ExclusionShapeInfo that returns the ExclusionShape's logical bounding box -
        computedShapeLogicalBoundingBox() - and overrode that method in the subclasses to return the
        value of the appropriate ExclusionShape method. Added shapeMarginLogicalBoundingBox() and
        shapePaddingLogicalBoundingBox() methods to ExclusionShape and removed the shapeLogicalBoundingBox()
        method, which did not take shape-margin or shape-padding into account.

        Test: fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-bottom.html

        * rendering/ExclusionPolygon.h: Defined the padding and margin bounding box virtual methods.
        * rendering/ExclusionRectangle.h: Defined the padding and margin bounding box virtual methods.
        * rendering/ExclusionShape.h: Added the padding and margin bounding box virtual abstract methods. Removed shapeLogicalBoundingBox().
        (ExclusionShape):
        * rendering/ExclusionShapeInfo.h:
        (WebCore::ExclusionShapeInfo::shapeLogicalTop): Now calls computedShapeLogicalBoundingBox().
        (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
        (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
        (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
        (WebCore::ExclusionShapeInfo::shapeLogicalWidth): Ditto.
        (WebCore::ExclusionShapeInfo::shapeLogicalHeight): Ditto.
        (ExclusionShapeInfo): Added computedShapeLogicalBoundingBox().
        * rendering/ExclusionShapeInsideInfo.h:
        (ExclusionShapeInsideInfo):
        (WebCore::ExclusionShapeInsideInfo::computedShapeLogicalBoundingBox): Gets the padded shape's bounding box.
        * rendering/ExclusionShapeOutsideInfo.h:
        (ExclusionShapeOutsideInfo):
        (WebCore::ExclusionShapeOutsideInfo::computedShapeLogicalBoundingBox): Gets the margin shape's bounding box.

2013-04-01  Adam Barth  <abarth@webkit.org>

        Assertion failure !m_lastChunkBeforeScript in HTMLDocumentParser during inspector/debugger/pause-in-inline-script.html
        https://bugs.webkit.org/show_bug.cgi?id=112369

        Reviewed by Eric Seidel.

        The threaded HTML parser wasn't correctly handling the nested event
        loops that can arise from the JavaScript debugger and from
        showModalDialog. When the parser received a chunk from the background
        parser, it was always processing it immediately, which lead to
        re-entrancy. Now, we'll queue the chunk in the speculation buffer and
        process it once the stack unwinds.

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
        (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
        (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
        (WebCore::HTMLDocumentParser::insert):
        * html/parser/HTMLParserScheduler.cpp:
        (WebCore::PumpSession::PumpSession):
        * html/parser/HTMLParserScheduler.h:

2013-04-01  Michael Pruett  <michael@68k.org>

        [JSC] IndexedDB: Exceptions not thrown for non-cloneable values
        https://bugs.webkit.org/show_bug.cgi?id=113689

        Reviewed by Kentaro Hara.

        ScriptValue::serialize() should not clear exceptions thrown during
        serialization. This change is needed to match behavior in V8.

        Tests: storage/indexeddb/clone-exception.html
               storage/indexeddb/exceptions.html
               storage/indexeddb/structured-clone.html

        * bindings/js/ScriptValue.cpp:
        (WebCore::ScriptValue::serialize):

2013-04-01  Joshua Bell  <jsbell@chromium.org>

        [Chromium] IndexedDB: Turn "should only be true in unit tests" comments into ASSERTs
        https://bugs.webkit.org/show_bug.cgi?id=113597

        Reviewed by Adam Barth.

        In the vein of wkbug.com/111233 and wkbug.com/110820 don't just comment that
        some condition is true only in unit tests - ASSERT that Chromium's unitTestSupport()
        is non-null to catch errors during development.

        Exercised by Chromium's webkit_unit_tests.

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::openConnection):
        (WebCore::IDBDatabaseBackendImpl::close):

2013-04-01  Roger Fong  <roger_fong@apple.com>

        VS2010 WebCoreGenerated build scripts should use new feature-defines script.
        https://bugs.webkit.org/show_bug.cgi?id=113737.

        Reviewed by Timothy Horton.

        * WebCore.vcxproj/build-generated-files.sh:

2013-04-01  Tim Horton  <timothy_horton@apple.com>

        Autosize should use documentRect height instead of scrollHeight
        https://bugs.webkit.org/show_bug.cgi?id=112770

        Reviewed by David Levin.

        Autosizing fails to compute the correct height if the root element is very
        small but the document has significant overflow.

        Also, unconditionally start laying out from the minimum height, so that the
        documentRect can shrink below its previous height if needed.

        No new tests; autosizing is not currently exposed in a testable way on Mac.

        * page/FrameView.cpp:
        (WebCore::FrameView::autoSizeIfEnabled):

2013-04-01  Hayato Ito  <hayato@chromium.org>

        [Shadow DOM] Change the order of event dispatching at AT_TARGET phase.
        https://bugs.webkit.org/show_bug.cgi?id=113676

        Reviewed by Dimitri Glazkov.

        Change the order of event dispatching at AT_TARGET phase so that it mimics bubbling events.

        The spec side bug is:
        https://www.w3.org/Bugs/Public/show_bug.cgi?id=21404

        Example:

        Given the event path, from Node A (top-most) to Node G (target,
        inner-most), where C and D are shadow hosts and G is the target,
        the event dispatching order in the current WebKit implementation is:
        (T: AT_TARGET, C: CAPTURING, B: BUBBLING)

        For bubbling events:

          A          1 (C)  11 (B)
          B          2 (C)  10 (B)
          C (SH)     3 (T)
          D          4 (C)   9 (B)
          E (SH)     5 (T)
          F          6 (C)   8 (B)
          G (Target) 7 (T)

        For non-bubbling events:

          A          1 (C)
          B          2 (C)
          C (SH)     3 (T)
          D          4 (C)
          E (SH)     5 (T)
          F          6 (C)
          G (Target) 7 (T)

        This patch has changed the order of event dispatching as follows:

        For bubbling events:

          A          1 (C)  11 (B)
          B          2 (C)  10 (B)
          C (SH)             9 (T)
          D          3 (C)   8 (B)
          E (SH)             7 (T)
          F          4 (C)   6 (B)
          G (Target)         5 (T)

        For non-bubbling events:

          A          1 (C)
          B          2 (C)
          C (SH)            7 (T)
          D          3 (C)
          E (SH)            6 (T)
          F          4 (C)
          G (Target)        5 (T)

        No new tests, updating existing layouts.

        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchEventAtCapturing):
        (WebCore::EventDispatcher::dispatchEventAtBubbling):
        * dom/EventDispatcher.h:
        (EventDispatcher):

2013-04-01  Nate Chapin  <japhet@chromium.org>

        Crash in WebCore::HTMLMediaElement::~HTMLMediaElement.
        https://bugs.webkit.org/show_bug.cgi?id=113531

        Reviewed by Adam Barth.

        No new tests, though this is intermittently reproducible with
        http/tests/misc/delete-frame-during-readystatechange.html under ASAN.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear the media player manually
            before the destructor exits. Clearing the media player may cancel a resource load,
            which can trigger a readystatechange event. It's possible for the HTMLMediaElement
            to attempt to fire an abort event within the readystatechange event, even though it is
            now in an inconsistent state. Clearling the media player before finishing the destructor
            ensures that the HTMLMediaElement will at least still be alive if this case is triggered.
            Set m_completelyLoaded to true to ensure that if userCancelledLoad() is called, it doesn't
            attempt to fire events while destructing.

2013-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r146373.
        http://trac.webkit.org/changeset/146373
        https://bugs.webkit.org/show_bug.cgi?id=113731

        broke autosizing shrinking past previous size (Requested by
        thorton on #webkit).

        * page/FrameView.cpp:
        (WebCore::FrameView::autoSizeIfEnabled):

2013-04-01  Timothy Hatcher  <timothy@apple.com>

        Allow changing Web Inspector dock sides without undocking first.

        https://webkit.org/b/113661
        rdar://problem/13543127

        Reviewed by Joseph Pecoraro.

        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): Initialize m_dockSide.

        (WebCore::InspectorFrontendClientLocal::canAttachWindow): If we are already attached, allow
        attaching again to allow switching sides.

        (WebCore::InspectorFrontendClientLocal::setAttachedWindow): Set m_dockSide.

        * inspector/InspectorFrontendClientLocal.h:
        (InspectorFrontendClientLocal): Added m_dockSide.

2013-04-01  Alexey Proskuryakov  <ap@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=113721
        <rdar://problem/13549181> REGRESSION (r146929): HTTP auth credentials not reused during session

        Reviewed by Brady Eidson.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
        Added FIXMEs.

2013-04-01  Timothy Hatcher  <timothy@apple.com>

        Make 'this' evaluate to the correct object when paused in the Debugger.

        https://webkit.org/b/113607
        rdar://problem/13538351

        Reviewed by Joseph Pecoraro.

        * inspector/InjectedScriptSource.js:
        (InjectedScript.prototype._evaluateOn): Bind 'this' to the expression function.

2013-04-01  Victor Carbune  <vcarbune@chromium.org>

        TextTrackCue Extension for WebVTT Regions
        https://bugs.webkit.org/show_bug.cgi?id=109821

        Reviewed by Eric Carlson.

        The TextTrackCue gets a new attribute and setting, regionId, which specifies
        to which region the cue belongs to. The attribute is guarded by WEBVTT_REGIONS
        and is by default disabled in ports.

        Test: media/track/regions-webvtt/text-track-cue-region-attribute.html

        * html/track/TextTrackCue.cpp:
        (WebCore::TextTrackCue::TextTrackCue): Added member variable for the regionId attribute.
        (WebCore):
        (WebCore::TextTrackCue::setRegionId): Setter for the regionId attribute.
        (WebCore::TextTrackCue::settingName): Added RegionId setting name.
        (WebCore::TextTrackCue::setCueSettings): Parsed the "region:" cue setting.
        * html/track/TextTrackCue.h:
        (TextTrackCue):
        (WebCore::TextTrackCue::regionId): Getter for the regionId attribute.
        * html/track/TextTrackCue.idl: Updated to match the WebVTT Regions Extension.

2013-03-05  Anders Carlsson  <andersca@apple.com>

        Apply changes from storage events locally
        https://bugs.webkit.org/show_bug.cgi?id=111502

        Reviewed by Sam Weinig.

        Add and export a helper function for setting an item without taking
        into account the quota for the map. Also, reindent StorageMap.h

        * WebCore.exp.in:
        * storage/StorageMap.cpp:
        (WebCore::StorageMap::setItemIgnoringQuota):
        (WebCore):
        * storage/StorageMap.h:
        (StorageMap):
        (WebCore::StorageMap::quota):

2013-04-01  Benjamin Poulain  <benjamin@webkit.org>

        Remove a couple of malloc from ExceptionBase construction
        https://bugs.webkit.org/show_bug.cgi?id=113681

        Reviewed by Darin Adler.

        * dom/ExceptionBase.cpp:
        (WebCore::ExceptionBase::ExceptionBase):
        When the condition is true, we were creating a new String for
        description.name. The constructor had already allocated a string for
        that: m_name. Use that string instead of creating a new one.

        When the condition is false, we were creating a String for typeName
        just to use the string operators. This is a waste of time, we can use
        makeString() to invoke the string concatenation functions directly.

2013-04-01  Emil A Eklund  <eae@chromium.org>

        Move remaining marquee applying code to StyleBuilder
        https://bugs.webkit.org/show_bug.cgi?id=113298

        Reviewed by Allan Sandfeld Jensen.

        Move applying logic for CSSPropertyWebkitMarqueeIncrement,
        CSSPropertyWebkitMarqueeRepetition and CSSPropertyWebkitMarqueeSpeed
        from StyleResolver::applyProperty.

        No new tests, no change in functionality.

        * css/StyleBuilder.cpp:
        (ApplyPropertyMarqueeIncrement):
        (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
        (WebCore::ApplyPropertyMarqueeIncrement::createHandler):
        (WebCore):
        (ApplyPropertyMarqueeRepetition):
        (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
        (WebCore::ApplyPropertyMarqueeRepetition::createHandler):
        (ApplyPropertyMarqueeSpeed):
        (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
        (WebCore::ApplyPropertyMarqueeSpeed::createHandler):
        (WebCore::StyleBuilder::StyleBuilder):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::applyProperty):
        Move marquee applying logic from StyleResolver to StyleBuilder.
        
        * rendering/style/RenderStyle.h:
        Change setMarqueeIncrement to pass Length by value instead of const
        reference. This is consistent with other length setters and works with
        the ApplyPropertyLength template.

2013-04-01  Philip Rogers  <pdr@google.com>

        [SVG2] Add support for the buffered-rendering hint
        https://bugs.webkit.org/show_bug.cgi?id=104207

        Reviewed by Stephen Chenney.

        This patch adds the SVG2 buffered-rendering property and implements it for the image
        element. For reference, the spec can be found at:
            https://svgwg.org/svg2-draft/single-page.html#painting-BufferedRendering

        The buffered-rendering hint causes our implementation to create a temporary image buffer
        for caching an element's foreground rendering. This behavior has been designed to support
        other graphical and container elements in followup patches (such as the use and g elements).
        This patch should not affect rendering, and a test has been added showing the image
        results are unchanged. 

        The performance aspects of this patch can be tested using the following test:
            http://philbit.com/bouncingTigers.html
        Without the patch, rendering is below 1fps. With the patch, rendering is fluid.

        Tests: svg/css/buffered-rendering.html
               svg/repaint/buffered-rendering-dynamic-image.html
               svg/repaint/buffered-rendering-static-image.html

        Other than the changes to RenderSVGImage and SVGRenderingContext, the changes below are to
        support the new buffered-rendering property:

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSPrimitiveValueMappings.h:
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore):
        (WebCore::CSSPrimitiveValue::operator EBufferedRendering):
        * css/CSSProperty.cpp:
        (WebCore::CSSProperty::isInheritedProperty):
        * css/SVGCSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
        * css/SVGCSSParser.cpp:
        (WebCore::CSSParser::parseSVGValue):
        * css/SVGCSSPropertyNames.in:
        * css/SVGCSSStyleSelector.cpp:
        (WebCore::StyleResolver::applySVGProperty):
        * css/SVGCSSValueKeywords.in:
        * rendering/style/SVGRenderStyle.cpp:
        (WebCore::SVGRenderStyle::diff):
        * rendering/style/SVGRenderStyle.h:
        (WebCore::SVGRenderStyle::initialBufferedRendering):
        (WebCore::SVGRenderStyle::setBufferedRendering):
        (WebCore::SVGRenderStyle::bufferedRendering):
        (WebCore::SVGRenderStyle::setBitDefaults):
        * rendering/style/SVGRenderStyleDefs.h:
        * rendering/svg/RenderSVGImage.cpp:
        (WebCore::RenderSVGImage::paint):

            The foreground painting has been extracted out into a separate function. This has also
            been changed so that if the buffered-rendering hint is present, bufferForeground
            is used.

        (WebCore::RenderSVGImage::paintForeground):
        (WebCore):
        (WebCore::RenderSVGImage::invalidateBufferedForeground):

            This function could be replaced with "m_bufferedForeground.clear()" but other renderers
            (such as container elements) will require more complex invalidation logic. To
            maintain consistency with this future code, invalidateBufferedForeground has been used.

        (WebCore::RenderSVGImage::imageChanged):
        * rendering/svg/RenderSVGImage.h:
        (RenderSVGImage):
        * rendering/svg/SVGRenderingContext.cpp:
        (WebCore::SVGRenderingContext::bufferForeground):
        (WebCore):
        * rendering/svg/SVGRenderingContext.h:
        (SVGRenderingContext):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
        (WebCore::cssPropertyToTypeMap):
        * svg/svgattrs.in:

2013-04-01  Mike West  <mkwst@chromium.org>

        CSP 1.1: Remove 'type' parameter from CSPDirectiveList::checkSourceAndReportViolation.
        https://bugs.webkit.org/show_bug.cgi?id=113502

        Reviewed by Adam Barth.

        Now that we're passing in 'effectiveDirective', we don't need the 'type'
        parameter to generate the proper error message prefix when reporting
        violations.

        While I'm here, I'll slightly tweak the grammar for the error messages.
        Changes are covered via rebaselines of existing tests.

        * page/ContentSecurityPolicy.cpp:
        (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
            Drop the 'type' parameter. We don't need to pass in a type since
            we're now passing in the 'effectiveDirective'; we can use the latter
            to generate the correct error message prefix.
        (WebCore::CSPDirectiveList::allowScriptFromSource):
        (WebCore::CSPDirectiveList::allowObjectFromSource):
        (WebCore::CSPDirectiveList::allowChildFrameFromSource):
        (WebCore::CSPDirectiveList::allowImageFromSource):
        (WebCore::CSPDirectiveList::allowStyleFromSource):
        (WebCore::CSPDirectiveList::allowFontFromSource):
        (WebCore::CSPDirectiveList::allowMediaFromSource):
        (WebCore::CSPDirectiveList::allowConnectToSource):
        (WebCore::CSPDirectiveList::allowFormAction):
        (WebCore::CSPDirectiveList::allowBaseURI):
            Drop the 'type' parameter from the callsites, which has the lovely
            property of allowing us to throw away a bunch of statically allocated
            strings that we don't need anymore.

2013-04-01  James Craig  <james@cookiecrook.com>

        AX: "video element controller" is an overly verbose default description for the playback controls; how about just "playback"
        https://bugs.webkit.org/show_bug.cgi?id=113549

        Reviewed by Chris Fleizach.

        Existing test coverage. 

        Updating the video/audio element's default accessibility labels to be less verbose.
        Also cleaned up some erroneous comments related to the sub-level controls on these elements.

        * English.lproj/Localizable.strings:
        * platform/LocalizedStrings.cpp:
        (WebCore::localizedMediaControlElementString):
        (WebCore::localizedMediaControlElementHelpText):
        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::localizedMediaControlElementString):

2013-04-01  Nate Chapin  <japhet@chromium.org>

        Make a bunch of DocumentLoader functions private
        https://bugs.webkit.org/show_bug.cgi?id=113601

        Reviewed by Alexey Proskuryakov.

        No new tests, cleanup only.

        * loader/DocumentLoader.cpp:
        * loader/DocumentLoader.h:

2013-04-01  Kangil Han  <kangil.han@samsung.com>

        Minor code cleanup by removing duplicated null checks
        https://bugs.webkit.org/show_bug.cgi?id=113701

        Reviewed by Darin Adler.

        Duplicated null check is code redundancy, so delete those.

        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::setFocusedNodeIfNeeded):
        * platform/Arena.cpp:
        (WebCore::FreeArenaList):

2013-04-01  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: follow up to r147323, popover is empty on network panel.
        Not reviewed.

        * inspector/front-end/DOMExtension.js:
        (Element.prototype.measurePreferredSize):
        * inspector/front-end/Popover.js:
        (WebInspector.Popover.prototype._innerShow):

2013-04-01  Dmitry Zvorygin  <zvorygin@chromium.org>

        Web Inspector: Exception in console on attempt to filter javascript messages.
        https://bugs.webkit.org/show_bug.cgi?id=113327

        Fixed non-css filtration if console message groups are present. Message groups elements are always shown and are
        never filtered out.

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleMessage.js:
        (WebInspector.ConsoleMessageImpl.prototype.updateRepeatCount):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.get this):
        (WebInspector.ConsoleView.prototype._consoleMessageAdded):
        (WebInspector.ConsoleView.prototype._appendConsoleMessage):
        (WebInspector.ConsoleView.prototype._consoleCleared):
        (WebInspector.ConsoleView.prototype._shouldBeVisible):
        (WebInspector.ConsoleView.prototype._updateMessageList):
        (WebInspector.ConsoleView.prototype._printResult):

2013-04-01  Victor Carbune  <vcarbune@chromium.org>

        Parsing WebVTT Region Header Metadata
        https://bugs.webkit.org/show_bug.cgi?id=109818

        Reviewed by Eric Carlson.

        This patch enables reading regions from the metadata section of
        a WebVTT file. The work for defining generic metadata within the
        WebVTT file header is still work in progress in the TextTrack CG.

        As previous patches, everything is guarded by WEBVTT_REGIONS and
        is by default disabled in all ports.

        Test: media/track/regions-webvtt/text-track-region-parser.html

        * html/track/LoadableTextTrack.cpp:
        (WebCore):
        (WebCore::LoadableTextTrack::newRegionsAvailable): Added method
        to be called as soon as regions have finished parsing.
        * html/track/LoadableTextTrack.h:
        (LoadableTextTrack):
        * html/track/TextTrack.h: Changed the access modifiers.
        (TextTrack):
        * html/track/TextTrackRegion.cpp:
        (WebCore::TextTrackRegion::setRegionSettings): Entry point for
        parsing the region settings from a string.
        (WebCore):
        (WebCore::TextTrackRegion::getSettingFromString): Maps a string
        to a RegionSetting value.
        (WebCore::TextTrackRegion::parseSettingValue): Parses the value
        of a specific setting.
        (WebCore::TextTrackRegion::parseSetting): Parses a setting string.
        * html/track/TextTrackRegion.h:
        * html/track/WebVTTParser.cpp:
        (WebCore):
        (WebCore::WebVTTParser::parseFloatPercentageValue): Helper method
        to parse a float percentage value (e.g. "50.1%")
        (WebCore::WebVTTParser::parseFloatPercentageValuePair): Helper method
        to parse a float percentage value pair (e.g. "50.1%, 30.5%")
        (WebCore::WebVTTParser::getNewRegions): Retrieves the new regions
        available for processing.
        (WebCore::WebVTTParser::parseBytes):
        (WebCore::WebVTTParser::collectHeader): Generic function to collect
        header in the metadata region.
        (WebCore::WebVTTParser::createNewRegion): Creates new region using
        the existing metadata header name and value.
        * html/track/WebVTTParser.h:
        (WebVTTParserClient):
        (WebVTTParser):
        * loader/TextTrackLoader.cpp:
        (WebCore):
        (WebCore::TextTrackLoader::newRegionsParsed): Called when the
        regions have been succesfully parsed.
        (WebCore::TextTrackLoader::getNewRegions): Gets the new regions.
        * loader/TextTrackLoader.h:
        (TextTrackLoaderClient): Added methods that need to be implemented.
        (TextTrackLoader):

2013-04-01  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: Go to line dialog has 0 height, viewport dialogs have empty gaps.
        https://bugs.webkit.org/show_bug.cgi?id=113702

        Reviewed by Yury Semikhatsky.

        * inspector/front-end/DOMExtension.js:
        (Element.prototype.measurePreferredSize):
        * inspector/front-end/Popover.js:
        (WebInspector.Popover.prototype._innerShow):
        * inspector/front-end/ViewportControl.js:
        (WebInspector.ViewportControl.prototype.refresh):
        * inspector/front-end/dialog.css:
        (.dialog-contents):

2013-04-01  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: [DTE] Convertion between text and coordinates
        https://bugs.webkit.org/show_bug.cgi?id=113389

        Reviewed by Pavel Feldman.

        Test: inspector/editor/text-editor-char-to-coordinates.html

        Implement cursorPositionToCoordinates and coordinatesToCursorPosition
        methods pair in DefaultTextEditor.

        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.DefaultTextEditor.prototype.cursorPositionToCoordinates):
        (WebInspector.DefaultTextEditor.prototype.coordinatesToCursorPosition):
        (WebInspector.TextEditorMainPanel.prototype.cursorPositionToCoordinates):
        (WebInspector.TextEditorMainPanel.prototype.coordinatesToCursorPosition):
        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor.prototype.cursorPositionToCoordinates):
        (WebInspector.TextEditor.prototype.coordinatesToCursorPosition):

2013-04-01  Sergey Ryazanov  <serya@chromium.org>

        Web Inspector: Rename "Copy to Curl" menu item command to "Copy to cURL"
        https://bugs.webkit.org/show_bug.cgi?id=113575

        Reviewed by Pavel Feldman.

        Fix the name to the offical way of capitalization.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype._contextMenu):

2013-04-01  Koji Ishii  <kojiishi@gmail.com>

        ASSERTION FAILED: m_purgePreventCount when clicking text with emphasis marks
        https://bugs.webkit.org/show_bug.cgi?id=85266

        Reviewed by Darin Adler.

        Font::glyphDataAndPageForCharacter may call FontCache::getFontDataForCharacters
        if system fallback occurs, which may return SimpleFontData with DoNotRetain,
        so callers must prevent possible font cache purging.

        Test: fast/text/emphasis-height-crash.html

        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::emphasisMarkAscent): Add FontCachePurgePreventer.
        (WebCore::Font::emphasisMarkDescent): ditto.
        (WebCore::Font::emphasisMarkHeight): ditto.
        (WebCore::Font::drawEmphasisMarks): ditto.

2013-04-01  Vladislav Kaznacheev  <kaznacheev@chromium.org>

        Web Inspector: Fixed DOM Breakpoint pane styles.
        https://bugs.webkit.org/show_bug.cgi?id=113688

        Reviewed by Pavel Feldman.

        The required stylesheet (breakpointsList.css) was not loaded because of
        the peculiar way DOMBreakpointsSidebarPane is included in two panels
        (Sources and Elements) via a proxy pane. Since DOMBreakpointsSidebarPane
        was never shown directly the registerRequiredCSS call in its base class
        NativeBreakpointsSidebarPane constructor had no effect.
        Addin a registerRequiredCSS call to the proxy pane constructor fixes the
        problem.


        * inspector/front-end/DOMBreakpointsSidebarPane.js:
        (WebInspector.DOMBreakpointsSidebarPane.Proxy):

2013-04-01  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Flame Chart. Extract item to coordinates conversion into a separate function.
        https://bugs.webkit.org/show_bug.cgi?id=113682

        Reviewed by Yury Semikhatsky.

        The calculation was extracted into entryToAnchorBox.

        Drive by fixes: unnecessary members were removed.

        * inspector/front-end/FlameChart.js:
        (WebInspector.FlameChart):
        (WebInspector.FlameChart.Entry):
        (WebInspector.FlameChart.prototype._calculateTimelineData):
        (WebInspector.FlameChart.prototype._calculateTimelineDataForSamples):
        (WebInspector.FlameChart.prototype._getPopoverAnchor):
        (WebInspector.FlameChart.prototype._entryToAnchorBox):
        (WebInspector.FlameChart.prototype.draw):

2013-03-31  Zalan Bujtas  <zalan@apple.com>

        Gradient background does not get repainted when child box is expanded.
        https://bugs.webkit.org/show_bug.cgi?id=113644

        Reviewed by Antti Koivisto.
        
        The initial value for background-size is SizeNone and remains, unless it is
        set explicitly. However, when the background shorthand is used,
        the size property defaults to SizeLength. The repaint
        logic in mustRepaintFillLayers expects to have this value set correctly.

        Test: fast/repaint/background-shorthand-with-gradient-and-height-changes.html

        * rendering/RenderObject.cpp:
        (WebCore::mustRepaintFillLayers): code cleanup. no functionality change.
        * rendering/style/FillLayer.cpp:
        (WebCore::FillLayer::FillLayer):
        * rendering/style/FillLayer.h:    use SizeNone as initial value.
        (WebCore::FillLayer::initialFillSizeType):
        (WebCore::FillLayer::initialFillSize):

2013-03-31  Hayato Ito  <hayato@chromium.org>

        Text representation of pseudo elements, '::-webkit-distributed', is wrong in CSSSelector::selectorText().
        https://bugs.webkit.org/show_bug.cgi?id=113560

        Reviewed by Dimitri Glazkov.

        Fix the text representation of distributed functional pseudo elements in CSSSelector::selectorText().

        Test: fast/dom/shadow/distributed-pseudo-element-css-text.html

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::selectorText):
        * css/CSSSelector.h:
        (CSSSelector):

2013-03-31  Adam Barth  <abarth@webkit.org>

        [Chromium] Yarr should build using a separate GYP file from JavaScriptCore
        https://bugs.webkit.org/show_bug.cgi?id=113652

        Reviewed by Nico Weber.

        * WebCore.gyp/WebCore.gyp:
            - Update references to yarr.gyp.

2013-03-31  Kangil Han  <kangil.han@samsung.com>

        [EFL] Remove unused stdio.h includes
        https://bugs.webkit.org/show_bug.cgi?id=113655

        Reviewed by Andreas Kling.

        We do not have to include unused header file.

        * platform/efl/CursorEfl.cpp:
        * platform/efl/FileSystemEfl.cpp:
        * platform/efl/PlatformKeyboardEventEfl.cpp:
        * platform/efl/ScrollbarThemeEfl.cpp:

2013-03-31  Rafael Weinstein  <rafaelw@chromium.org>

        HTMLLinkElement should resolve resource URLs when resources will be fetched
        https://bugs.webkit.org/show_bug.cgi?id=113630

        HTMLLinkElement was resolving its URL when the href attribute was processed and caching it without ever
        invalidating the cached URL. This patch removes the cached URL and adds getURL() which resolve the
        URL dynamically.

        Reviewed by Eric Seidel.

        Test: fast/dom/HTMLLinkElement/resolve-url-on-insertion.html

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::getURL):
        (WebCore):
        (WebCore::HTMLLinkElement::parseAttribute):
        (WebCore::HTMLLinkElement::shouldLoadLink):
        (WebCore::HTMLLinkElement::process):
        * html/HTMLLinkElement.h:
        (HTMLLinkElement):

2013-03-31  Brady Eidson  <beidson@apple.com>

        NetworkProcess crashes in WebCoreResourceHandleAsOperationQueueDelegate callbacks.
        <rdar://problem/13541868> and https://bugs.webkit.org/show_bug.cgi?id=113664

        Reviewed by Dan Bernstein.

        In the "two-part" callbacks that involve waiting on a semaphore for the async block to finish,
        the delegate might have been destroyed by the time the wait completes.

        A RetainPtr<> protector will fix that up nicely.

        * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
        (-[WebCoreResourceHandleAsOperationQueueDelegate connectionShouldUseCredentialStorage:]):
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):

2013-03-30  Adam Barth  <abarth@webkit.org>

        Remove unused include of RegularExpression.h
        https://bugs.webkit.org/show_bug.cgi?id=113649

        Reviewed by Dimitri Glazkov.

        * Modules/filesystem/DOMFilePath.cpp:
            - This include isn't used.

2013-03-30  Tom Sepez  <tsepez@chromium.org>

        Cross-Origin copy&paste / drag&drop allowing XSS via srcdoc attribute.
        https://bugs.webkit.org/show_bug.cgi?id=113443

        Reviewed by Adam Barth.

        Tested by LayoutTests/editing/pasteboard/paste-noscript.html

        * dom/Element.h:
        (Element):
        (WebCore::Element::isHTMLContentAttribute):
        Adds an isHTMLContentAttribute() method to determine whether an attribute can contain
        (potentially unsafe) HTML content. Currently, the iframe's srcdoc attribute is the only
        such attribute, but clever folks might add more in the future.
        Rename stripJavaScriptAttributes() method to stripScriptingAttributes(), to better reflect
        the reality that scripting content may appear as above.
        Adds missing consts and consolidate isJavaScriptAttribute() method.

        * dom/Element.cpp:
        (WebCore::Element::isJavaScriptURLAttribute):
        (WebCore::Element::stripScriptingAttributes):
        Consolidated methods.
        
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::isHTMLContentAttribute):
        (WebCore):
        * html/HTMLFrameElementBase.h:
        (HTMLFrameElementBase):
        Indicate that for frames, the srcdoc attribute contains HTML content.
        
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::setAttributes):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::setAttributes):
        * xml/parser/XMLDocumentParserQt.cpp:
        (WebCore::setAttributes):
        Rename stripJavaScriptAttribute calls to match Element.h

2013-03-30  Tom Sepez  <tsepez@chromium.org>

        View-source iframes are dangerous (and not very useful).
        https://bugs.webkit.org/show_bug.cgi?id=113345

        Reviewed by Adam Barth.

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseAttribute):
        Conditionalize viewsource attribute on ENABLE(VIEWSOURCE_ATTRIBUTE).

2013-03-30  Philippe Normand  <pnormand@igalia.com>

        [GTK] Should use GStreamer codec installation infrastructure
        https://bugs.webkit.org/show_bug.cgi?id=34085

        Reviewed by Martin Robinson.

        Initial support for the GStreamer codec installer. The player will
        handle missing-plugins messages and use the pbutils codec
        installer facilities to install the missing GStreamer
        plugins. Once the plugins are installed reset the pipeline state.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mediaPlayerPrivatePluginInstallerResultFunction): This
        method is used to notify the player that the missing plugins were installed.
        (WebCore):
        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
        (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Ignore
        errors while installing plugins and handle the missing-plugin message.
        (WebCore::MediaPlayerPrivateGStreamer::handlePluginInstallerResult):
        This method is invoked after the installer finished its task.
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
        (MediaPlayerPrivateGStreamer):

2013-03-30  Praveen R Jadhav  <praveen.j@samsung.com>

        g_slist_reverse() may not be required in webKitWebAudioSrcLoop
        https://bugs.webkit.org/show_bug.cgi?id=113568

        Reviewed by Philippe Normand.

        Decremental 'for' loop logic implemented to avoid using g_slist_reverse().

        Original code            - 2.025230 micro seconds per loop
        Original code + patch    - 1.964759 micro seconds per loop

        This patch is covered by existing webaudio tests.

        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
        (webKitWebAudioSrcLoop):

2013-03-30  Alexei Filippov  <alph@chromium.org>

        Web Inspector: Fonts refactoring
        https://bugs.webkit.org/show_bug.cgi?id=113047

        Reviewed by Pavel Feldman.

        Unify fonts usage across inspector.
        Make inspector default font depend on platform.

        * inspector/front-end/breakpointsList.css:
        * inspector/front-end/dataGrid.css:
        (.data-grid):
        (.data-grid table):
        (.data-grid td):
        (.data-grid th.sort-ascending > div::after):
        (.data-grid th.sort-descending > div::after):
        (.data-grid button):
        * inspector/front-end/heapProfiler.css:
        (.heap-snapshot-view .class-view-toolbar input.class-name-filter):
        (.heap-snapshot-view .retainers-view-header):
        * inspector/front-end/inspector.css:
        (.toolbar-item):
        (.toolbar-label):
        (.console-message .bubble):
        (.outline-disclosure > ol):
        (.source-code):
        (.scope-bar li):
        (.sidebar-tree, .sidebar-tree .children):
        (.sidebar-tree-section):
        (li .status .bubble):
        (.sidebar-tree-item.selected):
        (.sidebar-tree-item .titles):
        (.sidebar-tree-item .subtitle):
        (.sidebar-tree-item.selected .subtitle):
        (.source-frame-breakpoint-message):
        (.soft-context-menu):
        * inspector/front-end/inspectorCommon.css:
        (body):
        (.resources-divider-label):
        * inspector/front-end/navigatorView.css:
        (.navigator li):
        (.navigator li.selected .selection):
        (.navigator .base-navigator-tree-element-title):
        * inspector/front-end/networkLogView.css:
        (.network-log-grid.data-grid td):
        (.network-log-grid.data-grid.small td):
        (.network-log-grid.data-grid th):
        (.network-log-grid.data-grid select):
        (.network-graph-label):
        (.network-timeline-grid .resources-divider-label):
        (.network-log-grid.data-grid .network-summary-bar td):
        * inspector/front-end/resourcesPanel.css:
        (.resources.panel .sidebar li):
        (.resources.panel .sidebar li.selected):
        (.resources.panel .sidebar li.selected .selection):
        * inspector/front-end/sidebarPane.css:
        (.sidebar-pane > .body .info):
        (.sidebar-pane-title):
        (.sidebar-pane-toolbar):
        (.sidebar-pane-subtitle):
        * inspector/front-end/tabbedPane.css:
        (.tabbed-pane-header-tab):
        (.tabbed-pane-header-tab-close-button):
        (select.tabbed-pane-header-tabs-drop-down-select):
        * inspector/front-end/timelinePanel.css:
        (.memory-counter-value):

2013-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r147263.
        http://trac.webkit.org/changeset/147263
        https://bugs.webkit.org/show_bug.cgi?id=113632

        Breaks test fast/loader/display-image-unset-allows-cached-
        image-load.html (Requested by mlam on #webkit).

        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::freshnessLifetime):

2013-03-29  Roger Fong  <roger_fong@apple.com>

        Unreviewed. AppleWin VS2010 build fix.

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

2013-03-29  Yongjun Zhang  <yongjun_zhang@apple.com>

        When releasing a CGImage, we should also remove it from the subimage cache.
        https://bugs.webkit.org/show_bug.cgi?id=102453

        Reviewed by Simon Fraser.

        When we release an image(CGImageRef) from BitmapImage's cachedFrames, if the image was already
        cached in subimage cache, it's ref count won't drop to 0 and the image won't be deleted.  Usually,
        the subimage cache will clear the whole cache in a timer with 1 sec delay.  However, if WebCore has
        to paint another subimage (not necessarily from the same CGImageRef) before this timer fires, we
        will restart the timer and images inside the cache will stay longer than they should.

        This patch does two things:
            - move SubimageCacheWithTimer and related helper struct into a separate file.
            - remove the image from subimage cache when we releasing the CGImageRef, this prevent subimage
        cache holding the image after we released it.

        No new tests, manually verified the CGImageRef is also removed from subimage cache
        when we releasing the image from FrameData::clear.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/cg/BitmapImageCG.cpp:
        (WebCore::FrameData::clear): remove the image from subimage cache before we releasing it.
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore):
        (WebCore::GraphicsContext::drawNativeImage):
        * platform/graphics/cg/SubimageCacheWithTimer.cpp: Added.
        (WebCore):
        (SubimageRequest):
        (WebCore::SubimageRequest::SubimageRequest):
        (WebCore::SubimageCacheAdder::hash):
        (SubimageCacheAdder):
        (WebCore::SubimageCacheAdder::equal):
        (WebCore::SubimageCacheAdder::translate):
        (WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer):
        (WebCore::SubimageCacheWithTimer::invalidateCacheTimerFired):
        (WebCore::SubimageCacheWithTimer::getSubimage):
        (WebCore::SubimageCacheWithTimer::clearImage):
        (WebCore::subimageCache):
        * platform/graphics/cg/SubimageCacheWithTimer.h: Added.
        (WebCore):
        (SubimageCacheWithTimer): Added a data member m_images to record which image and its subimages are cached.
        (SubimageCacheEntry):
        (SubimageCacheEntryTraits):
        (WebCore::SubimageCacheWithTimer::SubimageCacheEntryTraits::isEmptyValue):
        (WebCore::SubimageCacheWithTimer::SubimageCacheEntryTraits::constructDeletedValue):
        (WebCore::SubimageCacheWithTimer::SubimageCacheEntryTraits::isDeletedValue):
        (WebCore::SubimageCacheWithTimer::SubimageCacheHash::hash):
        (WebCore::SubimageCacheWithTimer::SubimageCacheHash::equal):
        (SubimageCacheHash):

2013-03-29  Andy Estes  <aestes@apple.com>

        Let cached resources from file: schemes expire immediately
        https://bugs.webkit.org/show_bug.cgi?id=113626

        Reviewed by Brady Eidson

        When a CachedResource was loaded from a file: URL, we would give it an
        indefinite freshness lifetime. This means that we would continue to
        serve a stale resource from the memory cache even if the file was
        changed on disk. With the introduction of main resource caching, this
        behavior broke at least one third-party WebKit app (see <rdar://problem/13313769>).

        We should instead let file resources expire immediately. Modern
        filesystems implement their own caching, so we should get good
        performance for multiple reads of unmodified files without doing our
        own caching.

        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::freshnessLifetime): file: URLs should have a
        0 freshness lifetime.

2013-03-29  Ojan Vafai  <ojan@chromium.org>

        Flexitems no longer default min-width to min-content
        https://bugs.webkit.org/show_bug.cgi?id=111790

        Reviewed by Tony Chang.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        Disallow auto as a valid min-size value.

        * css/html.css:
        (input::-webkit-datetime-edit):
        (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
        (input[type="range"]::-webkit-slider-runnable-track):
        Remove now unnecessary min-width: 0's.

        * css/mediaControlsChromium.css:
        (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
        (video::-webkit-media-controls-enclosure):
        Set a flex-shrink: 0 to avoid shrinking these items below the designated height.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::constrainLogicalHeightByMinMax):
        (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
        (WebCore::RenderBox::computeLogicalHeight):
        (WebCore::RenderBox::computeLogicalHeightUsing):
        (WebCore::RenderBox::computeContentLogicalHeight):
        (WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
        (WebCore::RenderBox::computeReplacedLogicalWidth):
        (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
        (WebCore::RenderBox::computeReplacedLogicalHeight):
        (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
        (WebCore::RenderBox::availableLogicalHeightUsing):
        (WebCore::RenderBox::computePositionedLogicalWidth):
        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
        (WebCore::RenderBox::computePositionedLogicalHeight):
        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
        Remove all the unneeded SizeType arguments now that we don't need to
        specially handle MinSize in all these functions.

        * rendering/RenderBox.h:
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::styleWillChange):
        (WebCore::RenderButton::setupInnerStyle):
        No longer need to explicitly set min-width:0.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
        (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
        Remove the code for specially handling auto.

        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::maxPageLogicalHeight):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
        Remove all the now unneeded SizeType arguments.

        * rendering/style/RenderStyle.h:
        Change the default min-size back to 0.

2013-03-29  Alexey Proskuryakov  <ap@apple.com>

        Expose FeatureObserver data to WebKit clients
        https://bugs.webkit.org/show_bug.cgi?id=113613

        Reviewed by Sam Weinig.

        FeatureObserver used to depend on chromium-only HistogramSupport, which is not
        really usable on Mac at least.

        Instead of adding parallel feature reporting machinery, I'm adding a way to
        generically relay the data from FeatureObserver to port code.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadWithDocumentLoader):
        (WebCore::FrameLoader::commitProvisionalLoad):
        (WebCore::FrameLoader::reportMemoryUsage):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::previousURL):
        Exposed m_previousURL, renaming it to follow WebKit style.

        * page/FeatureObserver.cpp:
        (WebCore::FeatureObserver::~FeatureObserver):
        (WebCore::FeatureObserver::updateMeasurements):
        * page/FeatureObserver.h:
        (WebCore::FeatureObserver::accumulatedFeatureBits):
        Exposed the data to clients, and made reporting through HistogramSupport
        chromium only for clarity.

2013-03-29  Bem Jones-Bey  <bjonesbe@adobe.com>

        [CSS Exclusions] shape outside segments not properly calculated for ellipses
        https://bugs.webkit.org/show_bug.cgi?id=112587

        Reviewed by Julien Chaffraix.

        When converting the line top coordinates from the parent's coordinate
        space to the coordinate space of the float, the offset given by the
        shape was not being accounted for. This patch accounts for that
        offset.

        Test: fast/exclusions/shape-outside-floats/shape-outside-floats-non-zero-y.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::logicalLeftOffsetForLine): Fix the coordinate conversion.
        (WebCore::RenderBlock::logicalRightOffsetForLine): Ditto.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Ditto.

2013-03-29  Hans Muller  <hmuller@adobe.com>

        [CSS Exclusions] Incorrect margin corner radii formula
        https://bugs.webkit.org/show_bug.cgi?id=111186

        Reviewed by Dirk Schulze.

        Corrected an error in the forumla for the margin ellipse's radii.

        Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-left.html
               fast/exclusions/shape-outside-floats/shape-outside-floats-ellipse-margin-right.html

        * rendering/ExclusionRectangle.cpp:
        (WebCore::FloatRoundedRect::marginBounds):

2013-03-19  Ojan Vafai  <ojan@chromium.org>

        min-width/max-width of min-content/max-content don't work correctly if width is specified
        https://bugs.webkit.org/show_bug.cgi?id=106143

        Reviewed by Tony Chang.

        Test: fast/css-intrinsic-dimensions/intrinsic-sized-blocks.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
        Expose this so that we don't use the preferred widths when calculating intrinsic width
        values since the preferred width will be the regular width value if it is set.
        Also, simplified the logic around table cells and scrollbar widths. The old code was
        wrong and unnecessarily complicated.

        (WebCore::RenderBlock::computePreferredLogicalWidths):
        Use the new computeIntrinsicLogicalWidths method.

        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
        Pass in the min/max values as out params so they can be called from computeIntrinsicLogicalWidths.
        Also, make computeBlockPreferredLogicalWidths const.

        * rendering/RenderBlock.h:

2013-03-29  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Use WTF::TemporaryChange rather than manually resetting a flag
        https://bugs.webkit.org/show_bug.cgi?id=113594

        Reviewed by Tony Chang.

        Split out from another patch: rather than m_foo = true; ... m_foo = false; use
        the handy WTF::TemporaryChange scoped variable change doohickey.

        Test: http/tests/inspector/indexeddb/database-structure.html

        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::close):

2013-03-29  Joshua Bell  <jsbell@chromium.org>

        [V8] IndexedDB: Exceptions thrown inconsistently for non-cloneable values
        https://bugs.webkit.org/show_bug.cgi?id=113091

        Reviewed by Kentaro Hara.

        The exception thrown by SerializedScriptValue into the JS engine is not
        observable by ScriptState. (We should fix that, but it appears non-trivial.)
        Ask the SerializedScriptValue directly if it failed to clone. If so, don't
        set an exception - one was already set so let that be processed normally.

        Test: storage/indexeddb/clone-exception.html

        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore::IDBObjectStore::put):

2013-03-29  Dean Jackson  <dino@apple.com>

        Snapshotted plugins must be able to restart on appropriate mouseup events
        https://bugs.webkit.org/show_bug.cgi?id=113577

        Reviewed by Tim Horton.

        If the page content prevents the default behaviour of a mousedown event, then a snapshotted
        plugin would never receive a click event, and thus be unable to restart. We have to also
        look for a mouseup that happens with an associated mousedown, and trigger restart. This
        won't call any page code - it's just behind the scenes.

        * rendering/RenderSnapshottedPlugIn.cpp:
        (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize new member variable.
        (WebCore::RenderSnapshottedPlugIn::handleEvent): Track the state of mousedown and up pairs, and restart
            if you see an appropriate mouseup.
        * rendering/RenderSnapshottedPlugIn.h: New member variable to track mouse state.

2013-03-29  Simon Fraser  <simon.fraser@apple.com>

        removeViewportConstrainedLayer() should remove the layer from m_viewportConstrainedLayersNeedingUpdate too
        https://bugs.webkit.org/show_bug.cgi?id=113596

        Reviewed by Tim Horton.
        
        It's possible, with some combination of position:fixed and opacity transitions
        in iframes, to end up with a RenderLayer in m_viewportConstrainedLayersNeedingUpdate
        that has been removed from m_viewportConstrainedLayers, which leads to later assertions
        and/or crashes.
        
        Fix by removing a layer from m_viewportConstrainedLayersNeedingUpdate when we
        remove it from m_viewportConstrainedLayers.

        I was not able to come up with a testcase that reliably reproduces this.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::removeViewportConstrainedLayer):

2013-03-29  Greg Hughes  <ghughes@apple.com>

        Allow multiple searchKeys to be passed to AXUIElementCopyParameterizedAttributeValue
        https://bugs.webkit.org/show_bug.cgi?id=112276

        Reviewed by Chris Fleizach.

        Added support for accessibility search predicates to accept multiple search keys. The search will return the first item that matches any one of the provided search keys.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
        (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
        (WebCore):
        * accessibility/AccessibilityObject.h:
        (AccessibilitySearchCriteria):
        (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
        (AccessibilityObject):
        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2013-03-29  Joshua Bell  <jsbell@chromium.org>

        IndexedDB: Bind lifetime of in-memory backing stores to IDBFactory backend
        https://bugs.webkit.org/show_bug.cgi?id=110820

        Reviewed by Tony Chang.

        Backing stores are dropped as soon as all connections are closed. That makes sense for
        disk-backed stores to free up memory (although there's a performance trade-off...). But
        for memory-backed stores, the expected lifetime should match the lifetime of the factory
        so that an open/write/close/re-open/read yields the written data.

        Test: Chromium's webkit_unit_tests, IDBFactoryBackendTest.MemoryBackingStoreLifetime

        * Modules/indexeddb/IDBBackingStore.cpp:
        (WebCore::IDBBackingStore::IDBBackingStore): Pass comparator into constructor since it was always
        assigned immediately afterwards anyway.
        (WebCore::IDBBackingStore::open): Split into three parts - open() which is disk-backed...
        (WebCore::IDBBackingStore::openInMemory): ...explit in-memory creation (previously: specified by empty path)
        (WebCore::IDBBackingStore::create): ... and the common logic which calls the constructor.
        * Modules/indexeddb/IDBBackingStore.h: Headers for the above.
        * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
        (WebCore::IDBFactoryBackendImpl::openBackingStore): Add in-memory backing stores to dependent set.
        * Modules/indexeddb/IDBFactoryBackendImpl.h: Add member to track dependent backing stores.

2013-03-29  Nate Chapin  <japhet@chromium.org>

        ASSERT d->m_defersLoading != defers on detik.com and drive.google.com
        https://bugs.webkit.org/show_bug.cgi?id=111902

        Reviewed by Alexey Proskuryakov.

        Test: http/tests/navigation/same-url-iframes-defer-crash.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::setDefersLoading): If multiple DocumentLoaders are
           using loading the same main resource, ensure only one of them can call
           ResourceLoader::setDefersLoading.

2013-03-29  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Content should not be lost when uiSourceCode's file was removed externally on file system.
        https://bugs.webkit.org/show_bug.cgi?id=113581

        Reviewed by Pavel Feldman.

        * inspector/front-end/IsolatedFileSystem.js:
        (WebInspector.IsolatedFileSystem.prototype.errorHandler):
        (WebInspector.IsolatedFileSystem.prototype.requestFileContent):
        (WebInspector.IsolatedFileSystem.prototype.fileSystemLoaded):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.checkContentUpdated.contentLoaded):
        (WebInspector.UISourceCode.prototype.checkContentUpdated):
        (WebInspector.UISourceCode.prototype._commitContent):

2013-03-29  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Prompt before closing dirty tab.
        https://bugs.webkit.org/show_bug.cgi?id=113576

        Reviewed by Pavel Feldman.

        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer):
        (WebInspector.TabbedEditorContainer.prototype._maybeCloseTab):
        (WebInspector.TabbedEditorContainer.prototype._closeTabs):
        (WebInspector.EditorContainerTabDelegate):
        (WebInspector.EditorContainerTabDelegate.prototype.closeTabs):
        * inspector/front-end/TabbedPane.js:
        (WebInspector.TabbedPane.prototype.setTabDelegate):
        (WebInspector.TabbedPane.prototype.appendTab):
        (WebInspector.TabbedPane.prototype.allTabs):
        (WebInspector.TabbedPane.prototype.otherTabs):
        (WebInspector.TabbedPaneTab.prototype.setDelegate):
        (WebInspector.TabbedPaneTab.prototype._tabClicked):
        (WebInspector.TabbedPaneTab.prototype._closeTabs):
        (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
        (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeOthers):
        (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeAll):
        (WebInspector.TabbedPaneTabDelegate):
        (WebInspector.TabbedPaneTabDelegate.prototype.closeTabs):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.resetWorkingCopy):

2013-03-29  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Flame Chart. Remove hopping ancorElement and use anchorBox instead.
        https://bugs.webkit.org/show_bug.cgi?id=113579

        Reviewed by Pavel Feldman.

        Initially I made a fake anchor element and moved it according to the highlighted element position.
        It was a hack and after http://trac.webkit.org/changeset/147209 I'm able to remove it.

        Drive by fix: the code was moved from onMouseMove to getPopoverAnchor.

        * inspector/front-end/FlameChart.js:
        (WebInspector.FlameChart):
        (WebInspector.FlameChart.prototype._getPopoverAnchor):
        -(WebInspector.FlameChart.prototype._onMouseMove)
        * inspector/front-end/flameChart.css:

2013-03-29  Kondapally Kalyan  <kalyan.kondapally@intel.com>

        [EFL][EGL] Add support for creating offscreen surface.
        https://bugs.webkit.org/show_bug.cgi?id=113359

        Reviewed by Noam Rosenthal.

        This is in preparation for enabling EGL and GLES2
        support for EFL port. This patch adds support for using
        EGLPixmapSurface as an offscreensurface.

        * PlatformEfl.cmake:
        * platform/graphics/opengl/GLPlatformSurface.cpp:
        (WebCore::GLPlatformSurface::createOffScreenSurface):
        * platform/graphics/surfaces/efl/GLTransportSurface.cpp:
        (WebCore::GLTransportSurface::createTransportSurface):
        * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
        (WebCore::EGLConfigSelector::EGLConfigSelector):
        (WebCore::EGLConfigSelector::pixmapContextConfig):
        (WebCore::EGLConfigSelector::surfaceContextConfig):
        (WebCore::EGLConfigSelector::nativeVisualId):
        (WebCore::EGLConfigSelector::reset):
        (WebCore::EGLConfigSelector::createConfig):
        * platform/graphics/surfaces/egl/EGLConfigSelector.h:
        (EGLConfigSelector):

         Added logic to select EGLConfig supporting alpha and
         opaque as needed. Moved Code related to display to
         EGLHelper class.

        * platform/graphics/surfaces/egl/EGLHelper.cpp: Added.
        (WebCore):
        (EGLDisplayConnection):
        (WebCore::EGLDisplayConnection::EGLDisplayConnection):
        (WebCore::EGLDisplayConnection::~EGLDisplayConnection):
        (WebCore::EGLDisplayConnection::display):
        (WebCore::EGLDisplayConnection::terminate):
        (WebCore::EGLHelper::eglDisplay):
        * platform/graphics/surfaces/egl/EGLHelper.h: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.h.
        (WebCore):
        (EGLHelper):
        * platform/graphics/surfaces/egl/EGLSurface.cpp:
        (WebCore::EGLTransportSurface::createTransportSurface):
        (WebCore::EGLTransportSurface::EGLTransportSurface):
        (WebCore::EGLTransportSurface::attributes):
        (WebCore::EGLTransportSurface::~EGLTransportSurface):
        (WebCore::EGLTransportSurface::destroy):
        (WebCore::EGLTransportSurface::configuration):
        (WebCore::EGLOffScreenSurface::createOffScreenSurface):
        (WebCore::EGLOffScreenSurface::EGLOffScreenSurface):
        (WebCore::EGLOffScreenSurface::~EGLOffScreenSurface):
        (WebCore::EGLOffScreenSurface::attributes):
        (WebCore::EGLOffScreenSurface::configuration):
        (WebCore::EGLOffScreenSurface::destroy):
        * platform/graphics/surfaces/egl/EGLSurface.h:
        (WebCore):
        (EGLTransportSurface):
        (EGLOffScreenSurface):
        * platform/graphics/surfaces/egl/EGLXSurface.cpp: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.cpp.
        (WebCore):
        (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
        (WebCore::EGLWindowTransportSurface::~EGLWindowTransportSurface):
        (WebCore::EGLWindowTransportSurface::swapBuffers):
        (WebCore::EGLWindowTransportSurface::destroy):
        (WebCore::EGLPixmapSurface::EGLPixmapSurface):
        (WebCore::EGLPixmapSurface::~EGLPixmapSurface):
        (WebCore::EGLPixmapSurface::destroy):
        * platform/graphics/surfaces/egl/EGLXSurface.h: Copied from Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.h.
        (WebCore):
        (EGLWindowTransportSurface):
        (EGLPixmapSurface):

        EGLPixmapSurface implementation.

2013-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r147218.
        http://trac.webkit.org/changeset/147218
        https://bugs.webkit.org/show_bug.cgi?id=113585

        We should rethink UI of this feature. (Requested by vsevik on
        #webkit).

        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.populateWithProperties):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.prototype.set else):
        (WebInspector.RemoteObjectProperty):
        * inspector/front-end/inspector.css:

2013-03-29  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: extract common base for 3 timeline overview controls (Events/Frames/Memory)
        https://bugs.webkit.org/show_bug.cgi?id=113572

        Reviewed by Yury Semikhatsky.

        Refactoring, covered by existing tests.

        - introduce TimelineOverviewBase as a common base for 3 overview controls;
        - make every overview control a view.

        This does not yet take advantage of common base (subject of the next patch).

        * inspector/front-end/OverviewGrid.js:
        (WebInspector.OverviewGrid.prototype.gridElement):
        (WebInspector.OverviewGrid.prototype.itemsGraphsElement):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.setMode):
        (WebInspector.TimelineOverviewPane.prototype._update):
        (WebInspector.TimelineOverviewBase):
        (WebInspector.TimelineOverviewBase.prototype.update):
        (WebInspector.TimelineMemoryOverview):
        (WebInspector.TimelineEventOverview):
        (WebInspector.TimelineEventOverview.prototype._renderBar):
        (WebInspector.TimelineFrameOverview):
        (WebInspector.TimelineFrameOverview.prototype.update):
        (WebInspector.TimelineFrameOverview.prototype._renderBars):
        (WebInspector.TimelineFrameOverview.prototype._drawFPSMarks):
        (WebInspector.TimelineFrameOverview.prototype._renderBar):

2013-03-29  Peter Rybin  <prybin@chromium.org>

        Web Inspector: gather accessor property getter and setter under a single tree node
        https://bugs.webkit.org/show_bug.cgi?id=113357

        Reviewed by Yury Semikhatsky.

        A new tree element class AccessorPropertyTreeElemenet is added.
        RemoteObjectProperty can now represent accessor property (if value is null).
        New tree element is supported in CSS stylesheet.

        Testing code is slightly modified for exploring new tree elements.

        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.populateWithProperties):
        (WebInspector.AccessorPropertyTreeElement):
        (WebInspector.AccessorPropertyTreeElement.prototype.onattach):
        (WebInspector.AccessorPropertyTreeElement.prototype.update):
        (WebInspector.AccessorPropertyTreeElement.prototype.onpopulate):
        * inspector/front-end/RemoteObject.js:
        * inspector/front-end/inspector.css:
        (.accessor-property-name):

2013-03-29  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Flame Chart. Developers will have more clue
        if two different profiles will have same colors for same functions.
        https://bugs.webkit.org/show_bug.cgi?id=113410

        Reviewed by Pavel Feldman.

        The code related to color generator was extracted into a separate class.
        The instance of the class was stored as static private member of the FlameChart class,
        so all the profiles will share the same instance and will use same colors.
        The colors itself were slightly adjusted.

        Drive by fix: coordinatesToNodeIndex was fixed. The error was introduced in the patch about left padding.

        * inspector/front-end/FlameChart.js:
        (WebInspector.FlameChart):
        (WebInspector.FlameChart.ColorGenerator):
        (WebInspector.FlameChart.ColorGenerator.prototype._colorPairForID):
        (WebInspector.FlameChart.prototype._calculateTimelineData):
        (WebInspector.FlameChart.prototype._calculateTimelineDataForSamples):
        (WebInspector.FlameChart.prototype._coordinatesToNodeIndex):

2013-03-29  Charles Wei  <charles.wei@torchmobile.com.cn>

        [BlackBerry] Cleanup the CONTEXT_MENUS in BlackBerry porting
        https://bugs.webkit.org/show_bug.cgi?id=113562

        Reviewed by George Staikos.
        Internally reviewed by Mike Fenton and Gen Mak.

        No new tests, just disable CONTEXT_MENUS for blackberry porting. 

        * platform/blackberry/ContextMenuBlackBerry.cpp:
        * platform/blackberry/ContextMenuItemBlackBerry.cpp:

2013-03-29  KwangYong Choi  <ky0.choi@samsung.com>

        Fix build warning after r147022
        https://bugs.webkit.org/show_bug.cgi?id=113567

        Reviewed by Kentaro Hara.

        Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
        No new tests, no change on behavior.

        * page/EventHandler.cpp:
        (WebCore::expandSelectionToRespectUserSelectAll):

2013-03-29  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: ability to use AnchorBox as an anchor for Popover
        https://bugs.webkit.org/show_bug.cgi?id=113563

        Reviewed by Pavel Feldman.

        No new test: no change in behaviour.

        - Ability to pass AnchorBox instead of Element for popover anchor.

        * inspector/front-end/Popover.js:
        (WebInspector.Popover.prototype._positionElement):
        (WebInspector.PopoverHelper.prototype._eventInHoverElement):

2013-03-29  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: assign Scroll events to rendering category (was painting)
        https://bugs.webkit.org/show_bug.cgi?id=113564

        Reviewed by Pavel Feldman.

        * inspector/front-end/TimelinePresentationModel.js: /ScrollLayer.*category/s/painting/rendering/
        (WebInspector.TimelinePresentationModel._initRecordStyles):

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

        [GStreamer] playback gets bumpy sometimes when on-disk buffering is slow
        https://bugs.webkit.org/show_bug.cgi?id=113512

        Reviewed by Martin Robinson.

        When the HTTP source element is slow downloading data for on-disk
        buffering the playback position might reach an unbuffered region
        and have bad consequences, pausing the pipeline beforehand
        prevents this case to happen.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):

2013-03-29  Keishi Hattori  <keishi@webkit.org>

        Add the event handler content attributes that are defined in the spec to HTMLElement
        https://bugs.webkit.org/show_bug.cgi?id=86363

        Reviewed by Ryosuke Niwa.

        Test: fast/events/event-attribute.html

        We are missing some event handler content attributes from HTMLElement that are defined in the spec.
        http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#event-handlers-on-elements,-document-objects,-and-window-objects

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::eventNameForAttributeName): Returns event name for a given attribute name by looking it up on a HashMap.
        (WebCore::HTMLElement::parseAttribute): Sets up event listeners for content attributes.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::parseAttribute): Removed event listener content attributes that was added to HTMLElement.
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::parseAttribute): Ditto.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseAttribute): Ditto.
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::parseAttribute): Ditto.
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseAttribute): Ditto.
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::parseAttribute): Ditto.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::parseAttribute): Ditto.
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::parseAttribute): Ditto.
        * html/HTMLTextFormControlElement.cpp:
        (WebCore::HTMLTextFormControlElement::parseAttribute): Ditto.
        * html/HTMLTrackElement.cpp:
        (WebCore::HTMLTrackElement::parseAttribute): Ditto.

2013-03-22  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: timeline paint rectangles are off for transformed layers
        https://bugs.webkit.org/show_bug.cgi?id=112919

        Reviewed by Pavel Feldman.

        - pass RenderObject instead of Frame to InspectorInstrumentation::didPaint;
        - take transforms into account and convert paint clip rect into quad;
        - emit quads, not rects as Paint and Layout record data;
        - adjust client to using quads, compute width/height from quad coords.

        * inspector/InspectorInstrumentation.cpp: Pass RenderObject, not frame to {will,did}Paint.
        (WebCore):
        (WebCore::InspectorInstrumentation::willPaintImpl):
        (WebCore::InspectorInstrumentation::didPaintImpl):
        (WebCore::InspectorInstrumentation::instrumentingAgentsForRenderer): Added.
        * inspector/InspectorInstrumentation.h:
        (WebCore):
        (InspectorInstrumentation):
        (WebCore::InspectorInstrumentation::willPaint):
        (WebCore::InspectorInstrumentation::didPaint):
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::didLayout):
        (WebCore::InspectorTimelineAgent::didPaint):
        (WebCore::InspectorTimelineAgent::localToPageQuad): Convert local clip rect to transformed quad.
        (WebCore):
        * inspector/InspectorTimelineAgent.h:
        (WebCore):
        (InspectorTimelineAgent):
        * inspector/TimelineRecordFactory.cpp: Emit quads as Paint and Layout records data.
        (WebCore::createQuad):
        (WebCore):
        (WebCore::TimelineRecordFactory::createPaintData):
        (WebCore::TimelineRecordFactory::createLayoutData):
        * inspector/TimelineRecordFactory.h:
        (WebCore):
        (TimelineRecordFactory):
        * inspector/front-end/TimelinePanel.js: Highlight a quad iff formatted record has highlightQuad field.
        (WebInspector.TimelinePanel.prototype._mouseOut):
        (WebInspector.TimelinePanel.prototype._mouseMove):
        (WebInspector.TimelinePanel.prototype._highlightQuad):
        (WebInspector.TimelinePanel.prototype._hideQuadHighlight):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.Record): Set highlightQuad for Paint and Layout
        (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
        (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
        (WebInspector.TimelinePresentationModel.quadWidth):
        (WebInspector.TimelinePresentationModel.quadHeight):
        * page/FrameView.cpp:
        (WebCore::FrameView::paintContents):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintContents):

2013-03-21  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: generalize InspectorDOMAgent::highlightRect() to highlightQuad()
        https://bugs.webkit.org/show_bug.cgi?id=112911

        Reviewed by Pavel Feldman.

        - added Quad type and DOMAgent.highlightQuad() to protocol;
        - retained DOMAgent.highlightRect(), but implement it via highlightQuad.

        * inspector/Inspector.json:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::parseQuad):
        (WebCore):
        (WebCore::InspectorDOMAgent::highlightRect):
        (WebCore::InspectorDOMAgent::highlightQuad):
        (WebCore::InspectorDOMAgent::innerHighlightQuad):
        * inspector/InspectorDOMAgent.h:
        (InspectorDOMAgent):
        * inspector/InspectorOverlay.cpp: Mostly just renames of rect to quad.
        (WebCore::InspectorOverlay::paint):
        (WebCore::InspectorOverlay::getHighlight):
        (WebCore::InspectorOverlay::hideHighlight):
        (WebCore::InspectorOverlay::highlightQuad):
        (WebCore::InspectorOverlay::update):
        (WebCore::InspectorOverlay::drawQuadHighlight):
        (WebCore::InspectorOverlay::reportMemoryUsage):
        * inspector/InspectorOverlay.h:
        (InspectorOverlay):
        * inspector/InspectorOverlayPage.html: Ditto.

2013-03-29  Zalan Bujtas  <zalan@apple.com>

        REGRESSION(r143102): Ignore table cell's height attribute when checking if containing block has auto height.
        https://bugs.webkit.org/show_bug.cgi?id=113526

        It matches shipping Safari and Firefox behaviour.
        
        Reviewed by Antti Koivisto.

        Test: fast/replaced/iframe-with-percentage-height-within-table-with-table-cell-ignore-height.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):

2013-03-28  Eugene Klyuchnikov  <eustas@chromium.org>

        Web Inspector: [Cookies] CookiesTable should integrate with DataGrid context menu.
        https://bugs.webkit.org/show_bug.cgi?id=113496

        Reviewed by Pavel Feldman.

        Integrate CookiesTable with DataGrid context menu
        instead of overriding it.

        * inspector/front-end/CookiesTable.js:
        Pass context menu callback to DataGrid constructor.
        * inspector/front-end/DataGrid.js:
        Added context menu callback constructor parameter. Fixed JSDoc.

2013-03-28  Philip Rogers  <pdr@google.com>

        Fix compiler warning in IDBTransaction::modeToString
        https://bugs.webkit.org/show_bug.cgi?id=113547

        Reviewed by Darin Adler.

        Not all compilers are smart enough to handle this switch. This patch refactors
        modeToString to not return from the default case.

        No new tests as this is just a compiler fix.

        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::modeToString):

2013-03-28  Simon Fraser  <simon.fraser@apple.com>

        GraphicsLayerCA::recomputeVisibleRects() shouldn't actually set the visible rect
        https://bugs.webkit.org/show_bug.cgi?id=113544

        Reviewed by Tim Horton.
        
        The functions added in r147058 to update the visible rects of GraphicsLayerCAs
        should not have actually set the m_visibleRect on the layer, because this
        caused a later call to adjustTiledLayerVisibleRect() to think that the visible
        rect had not changed, so it did no expansion.
        
        Clarify the logic to ask the GraphicsLayer whether, given a new visible
        rect, it would need to make new tiles (which happens later during a flush).
        
        Add a function to RenderLayerCompositor to call this code (but which has
        no callers yet).

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::visibleRectChangeRequiresFlush): Make private.
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
        (WebCore::GraphicsLayerCA::visibleRectChangeRequiresFlush):
        * platform/graphics/ca/GraphicsLayerCA.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::noteVisibleRectChanged):
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

2013-03-28  Rafael Weinstein  <rafaelw@chromium.org>

        [HTMLTemplateElement] <template> should be able to be a foster parent
        https://bugs.webkit.org/show_bug.cgi?id=113541

        Reviewed by Eric Seidel

        This adds to the check in findFosterSite to include whether the parent is a DocumentFragment which is a template contents.

        Tests added to html5lib suite.

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::findFosterSite):

2013-03-28  Xianzhu Wang  <wangxianzhu@chromium.org>

        [Chromium] Don't create SolidColorLayer for full transparent background
        https://bugs.webkit.org/show_bug.cgi?id=113524

        Reviewed by James Robinson.

        Test: GraphicsLayerChromiumTest.setContentsToSolidColor

        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        (WebCore::GraphicsLayerChromium::setContentsToSolidColor):

2013-03-28  Arnaud Renevier  <a.renevier@sisa.samsung.com>

        use XMLHttpRequestResponseType enumeration in XMLHttpRequest.idl
        https://bugs.webkit.org/show_bug.cgi?id=113518

        Reviewed by Kentaro Hara.

        Use enum XMLHttpRequestResponseType type instead of DOMString for
        XMLHttpRequest responseType.

        Argument validation now happens in the bindings. 
        XMLHttpRequest::setResponseType should then never receive invalid
        arguments. So, replace console message with ASSERT_NOT_REACHED();

        Test: fast/xmlhttprequest/xmlhttprequest-set-responsetype.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::setResponseType):
        * xml/XMLHttpRequest.idl:

2013-03-28  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>

        [css3-text] Add platform support for "wavy" text decoration style
        https://bugs.webkit.org/show_bug.cgi?id=92868

        Reviewed by Benjamin Poulain.

        This patch uses GraphicsContext::strokePath() to implement
        wavy decoration for the CSS3 property "text-decoration-style".

        No new tests as this is covered with existing tests.

        * rendering/InlineTextBox.cpp:
        (WebCore::textDecorationStyleToStrokeStyle): Remove obsolete comment.
        (WebCore::adjustStepToDecorationLength): Add function to adjust
        variables used to calculate the lenght of Bezier curves.
        (WebCore::strokeWavyTextDecoration): Add function to stroke wavy
        decoration based on cubic Bezier curve.
        (WebCore::InlineTextBox::paintDecoration): Call
        strokeWavyTextDecoration when necessary.

2013-03-28  Arnaud Renevier  <a.renevier@sisa.samsung.com>

        REGRESSION(r147149): breaks binding test on Mac. (Requested by mlam_ on #webkit).
        https://bugs.webkit.org/show_bug.cgi?id=113538

        Reviewed by Simon Fraser.

        Run run-bindings-tests --reset-results to fix broken tests after
        r147149.

        * bindings/scripts/test/V8/V8TestInterface.cpp:
        (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjV8Internal::shortAttrAttrSetter):
        (WebCore::TestObjV8Internal::unsignedShortAttrAttrSetter):
        (WebCore::TestObjV8Internal::longAttrAttrSetter):
        (WebCore::TestObjV8Internal::longLongAttrAttrSetter):
        (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetter):
        (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
        (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
        (WebCore::TestObjV8Internal::createAttrSetter):
        (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetter):
        (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetter):
        (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetter):
        (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetter):
        (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetter):
        (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
        (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetter):
        (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetter):
        (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
        (WebCore::TestObjV8Internal::conditionalAttr1AttrSetter):
        (WebCore::TestObjV8Internal::conditionalAttr2AttrSetter):
        (WebCore::TestObjV8Internal::conditionalAttr3AttrSetter):
        (WebCore::TestObjV8Internal::anyAttributeAttrSetter):
        (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetter):
        (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetter):
        (WebCore::TestObjV8Internal::enabledPerContextAttr1AttrSetter):
        (WebCore::TestObjV8Internal::enabledPerContextAttr2AttrSetter):
        (WebCore::TestObjV8Internal::floatArrayAttrSetter):
        (WebCore::TestObjV8Internal::doubleArrayAttrSetter):
        (WebCore::TestObjV8Internal::mutablePointAttrSetter):
        (WebCore::TestObjV8Internal::immutablePointAttrSetter):
        (WebCore::TestObjV8Internal::strawberryAttrSetter):
        (WebCore::TestObjV8Internal::strictFloatAttrSetter):
        (WebCore::TestObjV8Internal::idAttrSetter):
        (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrSetter):
        (WebCore::TestObjV8Internal::nullableStringValueAttrSetter):
        (WebCore::TestObjV8Internal::perWorldAttributeAttrSetter):
        (WebCore::TestObjV8Internal::perWorldAttributeAttrSetterForMainWorld):
        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetter):
        (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
        * bindings/scripts/test/V8/V8TestTypedefs.cpp:
        (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetter):
        (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetter):
        (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetter):
        (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetter):

2013-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r147130.
        http://trac.webkit.org/changeset/147130
        https://bugs.webkit.org/show_bug.cgi?id=113539

        Not needed now that we do not sleep in preprocessor.pm
        (Requested by jamesr on #webkit).

        * WebCore.gyp/WebCore.gyp:
        * bindings/scripts/CodeGenerator.pm:
        (ParseInterface):
        * bindings/scripts/IDLParser.pm:
        (Parse):
        * bindings/scripts/generate-bindings.pl:
        * bindings/scripts/generate-preprocessed-idls.pl: Removed.
        * bindings/scripts/preprocessor.pm:
        (applyPreprocessor):

2013-03-28  Nate Chapin  <japhet@chromium.org>

        Don't grant local content permissions for appcache loads.
        https://bugs.webkit.org/show_bug.cgi?id=112542

        Reviewed by Antti Koivisto.

        No new tests, fixing http/tests/appcache/local-content.html

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::commitData): Don't grant local load permissions
            to all SubstituteData loads, only give them to loads that were SubstituteData
            loads at the time of DocumentLoader construction. This constitutes all
            SubstituteData loads except those triggered by appcache.
        * loader/DocumentLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::didBeginDocument): Move granting local load
            permissions for SubstituteData loads to DocumentLoader::commitData().

2013-03-28  Mike West  <mkwst@chromium.org>

        X-Frame-Options: Blocked resources should fire load events.
        https://bugs.webkit.org/show_bug.cgi?id=113192

        Reviewed by Nate Chapin.

        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::responseReceived):
            Fire a load event on the frame's owner element when denying access
            due to X-Frame-Options header content. This brings us in-line with
            Gecko and IE, which both trigger load events currently.

2013-03-28  Tien-Ren Chen  <trchen@chromium.org>

        Support bottom-right anchored fixed-position elements during a pinch gesture
        https://bugs.webkit.org/show_bug.cgi?id=111670

        Reviewed by James Robinson.

        This patch adds support to bottom-right fixed-position elements by
        introducing WebLayerPositionConstraint to WebLayer.

        No new tests. Can't test until chromium patch landed.

        * page/scrolling/ScrollingCoordinator.h:
        (WebCore::ScrollingCoordinator::updateLayerPositionConstraint):
        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
        (WebCore::clearPositionConstraintExceptForLayer):
        (WebCore):
        (WebCore::computePositionConstraint):
        (WebCore::ScrollingCoordinatorChromium::updateLayerPositionConstraint):
        * page/scrolling/chromium/ScrollingCoordinatorChromium.h:
        (ScrollingCoordinatorChromium):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::registerScrollingLayers):
        * rendering/RenderLayerBacking.h:
        (WebCore::RenderLayerBacking::contentsContainmentLayer):
        (RenderLayerBacking):
        * rendering/RenderLayerCompositor.cpp:
        * rendering/RenderLayerCompositor.h:

2013-03-28  James Robinson  <jamesr@chromium.org>

        Remove unnecessary 1 second sleep on windows from preprocessor.pm
        https://bugs.webkit.org/show_bug.cgi?id=113536

        Unreviewed, partial rollout of r146661.

        This rolls out one line of 146661 that slows down the windows build significantly.

        * bindings/scripts/preprocessor.pm:
        (applyPreprocessor):

2013-03-28  Levi Weintraub  <leviw@chromium.org>

        Enable font measurement optimization for Chromium-mac when there are no font-feature-settings.

        Enable measure-once optimization on Chromium-Mac
        https://bugs.webkit.org/show_bug.cgi?id=113243

        Reviewed by Eric Seidel.

        Bugs in Chromium-mac's -webkit-font-feature-settings support prevented us from enabling the
        optimization when it was enabled for all other platforms. This was believed to be related to
        kerning, but the bug shows up when there are any font-feature-settings specified. For now,
        optimizing the common case and only turning off the optimization when there are font-feature-
        settings in play.

        Updated test fast/text/shaping/shaping-selection-rect.html to avoid breaking due to
        https://bugs.webkit.org/show_bug.cgi?id=113418

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::setLogicalWidthForTextRun):

2013-03-28  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Exclusions][CSS Regions] Block children do not layout inline content correctly in a region with shape-inside set
        https://bugs.webkit.org/show_bug.cgi?id=112177

        Reviewed by David Hyatt.

        When we had two multiple regions and a shape-inside was applied on the second region, but not on the first region and the content contained
        paragraphs, the content was pushed down almost to the bottom in the second region. In a flow thread this behavior caused by the lack of the 
        proper updating of absoluteLogicalTop in RenderBlock::layoutRunsAndFloatsInRange function.

        Tests: fast/regions/shape-inside/shape-inside-on-additional-regions.html
               fast/regions/shape-inside/shape-inside-on-regions.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Update the value of absoluteLogicalTop in every run when we are in a flow thread.

2013-03-28  Arnaud Renevier  <a.renevier@sisa.samsung.com>

        exceptions are not checked after toInt32 calls in bindings.
        https://bugs.webkit.org/show_bug.cgi?id=113218

        Reviewed by Kentaro Hara.

        In attribute setter, wrap JSValue to native value conversion in a try
        catch block.

        Define a new macro binding: V8TRYCATCH_VOID

        No new tests: covered by fast/dom/exception-in-binding.html

        * bindings/scripts/CodeGeneratorV8.pm:
        (GenerateNormalAttrSetter):
        * bindings/v8/V8BindingMacros.h:
        (WebCore):

2013-03-28  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK][AC] Use transform property of ClutterActor
        https://bugs.webkit.org/show_bug.cgi?id=113317

        Reviewed by Gustavo Noronha Silva.

        ClutterActor has a transform property to set transformation matrix directly
        since version 1.12. So we don't need to keep and use the matrix property of GraphicsLayerActor.

        No new tests because of no functionality change.

        * platform/graphics/clutter/GraphicsLayerActor.cpp:
        (_GraphicsLayerActorPrivate):
        (graphicsLayerActorDispose):
        (graphicsLayerActorApplyTransform):
        * platform/graphics/clutter/GraphicsLayerActor.h:
        * platform/graphics/clutter/GraphicsLayerClutter.cpp:
        (WebCore::GraphicsLayerClutter::updateTransform):
        * platform/graphics/clutter/PlatformClutterAnimation.cpp:
        (WebCore::PlatformClutterAnimation::addTransformTransition):

2013-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r143834.
        http://trac.webkit.org/changeset/143834
        https://bugs.webkit.org/show_bug.cgi?id=113530

        Multiple use-after-free regressions on ClusterFuzz (Requested
        by inferno-sec on #webkit).

        * dom/Attr.cpp:
        (WebCore::Attr::Attr):
        (WebCore::Attr::setValue):
        (WebCore::Attr::childrenChanged):
        * dom/Attr.h:
        (Attr):
        * dom/Element.cpp:
        (WebCore::Element::setAttributeInternal):
        * dom/Element.h:
        (Element):

2013-03-28  Julien Chaffraix  <jchaffraix@webkit.org>

        [CSS Grid Layout] Before / start paddings and borders are not accounted for when placing the grid items
        https://bugs.webkit.org/show_bug.cgi?id=113351

        Reviewed by Tony Chang.

        Tests: fast/css-grid-layout/grid-element-border-grid-item.html
               fast/css-grid-layout/grid-element-border-padding-grid-item.html
               fast/css-grid-layout/grid-element-padding-grid-item.html

        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::borderAndPaddingBefore):
        Added this helper function (we do have borderAndPaddingStart but didn't have this
        one for some reason).

        * rendering/RenderGrid.cpp:
        (WebCore::RenderGrid::findChildLogicalPosition):
        Shifted |offset| by the paddings and borders before / start.

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

        [GTK] Build GTK-specific, non-layer-violating source code into WebCore-independent libPlatformGtk.la
        https://bugs.webkit.org/show_bug.cgi?id=112546

        Reviewed by Martin Robinson.

        No new tests - no new functionality.

        * GNUmakefile.am: Passing the DATA_DIR value through the cppflags is not required anymore as the affected source is now
        built into libPlatformGtk.la.
        * GNUmakefile.list.am: Build the GTK-specific source files that are already independent of WebCore into the
        libPlatformGtk.la by assigning the build targets listing to the platformgtk_sources variable.
        * platform/gtk/GtkVersioning.c: Renamed from Source/Platform/gtk/GtkVersioning.c.
        * platform/gtk/GtkVersioning.h: Renamed from Source/Platform/gtk/GtkVersioning.h.

2013-03-28  Matt Falkenhagen  <falken@chromium.org>

        Refactoring: Replace Element::disabled and isEnabledFormControl with isDisabledFormControl
        https://bugs.webkit.org/show_bug.cgi?id=113273

        Reviewed by Kent Tamura.

        Element::disabled is about form controls and Element::isEnabledFormControl
        is redundant with it, so replace them with a single function
        Element::isDisabledFormControl.

        No new tests, there should be no behavior change.

        * accessibility/AccessibilityListBox.cpp:
        (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute):
        * accessibility/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
        * accessibility/AccessibilityMenuList.cpp:
        (WebCore::AccessibilityMenuList::canSetFocusAttribute):
        * accessibility/AccessibilityMenuListOption.cpp:
        (WebCore::AccessibilityMenuListOption::isEnabled):
        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::isEnabled):
        (WebCore::AccessibilityNodeObject::actionElement):
        (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
        * css/SelectorChecker.cpp:
        (WebCore::SelectorChecker::checkOne):
        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::canShareStyleWithControl):
        * dom/Element.cpp:
        (WebCore::Element::isDisabledFormControl):
        * dom/Element.h:
        (Element):
        (WebCore::isDisabledFormControl): Add helper function for convenience.
        (WebCore):
        * dom/EventDispatcher.cpp:
        (WebCore::EventDispatcher::dispatchSimulatedClick):
        * dom/GestureEvent.cpp:
        (WebCore::GestureEventDispatchMediator::dispatchEvent):
        * dom/MouseEvent.cpp:
        (WebCore::MouseEventDispatchMediator::dispatchEvent):
        * dom/Node.cpp:
        (WebCore::Node::handleLocalEvents):
        (WebCore::Node::willRespondToMouseMoveEvents):
        (WebCore::Node::willRespondToMouseClickEvents):
        (WebCore::Node::willRespondToTouchEvents):
        * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerDisabled):
        * html/DOMFormData.cpp:
        (WebCore::DOMFormData::DOMFormData):
        * html/FileInputType.cpp:
        (WebCore::FileInputType::handleDOMActivateEvent):
        (WebCore::FileInputType::disabledAttributeChanged):
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::defaultEventHandler):
        (WebCore::HTMLButtonElement::willRespondToMouseClickEvents):
        (WebCore::HTMLButtonElement::isSuccessfulSubmitButton):
        * html/HTMLCollection.cpp:
        (WebCore::isMatchingElement):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::updateAncestorDisabledState):
        (WebCore::HTMLFormControlElement::isDisabledFormControl):
        (WebCore::HTMLFormControlElement::supportsFocus):
        * html/HTMLFormControlElement.h:
        (HTMLFormControlElement):
        (WebCore::HTMLFormControlElement::isDisabledOrReadOnly):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isSuccessfulSubmitButton):
        (WebCore::HTMLInputElement::willRespondToMouseClickEvents):
        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::isDisabledFormControl):
        * html/HTMLOptGroupElement.h:
        (HTMLOptGroupElement):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::isDisabledFormControl):
        * html/HTMLOptionElement.h:
        (HTMLOptionElement):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::nextValidIndex):
        (WebCore::HTMLSelectElement::updateListBoxSelection):
        (WebCore::HTMLSelectElement::recalcListItems):
        (WebCore::HTMLSelectElement::appendFormData):
        (WebCore::HTMLSelectElement::updateSelectedState):
        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
        (WebCore::HTMLSelectElement::defaultEventHandler):
        (WebCore::HTMLSelectElement::optionAtIndex):
        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::handleDOMActivateEvent):
        * html/ResetInputType.cpp:
        (WebCore::ResetInputType::handleDOMActivateEvent):
        * html/SubmitInputType.cpp:
        (WebCore::SubmitInputType::handleDOMActivateEvent):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::isDisabledFormControl):
        (WebCore::SliderThumbElement::defaultEventHandler):
        (WebCore::SliderThumbElement::willRespondToMouseMoveEvents):
        (WebCore::SliderThumbElement::willRespondToMouseClickEvents):
        * html/shadow/SliderThumbElement.h:
        (SliderThumbElement):
        * html/shadow/SpinButtonElement.h:
        * html/shadow/TextFieldDecorationElement.cpp:
        (WebCore::TextFieldDecorationElement::updateImage):
        * loader/FormSubmission.cpp:
        (WebCore::FormSubmission::create):
        * page/DragController.cpp:
        (WebCore::DragController::tryDocumentDrag):
        (WebCore::DragController::concludeEditDrag):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::addFocusRingRects):
        (WebCore::RenderListBox::paintItemForeground):
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemIsEnabled):
        * rendering/RenderTextControl.cpp:
        (WebCore::updateUserModifyProperty):
        * rendering/RenderTheme.cpp:
        (WebCore::RenderTheme::isEnabled):
        * rendering/RenderThemeMac.mm:
        (WebCore::getMediaUIPartStateFlags):
        * rendering/RenderThemeMacShared.mm:
        (WebCore::RenderThemeMacShared::adjustMenuListStyle):
        (WebCore::RenderThemeMacShared::paintSearchFieldCancelButton):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::adjustMenuListStyle):

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

        Remove workaround for <rdar://problem/5321972>.
        <rdar://problem/12022862> and https://bugs.webkit.org/show_bug.cgi?id=113516

        Reviewed by Sam Weinig.

        No new tests (No point in testing the removal of bizarre behavior).

        * platform/network/mac/WebCoreURLResponse.mm:
        (WebCore::adjustMIMETypeIfNecessary): This workaround isn't needed on Lion+

2013-03-28  Arnaud Renevier  <a.renevier@sisa.samsung.com>

        use CanvasWindingRule enumeration in CanvasRenderingContext2D.idl
        https://bugs.webkit.org/show_bug.cgi?id=113456

        Reviewed by Kentaro Hara.

        Use enum CanvasWindingRule type instead of DOMString for winding
        arguments when needed. Changed methods are: fill, stroke and isPointInPath.

        Test: fast/canvas/winding-enumeration.html

        * html/canvas/CanvasRenderingContext2D.idl:

2013-03-28  Scott Graham  <scottmg@chromium.org>

        Move preprocessing of idl to pre-pass for gyp
        https://bugs.webkit.org/show_bug.cgi?id=113448

        Reviewed by Tony Chang.

        Moves the preprocessor invocations when parsing IDL files to a
        pre-pass to avoid reinvocations when IDLs are referenced from others.
        This reduces the number of invocations of the preprocessor from 20071
        to 633, which reduces the runtime from 12m30 to 1m (on a Windows box).

        No new tests, this is a build time improvement, and shouldn't have any
        visible effect.

        * WebCore.gyp/WebCore.gyp:
        * bindings/scripts/CodeGenerator.pm:
        (ParseInterface):
        * bindings/scripts/IDLParser.pm:
        (Parse):
        * bindings/scripts/generate-bindings.pl:
        * bindings/scripts/generate-preprocessed-idls.pl: Added.
        * bindings/scripts/preprocessor.pm:
        (applyPreprocessor):

2013-03-28  Alok Priyadarshi  <alokp@chromium.org>

        RenderBox::backgroundIsKnownToBeOpaqueInRect may be wrong for theme-painted elements
        https://bugs.webkit.org/show_bug.cgi?id=113419

        Reviewed by Simon Fraser.

        Do not consider control elements as opaque. They are typically theme painted, and we cannot assume opaqueness on the behalf of theme. It can be improved by asking the theme if it paints opaque.

        Test: compositing/contents-opaque/control-layer.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):

2013-03-28  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK][AC] Animating layer disappears while running with clutter backend
        https://bugs.webkit.org/show_bug.cgi?id=110470

        Reviewed by Gustavo Noronha Silva.

        The reason of this issue is that clutter_actor_remove_child leads to stopping animations
        of child actor. ClutterActor's animation could be defined only when it has a parent actor.
        So we should avoid the case calling the api as much as we can. At least we don't
        need to reset a actor's parent at all if the current parent is same with new one.
        If we can't avoid invoking clutter_actor_remove_child for an animating actor, we may apply
        a more complicated way to keep the animation. But I haven't faced such a case yet.

        Covered by existing animation tests.

        * platform/graphics/clutter/GraphicsLayerActor.cpp:
        (graphicsLayerActorSetSublayers):
        * platform/graphics/clutter/GraphicsLayerClutter.cpp:
        (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
        (WebCore::GraphicsLayerClutter::updateSublayerList):

2013-03-28  Xianzhu Wang  <wangxianzhu@chromium.org>

        Non-painting fixed elements should not cause repaints on scroll
        https://bugs.webkit.org/show_bug.cgi?id=110430

        Reviewed by Simon Fraser.

        Test: compositing/repaint/scroll-fixed-layer-no-content.html
        Test: compositing/repaint/scroll-fixed-layer-out-of-view.html

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollContentsFastPath): Check for no-content and out-of-view flag set by RLC.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Moved the check for no-content above out-of-view because it's faster.

2013-03-28  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, revert accidentally added line committed in r147117.

        * inspector/front-end/ElementsTreeOutline.js:

2013-03-28  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Elements] Syntax-highlight the "Edit as HTML" editor
        https://bugs.webkit.org/show_bug.cgi?id=113306

        Reviewed by Vsevolod Vlasov.

        Use CodeMirror as the raw HTML editor for the "Edit as HTML" menu item
        (and all multiline editors for WebInspector.startEditing()).
        Drive-by fix for handling the editing when the editor has been invoked on the closing tag.

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype.commit):
        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
        * inspector/front-end/UIUtils.js:
        (WebInspector.EditingConfig.prototype.setMultiline):
        (WebInspector.startEditing):
        (WebInspector.CodeMirrorCSSLoadView): A bogus view to load-unload CodeMirror-related CSS on demand.
        * inspector/front-end/elementsPanel.css:
        (#elements-content .CodeMirror):
        (#elements-content .CodeMirror pre):
        (#elements-content .CodeMirror-lines):
        * inspector/front-end/elementsPanel.css: CodeMirror styles for the "Edit as HTML" editor.
        * inspector/front-end/externs.js: Declare CodeMirror type with some members, as it is third-party code.
        * inspector/front-end/inspector.html: Fix script order (UIUtils.js requires View.js).

2013-03-28  Hajime Morrita  <morrita@google.com>

        Custom Elements: should support non-HTML namespaces.
        https://bugs.webkit.org/show_bug.cgi?id=111693

        Reviewed by Dimitri Glazkov.

        Some existing code assumes that the element extends HTMLElements.
        This change allow it to extend from Element. Note that the
        namespace URI of a custom element is determined by given element
        prototype: An element will have XHTML namespace if its prototype
        chain includes HTMLElements, SVGElement leads SVG namespace and
        null otherwise, respectively.

        Test: fast/dom/custom/document-register-namespace.html

        * bindings/v8/CustomElementHelpers.cpp:
        (WebCore::hasValidPrototypeChainFor): Factored out from isValidPrototypeParameter()
        (WebCore::CustomElementHelpers::isValidPrototypeParameter): Extend to support non HTMLElement prototype
        (WebCore::CustomElementHelpers::findLocalName): Support non-HTML element names.
        * bindings/v8/CustomElementHelpers.h:
        (CustomElementHelpers):
        * dom/CustomElementConstructor.cpp:
        (WebCore::CustomElementConstructor::createElementInternal):
        * dom/CustomElementRegistry.cpp:
        (WebCore::CustomElementRegistry::registerElement): No longer hard-codes namespace and picks one based on the prototype value.
        * dom/CustomElementRegistry.h:
        (CustomElementRegistry):

2013-03-28  Hans Muller  <hmuller@adobe.com>

        [CSS Exclusions] Add support for the simple case of padding a polygonal shape-inside
        https://bugs.webkit.org/show_bug.cgi?id=112592

        Reviewed by Dirk Schulze.

        First pass at computing the padded or inset boundary of a polygon.  This version does not handle
        self-intersecting polygons, or values of shape-padding large enough to change the shape of the
        original polygon. The implementation computes an offset edge for each polgon edge, where the offset
        edge is parallel to the original edge and separated by shape-padding. The padded polygon's vertices
        are the intersections of each pair of adjacent offset edges. When adjacent offset edges do not intersect,
        because they share a reflex vertex in the original polygon, an approximation to a circular arc
        connects the offset edges.

        Tests: fast/exclusions/shape-inside/shape-inside-polygon-padding-001.html
               fast/exclusions/shape-inside/shape-inside-polygon-padding-002.html
               fast/exclusions/shape-inside/shape-inside-polygon-padding-003.html

        * rendering/ExclusionPolygon.cpp:
        (WebCore::isReflexVertex): Just moved this function earlier in the file.
        (WebCore::inwardEdgeNormal): Unit vector that's perpindicular to the edge and that points inwards.
        (WebCore::outwardEdgeNormal): Unit vector that's perpindicular to the edge and that points outwards.
        (WebCore::appendArc): Append a linear approximation to a circular arc to a vector of vertices.
        (WebCore::computeShapePaddingBounds): Return a polygon whose edges are all inset by shape-padding from m_polygon.
        (WebCore::computeShapeMarginBounds): Just a stub, see bug 112917.
        (WebCore::ExclusionPolygon::shapePaddingBounds): Lazily use computeShapePaddingBounds() to initialize m_paddingBounds.
        (WebCore::ExclusionPolygon::shapeMarginBounds): Lazily use computeShapeMarginBounds() to initialize m_marginBounds.
        (WebCore::ExclusionPolygon::getIncludedIntervals): Now based on the value of shapePaddingBounds().
        (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Now based on the value of shapePaddingBounds().
        * rendering/ExclusionPolygon.h:
        (WebCore::ExclusionPolygon::ExclusionPolygon):

2013-03-28  Chris Hutten-Czapski  <chutten@blackberry.com>

        [BlackBerry] Handle EXIF orientation for ImageDocuments
        https://bugs.webkit.org/show_bug.cgi?id=113423

        Internal Bug: PR 293648
        Informally Reviewed by Jeff Rogers
        Reviewed by Rob Buis.

        Support image orientation in our image draw calls, and advertise
        the capability to the calling code. This allows us to respect EXIF
        orientation data.

        * platform/graphics/BitmapImage.h:
        * platform/graphics/blackberry/ImageBlackBerry.cpp:
        (WebCore::BitmapImage::draw):
        (WebCore):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::shouldRespectImageOrientation):

2013-03-28  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: name timeline overview controls consistently
        https://bugs.webkit.org/show_bug.cgi?id=113503

        Reviewed by Yury Semikhatsky.

        Refactoring, covered by existing tests.

        - rename HeapGraph to TimelineMemoryOverview;
        - rename TimelineCategoryStrips to TimelineEventOvrview.

        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewPane):
        (WebInspector.TimelineOverviewPane.prototype.setMode):
        (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
        (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
        (WebInspector.TimelineOverviewPane.prototype._update):
        (WebInspector.TimelineOverviewPane.prototype.setMinimumRecordDuration):
        (WebInspector.TimelineMemoryOverview):
        (WebInspector.TimelineEventOverview):
        (WebInspector.TimelineEventOverview.prototype._renderBar):

2013-03-28  Eli Fidler  <efidler@blackberry.com>

        [BlackBerry] Correct glyph contour winding direction when fake-bolding
        https://bugs.webkit.org/show_bug.cgi?id=113411

        Reviewed by Rob Buis.

        * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
        (WebCore::FontPlatformData::applyState):

2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Make JavaScriptSourceFrame work correctly with breakpoints when uiSourceCode does not have a scriptFile.
        https://bugs.webkit.org/show_bug.cgi?id=113500

        Reviewed by Pavel Feldman.

        JavaScriptSourceFrame now listens for uiSourceCode working copy related events and supports muting breakpoints without script file.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype._workingCopyChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._workingCopyCommitted):
        (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
        (WebInspector.JavaScriptSourceFrame.prototype.dispose):

2013-03-22  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: factor out node search controller from inspector.js
        https://bugs.webkit.org/show_bug.cgi?id=112689

        Reviewed by Pavel Feldman.

        This just extracts the existing logic of toggling node search
        from inspector.js into a class of its own, InspectElementModeController.
        Drive-by: add CtrlOrMeta+Shift+C to help screen.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * inspector/compile-front-end.py:
        * inspector/front-end/InspectElementModeController.js: Added.
        (WebInspector.InspectElementModeController):
        (WebInspector.InspectElementModeController.createShortcut):
        (WebInspector.InspectElementModeController.prototype.enabled):
        (WebInspector.InspectElementModeController.prototype.disable):
        (WebInspector.InspectElementModeController.prototype.toggleSearch.callback):
        (WebInspector.InspectElementModeController.prototype.toggleSearch):
        (WebInspector.InspectElementModeController.prototype.handleShortcut):
        * inspector/front-end/InspectorFrontendAPI.js:
        (InspectorFrontendAPI.enterInspectElementMode):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector._createGlobalStatusBarItems):
        (WebInspector._registerShortcuts):
        (WebInspector.documentKeyDown):
        (WebInspector._updateFocusedNode):

2013-03-28  Eugene Klyuchnikov  <eustas@chromium.org>

        Web Inspector: [Settings] "previouslyViewedFiles" exceeds local storage quota.
        https://bugs.webkit.org/show_bug.cgi?id=113375

        Reviewed by Pavel Feldman.

        Serialized "previouslyViewedFiles" may make local storage overflow.
        Two fixed applied:
        - limit number of history log items
        - limit length of URIs that get serialized;
          this would affect only data-url URIs.

        * inspector/front-end/TabbedEditorContainer.js:
        (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
        Added length check.
        (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
        Added output array length limit.

2013-03-28  Alexei Filippov  <alph@chromium.org>

        Web Inspector: Heap snapshots retained size falls out of the grid if column is too narrow
        https://bugs.webkit.org/show_bug.cgi?id=113497

        Reviewed by Pavel Feldman.

        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
        * inspector/front-end/heapProfiler.css:
        (.heap-snapshot-view .data-grid div.heap-snapshot-multiple-values):

2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: ResourceScriptFile should check if resource content really matches VM script when determining hasDiverged state.
        https://bugs.webkit.org/show_bug.cgi?id=113488

        Reviewed by Pavel Feldman.

        Enabled support for checking that file content matches VM script in ResourceScriptFile (For script resources only).
        This check is never done before content is loaded in corresponding editor to avoid regressing performance.
        File - script content matching is done bearing in mind sourceURLs. 
        Live edit keeps sourceURL in script content now even if it is not present in file's content.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
        (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
        * inspector/front-end/LiveEditSupport.js:
        (WebInspector.LiveEditScriptFile.prototype.checkMapping):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
        (WebInspector.ScriptFile.prototype.checkMapping):
        (WebInspector.ResourceScriptFile):
        (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted):
        (WebInspector.ResourceScriptFile.prototype._isDiverged):
        (WebInspector.ResourceScriptFile.prototype._sourceMatchesScriptSource):
        (WebInspector.ResourceScriptFile.prototype._sourceEndsWithSourceURL):
        (WebInspector.ResourceScriptFile.prototype.checkMapping.callback):
        (WebInspector.ResourceScriptFile.prototype.checkMapping):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.SnippetScriptFile.prototype.checkMapping):

2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Simplify ResourceScriptFile so that it stores hasDiverged state in it.
        https://bugs.webkit.org/show_bug.cgi?id=113489

        Reviewed by Pavel Feldman.

        ResourceScriptFile._hasDiverged is the one flag that shows whether we have diverged from VM.
        It's values is based both on dirty flag on uiSourceCode and information about live edit failures stored in _lastLiveEditFailed field.
        Removed willMerge/Diverge events from ScriptFile.
        JavaScriptSourceFrame now uses isMergingToVM/DivergingFromVM methods on ScriptFile.
        to determine whether breakpointAdded/Removed events should be ignored.
        Introduced muted state on JavaScriptSourceFrame to determine whether it should ignore user attempts to set/remove breakpoints.

        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame):
        (WebInspector.JavaScriptSourceFrame.prototype._didMergeToVM):
        (WebInspector.JavaScriptSourceFrame.prototype._didDivergeFromVM):
        (WebInspector.JavaScriptSourceFrame.prototype._muteBreakpointsWhileEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
        (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
        (WebInspector.JavaScriptSourceFrame.prototype._shouldIgnoreExternalBreakpointEvents):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
        (WebInspector.JavaScriptSourceFrame.prototype._updateScriptFile):
        (WebInspector.JavaScriptSourceFrame.prototype.onTextEditorContentLoaded):
        * inspector/front-end/LiveEditSupport.js:
        (WebInspector.LiveEditScriptFile.prototype.isMergingToVM):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
        (WebInspector.ScriptFile.prototype.isMergingToVM):
        (WebInspector.ResourceScriptFile):
        (WebInspector.ResourceScriptFile.prototype._workingCopyCommitted):
        (WebInspector.ResourceScriptFile.prototype._isDiverged):
        (WebInspector.ResourceScriptFile.prototype._workingCopyChanged):
        (WebInspector.ResourceScriptFile.prototype._update):
        (WebInspector.ResourceScriptFile.prototype._divergeFromVM):
        (WebInspector.ResourceScriptFile.prototype._mergeToVM):
        (WebInspector.ResourceScriptFile.prototype.hasDivergedFromVM):
        (WebInspector.ResourceScriptFile.prototype.isMergingToVM):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.SnippetScriptFile.prototype.isMergingToVM):

2013-03-25  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: DOMContentLoaded event divider is not shown on Timeline's main view
        https://bugs.webkit.org/show_bug.cgi?id=113196

        Reviewed by Pavel Feldman.

        - keep event divider records in TimelinePresentationModel, not in TimelinePanel;
        - process event divider records on every level, not just on top.

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._updateEventDividers):
        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.checkVisible):
        (WebInspector.TimelinePanel.prototype._resetPanel):
        * inspector/front-end/TimelinePresentationModel.js:
        (WebInspector.TimelinePresentationModel.prototype.reset):
        (WebInspector.TimelinePresentationModel.prototype._innerAddRecord):
        (WebInspector.TimelinePresentationModel.prototype.eventDividerRecords):

2013-03-28  Vsevolod Vlasov  <vsevik@chromium.org>

        Unreviewed inspector front-end closure compilation fix.

        * inspector/front-end/CookiesTable.js:

2013-03-28  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: [DTE] Paint overlay highlight over line background color
        https://bugs.webkit.org/show_bug.cgi?id=113346

        Reviewed by Pavel Feldman.

        No new tests: no change in behaviour.

        - Append spans instead of text nodes to lineRows.
        - Set positioning of all spans inside of webkit-line-content as
        relative
        - Set z-index property so that overlay highlight is above line
        background but under text.

        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.TextEditorMainPanel.prototype._measureHighlightDescriptor):
        (WebInspector.TextEditorMainPanel.prototype._measureSpans):
        (WebInspector.TextEditorMainPanel.prototype._renderRanges):
        (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
        * inspector/front-end/textEditor.css:
        (.webkit-line-content > .text-editor-overlay-highlight):
        (.webkit-line-content > *):

2013-03-28  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [REGRESSION] [Styles] Pasting a property in the "name" field is broken
        https://bugs.webkit.org/show_bug.cgi?id=113491

        Reviewed by Pavel Feldman.

        Update the CSSProperty name and value upon pasting properties into the Styles pane.
        Drive-by: start editing the next/new property name after pasting.

        Test: inspector/styles/paste-property.html

        * inspector/front-end/StylesSidebarPane.js:
        (.selectElement):
        (.moveDirection.alreadyNew):

2013-03-28  Alexei Filippov  <alph@chromium.org>

        Web Inspector: Auto expand retaining path until there are more than one retainer.
        https://bugs.webkit.org/show_bug.cgi?id=112596

        Reviewed by Yury Semikhatsky.

        When retainers view gets opened automatically expand retaining path
        for objects having just a single retainer.

        Test: inspector/profiler/heap-snapshot-summary-retainers.html

        * inspector/front-end/HeapSnapshotDataGrids.js:
        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.populateComplete):
        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.setDataSource):
        * inspector/front-end/HeapSnapshotGridNodes.js:
        (WebInspector.HeapSnapshotGridNode.prototype.childrenRetrieved):
        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):

2013-03-28  Vladislav Kaznacheev  <kaznacheev@chromium.org>

        Web Inspector: Fixed property text indentation in Styles sidebar.
        https://bugs.webkit.org/show_bug.cgi?id=113409

        Reviewed by Alexander Pavlov.

        When the sidebar is too narrow and the property text wraps around it breaks the indentation.
        This was introduced in r143207 which spuriously modified DOM elements order.

        * inspector/front-end/StylesSidebarPane.js:

2013-03-28  Arpita Bahuguna  <a.bah@samsung.com>

        Regression: Crash when selecting Hebrew and numbers in a list
        https://bugs.webkit.org/show_bug.cgi?id=111894

        Reviewed by Ryosuke Niwa.

        There is a crash when trying to click/select an anonymous
        renderer.

        This is a regression due to r143313 which tries to add border/padding
        to the computed caret rect in RenderBox::localCaretRect().
        The patch calls on the node() method for the corresponding
        renderer. For an anonymous renderer though, node() returns
        null. Since no check had been added for this, a crash occurs when
        caret rect for an anonymous renderer is being computed.

        Test: editing/selection/click-on-anonymous-content-crash.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::localCaretRect):
        Added a check for validating the return from the node() call.

2013-03-28  Mike West  <mkwst@chromium.org>

        X-Frame-Options: Multiple headers are ignored completely.
        https://bugs.webkit.org/show_bug.cgi?id=113387

        Reviewed by Nate Chapin.

        If a server sends multiple 'X-Frame-Options' headers, we end up with a
        value like 'SAMEORIGIN, SAMEORIGIN'. Currently, we're treating that as
        invalid, and ignoring the header. It would be safer to follow Gecko's
        lead[1] by:

        - Folding duplicated entries into their common value (that is:
          'sameorigin, sameorigin' -> 'sameorigin').

        - Failing closed in the case of conflicts (that is:
          'sameorigin, allowall' -> 'deny').

        [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=761655

        Tests: http/tests/security/XFrameOptions/x-frame-options-multiple-headers-conflict.html
               http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-allow.html
               http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
            Call out to parseXFrameOptionsHeader to get the header's disposition
            and deal with each case in a switch statement for clarity. Add a new
            console warning for the conflict case described above.
        * platform/network/HTTPParsers.cpp:
        (WebCore::parseXFrameOptionsHeader):
        * platform/network/HTTPParsers.h:
            Move X-Frame-Options parsing out into HTTPParsers, as it's getting
            more and more complicated. To do this, the patch defines a new enum
            to pass around the header's disposition.

2013-03-28  Mihnea Ovidenie  <mihnea@adobe.com>

        [CSSRegions] Consolidate use of RenderRegion::isValid
        https://bugs.webkit.org/show_bug.cgi?id=113154

        Reviewed by David Hyatt.

        After https://bugs.webkit.org/show_bug.cgi?id=98752, the list of invalid regions is kept separately than the list of valid regions.
        A valid region has always a valid flow thread attached. We can use isValid() throughout the RenderRegion code
        instead of testing for both isValid() and m_flowThread.

        No new tests since there is no change is functionality, just code refactoring.

        * rendering/RenderNamedFlowThread.cpp:
        (WebCore::RenderNamedFlowThread::addRegionToNamedFlowThread): Added a new function to keep the code
        used in addRegionToThread and checkInvalidRegions.
        (WebCore::RenderNamedFlowThread::addRegionToThread):
        (WebCore::RenderNamedFlowThread::checkInvalidRegions):
        * rendering/RenderNamedFlowThread.h:
        * rendering/RenderRegion.cpp:
        (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
        (WebCore::RenderRegion::isFirstRegion):
        (WebCore::RenderRegion::isLastRegion):
        (WebCore::RenderRegion::paintObject):
        (WebCore::RenderRegion::nodeAtPoint):
        (WebCore::RenderRegion::incrementAutoLogicalHeightCount):
        (WebCore::RenderRegion::decrementAutoLogicalHeightCount):
        (WebCore::RenderRegion::layoutBlock):
        (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
        (WebCore::RenderRegion::attachRegion):
        (WebCore::RenderRegion::renderBoxRegionInfo):
        (WebCore::RenderRegion::setRenderBoxRegionInfo):
        (WebCore::RenderRegion::logicalTopOfFlowThreadContentRect):
        (WebCore::RenderRegion::logicalBottomOfFlowThreadContentRect):
        (WebCore::RenderRegion::computePreferredLogicalWidths):

2013-03-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Timeline. Refresh is slow when user drags the overview window.
        https://bugs.webkit.org/show_bug.cgi?id=113371

        Reviewed by Pavel Feldman.

        The root of problem is the 300ms delay in scheduleRefresh method.
        It was introduced for the case when we add a huge number of records per second.
        The scheduleRefresh was written such a way that refresh happened immediately
        only for the scrolling operations. Actually we would like to see fast
        refresh every time when it is forced by an user action.

        In this patch additional flag newRecordWasAdded was added to the
        _invalidateAndScheduleRefresh. I made it mandatory because the function
        is also used as a callback for an event and it is easy to make a mistake and
        interpret the event as the flag.

        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
        (WebInspector.TimelinePanel.prototype._durationFilterChanged):
        (WebInspector.TimelinePanel.prototype._repopulateRecords):
        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
        (WebInspector.TimelinePanel.prototype._onRecordsCleared):
        (WebInspector.TimelinePanel.prototype._invalidateAndScheduleRefresh):
        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
        (WebInspector.TimelinePanel.prototype._revealRecord):
        (WebInspector.TimelinePanel.prototype._refreshRecords):
        (WebInspector.TimelinePanel.prototype.performFilter):

2013-03-27  Keishi Hattori  <keishi@webkit.org>

        Dragging to edge should always snap to min/max.
        https://bugs.webkit.org/show_bug.cgi?id=113477

        Reviewed by Kent Tamura.

        Dragging to the edge of a slider should always snap to the min/max.

        Test: fast/forms/range/range-slow-drag-to-edge.html

        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::setPositionFromPoint):

2013-03-27  Simon Fraser  <simon.fraser@apple.com>

        Add a way to update GraphicsLayerCA visibleRects without having to do a flush
        https://bugs.webkit.org/show_bug.cgi?id=113459

        Reviewed by Tim Horton.
        
        Some platforms need to update TiledBacking visible rects from
        outside of WebKit, for example if they use delegated scrolling.
        They want to avoid forcing layout to be up-to-date when doing this.
        
        Currently, updating the visibleRect happens when the GraphicsLayerCA
        layer are being flushed, but that makes some assumptions about
        layout being up-to-date.
        
        To fix this, add a light-weight pass over the layer tree that
        uses TransformState to compute the visibleRect for each
        layer, and only if the visibleRect would cause a change in the
        tiles in a TiledBacking trigger a layer flush.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::recomputeVisibleRects):
        * platform/graphics/TiledBacking.h:
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::recursiveComputeVisibleRect):
        (WebCore::GraphicsLayerCA::recomputeVisibleRects):
        (WebCore::GraphicsLayerCA::computeVisibleRect):
        * platform/graphics/ca/GraphicsLayerCA.h:
        * platform/graphics/ca/mac/TileController.h:
        * platform/graphics/ca/mac/TileController.mm:
        (WebCore::TileController::tilesWouldChangeForVisibleRect):
        (WebCore::TileController::computeTileCoverageRect):
        (WebCore::TileController::revalidateTiles):

2013-03-27  Philip Rogers  <pdr@google.com>

        Rename toScriptElement -> toScriptElementIfPossible
        https://bugs.webkit.org/show_bug.cgi?id=113473

        Reviewed by Ryosuke Niwa.

        Rename ScriptElement::toScriptElement to ScriptElement::toScriptElementIfPossible to
        differentiate this function from other to*Element functions, and to better describe the
        function's behavior. Other to*Element functions do not return null if the cast fails,
        whereas toScriptElementIfPossible does.

        No new tests as this is just a refactoring.

        * dom/ScriptElement.cpp:
        (WebCore::toScriptElementIfPossible):
        * dom/ScriptElement.h:
        (WebCore):
        * dom/ScriptRunner.cpp:
        (WebCore::ScriptRunner::timerFired):

            This is the only unchecked return value but there isn't a security issue here.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::collectOptionInnerText):
        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attachLater):
        (WebCore::HTMLConstructionSite::insertForeignElement):
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
        (WebCore::HTMLScriptRunner::requestPendingScript):
        (WebCore::HTMLScriptRunner::runScript):
        * xml/parser/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::notifyFinished):
        * xml/parser/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::startElementNs):
        (WebCore::XMLDocumentParser::endElementNs):
        * xml/parser/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::parseStartElement):
        (WebCore::XMLDocumentParser::parseEndElement):

2013-03-27  Ryosuke Niwa  <rniwa@webkit.org>

        Debug test fix after r147018.

        toElement() asserts. What we want here is isElementNode().

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::attachLater):

2013-03-27  Noel Gordon  <noel.gordon@gmail.com>

        Add webp image color profile support
        https://bugs.webkit.org/show_bug.cgi?id=113184

        Reviewed by Eric Seidel.

        Requires libwebp version 0.3.0 (decoder ABI version 0x201). For images
        with an ICC color profile chunk, poll the incremental decoder for the
        current decoded height with the WebPIDecGetRGB() API and color correct
        any newly decoded rows in-situ in the frame buffer.

        Note: the ICC chunk appears before the encoded image frame in the webp
        encoding (RIFF container) format. When the incremental decoder outputs
        decoded pixels, enough encoded data has arrived to read the entire ICC
        color profile data chunk.

        Tests: fast/images/webp-color-profile-lossless.html
               fast/images/webp-color-profile-lossy-alpha.html
               fast/images/webp-color-profile-lossy.html

        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::WEBPImageDecoder):
        (WebCore::WEBPImageDecoder::~WEBPImageDecoder): Call clear().
        (WebCore):
        (WebCore::WEBPImageDecoder::clear):
        Added. Helper to clean up the webp decoder and color transform members.
        (WebCore::WEBPImageDecoder::createColorTransform):
        Create m_transform using the supplied profile memory data. Note that
        the |deviceProfile| is not owned, but the |inputProfile| temporary is
        so release it here with qcms_release_profile().
        (WebCore::WEBPImageDecoder::readColorProfile):
        Called once only when the decoder begins to output decoded rows of an
        image containing an ICC chunk, to read the ICC color profile data from
        the encoded data stream, verify it, and use it to create m_transform.
        (WebCore::WEBPImageDecoder::applyColorProfile):
        Since there is no row callback in libwebp, poll for the decoded height
        of the image so far. If new rows are decoded, color correct the pixels
        of those new rows and re-write them back into the frame buffer using
        buffer.setRGBA() to 1) alpha pre-multiply the pixels if needed, and 2)
        shuffle the pixel bytes into the platform's RGBA pixel endian-ness.
        (WebCore::WEBPImageDecoder::decode):
        If the container format indicates the image has an ICC color profile,
        decode the image to RGBA format for subsequent input to the QCMS color
        correction library in applyColorProfile().
        * platform/image-decoders/webp/WEBPImageDecoder.h:
        (WEBPImageDecoder):
        (WebCore::WEBPImageDecoder::colorTransform): m_transform getter.

2013-03-27  Jun Jiang  <jun.a.jiang@intel.com>

        Refactor validation checks for texture uploads
        https://bugs.webkit.org/show_bug.cgi?id=111012

        Reviewed by Kenneth Russell.

        Move the validation checks to the entry level of tex{Sub}Image2D, return early for invalid parameters and avoid duplicated checks.
        Moreover, turn all the validation checks at the bottom level - tex{Sub}Image2DBase into assertions.

        Already covered by current tests.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::texImage2DBase):
        (WebCore::WebGLRenderingContext::texImage2DImpl):
        (WebCore::WebGLRenderingContext::validateTexFunc): A helper function for tex{Sub}Image2D to check input parameters.
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texSubImage2DBase):
        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::validateHTMLImageElement):
        (WebCore::WebGLRenderingContext::validateHTMLCanvasElement):
        (WebCore::WebGLRenderingContext::validateHTMLVideoElement):
        * html/canvas/WebGLRenderingContext.h:

2013-03-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>

        remove parentsOnly variable in codeGenerator.pm
        https://bugs.webkit.org/show_bug.cgi?id=113457

        Reviewed by Kentaro Hara.

        Remove unused variable parentsOnly.

        No new tests: no change in behaviour.

        * bindings/scripts/CodeGenerator.pm:
        (ForAllParents):
        (AddMethodsConstantsAndAttributesFromParentInterfaces):
        (ParseInterface):
        (InheritsInterface):
        (InheritsExtendedAttribute):
        * bindings/scripts/CodeGeneratorV8.pm:
        (BaseInterfaceName):

2013-03-27  Beth Dakin  <bdakin@apple.com>

        Need WK2 API to give a WebView a header and footer
        https://bugs.webkit.org/show_bug.cgi?id=113352
        -and corresponding-
        <rdar://problem/13383835>

        Reviewed by Simon Fraser.

        This API will require RenderLayerCompositor to keep layers for the header and 
        footer when the exist. It also requires the scrolling machinery to know that the 
        size of the scrollable area will differ from the contentsSize when there is a 
        header or footer.

        setWantsLayerForHeader() and setWantsLayerForFooter() return GraphicsLayers to 
        WK2. setHeaderHeight() and setFooterHeight() set the header and footer heights
        respectively.
        * WebCore.exp.in:
        * page/FrameView.h:
        (FrameView):
        * page/FrameView.cpp:
        (WebCore::FrameView::FrameView):
        (WebCore::FrameView::setWantsLayerForHeader):
        (WebCore::FrameView::setWantsLayerForFooter):
        (WebCore::FrameView::setHeaderHeight):
        (WebCore::FrameView::setFooterHeight):

        Should use totalContentsSize() instead of contentsSize().
        (WebCore::FrameView::windowClipRect):
        (WebCore::FrameView::isScrollable):
        * page/SpatialNavigation.cpp:
        (WebCore::canScrollInDirection):

        This should also use totalContentsSize() instead of contentsSize(), and while 
        we're at it, re-name the variable and function names in the scrolling tree code 
        from contentsSize to totalContentsSize.
        * page/scrolling/ScrollingStateScrollingNode.cpp:
        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
        (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
        (WebCore::ScrollingStateScrollingNode::dumpProperties):
        * page/scrolling/ScrollingStateScrollingNode.h:
        (WebCore::ScrollingStateScrollingNode::totalContentsSize):
        (ScrollingStateScrollingNode):
        * page/scrolling/ScrollingTreeScrollingNode.cpp:
        (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
        * page/scrolling/ScrollingTreeScrollingNode.h:
        (WebCore::ScrollingTreeScrollingNode::totalContentsSize):
        (ScrollingTreeScrollingNode):
        * page/scrolling/mac/ScrollingCoordinatorMac.h:
        (ScrollParameters):
        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
        (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
        (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode):
        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
        (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
        (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
        (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):

        Use totalContentsSize() instead of contentsSize().
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::maximumScrollPosition):
        (WebCore::ScrollView::setScrollOffset):
        (WebCore::ScrollView::overhangAmount):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::calculateOverhangAreasForPainting):

        scrollOffset() represents the offset within the totalContentsSize, but that is 
        not what we need here. So subtract out the headerHeight() for the appropriate 
        value.
        (WebCore::ScrollView::windowToContents):
        (WebCore::ScrollView::contentsToWindow):

        Use totalContentsSize() instead of contentsSize().
        * platform/ScrollableArea.cpp:
        (WebCore::ScrollableArea::maximumScrollPosition):
        (WebCore):
        (WebCore::ScrollableArea::totalContentsSize):
        * platform/ScrollableArea.h:
        (WebCore::ScrollableArea::headerHeight):
        (WebCore::ScrollableArea::footerHeight):
        (ScrollableArea):
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
        (WebCore::ScrollAnimatorMac::pinnedInDirection):
        * platform/mac/ThemeMac.mm:
        (WebCore::ThemeMac::ensuredView):

        The rootContentLayer needs to be offset by the headerHeight().
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateRootLayerPosition):

        New member variables m_layerForHeader and m_layerForFooter. This code properly 
        creates and manages them.
        (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
        (WebCore::RenderLayerCompositor::updateLayerForHeader):
        (WebCore):
        (WebCore::RenderLayerCompositor::updateLayerForFooter):
        (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
        (WebCore::RenderLayerCompositor::reportMemoryUsage):
        * rendering/RenderLayerCompositor.h:
        (RenderLayerCompositor):

        Test infrastructure. 
        * testing/Internals.cpp:
        (WebCore::Internals::resetToConsistentState):
        (WebCore::Internals::setHeaderHeight):
        (WebCore):
        (WebCore::Internals::setFooterHeight):
        * testing/Internals.h:
        * testing/Internals.idl:

2013-03-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>

        javascriptcore bindings do not check exception after calling valueToStringWithNullCheck
        https://bugs.webkit.org/show_bug.cgi?id=113219

        Reviewed by Kentaro Hara.

        When converting JSValue to native value in attribute setter, store the
        native value in a temporary variable. After this variable assignment,
        always check if an exception has been raised.

        Update binding tests.

        Test: fast/dom/exception-in-binding.html

        * bindings/scripts/CodeGeneratorJS.pm:
        (GenerateImplementation):
        (GetNativeType):
        (JSValueToNative):
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
        (WebCore::setJSTestInterfaceSupplementalStr2):
        (WebCore::setJSTestInterfaceSupplementalNode):
        * bindings/scripts/test/JS/JSTestObj.cpp:
        (WebCore::setJSTestObjConstructorStaticStringAttr):
        (WebCore::setJSTestObjEnumAttr):
        (WebCore::setJSTestObjShortAttr):
        (WebCore::setJSTestObjUnsignedShortAttr):
        (WebCore::setJSTestObjLongAttr):
        (WebCore::setJSTestObjLongLongAttr):
        (WebCore::setJSTestObjUnsignedLongLongAttr):
        (WebCore::setJSTestObjStringAttr):
        (WebCore::setJSTestObjTestObjAttr):
        (WebCore::setJSTestObjXMLObjAttr):
        (WebCore::setJSTestObjCreate):
        (WebCore::setJSTestObjReflectedStringAttr):
        (WebCore::setJSTestObjReflectedIntegralAttr):
        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
        (WebCore::setJSTestObjReflectedBooleanAttr):
        (WebCore::setJSTestObjReflectedURLAttr):
        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
        (WebCore::setJSTestObjReflectedCustomURLAttr):
        (WebCore::setJSTestObjTypedArrayAttr):
        (WebCore::setJSTestObjAttrWithGetterException):
        (WebCore::setJSTestObjAttrWithSetterException):
        (WebCore::setJSTestObjStringAttrWithGetterException):
        (WebCore::setJSTestObjStringAttrWithSetterException):
        (WebCore::setJSTestObjWithScriptStateAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
        (WebCore::setJSTestObjConditionalAttr1):
        (WebCore::setJSTestObjConditionalAttr2):
        (WebCore::setJSTestObjConditionalAttr3):
        (WebCore::setJSTestObjAnyAttribute):
        (WebCore::setJSTestObjMutablePoint):
        (WebCore::setJSTestObjImmutablePoint):
        (WebCore::setJSTestObjStrawberry):
        (WebCore::setJSTestObjStrictFloat):
        (WebCore::setJSTestObjId):
        (WebCore::setJSTestObjNullableLongSettableAttribute):
        (WebCore::setJSTestObjNullableStringValue):
        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
        (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
        (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
        (WebCore::setJSTestTypedefsAttrWithGetterException):
        (WebCore::setJSTestTypedefsAttrWithSetterException):
        (WebCore::setJSTestTypedefsStringAttrWithGetterException):
        (WebCore::setJSTestTypedefsStringAttrWithSetterException):

2013-03-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>

        cache parsed interfaces in CodeGenerator.pm
        https://bugs.webkit.org/show_bug.cgi?id=113446

        Reviewed by Kentaro Hara.

        When generating binding for an interface, informations about parent
        interfaces are sometimes needed several times. This patch caches
        those the parsed interface. When generating all WebCore bindings, this
        results in a speedup of about 40% for JavaScriptCore and about 80% for
        V8.

        No new tests: no change in behaviour.

        * bindings/scripts/CodeGenerator.pm:
        (ParseInterface):

2013-03-27  KyungTae Kim <ktf.kim@samsung.com> and Yongjun Zhang  <yongjun_zhang@apple.com>

        Add a settings to disallow initializing background-size if background shorthand doesn't include it.
        https://bugs.webkit.org/show_bug.cgi?id=113363

        Reviewed by David Kilzer.

        This is based on KyungTae Kim's patch in https://bugs.webkit.org/show_bug.cgi?id=97761.  Many legacy sites set
        background-size first and then set background for setting background-image.  For backward-compatibility
        in some WebKit based clients, if 'background' shorthand have no 'background-size' attribute, we could add
        a settings to let the css parser not initialize 'background-size'.

        Test: fast/backgrounds/background-shorthand-after-set-backgroundSize.html

        * css/CSSParser.cpp:
        (WebCore::CSSParserContext::CSSParserContext): initialize useLegacyBackgroundSizeShorthandBehavior.
        (WebCore::operator==):
        (WebCore::CSSParser::useLegacyBackgroundSizeShorthandBehavior): add a method to return if we want background-size
            to be initialized by background shorthand.
        (WebCore):
        (WebCore::CSSParser::parseFillShorthand): don't initialize background-size in background shorthand if we have
            useLegacyBackgroundSizeShorthandBehavior set to true.
        * css/CSSParser.h:
        (CSSParser):
        * css/CSSParserMode.h: add member useLegacyBackgroundSizeShorthandBehavior to CSSParserContext.
        (CSSParserContext):
        * page/Settings.in: initialize useLegacyBackgroundSizeShorthandBehavior to false.
        * testing/InternalSettings.cpp:
        (WebCore::InternalSettings::Backup::Backup): add the new settings useLegacyBackgroundSizeShorthandBehavior to Backup.
        (WebCore::InternalSettings::Backup::restoreTo): restore useLegacyBackgroundSizeShorthandBehavior from Backup.
        (WebCore::InternalSettings::setUseLegacyBackgroundSizeShorthandBehavior):
        (WebCore):
        * testing/InternalSettings.h:
        (Backup):
        (InternalSettings):
        * testing/InternalSettings.idl: add a JS testing API setUseLegacyBackgroundSizeShorthandBehavior to turn on/off
            the new settings.

2013-03-27  Florin Malita  <fmalita@chromium.org>

        Remove unused RenderLayer::renderBox{X,Y} methods
        https://bugs.webkit.org/show_bug.cgi?id=113408

        Reviewed by Simon Fraser.

        Minor cleanup - renderBoxX() and renderBox() are no longer used.

        No new tests: no functional changes.

        * rendering/RenderLayer.h:

2013-03-27  PhistucK  <phistuck@chromium.org>

        Web Inspector: Plumb and expose cookie clearing options throughout the Resources Cookies tree and views
        https://bugs.webkit.org/show_bug.cgi?id=87140

        Reviewed by Vsevolod Vlasov.

        Added cookie clearing buttons and context menu options
        throughout the tree and views.
        Drive by -
        - Made sure the delete button is only visible
        when a cookie is selected.
        - Fixed a wrong JSDoc comment.

        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView):
        (WebInspector.CookieItemsView.prototype.statusBarItems):
        (WebInspector.CookieItemsView.prototype._updateWithCookies):
        (WebInspector.CookieItemsView.prototype.clear):
        Added. Clears the entire cookie view.
        (WebInspector.CookieItemsView.prototype._clearButtonClicked):
        Added. Ditto (when clicking on the button).
        (WebInspector.CookieItemsView.prototype._showDeleteButton):
        Added. Shows the delete button when selecting a cookie row.
        * inspector/CookiesTable.js:
        (WebInspector.CookiesTable):
        (WebInspector.CookiesTable.prototype._clearAndRefresh):
        Added. Clears the cookies of the current table and updates it.
        (WebInspector.CookiesTable.prototype._handleContextMenuEvent):
        Added. Manages the context menu within the table.
        (WebInspector.CookiesTable.prototype.clear):
        Added. Clears the cookies of the current table.
        (WebInspector.CookiesTable.prototype.setCookies):
         Fixed a wrong JSDoc comment structure.
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.clearCookies):
        Added. Clears the cookies of the given domain view.
        (WebInspector.CookieTreeElement.prototype.onattach):
        Added. Adds a contextmenu handler.
        (WebInspector.CookieTreeElement.prototype._handleContextMenuEvent):
        Added. Manages the context menu within cookie tree.
        (WebInspector.CookieTreeElement.prototype._clearCookies):
        Added. Clears the cookies of the view of the tree item.
        * inspector/front-end/treeoutline.js:
        (TreeOutline): Fixed a wrong JSDoc comment.

        * English.lproj/localizedStrings.js:
        Added strings for the context menu options.

2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: [DTE] implement "tokenAtTextPosition" method
        https://bugs.webkit.org/show_bug.cgi?id=113390

        Reviewed by Pavel Feldman.

        Test: inspector/editor/text-editor-token-at-position.html

        - Add TextEditor.tokenAtTextPosition method
        - Implement tokenAtTextPosition method in DefaultTextEditor

        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.DefaultTextEditor.prototype.tokenAtTextPosition):
        (WebInspector.TextEditorMainPanel.prototype.compare):
        (WebInspector.TextEditorMainPanel.prototype.tokenAtTextPosition):
        (WebInspector.TextEditorMainPanel.prototype._tokenAtUnhighlightedLine):
        (WebInspector.TextEditorMainPanel.prototype.set mimeType):
        (WebInspector.TextEditorMainPanel.prototype.get mimeType):
        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor.prototype.tokenAtTextPosition):
        * inspector/front-end/TextEditorHighlighter.js:
        (WebInspector.TextEditorHighlighter):
        (WebInspector.TextEditorHighlighter.prototype.get mimeType):
        (WebInspector.TextEditorHighlighter.prototype.set mimeType):

2013-03-27  Charles Wei  <charles.wei@torchmobile.com.cn>

        Remove build warning for unused function parameters in indexeddb.
        https://bugs.webkit.org/show_bug.cgi?id=113043

        Reviewed by Tony Chang.

        No new tests, just remove build warning.

        * Modules/indexeddb/IDBCallbacks.h:
        (WebCore::IDBCallbacks::onBlocked):
        (WebCore::IDBCallbacks::onUpgradeNeeded):
        * Modules/indexeddb/IDBCursor.cpp:
        (WebCore::IDBCursor::stringToDirection):
        * Modules/indexeddb/IDBCursor.h:
        (IDBCursor):
        * Modules/indexeddb/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::prefetchReset):
        * Modules/indexeddb/IDBDatabase.cpp:
        (WebCore::IDBDatabase::transaction):
        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
        (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
        * Modules/indexeddb/IDBIndex.cpp:
        (WebCore::IDBIndex::openCursor):
        (WebCore::IDBIndex::openKeyCursor):
        * Modules/indexeddb/IDBLevelDBCoding.cpp:
        (IDBLevelDBCoding):
        * Modules/indexeddb/IDBObjectStore.cpp:
        (WebCore):
        (WebCore::IDBObjectStore::openCursor):
        * Modules/indexeddb/IDBTransaction.cpp:
        (WebCore::IDBTransaction::stringToMode):
        * Modules/indexeddb/IDBTransaction.h:
        (IDBTransaction):
        * inspector/InspectorIndexedDBAgent.cpp:
        (WebCore):

2013-03-27  Sergey Ryazanov  <serya@chromium.org>

        REGRESSION (r146588): Cannot correctly display Chinese SNS Renren
        https://bugs.webkit.org/show_bug.cgi?id=113142

        Reviewed by Pavel Feldman.

        Changed CSS grammar to be equivalent to pre-r146588.
        CSS error reporting disabled to prevent message overflow.

        * css/CSSGrammar.y.in:
        * css/CSSParser.cpp:
        (WebCore::CSSParser::isLoggingErrors):

2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: enhance Popover.js to rely on hover element coordinates
        https://bugs.webkit.org/show_bug.cgi?id=113340

        Reviewed by Pavel Feldman.

        No new tests: no change in behaviour.

        Introduce a coordinates-based method that checks if mouse is inside hover
        element and use it in PopoverHelper instead of DOM hierarchy.

        * inspector/front-end/Popover.js:
        (WebInspector.PopoverHelper.prototype._eventInHoverElement): Added.
        (WebInspector.PopoverHelper.prototype._mouseDown):
        (WebInspector.PopoverHelper.prototype._mouseMove):
        (WebInspector.PopoverHelper.prototype._mouseOut):

2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: [CodeMirror] fix webinspector-css theme for CodeMirror
        https://bugs.webkit.org/show_bug.cgi?id=113399

        Reviewed by Alexander Pavlov.

        Add style rule to highlight css properties for CodeMirror
        webinspector-css theme.

        No new tests: no change in behaviour.

        * inspector/front-end/cm/cmdevtools.css:
        (.cm-s-web-inspector-css span.cm-property):

2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: [DTE] paint overlay highlight for unhighlighted lines
        https://bugs.webkit.org/show_bug.cgi?id=113344

        Reviewed by Pavel Feldman.

        No new tests.

        Remove fast-return condition from paintLine method that checked for
        highlight existence.

        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.TextEditorMainPanel.prototype._paintLine):

2013-03-27  Ryosuke Niwa  <rniwa@webkit.org>

        Shift clicking on an element with -webkit-user-select: all doesn't extend selection
        https://bugs.webkit.org/show_bug.cgi?id=113270

        Reviewed by Enrica Casucci.

        The bug was caused by updateSelectionForMouseDownDispatchingSelectStart always replacing selection whenever
        the target node was inside an element with -webkit-suer-select even when we were attemping to extend selection
        in handleMousePressEventSingleClick.

        Fixed the bug by extracting this logic as a separate function (expandSelectionToRespectUserSelectAll) and deploying
        it in handleMousePressEventSingleClick to extend selection as needed.

        Test: editing/selection/user-select-all-with-shift.html

        * page/EventHandler.cpp:
        (WebCore::expandSelectionToRespectUserSelectAll): Extracted from updateSelectionForMouseDownDispatchingSelectStart.
        (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
        (WebCore::EventHandler::selectClosestWordFromHitTestResult):
        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
        (WebCore::EventHandler::handleMousePressEventTripleClick):
        (WebCore::EventHandler::handleMousePressEventSingleClick): Adjust "pos" as needed when extending selection.
        Also use shouldConsiderSelectionAsDirectional() instead of manually peeking editingBehaviorType while we're at it.

2013-03-27  Zalan Bujtas  <zalan@apple.com>

        REGRESSION(r143102): iframe with percentage height within table with anonymous cell fails.
        https://bugs.webkit.org/show_bug.cgi?id=113077

        Reviewed by Antti Koivisto.
        
        http://www.w3.org/TR/CSS21/visuren.html#anonymous-block-level
        "Anonymous block boxes are ignored when resolving percentage values that would refer to it:
        the closest non-anonymous ancestor box is used instead."
        When figuring out whether auto height needs to be applied on the current box, ignore anonymous
        ancestors until the first non-anonymous containing block is found. This matches both
        Firefox and Opera behaviour.
        
        Test: fast/replaced/iframe-with-percentage-height-within-table-with-anonymous-table-cell.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight): Switch from
        isAnonymousBlock() to isAnonymous() to make sure all anonymous boxes are ignored.
        Remove isTableCell() check which is a noop as table cell isn't an anonymous block.
        
2013-03-27  Pierre Rossi  <pierre.rossi@gmail.com>

        [Qt] Add WOFF support when using zlib
        https://bugs.webkit.org/show_bug.cgi?id=112805

        Reviewed by Allan Sandfeld Jensen.

        Covered by existing test:
        fast/css/font-face-woff.html

        * Target.pri: Conditional inclusion of WOFFFileFormat
        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
        (WebCore::createFontCustomPlatformData): Try to unpack WOFF data, otherwise spit out a warning and bail.
        (WebCore::FontCustomPlatformData::supportsFormat): accept WOFF webfonts if USE(ZLIB).

2013-03-27  Robert Hogan  <robert@webkit.org>

        Growing a position:absolute element in a position:relative one in a table does not update scrollHeight
        https://bugs.webkit.org/show_bug.cgi?id=111977

        Reviewed by David Hyatt.

        During simplified layout tables still need to know about overflow from positioned objects in any of
        their cells.

        Test: fast/table/cell-overflow-simplified-layout.html

        * rendering/RenderBlock.h:
        (RenderBlock):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::simplifiedNormalFlowLayout):
        (WebCore):
        * rendering/RenderTable.h:
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        (WebCore):
        (WebCore::RenderTableSection::computeOverflowFromCells):
        * rendering/RenderTableSection.h:
        (RenderTableSection):

2013-03-22  Geoffrey Garen  <ggaren@apple.com>

        Honor the setting for whether JavaScript markup is enabled
        https://bugs.webkit.org/show_bug.cgi?id=113122

        Reviewed by Ryosuke Niwa.

        * dom/ScriptableDocumentParser.cpp:
        (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): Applied the
        setting here, so all document parsing would be covered. This is similar
        to what we do for plug-in stripping.

        * html/parser/HTMLConstructionSite.cpp:
        (WebCore::HTMLConstructionSite::insertForeignElement): Fixed a bug where
        we would insert an SVG script element into the document even in script
        markup disabled mode.

        (This bug has existed for copy/paste for a long time, but other bugs and
        quirks in SVG copy/paste papered over it. It's a serious issue now
        that non-paste clients will rely on this mode.)

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Fixed the same
        bug -- this time in the part of the parser that executes scripts as they
        parse.

        I adopted the toScriptElement() convention for testing for a script
        element to match the XML parser.

2013-03-27  Dean Jackson  <dino@apple.com>

        Chromium Mac fails to build after r146995 because the new NSFont category
        may conflict with the system. Add the WebCoreTheme category to the whitelist.

        Unreviewed.

        * WebCore.gyp/WebCore.gyp:

2013-03-27  Ryosuke Niwa  <rniwa@webkit.org>

        Selection code spends a lot of time in InlineTextBox::localSelectionRect
        https://bugs.webkit.org/show_bug.cgi?id=113364

        Reviewed by Enrica Casucci.

        Avoid computing the font width when we're selecting the entire line box.

        This appears to be 25-26% improvement on Interactive/SelectAll:Time.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::localSelectionRect):

2013-03-26  Timothy Hatcher  <timothy@apple.com>

        Add support for dock-to-right of the Web Inspector in the Mac port.

        Unfortunately this requires Safari changes, so it is disabled in the nightly builds.

        https://webkit.org/b/113341
        rdar://problem/10368152

        Reviewed by Joseph Pecoraro.

        * WebCore.exp.in:
        * inspector/InspectorFrontendClient.h:
        (InspectorFrontendClient):
        * inspector/InspectorFrontendClientLocal.cpp:
        (WebCore):
        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
        (WebCore::InspectorFrontendClientLocal::requestSetDockSide):
        (WebCore::InspectorFrontendClientLocal::canAttachWindow):
        (WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth):
        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
        (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowWidth):
        * inspector/InspectorFrontendClientLocal.h:
        (InspectorFrontendClientLocal):
        * inspector/InspectorFrontendHost.cpp:
        (WebCore::InspectorFrontendHost::setAttachedWindowWidth):
        (WebCore):
        * inspector/InspectorFrontendHost.h:
        (InspectorFrontendHost):
        * inspector/InspectorFrontendHost.idl:
        * inspector/front-end/InspectorFrontendHostStub.js:
        (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowWidth):
        * inspector/front-end/externs.js:
        (InspectorFrontendHostAPI.prototype.setAttachedWindowWidth):
        * testing/Internals.cpp:

2013-03-27  Eric Carlson  <eric.carlson@apple.com>

        [Mac] webkitClosedCaptionsVisible doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=113417

        Reviewed by Jer Noble.

        Test: media/track/track-in-band-legacy-api.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Delete m_disableCaptions, it is no longer used.
        (WebCore::HTMLMediaElement::configureTextTrackGroup): Pass this to textTrackSelectionScore.
        (WebCore::HTMLMediaElement::setClosedCaptionsVisible):  Delete m_disableCaptions, it is no longer used.
        * html/HTMLMediaElement.h: Ditto.

        * page/CaptionUserPreferences.cpp:
        (WebCore::CaptionUserPreferences::textTrackSelectionScore): Add an HTMLMediaElement parameter.
        * page/CaptionUserPreferences.h:

        * page/CaptionUserPreferencesMac.h:
        * page/CaptionUserPreferencesMac.mm:
        (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Return a score if the media element
            is showing captions, even if the preference says captions are disabled.

2013-03-27  Eric Carlson  <eric.carlson@apple.com>

        [Mac] Text track menu items sometimes labeled incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=113406

        Reviewed by Jer Noble.

        media/video-controls-captions-trackmenu-localized.html was updated to test this.

        * page/CaptionUserPreferencesMac.mm:
        (WebCore::trackDisplayName): Use the 'label' attribute for the menu text when necessary.

2013-03-27  Sergio Villar Senin  <svillar@igalia.com>

        Inserting a blank (" ") at the end of a line does not insert anything in Overtype mode
        https://bugs.webkit.org/show_bug.cgi?id=113413

        Reviewed by Ryosuke Niwa.

        Perform a "normal" insert instead of a replace when there is
        nothing to replace (like at the end of a line) as this case is not
        supported by the replacing code path. This will allow us to
        properly rebalance whitespaces in those cases.

        Updated the editing/execCommand/overtype.html test to check also
        this use case.

        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::setEndingSelectionWithoutValidation):
        (WebCore::InsertTextCommand::performTrivialReplace):
        (WebCore::InsertTextCommand::performOverwrite):
        (WebCore::InsertTextCommand::doApply): use the recently added
        setEndingSelectionWithoutValidation() to avoid code duplication.
        * editing/InsertTextCommand.h:
        (InsertTextCommand):

2013-03-27  Dean Jackson  <dino@apple.com>

        [Mac] Use fontName rather than familyName for internal fonts
        https://bugs.webkit.org/show_bug.cgi?id=113392
        <rdar://problem/13474743>

        Reviewed by Enrica Casucci.

        Some internal fonts on OS X have a family name that
        isn't listed in availableFontFamilies. In this case
        we should use the font name rather than the family
        name when looking for a match.

        * platform/mac/ThemeMac.h: NSFont category to provide a web-friendly family name.
        * platform/mac/ThemeMac.mm:
        (-[NSFont webCoreFamilyName]): Returns the font name for internal fonts, otherwise the family name.
        (WebCore::ThemeMac::controlFont):
        * rendering/RenderThemeMacShared.mm: Use the webCoreFamilyName.
        (WebCore::RenderThemeMacShared::systemFont): Ditto.
        (WebCore::RenderThemeMacShared::setFontFromControlSize): Ditto.

2013-03-26  Jer Noble  <jer.noble@apple.com>

        Mac: Media Controls always hide time display elements
        https://bugs.webkit.org/show_bug.cgi?id=113355

        Reviewed by Eric Carlson.

        No new tests; rebaselined existing tests against correct behavior.

        A prior commit set the "min-width:0" property on the time display elements, which, combined
        with the "-webkit-flex-box:0 0" setting, caused the flex-box container to collapse the width
        of the elements to zero. To achieve the desired effect of hiding the time display elements,
        first set the elements' min-width to the desired width, as the new flex-box spec treats the
        default value of "min-width:auto" as the intrinsic width, and will collapse the text display
        elements to the intrinsic width of its contained text node.

        The above allows the timeline container to collapse beyond the sum of its childrens'
        intrinsic width. Create a custom renderer that detects when this happens, and hide the time
        display controls.

        * css/mediaControls.css:
        * css/mediaControlsQuickTime.css:
        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
            Set the "min-width:" property to equal the "width:" property.
        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
            Ditto.
        * css/mediaControlsChromium.css:
        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
            Chromium assumes the time display controls are flex-boxes, so make that explicit.
        * html/shadow/MediaControlElementTypes.cpp: Removed MediaControlTimeDisplayElement::createRenderer().
        * html/shadow/MediaControlElementTypes.h:
        (MediaControlTimeDisplayElement): Ditto.
        * html/shadow/MediaControlElements.cpp:
        (WebCore::MediaControlTimelineContainerElement::setTimeDisplaysHidden): Added, walks through the 
            container's children and shows or hides time display elements.
        (WebCore::MediaControlTimelineContainerElement::createRenderer): Added, creates a RenderMediaControlTimelineContainer.
        (WebCore::getMediaControlTimeRemainingDisplayElementShadowPseudoId): Added, allow setTimeDisplaysHidden to
            query against children's shadowPseudoId().
        (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Moved contents to getMediaControlTimeRemainingDisplayElementShadowPseudoId.
        (WebCore::getMediaControlCurrentTimeDisplayElementShadowPseudoId): Added, allow setTimeDisplaysHidden to
            query against children's shadowPseudoId().
        (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Moved contents to getMediaControlCurrentTimeDisplayElementShadowPseudoId.
        * html/shadow/MediaControlElements.h:
        (MediaControlTimelineContainerElement):
        * rendering/RenderMediaControlElements.cpp:
        (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer): Added, simple constructor.
        (WebCore::RenderMediaControlTimelineContainer::layout): Detect when the controller's width is greater than
            a certain value, and show or hide the time display elements in response.
        * rendering/RenderMediaControlElements.h:
        (RenderMediaControlTimelineContainer):

2013-03-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: CPU profiler. Swap FlameChart with Data Grid.
        https://bugs.webkit.org/show_bug.cgi?id=113395

        Reviewed by Pavel Feldman.

        Looks like FlameChart is more powerful and flexible instrument
        than plain old ProfileTree in DataGrid. The same action like
        'look for the most expensive function in a frame' could be easily
        done with FlameChart and need number of clicks in DataGrid.
        So in an offline discussion we decided to place FlameChart on top of DataGrid.

        * inspector/front-end/CPUProfileView.js:

2013-03-27  Chris Fleizach  <cfleizach@apple.com>

        Regression in tests due to https://bugs.webkit.org/show_bug.cgi?id=113339
        https://bugs.webkit.org/show_bug.cgi?id=113361

        Fix the red bots. No review.

        Ensure only pop-up buttons get the AXRequired attribute instead of all buttons.        

        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

2013-03-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Breakpoint manager should restore breakpoints when uiSourceCode is added.
        https://bugs.webkit.org/show_bug.cgi?id=113381

        Reviewed by Pavel Feldman.

        Breakpoint manager now restores breakpoints on UISourceCodeAdded event.
        Breakpoint manager now only resets breakpoints in debugger when source mapping is changed to/from non identity one.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._uiSourceCodeAdded):
        (WebInspector.BreakpointManager.prototype._resetBreakpoints):
        (WebInspector.BreakpointManager.prototype._uiSourceCodeMappingChanged):
        * inspector/front-end/CompilerScriptMapping.js:
        (WebInspector.CompilerScriptMapping.prototype.get isIdentity):
        * inspector/front-end/DefaultScriptMapping.js:
        (WebInspector.DefaultScriptMapping.prototype.isIdentity):
        * inspector/front-end/ResourceScriptMapping.js:
        (WebInspector.ResourceScriptMapping.prototype.isIdentity):
        * inspector/front-end/SASSSourceMapping.js:
        (WebInspector.SASSSourceMapping.prototype.isIdentity):
        * inspector/front-end/ScriptSnippetModel.js:
        (WebInspector.SnippetScriptMapping.prototype.isIdentity):
        * inspector/front-end/SourceMapping.js:
        (WebInspector.SourceMapping.prototype.isIdentity):
        * inspector/front-end/StylesSourceMapping.js:
        (WebInspector.StylesSourceMapping.prototype.isIdentity):
        * inspector/front-end/UISourceCode.js:
        (WebInspector.UISourceCode.prototype.setSourceMapping):

2013-03-27  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: update Timeline.TimelineEvent definition to include DOM counters and native memory stats
        https://bugs.webkit.org/show_bug.cgi?id=113376

        Reviewed by Vsevolod Vlasov.

        Fixed assertion failure in debug mode after r146975.

        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):

2013-03-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: FlameChart. Provide 15px padding left for the chart so developers will see the first divider with '0' title.
        https://bugs.webkit.org/show_bug.cgi?id=113404

        Reviewed by Pavel Feldman.

        15px paddingLeft was added to the code for the chart.

        * inspector/front-end/FlameChart.js:
        (WebInspector.FlameChart):
        (WebInspector.FlameChart.Calculator.prototype._updateBoundaries):
        (WebInspector.FlameChart.Calculator.prototype.computePosition):
        (WebInspector.FlameChart.prototype.draw):

2013-03-27  Kent Tamura  <tkent@chromium.org>

        Rename HTMLFormControlElement::readOnly to isReadOnly
        https://bugs.webkit.org/show_bug.cgi?id=113297

        Reviewed by Alexey Proskuryakov.

        HTMLFormControlElement::readOnly is not an implementation of
        'readOnly' IDL attribute. It's confusing and we don't need to
        violate our naming convention.

        No new tests. Just a refactoring.

        * accessibility/AccessibilityNodeObject.cpp:
        (WebCore::AccessibilityNodeObject::isReadOnly):
        * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
        (WebCore::BaseMultipleFieldsDateAndTimeInputType::isEditControlOwnerReadOnly):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
        (WebCore::HTMLFormControlElement::parseAttribute):
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElement::isReadOnly):
        (WebCore::HTMLFormControlElement::isDisabledOrReadOnly):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass):
        (WebCore::HTMLInputElement::matchesReadWritePseudoClass):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass):
        (WebCore::HTMLTextAreaElement::matchesReadWritePseudoClass):
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::defaultEventHandler):
        (WebCore::SliderThumbElement::willRespondToMouseMoveEvents):
        (WebCore::SliderThumbElement::willRespondToMouseClickEvents):
        * html/shadow/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents):
        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
        * html/shadow/TextFieldDecorationElement.cpp:
        (WebCore::TextFieldDecorationElement::updateImage):
        * rendering/RenderTextControl.cpp:
        (WebCore::updateUserModifyProperty):
        * rendering/RenderThemeMacShared.mm:
        (WebCore::RenderThemeMacShared::paintSearchFieldCancelButton):

2013-03-27  Yury Semikhatsky  <yurys@chromium.org>

        Web Inspector: update Timeline.TimelineEvent definition to include DOM counters and native memory stats
        https://bugs.webkit.org/show_bug.cgi?id=113376

        Reviewed by Vsevolod Vlasov.

        Added missing fields to Timeline.TimelineEvent type definition in Inspector.json

        * inspector/Inspector.json:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
        (WebCore::InspectorTimelineAgent::setDOMCounters):
        Switched InspectorTimelineAgent to the new typed event builders.
        (WebCore::InspectorTimelineAgent::setNativeHeapStatistics):
        * inspector/InspectorTimelineAgent.h:
        (InspectorTimelineAgent):

2013-03-27  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Follow-up to r146898: test that uiSourceCodes are not leaking in breakpoint manager.
        https://bugs.webkit.org/show_bug.cgi?id=113368

        Reviewed by Pavel Feldman.

        Added a missed line and a test.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._projectWillReset):

2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: [CodeMirror] CodeMirrorTextEditor.highlightRange has bugs
        https://bugs.webkit.org/show_bug.cgi?id=113348

        Reviewed by Vsevolod Vlasov.

        No new tests.

        - Append additional "<class>-start" class to the first highlighted span
        and "<class>-end" class to the last highlighted span to provide a way
        to set up a css classes with borders.
        - Increment end column of the markup range to simulate inclusive range.

        * inspector/front-end/CodeMirrorTextEditor.js:
        (WebInspector.CodeMirrorTextEditor.prototype.highlightRange):

2013-03-27  Andrey Lushnikov  <lushnikov@chromium.org>

        Web Inspector: Add isClean/markClean method pair to textEditor.js
        https://bugs.webkit.org/show_bug.cgi?id=112815

        Reviewed by Vsevolod Vlasov.

        No new tests: no change in behaviour.

        - Add TextEditor.isClean and TextEditor.markClean methods
        - Implement these methods in DefaultTextEditor
        - Implement these methods in CodeMirrorTextEditor

        * inspector/front-end/CodeMirrorTextEditor.js:
        (WebInspector.CodeMirrorTextEditor.prototype.isClean):
        (WebInspector.CodeMirrorTextEditor.prototype.markClean):
        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.DefaultTextEditor.prototype.isClean):
        (WebInspector.DefaultTextEditor.prototype.markClean):
        * inspector/front-end/TextEditor.js:
        (WebInspector.TextEditor.prototype.isClean):
        (WebInspector.TextEditor.prototype.markClean):
        * inspector/front-end/TextEditorModel.js:
        (WebInspector.TextEditorModel.endsWithBracketRegex.):

2013-03-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed. Web Inspector. rename method Timeline.Calculator.grandMinimumBoundary to Timeline.Calculator.zeroTime

        No changes in behaviour.

        * inspector/front-end/FlameChart.js:
        (WebInspector.FlameChart.Calculator.prototype.zeroTime):
        (WebInspector.FlameChart.OverviewCalculator.prototype.zeroTime):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkBaseCalculator.prototype.zeroTime):
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):
        (WebInspector.TimelineGrid.Calculator.prototype.zeroTime):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewCalculator.prototype.zeroTime):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelineCalculator.prototype.zeroTime):

2013-03-26  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Timeline. Scroll dividers with the underlying events.
        https://bugs.webkit.org/show_bug.cgi?id=113315

        Reviewed by Pavel Feldman.

        Now when TimelineGrid is able to draw dividers with any offset
        we could cut away paddingLeft member of Timeline.Calculator
        and clear the code of TimelineGrid.

        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype._refresh):
        (WebInspector.TimelineCalculator.prototype.computePosition):
        (WebInspector.TimelineCalculator.prototype.setDisplayWindow):
        (WebInspector.TimelineCalculator.prototype.grandMinimumBoundary):
        * inspector/front-end/inspectorCommon.css:
        (.resources-dividers-label-bar):

2013-03-27  Kondapally Kalyan  <kalyan.kondapally@intel.com>

        [CoordGfx] Support to share GraphicsSurface flags with client.
        https://bugs.webkit.org/show_bug.cgi?id=112982

        Reviewed by Noam Rosenthal.

        Covered by existing WebGL tests.

        This patch adds support to pass GraphicsSurface flags during it's client creation.
        This would be helpful to determine cases when blending can be disabled on client
        side i.e When AlphaSupport is disabled during Graphics Surface creation.
        With GLX, we rely on Window to provide us with necessary information on client side.
        This might not be the case on other platforms or when not using Window on X.
        This patch doesn't change original behaviour of creating GraphicsSurface client
        with default flags GraphicsSurface::SupportsTextureTarget and GraphicsSurface::SupportsSharing.

        * platform/graphics/texmap/TextureMapperPlatformLayer.h:
        (WebCore::TextureMapperPlatformLayer::graphicsSurfaceFlags):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
        (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
        (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
        * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
        (CoordinatedGraphicsLayerState):
        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
        (WebCore):
        (WebCore::GraphicsContext3DPrivate::graphicsSurfaceFlags):
        * platform/graphics/efl/GraphicsContext3DPrivate.h:
        (GraphicsContext3DPrivate):
        * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
        (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
        (WebCore::GraphicsSurfacePrivate::initializeClient):

2013-03-26  Takashi Sakamoto  <tasak@google.com>

        [shadow] styleForText should consider the case where parent node has no style
        https://bugs.webkit.org/show_bug.cgi?id=113275

        If a text node is distributed, its parent node for rendering and
        styling might have no style. In the case, styleForText should return
        default style.

        Reviewed by Hajime Morrita.

        Test: fast/dom/shadow/text-node-distributed-crash.html

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::styleForText):
        Check whether a parent node has any style or not. If not, return
        default style. This is the same behavior as styleForElement.

2013-03-26  Takeshi Yoshino  <tyoshino@chromium.org>

        Make SocketStreamHandle (Chromium port) fully use IPC window in send()
        https://bugs.webkit.org/show_bug.cgi?id=113304

        Reviewed by Kent Tamura.

        socket_stream of Chromium buffers send data up to 32KiB (exact) bytes.

        However, SocketStreamHandleInternal::send() method now keeps in-flight
        send data not greater than m_maxPendingSendAllowed - 1 that is
        32KiB - 1. This means that SocketStreamHandleInternal consumes the
        buffered data in SocketStreamHandleBase by 32KiB - 1. It makes memory
        copy operations unaligned unnecessarily. It should just use the
        allowed size fully.

        * platform/network/chromium/SocketStreamHandle.cpp:
        (WebCore::SocketStreamHandleInternal::send):
        (WebCore):

2013-03-26  Hayato Ito  <hayato@chromium.org>

        Allow ShadowContents in HitTests by default.
        https://bugs.webkit.org/show_bug.cgi?id=113171

        Reviewed by Dimitri Glazkov.

        HitTestRequest is widely used in WebCore, but AllowShadowContents
        flag is not turned on by default.  In most places, we can set the
        flag on.

        This change makes HitTests allow shadow contents by default.

        To track all existing HitTests which do not allow shadow contents,
        and discourage such a HitTest in the future, I've introduced
        disallowShadowContenet flag so that callers must turn on this flag
        explicitly if they want to disallow shadow contents in their HitTests.

        This change should be refactoring and should not include any
        behavior changes.  After this change, we'll investigate each place
        where disallowShadowContents is used step by step and get rid of
        the flag if it is okay to remove.

        No new tests, no behavior change.

        * dom/Document.h:
        (Document):
        * dom/TreeScope.cpp:
        (WebCore::nodeFromPoint):
        * editing/FrameSelection.cpp:
        (WebCore::FrameSelection::contains):
        * page/DragController.cpp:
        (WebCore::elementUnderMouse):
        (WebCore::DragController::canProcessDrag):
        (WebCore::DragController::startDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseDraggedEvent):
        (WebCore::EventHandler::eventMayStartDrag):
        (WebCore::EventHandler::updateSelectionForMouseDrag):
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::handleMouseDoubleClickEvent):
        (WebCore::EventHandler::handleMouseMoveEvent):
        (WebCore::EventHandler::handleMouseReleaseEvent):
        (WebCore::EventHandler::updateDragAndDrop):
        (WebCore::EventHandler::isInsideScrollbar):
        (WebCore::EventHandler::handleWheelEvent):
        (WebCore::EventHandler::handleGestureEvent):
        (WebCore::EventHandler::handleGestureLongPress):
        (WebCore::EventHandler::handleGestureScrollBegin):
        (WebCore::EventHandler::bestClickableNodeForTouchPoint):
        (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
        (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
        (WebCore::EventHandler::sendContextMenuEvent):
        (WebCore::EventHandler::sendContextMenuEventForKey):
        (WebCore::EventHandler::hoverTimerFired):
        (WebCore::EventHandler::dragSourceEndedAt):
        (WebCore::EventHandler::handleDrag):
        (WebCore::EventHandler::handleTouchEvent):
        (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
        * page/EventHandler.h:
        (EventHandler):
        * page/FocusController.cpp:
        (WebCore::updateFocusCandidateIfNeeded):
        * page/Frame.cpp:
        (WebCore::Frame::visiblePositionForPoint):
        * page/TouchDisambiguation.cpp:
        (WebCore::findGoodTouchTargets):
        * rendering/HitTestRequest.h:
        (WebCore::HitTestRequest::disallowsShadowContent):
        * rendering/HitTestResult.cpp:
        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
        * rendering/RenderFlowThread.cpp:
        (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
        * rendering/svg/RenderSVGResourceClipper.cpp:
        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
        * testing/Internals.cpp:
        (WebCore::Internals::nodesFromRect):

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

        [ca] Tell CA to clean up unused resources if a given WebProcess won't be drawing
        https://bugs.webkit.org/show_bug.cgi?id=107539
        <rdar://problem/13032692>

        Reviewed by Simon Fraser.

        Update WebCoreSystemInterface.

        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

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

        Test if non-immediate descendants obscure background
        https://bugs.webkit.org/show_bug.cgi?id=113137

        Reviewed by Simon Fraser.

        The current obscuration test only covers immediate children. We can find more cases by looking deeper into descendants.
        
        The patch makes the test sufficiently smart to stop a heavy fully obscured gif animation on micrsoft.com.

        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::animationAdvanced):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::styleDidChange):
        
            Invalidate parents to max test depth.

        (WebCore::RenderBox::backgroundPaintedExtent):
        
            Background painting is pixel snapped.

        (WebCore::isCandidateForOpaquenessTest):
        (WebCore::RenderBox::foregroundIsKnownToBeOpaqueInRect):
        
            Separate foreground testing and make it recursive.
            Add fast bailout for common static positioned case.
            Remove maximum child count, the fast bailouts should prevent long tests.
            Add maximum depth so we know how deep we need to invalidate in styleDidChange.

        (WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
        (WebCore):
        * rendering/RenderBox.h:
        (RenderBox):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
        (WebCore):
        (WebCore::RenderImage::computeBackgroundIsKnownToBeObscured):
        
        * rendering/RenderImage.h:
        (RenderImage):

2013-03-26  Benjamin Poulain  <bpoulain@apple.com>

        Regression (r145601): out-of-bounds read in line breaking / new width cache
        https://bugs.webkit.org/show_bug.cgi?id=113347

        Reviewed by Geoffrey Garen.

        The values zero and 0xffff have special values with the default HashTraits. Those values
        are also valid values for UChar.

        To avoid any table inconsitency, switch from UChar to uint32_t as the key type for
        the WidthCache's single char map. The traits is also changed to allow zero as a normal
        value.

        This makes no space or time change over the previous code because:
        -The struct KeyValuePair was already 64bits due to the ABI alignment restrictions on floats.
        -The two hashes take the same number of instructions.

        * platform/graphics/WidthCache.h:
        (WidthCache):

2013-03-26  Kent Tamura  <tkent@chromium.org>

        Make HTMLProgressElement::isDeterminate private
        https://bugs.webkit.org/show_bug.cgi?id=113299

        Reviewed by Kentaro Hara.

        The only callsite of isDeterminate outside of HTMLProgressElement
        is in StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes,
        and we can replace it with Element::shouldAppearIndeterminate.

        No new tests. Just a refactoring.

        * css/StyleResolver.cpp:
        (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
        Use Element::shouldAppearIndeterminate.
        * html/HTMLProgressElement.h:
        (HTMLProgressElement): Make isDeterminate private.

2013-03-26  David Grogan  <dgrogan@chromium.org>

        IndexedDB: Histogram cause of LevelDB write errors
        https://bugs.webkit.org/show_bug.cgi?id=113350

        Reviewed by Tony Chang.

        Add histogram for source of LevelDB errors on Write in addition to
        Open.

        No new tests - no good way to test histogram code.

        * platform/leveldb/LevelDBDatabase.cpp:
        (WebCore::histogramLevelDBError):
        (WebCore):
        (WebCore::LevelDBDatabase::open):
        (WebCore::LevelDBDatabase::write):

2013-03-26  Chris Fleizach  <cfleizach@apple.com>

        WebKit does not expose @required or @aria-required as AXRequired on select elements
        https://bugs.webkit.org/show_bug.cgi?id=113339

        Reviewed by Tim Horton.

        Make sure button types can return the AXRequired attribute.

        Tests: platform/mac/accessibility/aria-required-popup-button.html

        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

2013-03-26  Dean Jackson  <dino@apple.com>

        When a primary plugin is restarted, also start similar plugins
        https://bugs.webkit.org/show_bug.cgi?id=113265

        Reviewed by Tim Horton.

        If we detect a primary plugin that is snapshotted, we immediately restart it.
        When this happens, we should also restart any other plugins that
        match the same origin and type. This allows sites with a lot of
        (geometrically) nearby plugins to behave as if they are a single big plugin.

        Tests: plugins/snapshotting/autoplay-similar-to-dominant-after-delay.html
               plugins/snapshotting/autoplay-similar-to-dominant.html

        * WebCore.exp.in: Export mimeTypeFromURL.
        * html/HTMLPlugInImageElement.cpp:
        (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Use loadedMimeType helper.
        (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): New method, which copied the
            existing code from userDidClickSnapshot.
        (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Move the similar plugin detection
            out into another function and call it.
        (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Call restartSimilarPlugIns.
        (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Use loadedMimeType helper.
        * html/HTMLPlugInImageElement.h: Declaration of restartSimilarPlugIns.
        (WebCore::HTMLPlugInImageElement::loadedMimeType): New helper method since this
            code was being often duplicated.

2013-03-26  Brent Fulgham  <bfulgham@webkit.org>

        [Windows, WinCairo] Scroll offset being applied to plugins during print operations.
        https://bugs.webkit.org/show_bug.cgi?id=39889

        Reviewed by Anders Carlsson.

        This must be tested manually. See the issue for details.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::paintWindowedPluginIntoContext):
        Revise the Windows implementation of the PluginView class
        paintWindowedPluginIntoContext to use the containing window
        position when computing the plugin's position for printing.

2013-03-26  Xianzhu Wang  <wangxianzhu@chromium.org>

        Non-paintsContent fixed position layer should not cause slow scrolling
        https://bugs.webkit.org/show_bug.cgi?id=113238

        Reviewed by James Robinson.

        Added NotCompositedForNoVisibleContent in ViewportConstrainedNotCompositedReason and set it in RLC.

        Test: compositing/layer-creation/fixed-position-no-content-scroll-reason.html

        * rendering/RenderLayer.h: Add NotCompositedForNoVisibleContent.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Set NotCompositedForNoVisibleContent reason when the fixed position layer has no visible content.

2013-03-26  Zoltan Horvath  <zoltan@webkit.org>

        [CSS Exclusions] The radius of a circle should be computed based on the shorter available dimension
        https://bugs.webkit.org/show_bug.cgi?id=113255

        Reviewed by Julien Chaffraix.

        When we decide what should be the radius of a circle, we should choose the smallest available space. For instance when the
        width or height is not resolvable for the circle we should not have a radius for it. This change modifies the behavior to
        use the smaller available space, so we won't render unnecessary circle shapes.

        Test: fast/exclusions/shape-inside/shape-inside-on-nested-container-with-unresolved-height.html

        * rendering/ExclusionShape.cpp:
        (WebCore::ExclusionShape::createExclusionShape):

2013-03-26  Timothy Hatcher  <timothy@apple.com>

        Make the Web Inspector console work in strict mode with JavaScriptCore.

        https://webkit.org/b/65829
        rdar://problem/11271238

        Reviewed by Joseph Pecoraro.

        * inspector/InjectedScriptSource.js:
        (InjectedScript.prototype._evaluateOn): Don't use 'eval' parameter (it isn't
        allowed in strict mode). Swap window.eval with our known eval instead.

2013-03-26  Ryosuke Niwa  <rniwa@webkit.org>

        Heap-use-after-free regression
        https://bugs.webkit.org/show_bug.cgi?id=113337

        Reviewed by Abhishek Arya and Alexey Proskuryakov.

        Use RefPtr instead of raw pointer in m_associatedFormControls.

        * dom/Document.cpp:
        (WebCore::Document::didAssociateFormControlsTimerFired):
        * dom/Document.h:
        (Document):
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::didAssociateFormControls):
        * page/ChromeClient.h:
        (WebCore::ChromeClient::didAssociateFormControls):

2013-03-26  Alexey Proskuryakov  <ap@apple.com>

        <rdar://problem/13194263> Crashes in NetworkProcess due to threading issues
        https://bugs.webkit.org/show_bug.cgi?id=113256

        Reviewed by Brady Eidson.

        Added a new code path in ResourceHandle/ResourceHandleClient that doesn't need
        blocking calls. Implemented it for NSURLConnection by changing NSOperationQueue
        version to forward calls to main thread.

        * WebCore.exp.in: Export new methods.
        * WebCore.xcodeproj/project.pbxproj: Added WebCoreResourceHandleAsOperationQueueDelegate.

        * platform/network/CredentialStorage.cpp: Assert that unprotected global map operations
        happen on main thread.

        * platform/network/ResourceHandle.cpp: Added default implementations of functions
        that handle async responses.

        * platform/network/chromium/ResourceHandle.cpp: Ditto.

        * platform/network/ResourceHandle.h: Added functions that are called in response
        to new async functions in ResourceHandleClient. Changed Mac delegate type to id,
        ast can now be either WebCoreResourceHandleAsDelegate or WebCoreResourceHandleAsOperationQueueDelegate.

        * platform/network/ResourceHandleClient.cpp:
        (WebCore::ResourceHandleClient::willSendRequestAsync):
        (WebCore::ResourceHandleClient::shouldUseCredentialStorageAsync):
        (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpaceAsync):
        (WebCore::ResourceHandleClient::willCacheResponseAsync):
        Default implementations of async client functions. These match default behavior of
        sync versions.

        * platform/network/ResourceHandleClient.h: Added async functions. A ResourceHandle
        should use these when the client returns true from usesAsyncCallbacks().

        * platform/network/ResourceHandleInternal.h: Changed to use id for delegate type
        here, too.

        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::delegate): Create an appropriate delegate for the client.
        (WebCore::ResourceHandle::willSendRequest): Since this function has a lot of common
        behavior in sync and async cases, implement the new code path as a branch inside
        it, not as a new function.
        (WebCore::ResourceHandle::continueWillSendRequest): Unblock the connection when
        response is known.
        (WebCore::ResourceHandle::shouldUseCredentialStorage): Branched here too, for consistency.
        Perhaps we'll want to break this into separate functions though.
        (WebCore::ResourceHandle::continueShouldUseCredentialStorage): Unblock the connection.
        (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Same change as above.
        (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace): Ditto.
        (WebCore::ResourceHandle::continueWillCacheResponse): Ditto. Currently, delegate
        calls the client directly, so we only have a "continue" function, and no "willCacheResponse".

        * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
        (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Removed some
        nonsense code.

        * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h: Copied from Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.h.
        This delegate is responsible for forwarding calls to main thread. Unfortunately,
        this adds some code duplication, which I tried to rectify somewhat in previous patches
        by moving more logic to ResourceHandle.

        * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm: Copied from Source/WebCore/platform/network/mac/WebCoreResourceHandleAsDelegate.mm.
        (-[WebCoreResourceHandleAsOperationQueueDelegate detachHandle]): Unblock waiting
        threads if we don't expect a response any more.
        (-[WebCoreResourceHandleAsOperationQueueDelegate dealloc]): Release the semaphore.
        (-[WebCoreResourceHandleAsOperationQueueDelegate continueWillSendRequest:]): Unblock
        a waiting thread with a response.
        (-[WebCoreResourceHandleAsOperationQueueDelegate continueShouldUseCredentialStorage:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate continueCanAuthenticateAgainstProtectionSpace:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate continueWillCacheResponse:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
        Run code that uses WebCore objects on main thread.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connectionShouldUseCredentialStorage:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveDataArray:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveData:lengthReceived:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willStopBufferingData:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connectionDidFinishLoading:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didFailWithError:]): Ditto.
        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]): Ditto.

2013-03-26  Tony Chang  <tony@chromium.org>

        Autogenerate the scrollAnimatorEnabled setting in Settings.in
        https://bugs.webkit.org/show_bug.cgi?id=113253

        Reviewed by James Robinson.

        Convert scrollAnimatorEnabled into an autogenerated setting. This involves renaming
        the setter from setEnableScrollAnimator(bool) to setScrollAnimatorEnabled(bool) and
        updating the callers. I didn't change any WebKit API methods.

        Also remove the code in InternalSettings since it's never used and will now be
        autogenerated with proper resetting code.

        No new tests, this is a refactor and should compile.

        * page/Settings.cpp:
        (WebCore::Settings::Settings): Remove code that is now autogenerated.
        * page/Settings.h:
        (Settings): Remove code that is now autogenerated.
        * page/Settings.in: Add entry for scrollAnimatorEnabled.
        * testing/InternalSettings.cpp: Remove unused code.
        * testing/InternalSettings.h: Remove unused code.
        * testing/InternalSettings.idl: Remove unused code.

2013-03-26  Joe Mason  <jmason@blackberry.com>

        [BlackBerry] In RSSFilterStream, don't swallow headers when there's no body
        https://bugs.webkit.org/show_bug.cgi?id=113334

        Reviewed by Rob Buis.

        RIM PR 316345

        When receiving an HTTP response that has a Content-Type header such as text/xml, but no
        body, RSSFilterStream::notifyHeadersReceived reads the Content-Type as "potential RSS", and
        calls saveHeaders. It expects to sniff the body in notifyDataReceived to see if it's RSS,
        and then call sendSavedHeaders to pass on the headers. But since there is no body,
        notifyDataReceived is never called. So call sendSavedHeaders in notifyClose too (it will not
        send them again if they were already sent.)

        * platform/network/blackberry/rss/RSSFilterStream.cpp:
        (WebCore::RSSFilterStream::notifyClose):

2013-03-26  Dmitry Zvorygin  <zvorygin@chromium.org>

        Web Inspector: Faster drawer animation.
        https://bugs.webkit.org/show_bug.cgi?id=113330

        250ms -> 100ms

        Reviewed by Pavel Feldman.

        * inspector/front-end/inspector.css:
        (.animate #main):
        (.animate #floating-status-bar-container):
        (.animate #drawer):
        (.animate #bottom-status-bar-container > *):

2013-03-26  Brent Fulgham  <bfulgham@webkit.org>

        [WinCairo] Unreviewed Build fix.

        * platform/graphics/win/FontCustomPlatformDataCairo.h:
        (FontCustomPlatformData): Correct signature in header to match
        required implementation.

2013-03-26  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Scrolling up and down can cause the screen to flash black
        https://bugs.webkit.org/show_bug.cgi?id=113269

        Reviewed by Rob Buis.

        PR 296106

        The LayerRenderer should never clear before drawing the layers, from
        now on that's the responsibility of the caller.

        Only manually testable.

        * platform/graphics/blackberry/LayerRenderer.cpp:
        (WebCore::LayerRenderer::setViewport):
        * platform/graphics/blackberry/LayerRendererClient.h:
        (LayerRendererClient):

2013-03-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        [Qt] editing/pasteboard/can-read-in-dragstart-event.html and /can-read-in-copy-and-cut-events.html are crashing
        https://bugs.webkit.org/show_bug.cgi?id=113126

        Reviewed by Jocelyn Turcotte.

        Make it possible to read from a writable Clipboard.

        Test: editing/pasteboard/can-read-in-copy-and-cut-events.html

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::getData):
        (WebCore::ClipboardQt::types):
        (WebCore::ClipboardQt::files):
        (WebCore::ClipboardQt::readClipboardData):
        (WebCore::ClipboardQt::hasData):
        (WebCore::ClipboardQt::items):
        * platform/qt/ClipboardQt.h:
        (ClipboardQt):

2013-03-26  Brent Fulgham  <bfulgham@webkit.org>

        [WinCairo] Unreviewed build correction.

        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData): Update
        method signature to match CG variant.

2013-03-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        Code duplication between HTTPParsers and HTTPValidation
        https://bugs.webkit.org/show_bug.cgi?id=113283

        Reviewed by Alexey Proskuryakov.

        Merged isValidHTTPToken() from HTTPValidation.h and isRFC2616Token() from
        HTTPParsers.h. They were doing exactly the same thing and their
        implementation was almost the same.

        Removed HTTPValidation.* and moved remaining code to HTTPParsers.* as this
        seems like the proper place and it seems odd to keep HTTPValidation for
        just one function.

        No new tests, no behavior change for layout tests.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Target.pri:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcxproj/WebCore.vcxproj:
        * WebCore.vcxproj/WebCore.vcxproj.filters:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/HTTPParsers.cpp:
        (WebCore::isValidHTTPHeaderValue):
        (WebCore):
        (WebCore::isValidHTTPToken): Implementation is slightly simplified based on
        isValidHTTPToken() from HTTPValidation.cpp. (c >= 0x80 || c == 0x7F) is
        replaced by (c >= 0x7F). (c <= 0x1F ||  c == ' ' || c == '\t') is replaced
        by (c <= 0x20). Those expressions are shorter but equivalent.
        (WebCore::contentDispositionType):
        * platform/network/HTTPParsers.h:
        * platform/network/HTTPValidation.cpp: Removed.
        * platform/network/HTTPValidation.h: Removed.
        * xml/XMLHttpRequest.cpp: Stop including HTTPValidation.h.

2013-03-26  Sergio Villar Senin  <svillar@igalia.com>

        Implement overtype mode for editable content
        https://bugs.webkit.org/show_bug.cgi?id=112126

        Reviewed by Ryosuke Niwa.

        Tests: editing/execCommand/overtype-support.html
               editing/execCommand/overtype.html

        Add a new Overwrite command to the editor. This command will
        perform overtype operations when enabled instead of "normal" text
        insertions. As IE does, we maintain a single toggle state in the
        editor (enabled/disabled) for all the editable content in the
        page.

        This new command will be only available for richly editable
        content via keybindings or the context menu. For testing purposes
        it is also accessible via internals.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::replaceTextInNode): Use RefPtr for
        local variables.
        * editing/Editor.cpp:
        (WebCore::Editor::Editor):
        * editing/Editor.h:
        (WebCore::Editor::isOverwriteModeEnabled):
        (WebCore::Editor::toggleOverwriteModeEnabled):
        (Editor): Added two new functions and a new attribute.
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleOverwrite): Enables/disables overwrite mode.
        (WebCore):
        (WebCore::createCommandMap): New OverWrite command.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::setEndingSelectionWithoutValidation):
        Refactored from performTrivialReplace(), shared by
        performOverwrite().
        (WebCore):
        (WebCore::InsertTextCommand::performTrivialReplace):
        (WebCore::InsertTextCommand::performOverwrite):
        (WebCore::InsertTextCommand::doApply): Perform overwrite if enabled.
        * editing/InsertTextCommand.h:
        (InsertTextCommand):
        * testing/Internals.cpp:
        (WebCore::Internals::resetToConsistentState): Reset OverWrite mode
        to false.
        (WebCore::Internals::isOverwriteModeEnabled):
        (WebCore):
        (WebCore::Internals::toggleOverwriteModeEnabled): Provide access
        to overwrite functionality in Editor for testing purposes.
        * testing/Internals.h:
        (Internals):
        * testing/Internals.idl:

2013-03-26  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] WebOverlay::pixelViewportRect() should return pixel viewport coordinates
        https://bugs.webkit.org/show_bug.cgi?id=113263

        Reviewed by Rob Buis.

        PR 312404

        Fix WebOverlay::pixelViewportRect() to return the pixel viewport rect
        instead of the window rect. These are different if the web page is
        rendered starting at a window coordinate other than 0,0. The clip rect
        encodes the position we're rendered at, and can be used to translate
        the rect expressed in window coordinates to the pixel viewport
        coordinate system.

        Also perform some cleanup of related code.

        Only manually testable.

        * platform/graphics/blackberry/LayerCompositingThread.cpp:
        (WebCore::LayerCompositingThread::getTransformedHolePunchRect):
        (WebCore::LayerCompositingThread::drawTextures):
        * platform/graphics/blackberry/LayerRenderer.cpp:
        (WebCore::toPixelCoordinates):
        (WebCore):
        (WebCore::LayerRenderer::toWindowCoordinates):
        (WebCore::LayerRenderer::toPixelViewportCoordinates):
        (WebCore::LayerRenderer::toDocumentViewportCoordinates):
        (WebCore::LayerRenderer::updateLayersRecursive):
        * platform/graphics/blackberry/LayerRenderer.h:
        (LayerRenderer):

2013-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r146901.
        http://trac.webkit.org/changeset/146901
        https://bugs.webkit.org/show_bug.cgi?id=113321

        Was landed to soon (Requested by pfeldman on #webkit).

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.):
        (WebInspector.ConsoleView.prototype.filter):
        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
        (WebInspector.ConsoleView.prototype._consoleMessageAdded):
        (WebInspector.ConsoleView.prototype._appendConsoleMessage):
        (WebInspector.ConsoleView.prototype._consoleCleared):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.monitoringXHRItemAction):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent.get preserveLogItemAction):
        (WebInspector.ConsoleView.prototype._shouldBeVisible):
        (WebInspector.ConsoleView.prototype._updateMessageList):
        (WebInspector.ConsoleView.prototype._promptKeyDown):
        (WebInspector.ConsoleView.prototype._printResult):
        (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
        * inspector/front-end/inspector.css:
        (.console-warning-level, .console-error-level, .console-log-level, .console-debug-level):
        (.filter-all .console-debug-level, .filter-debug .console-debug-level):
        (.filter-all .console-debug-level.repeated-message, .filter-debug .console-debug-level.repeated-message):

2013-03-26  Rafael Weinstein  <rafaelw@chromium.org>

        HTMLStackItem should include <template> as a special tag
        https://bugs.webkit.org/show_bug.cgi?id=113016

        Reviewed by Eric Seidel.

        New test added to html5lib suite.

        * html/parser/HTMLStackItem.h:
        (WebCore::HTMLStackItem::isSpecialNode):

2013-03-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Distinguish breakpoints and breakpoint locations in BreakpointManager API
        https://bugs.webkit.org/show_bug.cgi?id=113311

        Reviewed by Pavel Feldman.

        Made independent handling of breakpoints and breakpoint location in breakpoint manager consistent.
        JavaScriptSourceFrame now removes breakpoints originally set in it based on primary UI location.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
        (WebInspector.BreakpointManager.prototype.allBreakpoints):
        (WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode):
        (WebInspector.BreakpointManager.prototype.allBreakpointLocations):
        (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
        (WebInspector.BreakpointManager.prototype._projectWillReset):
        * inspector/front-end/JavaScriptSourceFrame.js:
        (WebInspector.JavaScriptSourceFrame.prototype.onUISourceCodeContentChanged):
        (WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
        (WebInspector.JavaScriptSourceFrame.prototype._removeAllBreakpoints):

2013-03-26  Dmitry Zvorygin  <zvorygin@chromium.org>

        Web Inspector: Remove remainings of CSS-based console message filtering.
        https://bugs.webkit.org/show_bug.cgi?id=112710

        Reviewed by Pavel Feldman.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.get this):
        (WebInspector.ConsoleView.prototype.):
        (WebInspector.ConsoleView.prototype.filter):
        (WebInspector.ConsoleView.prototype._consoleMessageAdded):
        (WebInspector.ConsoleView.prototype._appendConsoleMessage):
        (WebInspector.ConsoleView.prototype._consoleCleared):
        (WebInspector.ConsoleView.prototype._shouldBeVisible):
        (WebInspector.ConsoleView.prototype._updateMessageList):
        (WebInspector.ConsoleView.prototype._promptKeyDown):
        (WebInspector.ConsoleView.prototype._printResult):
        (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
        * inspector/front-end/inspector.css:
        (.console-debug-level.repeated-message):

2013-03-26  Peter Rybin  <prybin@chromium.org>

        Web Inspector: refactor code duplication: WebInspector.ObjectPropertyTreeElement.wrapPropertyAsElements
        https://bugs.webkit.org/show_bug.cgi?id=113211

        Reviewed by Yury Semikhatsky.

        A new method WebInspector.ObjectPropertyTreeElement.wrapPropertyAsElements is added and used
        from 2 sites.

        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
        (WebInspector.ObjectPropertiesSection.prototype.update):
        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
        (.callback):
        (WebInspector.ObjectPropertyTreeElement.populate):
        (WebInspector.ObjectPropertyTreeElement.wrapPropertyAsElements):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionsSection.prototype.update.appendResult):
        (WebInspector.WatchExpressionsSection.prototype.update):

2013-03-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        HTTPHeaderMap::copyData() could call uncheckedAppend()
        https://bugs.webkit.org/show_bug.cgi?id=113279

        Reviewed by Alexey Proskuryakov.

        HTTPHeaderMap::copyData() calls reserveInitialCapacity() on the Vector
        but then appends items using append() function. Since we already know
        the capacity is sufficient, it is more efficient to call uncheckedAppend()
        instead to bypass capacity checks.

        No new tests, no behavior change for layout tests.

        * platform/network/HTTPHeaderMap.cpp:
        (WebCore::HTTPHeaderMap::copyData):

2013-03-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: UISourceCodes are leaking on reload sometimes.
        https://bugs.webkit.org/show_bug.cgi?id=113310

        Reviewed by Pavel Feldman.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
        (WebInspector.BreakpointManager.prototype._projectWillReset):
        * inspector/front-end/ConsoleModel.js:
        (WebInspector.ConsoleModel.prototype.clearMessages):

2013-03-26  Alexander Pavlov  <apavlov@chromium.org>

        Web Inspector: [Elements] Unable to "Edit as HTML" XHTML/SVG documents.
        https://bugs.webkit.org/show_bug.cgi?id=113290

        Reviewed by Pavel Feldman.

        DOMPatchSupport has been slightly augmented to handle XML (XHTML and SVG) documents.

        Test: inspector/elements/set-outer-html-for-xhtml.xhtml

        * inspector/DOMPatchSupport.cpp:
        (WebCore::DOMPatchSupport::patchDocument):
        (WebCore::DOMPatchSupport::patchNode):
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setOuterHTML): Let HTML, XHTML, and SVG documents through.

2013-03-26  Hajime Morrita  <morrita@google.com>

        https://bugs.webkit.org/show_bug.cgi?id=113164
        Custom Elements: readyCallback should be called for outerHTML and insertAdjecentHTML

        These APIs also create new elements thus should have V8DeliverCustomElementCallbacks attribute.

        Reviewed by Dimitri Glazkov.

        Test: Updated lifecycle-ready-creation-api.html.

        * html/HTMLElement.idl:

2013-03-26  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed. WebInspector: remove unnecessary method.

        * inspector/front-end/OverviewGrid.js:
        (WebInspector.OverviewGrid.Window):

2013-03-22  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Flame Chart. Scroll dividers together with underlying chart.
        http://bugs.webkit.org/show_bug.cgi?id=113080

        Reviewed by Pavel Feldman.

        * inspector/front-end/FlameChart.js:
        (WebInspector.FlameChart.Calculator.prototype.grandMinimumBoundary):
        (WebInspector.FlameChart.prototype._canvasDragging):
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):

2013-03-26  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: Flame Chart. Scroll dividers together with underlying chart.
        http://bugs.webkit.org/show_bug.cgi?id=113080

        Reviewed by Pavel Feldman.

        The only thing we need to do for this feature is to automatically adjust
        the initial offset for the dividers. I measured the speed of scrolling and found
        no difference. The speed is about 16ms so we have 60fps on dragging.

        * inspector/front-end/FlameChart.js:
        (WebInspector.FlameChart.Calculator.prototype.grandMinimumBoundary):
        (WebInspector.FlameChart.OverviewCalculator.prototype.grandMinimumBoundary):
        (WebInspector.FlameChart.prototype._canvasDragging):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkBaseCalculator.prototype.grandMinimumBoundary):
        * inspector/front-end/TimelineGrid.js:
        (WebInspector.TimelineGrid.prototype.updateDividers):
        (WebInspector.TimelineGrid.Calculator.prototype.grandMinimumBoundary):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewCalculator.prototype.grandMinimumBoundary):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelineCalculator.prototype.grandMinimumBoundary):

2013-03-26  Mike West  <mkwst@chromium.org>

        CSP 1.1: Experiment with 'base-uri' directive.
        https://bugs.webkit.org/show_bug.cgi?id=113307

        Reviewed by Jochen Eisinger.

        The 'base-uri' directive was introduced[1] as an experimental directive
        in CSP 1.1 after a bit of discussion[2][3]. The exact semantics will
        likely change, but it would be good for us to get some implementation
        experience with the API as currently specified, and to allow folks to
        play with the implementation to determine whether it meets the
        requirements the way we think it might.

        This patch is a first pass at that implementation: it will have no
        effect on ports that haven't enabled the CSP_NEXT flag.

        [1]: https://dvcs.w3.org/hg/content-security-policy/rev/4b89c246ea16
        [2]: http://lists.w3.org/Archives/Public/public-webappsec/2012Oct/0022.html
        [3]: http://lists.w3.org/Archives/Public/public-webappsec/2013Feb/0074.html

        Tests: http/tests/security/contentSecurityPolicy/1.1/base-uri-allow.html
               http/tests/security/contentSecurityPolicy/1.1/base-uri-deny.html

        * dom/Document.cpp:
        (WebCore::Document::processBaseElement):
            Check that the new base URI is allowed by CSP before using it as
            the document's base URI.
        * page/ContentSecurityPolicy.cpp:
            Add a constant for the new directive name (and, as a drive-by, split
            the list into CSP 1.0 and CSP 1.1 for clarity).
        (CSPDirectiveList):
            Add a property to hold the base URI policy directive value.
        (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
            Customize the error message iff we're dealing with 'base-uri'.
        (WebCore::CSPDirectiveList::allowBaseURI):
            Check the given URI against the 'base-uri' directive's value,
            exactly as we do for every other source-list type of directive.
        (WebCore::CSPDirectiveList::addDirective):
            Accept 'base-uri' as a valid directive iff CSP_NEXT is set, and
            the embedder has opted-in via the runtime flag.
        (WebCore::ContentSecurityPolicy::allowBaseURI):
            Expose an API method on ContentSecurityPolicy to check URIs against
            the 'base-uri' directive's value.

2013-03-26  Arvid Nilsson  <anilsson@rim.com>

        [BlackBerry] Main frame fixed divs not positioned correctly
        https://bugs.webkit.org/show_bug.cgi?id=112889

        Reviewed by Carlos Garcia Campos.

        PR 283363

        This was a regression from bug #112806. It caused main frame fixed
        handling to enter the iframe/scrollable div code path in LayerRenderer.

        Fixed by not setting the container for fixed flag on the main frame,
        the LayerRenderer expects this flag to be set only on non-mainframe
        containers.

        Only manually testable.

        * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp:
        (WebCore::scrollLayerForFrame):
        (WebCore):
        (WebCore::ScrollingCoordinatorBlackBerry::setLayerIsContainerForFixedPositionLayers):
        (WebCore::ScrollingCoordinatorBlackBerry::setLayerIsFixedToContainerLayer):

2013-03-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>

        FormData::deepCopy() could use Vector::uncheckedAppend()
        https://bugs.webkit.org/show_bug.cgi?id=113309

        Reviewed by Kenneth Rohde Christiansen.

        FormData::deepCopy() calls reserveInitialCapacity() on the Vector but then uses the
        regular append() method. This patch switches to using uncheckedAppend() method
        instead to bypass capacity checks as we already know it is sufficient.

        No new tests, no behavior change.

        * platform/network/FormData.cpp:
        (WebCore::FormData::deepCopy):

2013-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r146879.
        http://trac.webkit.org/changeset/146879
        https://bugs.webkit.org/show_bug.cgi?id=113312

        Multiple layout test crashes in
        WebCore::RenderListItem::updateListMarkerNumbers (Requested by
        yurys on #webkit).

        * dom/Node.cpp:
        * dom/Node.h:
        (Node):
        * dom/NodeTraversal.cpp:
        * dom/NodeTraversal.h:
        (ElementTraversal):
        (NodeTraversal):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::attach):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::updateItemValues):
        (WebCore::HTMLOListElement::recalculateItemCount):
        * rendering/RenderCounter.cpp:
        (WebCore::previousInPreOrder):
        (WebCore::previousSiblingOrParent):
        (WebCore::parentElement):
        (WebCore::nextInPreOrder):
        * rendering/RenderListItem.cpp:
        (WebCore::enclosingList):
        (WebCore::RenderListItem::nextListItem):
        (WebCore::previousListItem):
        (WebCore::RenderListItem::calcValue):
        (WebCore::RenderListItem::explicitValueChanged):
        (WebCore::previousOrNextItem):
        (WebCore::RenderListItem::updateListMarkerNumbers):
        * rendering/RenderListItem.h:
        (RenderListItem):

2013-03-26  Hajime Morrita  <morrita@google.com>

        remoeveAllEventListeners() should be called to shadow trees
        https://bugs.webkit.org/show_bug.cgi?id=113037

        Reviewed by Dimitri Glazkov.

        Document::removeAllEventListeners() doesn't traverse shadow tree, but we should.
        This change override Element::removeAllEventListeners() so that it cleans its shadow trees up.

        Test: fast/dom/shadow/shadow-tree-listener-clearance.html

        * dom/Element.cpp:
        (WebCore::Element::removeAllEventListeners):
        (WebCore):
        * dom/Element.h:
        (Element):
        * dom/ElementShadow.cpp:
        (WebCore::ElementShadow::removeAllEventListeners): Added.
        (WebCore):
        * dom/ElementShadow.h:
        (ElementShadow):

2013-03-26  Andrei Bucur  <abucur@adobe.com>

        Use DOM ordering for list counts
        https://bugs.webkit.org/show_bug.cgi?id=110352

        Reviewed by Elliott Sprehn.

        Currently the list items ordering is made by traversing the render tree. This gives bad results for:
        - list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
        - list items matched to insertion points inside a shadow tree. The insertion point may be a child of a
        list so the numbering gets broken.

        To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
        so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
        namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
        for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
        pre-order traversal methods aware of the pseudo-elements.
        An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
        no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
        first parent of the <li> or the shadow root if there is no ancestor.
        The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
        To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
        of this method. The CSS counters and the list items now have the same traversal algorithm.

        In later patches I'll add tests that should cover the regions and shadow DOM use cases.
        Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
        Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975

        Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
        and fast/dom/shadow/shadow-and-list-elements.html

        * dom/Node.cpp:
        (WebCore::Node::pseudoAwarePreviousSibling):
        (WebCore):
        (WebCore::Node::pseudoAwareNextSibling):
        (WebCore::Node::pseudoAwareFirstChild):
        (WebCore::Node::pseudoAwareLastChild):
        * dom/Node.h:
        (Node):
        * dom/NodeTraversal.cpp:
        (WebCore):
        (WebCore::NodeTraversal::previousIncludingPseudo):
        (NodeTraversal):
        (WebCore::NodeTraversal::nextIncludingPseudo):
        (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
        * dom/NodeTraversal.h:
        (ElementTraversal):
        (NodeTraversal):
        (WebCore::ElementTraversal::previousIncludingPseudo):
        (WebCore::ElementTraversal::nextIncludingPseudo):
        (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
        (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::attach):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::updateItemValues):
        (WebCore::HTMLOListElement::recalculateItemCount):
        * rendering/RenderCounter.cpp:
        (WebCore::previousInPreOrder):
        (WebCore::previousSiblingOrParent):
        (WebCore::parentElement):
        (WebCore::nextInPreOrder):
        * rendering/RenderListItem.cpp:
        (WebCore):
        (WebCore::enclosingList):
        (WebCore::RenderListItem::nextListItem):
        (WebCore::previousListItem):
        (WebCore::RenderListItem::calcValue):
        (WebCore::RenderListItem::explicitValueChanged):
        (WebCore::previousOrNextItem):
        (WebCore::RenderListItem::updateListMarkerNumbers):
        * rendering/RenderListItem.h:
        (RenderListItem):

2013-03-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>

        [Qt] Poor rounding in GraphicsContext::drawLineForText
        https://bugs.webkit.org/show_bug.cgi?id=113301

        Reviewed by Jocelyn Turcotte.

        Round the position of the line decoration, so lines on subpixel
        coordinates are not always rounded up.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawLineForText):

2013-03-26  Vsevolod Vlasov  <vsevik@chromium.org>

        Web Inspector: Decorations in several consecutive lines are not moved correctly in DTE.
        https://bugs.webkit.org/show_bug.cgi?id=113296

        Reviewed by Pavel Feldman.

        Separated removing and adding decorations so that moved decorations are not removed when next line is processed.

        * inspector/front-end/DefaultTextEditor.js:
        (WebInspector.TextEditorGutterPanel.prototype.textChanged):

2013-03-26  Yury Semikhatsky  <yurys@chromium.org>

        Remove references to non-chromium entries from WebCore.gypi (part 2)
        https://bugs.webkit.org/show_bug.cgi?id=103124

        Reviewed by Pavel Feldman.

        * WebCore.gypi: removed unused references to gtk, cf, win and mac

2013-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r146767.
        http://trac.webkit.org/changeset/146767
        https://bugs.webkit.org/show_bug.cgi?id=113295

        Rolling out until nicer fonts / sizes are chosen (Requested by
        pfeldman on #webkit).

        * inspector/front-end/dataGrid.css:
        (.data-grid table):
        (.data-grid td):
        * inspector/front-end/inspector.css:
        (.toolbar-label):
        (body.show-toolbar-icons .toolbar-label):
        (.console-message .bubble):
        (li .status .bubble):
        (.source-frame-breakpoint-message):
        (.soft-context-menu):
        (.drawer-header-close-button):
        * inspector/front-end/inspectorCommon.css:
        (body):
        * inspector/front-end/networkLogView.css:
        (.network-log-grid.data-grid td):
        (.network-log-grid.data-grid.small td):
        * inspector/front-end/tabbedPane.css:
        (.tabbed-pane-header-tab):
        (.tabbed-pane-header-tab-close-button):
        * inspector/front-end/timelinePanel.css:
        (.timeline-tree-item .count):
        (.timeline-records-stats, .storage-application-cache-status, .storage-application-cache-connectivity):
        (.memory-counter-sidebar-info):
        (.memory-counter-value):

2013-03-26  Arpita Bahuguna  <a.bah@samsung.com>

        Unable to insert a paragraph in between some text whose previous sibling is a non-editable block.
        https://bugs.webkit.org/show_bug.cgi?id=113007

        Reviewed by Ryosuke Niwa.

        Unable to insert a line break in between a text that follows a
        non-editable block but is itself contained within an editable
        block.

        While comparing the positions from the start block till the
        insertion position, we should ignore the nodes that do not
        generate a visiblePosition for the position before the node.
        This ultimately results in an assert within comparePositions().

        For this case, the firstChild of the start block is a text
        node with no renderer which would thus not generate a candidate
        position for itself.
        There is also no candidate previous to it, and since
        the position after it lies within a different editable element (root),
        no candidate after it as well.
        Such a point will thus return a null visiblePosition.

        Test: editing/inserting/insert-paragraph-between-text.html

        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        Added a check to verify the generated visiblePosition (for the
        position before the node) prior to carrying out a comparison with
        the insertion point.

2013-03-26  Ilya Tikhonovsky  <loislo@chromium.org>

        Web Inspector: OverviewGrid. Dragged window may change its width due to accumulating rounding error.
        https://bugs.webkit.org/show_bug.cgi?id=113138

        Reviewed by Pavel Feldman.

        The old version had problem with rounding because it recalculates the window size on each event.
        The new version just calculates the dragging delta and moves the window
        to the new position based on the initial values and the delta.

        * inspector/front-end/OverviewGrid.js:
        (WebInspector.OverviewGrid.Window.prototype._startWindowDragging):
        (WebInspector.OverviewGrid.Window.prototype._windowDragging):
        (WebInspector.OverviewGrid.Window.prototype._onMouseWheel):

2013-03-26  Kent Tamura  <tkent@chromium.org>

        Rename HTMLInputElement::isIndeterminate to Element::shouldAppearIndeterminate
        https://bugs.webkit.org/show_bug.cgi?id=113264

        Reviewed by Kentaro Hara.

        HTMLInputElement had indeterminate() and isIndeterminate(). It's very
        confusing.

        Because indeterminate is a public DOM function and isIndeterminate is
        for CSS and rendering, we rename isIndetermiante to
        shouldAppearIndeterminate. Also, HTMLProgressElement, which support
        :indetermin