| Index: Source/WebCore/ChangeLog | 
| =================================================================== | 
| --- Source/WebCore/ChangeLog	(revision 112607) | 
| +++ Source/WebCore/ChangeLog	(working copy) | 
| @@ -1,3 +1,3719 @@ | 
| +2012-03-28  Nat Duca  <nduca@chromium.org> | 
| + | 
| +        [chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82516 | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        * platform/graphics/chromium/LayerRendererChromium.cpp: | 
| +        (WebCore::LayerRendererChromium::swapBuffers): | 
| +        * platform/graphics/chromium/LayerRendererChromium.h: | 
| +        (LayerRendererChromium): | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: | 
| +        (WebCore::CCLayerTreeHostImpl::swapBuffers): | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: | 
| +        (CCLayerTreeHostImpl): | 
| +        * platform/graphics/chromium/cc/CCScheduler.cpp: | 
| +        (WebCore::CCScheduler::processScheduledActions): | 
| +        * platform/graphics/chromium/cc/CCScheduler.h: | 
| +        (WebCore::CCScheduledActionDrawAndSwapResult::CCScheduledActionDrawAndSwapResult): | 
| +        (CCScheduledActionDrawAndSwapResult): | 
| +        (WebCore): | 
| +        (CCSchedulerClient): | 
| +        * platform/graphics/chromium/cc/CCThreadProxy.cpp: | 
| +        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal): | 
| +        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible): | 
| +        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced): | 
| +        * platform/graphics/chromium/cc/CCThreadProxy.h: | 
| +        (CCThreadProxy): | 
| + | 
| +2012-03-26  Eric Uhrhane  <ericu@chromium.org> | 
| + | 
| +        FileWriter has two race conditions | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81861 | 
| + | 
| +        Reviewed by David Levin. | 
| + | 
| +        Should make current tests less flaky. | 
| + | 
| +        * Modules/filesystem/FileWriter.h: | 
| +        * Modules/filesystem/FileWriter.cpp: | 
| +        Track the in-flight operation, whether it be an abort/write/truncate. | 
| +        Whether an abort comes back as didWrite, didTruncate, or didFail, handle | 
| +        it appropriately.  Before this fix, the Chromium implementation would | 
| +        assert in two cases: | 
| + | 
| +        If the user calls abort, then write, then abort before the backend | 
| +        catches up, we'd send both aborts to the backend, even though it hadn't | 
| +        received the write yet.  Chromium's backend asserts if there's an abort | 
| +        with no write in progress.  We now record that we've sent an abort and | 
| +        are waiting for the response. | 
| + | 
| +        If the user calls abort while a write/truncate is just finishing, on the | 
| +        Chromium worker implementation, the completion message could be | 
| +        thread-hopping back to WebCore at the | 
| +        WorkerAsyncFileWriterCallbacksBridge while the abort is thread-hopping | 
| +        in the other direction.  Again, this leads to an abort call to the | 
| +        backend with no write in progress, and an assert.  We're now robust to | 
| +        completions coming back when we're expecting an abort, and | 
| +        https://chromiumcodereview.appspot.com/9764018/ will make the backend | 
| +        robust to extra abort calls. | 
| + | 
| +2012-03-27  Ryosuke Niwa  <rniwa@webkit.org> | 
| + | 
| +        Deleting a paragraph of text should not add elements for typing style | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82401 | 
| + | 
| +        Reviewed by Enrica Casucci. | 
| + | 
| +        This behavior was explicitly supported by DeleteSelectionCommand but it doesn't match TextEdit or Firefox. | 
| +        We're changing our behavior to match TextEdit and Firefox in this patch. | 
| + | 
| +        The behavior is tested by an existing test, which was renamed to deleting-text-rests-typing-style.html in this patch. | 
| + | 
| +        Test: editing/execCommand/deleting-text-rests-typing-style.html | 
| + | 
| +        * editing/DeleteSelectionCommand.cpp: | 
| +        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): | 
| + | 
| +2012-03-28  Michal Mocny  <mmocny@google.com> | 
| + | 
| +        [chromium] Add tracing events around CCLayerTreeHostImpl visibility. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82501 | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: | 
| +        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl): | 
| +        (WebCore::CCLayerTreeHostImpl::setVisible): | 
| + | 
| +2012-03-28  Florin Malita  <fmalita@google.com> | 
| + | 
| +        Incorrect foreignObject hit test results when overlapping other SVG elements | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82059 | 
| + | 
| +        Reviewed by Nikolas Zimmermann. | 
| + | 
| +        Test: svg/hittest/foreign-object-background.svg | 
| + | 
| +        Foreign content needs to be hit-tested atomically due to the (pseudo) | 
| +        stacking context established by FOs. | 
| + | 
| +        * rendering/svg/RenderSVGForeignObject.cpp: | 
| +        (WebCore::RenderSVGForeignObject::nodeAtFloatPoint): | 
| +        Hit test all phases on FO HitTestForeground. | 
| + | 
| +2012-03-26  Shawn Singh  <shawnsingh@chromium.org> | 
| + | 
| +        [chromium] layer->clipRect() is not initialized for layers that create a renderSurface. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=74147 | 
| + | 
| +        Reviewed by Adrienne Walker. | 
| + | 
| +        Added 3 additional unit tests; Modified existing unit tests and layout tests. | 
| + | 
| +        The layer's clipRect and usesLayerClipping information was not | 
| +        being initialized for layers that created a renderSurface. (It | 
| +        was, however, being initialized for the renderSurface itself.) | 
| +        This patch adds a unit test that reproduces that this is an error, | 
| +        other unit tests to tightly test the value of clipRect being | 
| +        initialized, and adds the logic to properly initialize the | 
| +        clipRect. | 
| + | 
| +        Before this patch, this bug was causing flashing on tab-switch on | 
| +        the apple iphone page. Even worse, with partial swap enabled, the | 
| +        layers would simply disappear, because the first frame the | 
| +        clipRect is uninitialized and the layer is not drawn, and the | 
| +        second frame onwards, the damage tracker correctly things nothing | 
| +        is damaged, so it doesn't draw that layer again until other damage | 
| +        causes it to be redrawn. | 
| + | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: | 
| +        (WebCore::calculateDrawTransformsAndVisibilityInternal): | 
| + | 
| +2012-03-28  Anders Carlsson  <andersca@apple.com> | 
| + | 
| +        "Sticky" or slow scrolling on some sites | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82512 | 
| +        <rdar://problem/11000372> | 
| + | 
| +        Reviewed by Andreas Kling. | 
| + | 
| +        When we're in the slow mode and have to update the scroll layer position on the main thread, | 
| +        get it from the scrolling thread so we'll be in sync with the scrolling tree when the main thread is busy. | 
| + | 
| +        * page/scrolling/ScrollingCoordinator.cpp: | 
| +        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition): | 
| +        * page/scrolling/ScrollingCoordinator.h: | 
| +        (ScrollingCoordinator): | 
| +        * page/scrolling/ScrollingTree.cpp: | 
| +        (WebCore::ScrollingTree::mainFrameScrollPosition): | 
| +        (WebCore): | 
| +        (WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition): | 
| +        * page/scrolling/ScrollingTree.h: | 
| + | 
| +2012-03-28  Adrienne Walker  <enne@google.com> | 
| + | 
| +        [chromium] Fix tiled layer assert for huge layers | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82486 | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        Test: TiledLayerChromiumTest.hugeLayerUpdateCrash | 
| + | 
| +        TilingData::numTiles() is calculated as the product of two ints and so | 
| +        can potentially overflow, causing numTiles() to be incorrect. To avoid | 
| +        calling code accidentally falling into this trap, remove this function | 
| +        and all code that uses tile index from TilingData.  This requires | 
| +        fixing up a bunch of callers of TilingData and CCLayerTilingData. | 
| + | 
| +        Additionally, TilingData::numTiles() has long been a confusing | 
| +        function name in some contexts, so rename to bool hasEmptyBounds(). | 
| + | 
| +        Also, remove TilingData::intersectDrawQuad because there are no | 
| +        clients of that function. | 
| + | 
| +        * platform/graphics/chromium/TiledLayerChromium.cpp: | 
| +        (WebCore::TiledLayerChromium::drawsContent): | 
| +        (WebCore::TiledLayerChromium::reserveTextures): | 
| +        (WebCore::TiledLayerChromium::prepareToUpdate): | 
| +        (WebCore::TiledLayerChromium::prepareToUpdateIdle): | 
| +        (WebCore::TiledLayerChromium::needsIdlePaint): | 
| +        (WebCore::TiledLayerChromium::idlePaintRect): | 
| +        * platform/graphics/chromium/cc/CCLayerTilingData.cpp: | 
| +        (WebCore::CCLayerTilingData::tileRect): | 
| +        * platform/graphics/chromium/cc/CCLayerTilingData.h: | 
| +        (WebCore::CCLayerTilingData::hasEmptyBounds): | 
| +        (WebCore::CCLayerTilingData::tileBounds): | 
| +        (WebCore::CCLayerTilingData::isEmpty): | 
| +        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: | 
| +        (WebCore::CCTiledLayerImpl::bindContentsTexture): | 
| +        (WebCore::CCTiledLayerImpl::appendQuads): | 
| +        * platform/graphics/gpu/Texture.cpp: | 
| +        (WebCore::Texture::create): | 
| +        (WebCore::Texture::updateSubRect): | 
| +        * platform/graphics/gpu/TilingData.cpp: | 
| +        (WebCore::TilingData::tileBounds): | 
| +        (WebCore::TilingData::tileBoundsWithBorder): | 
| +        (WebCore::TilingData::tileBoundsNormalized): | 
| +        * platform/graphics/gpu/TilingData.h: | 
| +        (WebCore::TilingData::hasEmptyBounds): | 
| +        (TilingData): | 
| +        (WebCore::TilingData::assertTile): | 
| + | 
| +2012-03-28  Peter Rybin  <peter.rybin@gmail.com> | 
| + | 
| +        Web Inspector: CodeGeneratorInspector.py: switch Runtime, Network and DOM domains to typed API | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81558 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        Client code is switched to typed API (all InspectorObject and InspectorArray types are | 
| +        replaced with generated types from TypeBuilder according to Inspector.json). | 
| + | 
| +        Missing array of int specialization is added. Code generator now has a check against | 
| +        misspelled (non-existing) domain names. | 
| + | 
| +        * inspector/CodeGeneratorInspector.py: | 
| +        (Generator.go): check against misspelled domain names added. | 
| +        * inspector/InjectedScript.cpp: | 
| +        (WebCore::InjectedScript::evaluate): | 
| +        (WebCore::InjectedScript::callFunctionOn): | 
| +        (WebCore::InjectedScript::evaluateOnCallFrame): | 
| +        (WebCore::InjectedScript::getProperties): | 
| +        (WebCore::InjectedScript::wrapObject): | 
| +        (WebCore::InjectedScript::wrapNode): | 
| +        (WebCore::InjectedScript::wrapSerializedObject): | 
| +        (WebCore::InjectedScript::makeEvalCall): | 
| +        * inspector/InjectedScript.h: | 
| +        (InjectedScript): | 
| +        * inspector/InspectorDOMAgent.cpp: | 
| +        (WebCore::InspectorDOMAgent::getDocument): | 
| +        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): | 
| +        (WebCore::InspectorDOMAgent::querySelectorAll): | 
| +        (WebCore::InspectorDOMAgent::pushNodePathToFrontend): | 
| +        (WebCore::InspectorDOMAgent::getEventListenersForNode): | 
| +        (WebCore::InspectorDOMAgent::getSearchResults): | 
| +        (WebCore::InspectorDOMAgent::resolveNode): | 
| +        (WebCore::InspectorDOMAgent::getAttributes): | 
| +        (WebCore::InspectorDOMAgent::buildObjectForNode): | 
| +        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes): | 
| +        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): | 
| +        (WebCore::InspectorDOMAgent::loadEventFired): | 
| +        (WebCore::InspectorDOMAgent::didInsertDOMNode): | 
| +        (WebCore::InspectorDOMAgent::styleAttributeInvalidated): | 
| +        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend): | 
| +        * inspector/InspectorDOMAgent.h: | 
| +        (InspectorDOMAgent): | 
| +        * inspector/InspectorPageAgent.cpp: | 
| +        (WebCore::InspectorPageAgent::resourceTypeJson): | 
| +        (WebCore::InspectorPageAgent::cachedResourceTypeJson): | 
| +        (WebCore::InspectorPageAgent::buildObjectForFrameTree): | 
| +        * inspector/InspectorPageAgent.h: | 
| +        * inspector/InspectorResourceAgent.cpp: | 
| +        (WebCore::buildObjectForResourceRequest): | 
| +        (WebCore::buildObjectForResourceResponse): | 
| +        (WebCore::buildObjectForCachedResource): | 
| +        (WebCore::InspectorResourceAgent::willSendRequest): | 
| +        (WebCore::InspectorResourceAgent::didReceiveResponse): | 
| +        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): | 
| +        (WebCore::InspectorResourceAgent::buildInitiatorObject): | 
| +        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): | 
| +        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): | 
| +        * inspector/InspectorResourceAgent.h: | 
| +        (InspectorResourceAgent): | 
| +        * inspector/InspectorRuntimeAgent.cpp: | 
| +        (WebCore::InspectorRuntimeAgent::evaluate): | 
| +        (WebCore::InspectorRuntimeAgent::callFunctionOn): | 
| +        (WebCore::InspectorRuntimeAgent::getProperties): | 
| +        * inspector/InspectorRuntimeAgent.h: | 
| +        (InspectorRuntimeAgent): | 
| +        * inspector/InspectorValues.h: | 
| +        (InspectorArray): | 
| +        (WebCore::InspectorArray::pushInt): | 
| +        (WebCore): | 
| +        * inspector/ScriptCallFrame.cpp: | 
| +        (WebCore::ScriptCallFrame::buildInspectorObject): | 
| +        * inspector/ScriptCallFrame.h: | 
| +        (ScriptCallFrame): | 
| +        * inspector/ScriptCallStack.cpp: | 
| +        (WebCore::ScriptCallStack::buildInspectorArray): | 
| +        * inspector/ScriptCallStack.h: | 
| +        (ScriptCallStack): | 
| + | 
| +2012-03-28  Eric Seidel  <eric@webkit.org> | 
| + | 
| +        setNeedsLayout(true, false) is super confusing to read and should use an enum instead | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82369 | 
| + | 
| +        Reviewed by Julien Chaffraix. | 
| + | 
| +        I replaced all uses of the markParents bool with a MarkingBehavior | 
| +        enum (which has two values: MarkContainingBlockChain and MarkOnlyThis). | 
| +        I'm not sure the naming is perfect (as it's not clear to me if markParents is | 
| +        used to mean the same thing in these 3 functions), but hopefully this code is more | 
| +        clear.  I welcome further suggested adjustment from layout experts. | 
| + | 
| +        * page/FrameView.cpp: | 
| +        (WebCore::FrameView::scheduleRelayout): | 
| +        * rendering/RenderBlock.cpp: | 
| +        (WebCore::RenderBlock::layoutBlock): | 
| +        (WebCore::RenderBlock::adjustPositionedBlock): | 
| +        (WebCore::RenderBlock::layoutBlockChildren): | 
| +        (WebCore::RenderBlock::layoutBlockChild): | 
| +        (WebCore::RenderBlock::layoutPositionedObjects): | 
| +        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): | 
| +        (WebCore::RenderBlock::removePositionedObjects): | 
| +        (WebCore::RenderBlock::insertFloatingObject): | 
| +        (WebCore::RenderBlock::positionNewFloats): | 
| +        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): | 
| +        (WebCore::RenderBlock::adjustBlockChildForPagination): | 
| +        * rendering/RenderBlockLineLayout.cpp: | 
| +        (WebCore::RenderBlock::layoutRunsAndFloats): | 
| +        (WebCore::RenderBlock::layoutInlineChildren): | 
| +        (WebCore::RenderBlock::positionNewFloatOnLine): | 
| +        * rendering/RenderBox.cpp: | 
| +        (WebCore::RenderBox::positionLineBox): | 
| +        * rendering/RenderDeprecatedFlexibleBox.cpp: | 
| +        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): | 
| +        (WebCore::gatherFlexChildrenInfo): | 
| +        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): | 
| +        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): | 
| +        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp): | 
| +        * rendering/RenderFlexibleBox.cpp: | 
| +        (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout): | 
| +        * rendering/RenderLayer.cpp: | 
| +        (WebCore::RenderLayer::updateScrollInfoAfterLayout): | 
| +        * rendering/RenderMedia.cpp: | 
| +        (WebCore::RenderMedia::layout): | 
| +        * rendering/RenderObject.cpp: | 
| +        (WebCore::RenderObject::setPreferredLogicalWidthsDirty): | 
| +        * rendering/RenderObject.h: | 
| +        (RenderObject): | 
| +        (WebCore::RenderObject::setNeedsLayout): | 
| +        (WebCore::RenderObject::setChildNeedsLayout): | 
| +        * rendering/RenderRubyRun.cpp: | 
| +        (WebCore::RenderRubyRun::layoutSpecialExcludedChild): | 
| +        * rendering/RenderTable.cpp: | 
| +        (WebCore::RenderTable::layout): | 
| +        * rendering/RenderTableRow.cpp: | 
| +        (WebCore::RenderTableRow::layout): | 
| +        * rendering/RenderTableSection.cpp: | 
| +        (WebCore::RenderTableSection::calcRowLogicalHeight): | 
| +        (WebCore::RenderTableSection::layoutRows): | 
| +        * rendering/RenderTextControl.cpp: | 
| +        (WebCore::RenderTextControl::layoutSpecialExcludedChild): | 
| +        * rendering/RenderTextControlSingleLine.cpp: | 
| +        (WebCore::RenderTextControlSingleLine::layout): | 
| +        * rendering/RenderView.cpp: | 
| +        (WebCore::RenderView::RenderView): | 
| +        (WebCore::RenderView::layout): | 
| +        * rendering/mathml/RenderMathMLRoot.cpp: | 
| +        (WebCore::RenderMathMLRoot::layout): | 
| +        * rendering/mathml/RenderMathMLRow.cpp: | 
| +        (WebCore::RenderMathMLRow::layout): | 
| +        * rendering/mathml/RenderMathMLSubSup.cpp: | 
| +        (WebCore::RenderMathMLSubSup::layout): | 
| +        * rendering/svg/SVGRenderSupport.cpp: | 
| +        (WebCore::SVGRenderSupport::layoutChildren): | 
| + | 
| +2012-03-28  Joseph Pecoraro  <pecoraro@apple.com> | 
| + | 
| +        <http://webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL | 
| + | 
| +        Instead of manually creating the method in DOM.mm we can specify it in | 
| +        Node.idl and autogenerate part of the interface. | 
| + | 
| +        Reviewed by Timothy Hatcher. | 
| + | 
| +        * bindings/objc/DOM.mm: | 
| +        * bindings/objc/DOMPrivate.h: | 
| +        Move the call to InspectorController::inspect from here ... | 
| + | 
| +        * dom/Node.h: | 
| +        * dom/Node.idl: IDL only in an ObjC block. | 
| +        * dom/Node.cpp: | 
| +        (WebCore::Node::inspect): | 
| +        ... to here. | 
| + | 
| +        * WebCore.xcodeproj/project.pbxproj: | 
| +        Add the new generated file so we can Copy it in the build phase. | 
| + | 
| +2012-03-28  Tommy Widenflycht  <tommyw@google.com> | 
| + | 
| +        [chromium] MediaStream API (JSEP): Introducing WebPeerConnection00Handler | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82450 | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        This change removes the default PeerConnection00Handler.cpp from the Chromium build. | 
| + | 
| +        A major overhaul of the existing layout tests is forthcoming. | 
| + | 
| +        * WebCore.gypi: | 
| +        * platform/mediastream/PeerConnection00Handler.h: | 
| +        (WebCore): | 
| +        (PeerConnection00Handler): | 
| + | 
| +2012-03-28  Robert Hogan  <robert@webkit.org> | 
| + | 
| +        [REGRESSION] Web Inspector: column caption delimiters are misaligned in DataGrid | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82193 | 
| + | 
| +        Reviewed by Yury Semikhatsky. | 
| + | 
| +        Since r111742 column width in fixed layout tables is set to the width of the cell plus its left padding plus its right padding | 
| +        plus half its left border plus half its right border in the collapsing border model. The layout of the panel | 
| +        headers in the inspector depended on pre-r111742 behaviour, so ended up misaligned with the content below. To cater for the | 
| +        new method of calculating column width enforce a fixed width for the corner column by removing padding and borders (except collapsed | 
| +        borders from adjacent cells) and specify the expected width (15px) minus the expected width of the collapsed borders (1px). | 
| + | 
| +        * inspector/front-end/dataGrid.css: | 
| +        (.data-grid th.corner): | 
| + | 
| +2012-03-28  Alexis Menard  <alexis.menard@openbossa.org> | 
| + | 
| +        Increase code sharing between CSSProperty and CSSPropertyLonghand. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82479 | 
| + | 
| +        Reviewed by Antti Koivisto. | 
| + | 
| +        Use longhands declarations from CSSPropertyLonghand in CSSProperty to avoid | 
| +        code duplication. | 
| + | 
| +        No new tests : refactoring only, we shouldn't have any behavior difference. | 
| + | 
| +        * css/CSSProperty.cpp: | 
| +        (WebCore::resolveToPhysicalProperty): | 
| +        (WebCore::borderDirections): | 
| +        (WebCore): | 
| +        (WebCore::CSSProperty::resolveDirectionAwareProperty): | 
| + | 
| +2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org> | 
| + | 
| +        Web Inspector: Implement snippets renaming in scripts navigator. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82477 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        Snippets renaming is implemented as editing of snippet name in scripts navigator. | 
| + | 
| +        * inspector/front-end/ScriptsNavigator.js: | 
| +        (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet): | 
| +        (WebInspector.ScriptsNavigator.prototype._fileRenamed): | 
| +        (WebInspector.ScriptsNavigator.prototype.rename.commitHandler): | 
| +        (WebInspector.ScriptsNavigator.prototype.rename.cancelHandler): | 
| +        (WebInspector.ScriptsNavigator.prototype.rename.afterEditing): | 
| +        (WebInspector.BaseNavigatorTreeElement.prototype.set titleText): | 
| +        * inspector/front-end/scriptsPanel.css: | 
| +        (#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing): | 
| + | 
| +2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org> | 
| + | 
| +        Web Inspector: Add context menu for snippets control. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82475 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        This is a preliminary implementation of snippets control using context menu. | 
| +        We might want to add a more discoverable one before taking snippets out of experiments. | 
| + | 
| +        * English.lproj/localizedStrings.js: | 
| +        * inspector/front-end/ScriptsNavigator.js: | 
| +        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged): | 
| +        (WebInspector.ScriptsNavigator.prototype._createSnippetsTree): | 
| +        (WebInspector.ScriptsNavigator.prototype._handleSnippetContextMenuEvent): | 
| +        (WebInspector.ScriptsNavigator.prototype._showSnippetContextMenu): | 
| +        (WebInspector.ScriptsNavigator.prototype._handleEvaluateSnippet): | 
| +        (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet): | 
| +        (WebInspector.ScriptsNavigator.prototype._handleRemoveSnippet): | 
| +        (WebInspector.ScriptsNavigator.prototype._handleCreateSnippet): | 
| +        (WebInspector.NavigatorScriptTreeElement.prototype.get navigator): | 
| +        (WebInspector.NavigatorScriptTreeElement.prototype.onattach): | 
| +        (WebInspector.NavigatorScriptTreeElement.prototype.onenter): | 
| +        (WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent): | 
| + | 
| +2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org> | 
| + | 
| +        Web Inspector: ScriptsNavigator should save scroll position when switching tabs. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82472 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        WebInspector.View provides save/restore scroll position capabilities. | 
| +        This patch makes them used in ScriptsNavigator. | 
| + | 
| +        * inspector/front-end/ScriptsNavigator.js: | 
| +        (WebInspector.ScriptsNavigator): | 
| +        (WebInspector.ScriptsNavigator.prototype._createSnippetsTree): | 
| +        * inspector/front-end/scriptsPanel.css: | 
| +        (#scripts-navigator-tabbed-pane .tabbed-pane-content): | 
| +        (#scripts-navigator-tabbed-pane .navigator-container): | 
| + | 
| +2012-03-28  Andrey Kosyakov  <caseq@chromium.org> | 
| + | 
| +        Web Inspector: only update Timeline overview when really needed | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81909 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        Switch timeline overview to using raw records, thus removing dependency on instance members of | 
| +        TimelinePresentationModel. This requires moving record styles/categories to static getters. | 
| + | 
| +        * inspector/front-end/TimelineModel.js: | 
| +        (WebInspector.TimelineModel): | 
| +        (WebInspector.TimelineModel.startTime): | 
| +        (WebInspector.TimelineModel.endTime): | 
| +        (WebInspector.TimelineModel.duration): | 
| +        (WebInspector.TimelineModel.prototype._addRecord): | 
| +        (WebInspector.TimelineModel.prototype.reset): | 
| +        (WebInspector.TimelineModel.prototype.minimumRecordTime): | 
| +        (WebInspector.TimelineModel.prototype.maximumRecordTime): | 
| +        (WebInspector.TimelineModel.prototype._updateBoundaries): | 
| +        * inspector/front-end/TimelineOverviewPane.js: | 
| +        (WebInspector.TimelineOverviewPane): | 
| +        (WebInspector.TimelineOverviewPane.prototype._showTimelines): | 
| +        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph): | 
| +        (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview): | 
| +        (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged): | 
| +        (WebInspector.TimelineOverviewPane.prototype._update): | 
| +        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips.markPercentagesForRecord): | 
| +        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips): | 
| +        (WebInspector.TimelineOverviewPane.prototype.windowStartTime): | 
| +        (WebInspector.TimelineOverviewPane.prototype.windowEndTime): | 
| +        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged): | 
| +        (WebInspector.TimelineOverviewPane.prototype.setShowShortEvents): | 
| +        (WebInspector.TimelineOverviewPane.prototype._scheduleRefresh): | 
| +        (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages): | 
| +        (WebInspector.TimelineOverviewCalculator.prototype.setWindow): | 
| +        (WebInspector.TimelineOverviewCalculator.prototype.reset): | 
| +        (WebInspector.HeapGraph): | 
| +        (WebInspector.HeapGraph.prototype.update): | 
| +        (WebInspector.TimelineVerticalOverview): | 
| +        (WebInspector.TimelineVerticalOverview.prototype.reset): | 
| +        (WebInspector.TimelineVerticalOverview.prototype.update): | 
| +        (WebInspector.TimelineVerticalOverview.prototype.wasShown): | 
| +        (WebInspector.TimelineVerticalOverview.prototype.willHide): | 
| +        (WebInspector.TimelineVerticalOverview.prototype._aggregateFrameStatistics): | 
| +        (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords): | 
| +        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): | 
| +        (WebInspector.TimelineVerticalOverview.prototype._onRecordAdded): | 
| +        (WebInspector.TimelineAggregatedRecord): | 
| +        (WebInspector.TimelineAggregatedRecord.prototype._aggregateStatistics): | 
| +        * inspector/front-end/TimelinePanel.js: | 
| +        (WebInspector.TimelinePanel): | 
| +        (WebInspector.TimelinePanel.prototype._createStatusbarButtons): | 
| +        (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked): | 
| +        (WebInspector.TimelinePanel.prototype._resetPanel): | 
| +        (WebInspector.TimelinePanel.prototype._refresh): | 
| +        (WebInspector.TimelineCalculator): | 
| +        (WebInspector.TimelineCalculator.prototype.formatTime): | 
| +        * inspector/front-end/TimelinePresentationModel.js: | 
| +        (WebInspector.TimelinePresentationModel): | 
| +        (WebInspector.TimelinePresentationModel.categories): | 
| +        (WebInspector.TimelinePresentationModel.recordStyle): | 
| +        (WebInspector.TimelinePresentationModel.categoryForRecord): | 
| +        (WebInspector.TimelinePresentationModel.prototype.reset): | 
| +        (WebInspector.TimelinePresentationModel.prototype.addRecord): | 
| +        (WebInspector.TimelinePresentationModel.Record): | 
| +        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent): | 
| + | 
| +2012-03-28  Arvid Nilsson  <anilsson@rim.com> | 
| + | 
| +        [BlackBerry] Plumb through GraphicsLayer::contentsOpaque() to LayerTiler | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82457 | 
| + | 
| +        Reviewed by Rob Buis. | 
| + | 
| +        The LayerTiler already knows not to turn on GL_BLEND for opaque layers. | 
| +        However, it only ever sets the opaque flag for image layers and color | 
| +        layers, never for content layers. | 
| + | 
| +        This was no big deal, because contentsOpaque() is currently false for | 
| +        all layers except the root layer, which we always drew using the | 
| +        BlackBerry::WebKit::BackingStore anyway. | 
| + | 
| +        When we start using RenderLayerBacking::m_usingTiledCacheLayer=true on | 
| +        the root layer in situations where the BackingStore is unavailable, we | 
| +        can speed up rendering of the root layer by honouring the opaque flag. | 
| + | 
| +        Fixed by plumbing through the GraphicsLayer::contentsOpaque() flag all | 
| +        the way to LayerTiler and on to Texture. | 
| + | 
| +        * platform/graphics/blackberry/LayerData.h: | 
| +        (WebCore::LayerData::LayerData): | 
| +        (WebCore::LayerData::isOpaque): | 
| +        (LayerData): | 
| +        * platform/graphics/blackberry/LayerTile.cpp: | 
| +        (WebCore::LayerTile::updateContents): | 
| +        * platform/graphics/blackberry/LayerTile.h: | 
| +        (LayerTile): | 
| +        * platform/graphics/blackberry/LayerTiler.cpp: | 
| +        (WebCore::LayerTiler::updateTextureContentsIfNeeded): | 
| +        (WebCore::LayerTiler::performTileJob): | 
| +        * platform/graphics/blackberry/LayerTiler.h: | 
| +        (WebCore::LayerTiler::TextureJob::TextureJob): | 
| +        (WebCore::LayerTiler::TextureJob::updateContents): | 
| +        * platform/graphics/blackberry/LayerWebKitThread.h: | 
| +        (WebCore::LayerWebKitThread::setOpaque): | 
| +        * platform/graphics/blackberry/Texture.h: | 
| +        (Texture): | 
| +        * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: | 
| +        (WebCore::TextureCacheCompositingThread::updateContents): | 
| +        * platform/graphics/blackberry/TextureCacheCompositingThread.h: | 
| +        (TextureCacheCompositingThread): | 
| + | 
| +2012-03-28  Andrey Kosyakov  <caseq@chromium.org> | 
| + | 
| +        Web Inspector: nuke HeapGraph.setSize(), do it automagically on update | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82471 | 
| + | 
| +        Reviewed by Yury Semikhatsky. | 
| + | 
| +        * inspector/front-end/TimelineOverviewPane.js: | 
| +        (WebInspector.TimelineOverviewPane.prototype.update): | 
| +        (WebInspector.HeapGraph.prototype.update): | 
| + | 
| +2012-03-28  Pavel Podivilov  <podivilov@chromium.org> | 
| + | 
| +        Web Inspector: dispatch console-message-added and console-messages-cleared events on UISourceCode. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82463 | 
| + | 
| +        Reviewed by Vsevolod Vlasov. | 
| + | 
| +        Those events are related to specific UISourceCode. See bug 82224 for more details. | 
| + | 
| +        * inspector/front-end/DebuggerPresentationModel.js: | 
| +        (WebInspector.DebuggerPresentationModel): | 
| +        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript): | 
| +        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared): | 
| +        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset): | 
| +        (WebInspector.UISourceCodeImpl): | 
| +        (WebInspector.UISourceCodeImpl.prototype.consoleMessages): | 
| +        (WebInspector.UISourceCodeImpl.prototype.consoleMessageAdded): | 
| +        (WebInspector.UISourceCodeImpl.prototype.consoleMessagesCleared): | 
| +        * inspector/front-end/JavaScriptSourceFrame.js: | 
| +        (WebInspector.JavaScriptSourceFrame): | 
| +        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged): | 
| +        (WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded): | 
| +        (WebInspector.JavaScriptSourceFrame.prototype._consoleMessagesCleared): | 
| +        (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded): | 
| +        * inspector/front-end/ScriptsPanel.js: | 
| +        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded): | 
| +        * inspector/front-end/UISourceCode.js: | 
| +        (WebInspector.UISourceCode.prototype.breakpoints): | 
| +        (WebInspector.UISourceCode.prototype.consoleMessages): | 
| + | 
| +2012-03-28  Carlos Garcia Campos  <cgarcia@igalia.com> | 
| + | 
| +        [GTK] Implement PlatformStrategies | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82454 | 
| + | 
| +        Reviewed by Xan Lopez. | 
| + | 
| +        * GNUmakefile.list.am: Remove PluginDataGtk.cpp. The same | 
| +        functionality is now implemented using platform strategies. | 
| +        * plugins/gtk/PluginDataGtk.cpp: Removed. | 
| + | 
| +2012-03-28  Vsevolod Vlasov  <vsevik@chromium.org> | 
| + | 
| +        Web Inspector: [Regression] TabIndex is not correctly restored after editing. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82464 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        This fixes incorrect usage of isNaN that returns false for null value. | 
| +        Drive-by javascript compilation fix. | 
| + | 
| +        * inspector/front-end/CompilerScriptMapping.js: | 
| +        (WebInspector.CompilerScriptMapping.prototype.addScript): compilation fix. | 
| +        * inspector/front-end/ResourceScriptMapping.js: | 
| +        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged): compilation fix. | 
| +        * inspector/front-end/SnippetsModel.js: | 
| +        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript): compilation fix. | 
| +        * inspector/front-end/UIUtils.js: | 
| +        (WebInspector.startEditing.cleanUpAfterEditing): incorrect usage of isNaN fix. | 
| + | 
| +2012-03-28  Yi Shen  <yi.4.shen@nokia.com> | 
| + | 
| +        An extra line break is inserted when pasting into a font element. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=71207 | 
| + | 
| +        Reviewed by Ryosuke Niwa. | 
| + | 
| +        Fix an editing bug where inserting text into a font element would | 
| +        create an extra div element in the dom tree. The | 
| +        WebCore::positionAvoidingPrecedingNodes() tries to set the correct | 
| +        destination position by checking the next visible position, however, | 
| +        it causes the position moves into the child element in somecase. | 
| +        Instead, we should only check the position in parent after node. | 
| + | 
| +        Test: editing/inserting/insert-text-into-font.html | 
| + | 
| +        * editing/ReplaceSelectionCommand.cpp: | 
| +        (WebCore::positionAvoidingPrecedingNodes): | 
| + | 
| +2012-03-28  Sergio Villar Senin  <svillar@igalia.com> | 
| + | 
| +        [Soup] DNS prefetching spams resolver, shoots self in the foot | 
| +        https://bugs.webkit.org/show_bug.cgi?id=41630 | 
| + | 
| +        Reviewed by Martin Robinson. | 
| + | 
| +        Added generic DNSResolveQueue class to throttle DNS | 
| +        prefetches. It's an abstract refactoring of CFNET's | 
| +        DNSResolveQueue. Platform specific methods implemented for soup | 
| +        and CFNET backends. | 
| + | 
| +        No new tests required as we're just refactoring existing code to | 
| +        be used by two different ports. | 
| + | 
| +        * CMakeLists.txt: added new file. | 
| +        * GNUmakefile.list.am: ditto. | 
| +        * WebCore.vcproj/WebCore.vcproj: ditto. | 
| +        * WebCore.xcodeproj/project.pbxproj: ditto. | 
| +        * platform/network/DNSResolveQueue.cpp: Added. | 
| +        (WebCore): | 
| +        (WebCore::DNSResolveQueue::add): adds a new host to be prefetched. | 
| +        (WebCore::DNSResolveQueue::fired): by using a delay we coalesce | 
| +        several prefetch requests and try to resolve them all here. | 
| +        * platform/network/DNSResolveQueue.h: Added. | 
| +        (WebCore): | 
| +        (DNSResolveQueue): class that implements DNS prefetch | 
| +        throttling using a template pattern. | 
| +        (WebCore::DNSResolveQueue::shared): | 
| +        (WebCore::DNSResolveQueue::decrementRequestCount): | 
| +        * platform/network/cf/DNSCFNet.cpp: | 
| +        (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): | 
| +        (WebCore::DNSResolveQueue::platformResolve): | 
| +        * platform/network/soup/DNSSoup.cpp: | 
| +        (WebCore): | 
| +        (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences): | 
| +        (WebCore::resolvedCallback): | 
| +        (WebCore::DNSResolveQueue::platformResolve): | 
| +        (WebCore::prefetchDNS): | 
| + | 
| +2012-03-28  Eugene Girard  <girard@chromium.org> | 
| + | 
| +        window.scrollBy() scrolls incorrectly when zoomed in/out | 
| +        https://bugs.webkit.org/show_bug.cgi?id=45228 | 
| + | 
| +        Reviewed by Simon Fraser. | 
| + | 
| +        scrollBy now uses layout (not CSS) units. (As scrollTo does.) | 
| + | 
| +        Test: fast/dom/zoom-scroll-page-test.html | 
| + | 
| +        * page/DOMWindow.cpp: | 
| +        (WebCore::DOMWindow::scrollBy): | 
| + | 
| +2012-03-28  Stephen Chenney  <schenney@chromium.org> | 
| + | 
| +        Null dereference in SVGTextElement::animatedLocalTransform() | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82375 | 
| + | 
| +        Reviewed by Nikolas Zimmermann. | 
| + | 
| +        A poorly structured SVG file with a text element inside an | 
| +        animatedTransform element leaves the text element placed outside of | 
| +        the SVG root and it has no renderer(). Later attempts to use the | 
| +        renderer in animatedLocalTransform fail. | 
| + | 
| +        Test: svg/custom/get-text-element-transform-crash.html | 
| + | 
| +        * svg/SVGTextElement.cpp: | 
| +        (WebCore::SVGTextElement::animatedLocalTransform): Added a check for null renderer, and do not check | 
| +        for style transform if there is no renderer. | 
| + | 
| +2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com> | 
| + | 
| +        Enable animVal support for SVGAnimatedPreserveAspectRatio | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82326 | 
| + | 
| +        Reviewed by Zoltan Herczeg. | 
| + | 
| +        Enable animVal support for SVGAnimatedPreserveAspectRatio. Very simple now that everything is prepared. | 
| +        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedPreserveAspectRatioAnimator. | 
| + | 
| +        Modernize SVGPreserveAspectRatio, align parsing this object from String, with the other SVG DOM primitives, | 
| +        who supply a "void parse(const String&)" method, for this task. | 
| + | 
| +        Extended existing tests to cover this. | 
| + | 
| +        * svg/SVGAnimatedPreserveAspectRatio.cpp: | 
| +        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString): | 
| +        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation): | 
| +        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation): | 
| +        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal): | 
| +        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValWillChange): | 
| +        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValDidChange): | 
| +        * svg/SVGAnimatedPreserveAspectRatio.h: | 
| +        (SVGAnimatedPreserveAspectRatioAnimator): | 
| +        * svg/SVGAnimatedType.cpp: | 
| +        (WebCore::SVGAnimatedType::valueAsString): | 
| +        (WebCore::SVGAnimatedType::setValueAsString): | 
| +        (WebCore::SVGAnimatedType::supportsAnimVal): | 
| +        * svg/SVGFEImageElement.cpp: | 
| +        (WebCore::SVGFEImageElement::parseAttribute): | 
| +        * svg/SVGFitToViewBox.cpp: | 
| +        (WebCore::SVGFitToViewBox::parseAttribute): | 
| +        * svg/SVGImageElement.cpp: | 
| +        (WebCore::SVGImageElement::parseAttribute): | 
| +        * svg/SVGPreserveAspectRatio.cpp: | 
| +        (WebCore::SVGPreserveAspectRatio::parse): | 
| +        (WebCore): | 
| +        * svg/SVGPreserveAspectRatio.h: | 
| +        (SVGPreserveAspectRatio): | 
| +        * svg/SVGViewSpec.cpp: | 
| +        (WebCore::SVGViewSpec::setPreserveAspectRatioString): | 
| +        (WebCore::SVGViewSpec::parseViewSpec): | 
| + | 
| +2012-03-28  Pavel Feldman  <pfeldman@chromium.org> | 
| + | 
| +        Web Inspector: [v8] inspection of CanvasPixelArray is slow. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82455 | 
| + | 
| +        Reviewed by Vsevolod Vlasov. | 
| + | 
| +        Added CanvasPixelArray to the list of classes that we consider | 
| +        arrays. | 
| + | 
| +        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: | 
| +        (WebCore::V8InjectedScriptHost::typeCallback): | 
| + | 
| +2012-03-28  Leandro Gracia Gil  <leandrogracia@chromium.org> | 
| + | 
| +        Selectively retrieve text content around a given position. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=78361 | 
| + | 
| +        Reviewed by Ryosuke Niwa. | 
| + | 
| +        Tests: a new layout test will be introduced once the required WebKit API code is ready. | 
| + | 
| +        Introduce the DOMTextContentWalker class to selectively retrieve content | 
| +        around a given VisiblePosition into a string in such a way that a text | 
| +        Range can be extracted later from a pair of the string's positions. | 
| + | 
| +        A new boolean called m_shouldStop is also introduced in the TextIterator to force | 
| +        it advancing under certain conditions. Although this is usually done by setting | 
| +        m_positionNode to zero, it can't be applied in this case since by doing so the | 
| +        iterator's range is lost. | 
| + | 
| +        * WebCore.gypi: | 
| +        * editing/SurroundingText.cpp: Added. | 
| +        (WebCore): | 
| +        (WebCore::SurroundingText::SurroundingText): | 
| +        (WebCore::SurroundingText::rangeFromContentOffsets): | 
| +        (WebCore::SurroundingText::content): | 
| +        (WebCore::SurroundingText::positionOffsetInContent): | 
| +        * editing/SurroundingText.h: Added. | 
| +        (WebCore): | 
| +        (SurroundingText): | 
| +        * editing/TextIterator.cpp: | 
| +        (WebCore::TextIterator::TextIterator): | 
| +        (WebCore::TextIterator::advance): | 
| +        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): | 
| +        (WebCore::SimplifiedBackwardsTextIterator::advance): | 
| +        * editing/TextIterator.h: | 
| +        (WebCore::TextIterator::atEnd): | 
| +        (TextIterator): | 
| +        (WebCore::SimplifiedBackwardsTextIterator::atEnd): | 
| +        (SimplifiedBackwardsTextIterator): | 
| +        * html/HTMLFormControlElement.cpp: | 
| +        (WebCore::HTMLFormControlElement::enclosingFormControlElement): | 
| +        (WebCore): | 
| +        * html/HTMLFormControlElement.h: | 
| +        (HTMLFormControlElement): | 
| + | 
| +2012-03-28  Alexis Menard  <alexis.menard@openbossa.org> | 
| + | 
| +        Speed up updates of existing CSS properties from JS. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82235 | 
| + | 
| +        Reviewed by Andreas Kling. | 
| + | 
| +        Improve the way we handle updating an existing CSS property by replacing its value | 
| +        by the new one rather than removing the old value and then adding the new one. This | 
| +        speed up by 35% PerformanceTests/CSS/CSSPropertyUpdateValue.html. | 
| + | 
| +        No new tests : Updating existing tests that were relying on the order of the properties | 
| +        after modification. Each updated property is not appended to the list of properties of the | 
| +        style therefore the cssText value is slightly different. It matches Firefox behavior but not | 
| +        Opera. | 
| + | 
| +        * css/StylePropertySet.cpp: | 
| +        (WebCore::StylePropertySet::addParsedProperty): | 
| + | 
| +2012-03-28  Leo Yang  <leo.yang@torchmobile.com.cn> | 
| + | 
| +        [BlackBerry] Remove PlatformMouseEvent::setClickCount for BlackBerry | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82422 | 
| + | 
| +        Reviewed by Rob Buis. | 
| + | 
| +        PlatformMouseEvent::setClickCount() is never used by BlackBerry. | 
| +        The declaration was added in PlatformMouseEvent.h internally for | 
| +        BlackBerry porting, but it has not been upstreamed yet. | 
| + | 
| +        * platform/blackberry/PlatformMouseEventBlackBerry.cpp: | 
| + | 
| +2012-03-27  Antti Koivisto  <antti@apple.com> | 
| + | 
| +        Separate @import rules from other rules in CSSStyleSheet | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82384 | 
| + | 
| +        Reviewed by Andreas Kling. | 
| + | 
| +        Import rules always come before all other rules (except @charset). They currently live | 
| +        in the generic child rule vector. They can be moved to a vector of their own for stronger | 
| +        typing and more focused traversal. This will also make future refactoring easier. | 
| + | 
| +        - @import rules go to m_importRules | 
| +        - the rest go to m_childRules | 
| + | 
| +        * css/CSSStyleSelector.cpp: | 
| +        (WebCore::CSSStyleSelector::collectMatchingRulesForList): | 
| +        * css/CSSStyleSheet.cpp: | 
| +        (WebCore::CSSStyleSheet::parserAppendRule): | 
| +        (WebCore::CSSStyleSheet::length): | 
| +        (WebCore::CSSStyleSheet::item): | 
| +        (WebCore::CSSStyleSheet::clearRules): | 
| +        (WebCore::CSSStyleSheet::rules): | 
| +        (WebCore::CSSStyleSheet::insertRule): | 
| +        (WebCore::CSSStyleSheet::deleteRule): | 
| +        (WebCore::CSSStyleSheet::isLoading): | 
| +        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): | 
| +        * css/CSSStyleSheet.h: | 
| +        (WebCore): | 
| +        (CSSStyleSheet): | 
| +        (WebCore::CSSStyleSheet::childRules): | 
| +        (WebCore::CSSStyleSheet::importRules): | 
| + | 
| +2012-03-28  Pavel Feldman  <pfeldman@chromium.org> | 
| + | 
| +        Web Inspector: REGRESSION: Stack overflow on the page with > 100kloc | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82436 | 
| + | 
| +        Reviewed by Yury Semikhatsky. | 
| + | 
| +        This change migrates to manual splice implementation that uses additional | 
| +        information about the range being inserted to make it work faster / allocate | 
| +        less memory. | 
| + | 
| +        * inspector/front-end/TextEditorModel.js: | 
| +        (WebInspector.TextEditorModel.endsWithBracketRegex.): | 
| + | 
| +2012-03-28  Pavel Podivilov  <podivilov@chromium.org> | 
| + | 
| +        Web Inspector: breakpoints are not shown in sidebar pane after reload. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82351 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        When UISourceCode is added to ScriptsPanel, it could already have breakpoints. | 
| +        We should iterate over existing breakpoints and add them to sidebar pane. | 
| + | 
| +        * inspector/front-end/ScriptsPanel.js: | 
| +        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded): | 
| + | 
| +2012-03-28  Li Yin  <li.yin@intel.com> | 
| + | 
| +        [WebSocket]The Sec-WebSocket-Protocol must not appear more than once in an HTTP response | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82432 | 
| + | 
| +        Reviewed by Kent Tamura. | 
| + | 
| +        From RFC6455: http://tools.ietf.org/html/rfc6455#section-11.3.4 | 
| +        The |Sec-WebSocket-Protocol| header field must not appear | 
| +        more than once in an HTTP response. | 
| + | 
| +        Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header.html | 
| + | 
| +        * Modules/websockets/WebSocketHandshake.cpp: | 
| +        (WebCore::WebSocketHandshake::readHTTPHeaders): | 
| + | 
| +2012-03-27  James Robinson  <jamesr@chromium.org> | 
| + | 
| +        [chromium] Transfer wheel fling via WebCompositorInputHandlerClient | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81740 | 
| + | 
| +        Reviewed by Adrienne Walker. | 
| + | 
| +        Adds the ability to construct an in-progress PlatformGestureAnimation. | 
| + | 
| +        * platform/ActivePlatformGestureAnimation.cpp: | 
| +        (WebCore::ActivePlatformGestureAnimation::create): | 
| +        (WebCore): | 
| +        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation): | 
| +        * platform/ActivePlatformGestureAnimation.h: | 
| +        (ActivePlatformGestureAnimation): | 
| +        * platform/TouchpadFlingPlatformGestureCurve.cpp: | 
| +        (WebCore::TouchpadFlingPlatformGestureCurve::create): | 
| +        (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve): | 
| +        * platform/TouchpadFlingPlatformGestureCurve.h: | 
| +        (TouchpadFlingPlatformGestureCurve): | 
| + | 
| +2012-03-27  Nat Duca  <nduca@chromium.org> | 
| + | 
| +        [chromium] Route monotonic clock up from compositor | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82154 | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: | 
| +        (WebCore::CCLayerTreeHost::updateAnimations): | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHost.h: | 
| +        (CCLayerTreeHost): | 
| +        * platform/graphics/chromium/cc/CCThreadProxy.cpp: | 
| +        (WebCore::CCThreadProxy::scheduledActionBeginFrame): | 
| +        (WebCore::CCThreadProxy::beginFrame): | 
| +        * platform/graphics/chromium/cc/CCThreadProxy.h: | 
| +        (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState): | 
| +        (BeginFrameAndCommitState): | 
| + | 
| +2012-03-27  Robin Cao  <robin.cao@torchmobile.com.cn> | 
| + | 
| +        [BlackBerry] Upstream LayerAnimation.{cpp, h} | 
| +        https://bugs.webkit.org/show_bug.cgi?id=80123 | 
| + | 
| +        Reviewed by Rob Buis. | 
| + | 
| +        Initial upstream, no new tests. | 
| + | 
| +        * platform/graphics/blackberry/LayerAnimation.cpp: Added. | 
| +        (WebCore): | 
| +        (WebCore::solveEpsilon): | 
| +        (WebCore::solveCubicBezierFunction): | 
| +        (WebCore::solveStepsFunction): | 
| +        (WebCore::timingFunctionForAnimationValue): | 
| +        (WebCore::progress): | 
| +        (WebCore::fetchIntervalEndpoints): | 
| +        (WebCore::LayerAnimation::apply): | 
| +        (WebCore::LayerAnimation::blendTransform): | 
| +        (WebCore::LayerAnimation::blendOpacity): | 
| +        (WebCore::LayerAnimation::validateTransformLists): | 
| +        * platform/graphics/blackberry/LayerAnimation.h: Added. | 
| +        (WebCore): | 
| +        (LayerAnimation): | 
| +        (WebCore::LayerAnimation::create): | 
| +        (WebCore::LayerAnimation::clone): | 
| +        (WebCore::LayerAnimation::~LayerAnimation): | 
| +        (WebCore::LayerAnimation::name): | 
| +        (WebCore::LayerAnimation::setStartTime): | 
| +        (WebCore::LayerAnimation::idFromAnimation): | 
| +        (WebCore::LayerAnimation::isEqualToAnimation): | 
| +        (WebCore::LayerAnimation::id): | 
| +        (WebCore::LayerAnimation::property): | 
| +        (WebCore::LayerAnimation::boxSize): | 
| +        (WebCore::LayerAnimation::timeOffset): | 
| +        (WebCore::LayerAnimation::startTime): | 
| +        (WebCore::LayerAnimation::valueCount): | 
| +        (WebCore::LayerAnimation::timingFunction): | 
| +        (WebCore::LayerAnimation::duration): | 
| +        (WebCore::LayerAnimation::iterationCount): | 
| +        (WebCore::LayerAnimation::direction): | 
| +        (WebCore::LayerAnimation::valueAt): | 
| +        (WebCore::LayerAnimation::LayerAnimation): | 
| + | 
| +2012-03-27  Kenichi Ishibashi  <bashi@chromium.org> | 
| + | 
| +        [Chromium] Uninitialized access in SimpleFontDataSkia::platformInit | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82411 | 
| + | 
| +        Reviewed by Kent Tamura. | 
| + | 
| +        SimpleFontDataSkia::platformInit() could call widthForGlyph(), which | 
| +        accesses m_zeroWidthSpaceGlyph. This causes a valgrind memcheck error | 
| +        because m_zeroWidthSpaceGlyph isn't initialized at this point. | 
| +        Initialize m_zeroWidthSpaceGlyph with zero so that widthForGlyph() can | 
| +        return appropriate value(The value zero here means "unknown glyph"). | 
| + | 
| +        No new tests. I manually confirmed this change fixes the valgrind | 
| +        memcheck error. | 
| + | 
| +        * platform/graphics/skia/SimpleFontDataSkia.cpp: | 
| +        (WebCore::SimpleFontData::platformInit): | 
| + | 
| +2012-03-27  YoungTaeck Song  <youngtaeck.song@samsung.com> | 
| + | 
| +        [EFL][WK2] Add RunLoopEfl and WorkQueueEfl | 
| +        https://bugs.webkit.org/show_bug.cgi?id=62777 | 
| + | 
| +        Reviewed by Hajime Morita. | 
| + | 
| +        Add initial version RunLoopEfl for WebKit2 Efl. | 
| + | 
| +        * platform/RunLoop.h: | 
| +        (TimerBase): | 
| +        (RunLoop): | 
| +        * platform/efl/RunLoopEfl.cpp: | 
| +        (WebCore::RunLoop::RunLoop): | 
| +        (WebCore::RunLoop::~RunLoop): | 
| +        (WebCore): | 
| +        (WebCore::RunLoop::run): | 
| +        (WebCore::RunLoop::stop): | 
| +        (WebCore::RunLoop::wakeUpEvent): | 
| +        (WebCore::RunLoop::wakeUp): | 
| +        (WebCore::RunLoop::TimerBase::TimerBase): | 
| +        (WebCore::RunLoop::TimerBase::~TimerBase): | 
| +        (WebCore::RunLoop::TimerBase::timerFired): | 
| +        (WebCore::RunLoop::TimerBase::start): | 
| +        (WebCore::RunLoop::TimerBase::stop): | 
| +        (WebCore::RunLoop::TimerBase::isActive): | 
| + | 
| +2012-03-27  Benjamin Poulain  <bpoulain@apple.com> | 
| + | 
| +        Reinforce Geolocation to prevent accidental leak of the user position | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82396 | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        It is very important not to provide the position of the user to a page | 
| +        unless the user authorize it. | 
| + | 
| +        The code used to make it easy to cause such problems, because any part | 
| +        of the Geolocation object could invoke the success callback directly. | 
| + | 
| +        This patch add encapsulation for all the attributes of GeoNotifier, | 
| +        and add extra guards for the two callbacks. | 
| + | 
| +        In the case of the success callback, we do one extra check before sending | 
| +        the value to the bindings. | 
| + | 
| +        * Modules/geolocation/Geolocation.cpp: | 
| +        (WebCore::Geolocation::GeoNotifier::runSuccessCallback): | 
| +        (WebCore::Geolocation::GeoNotifier::runErrorCallback): | 
| +        (WebCore): | 
| +        (WebCore::Geolocation::GeoNotifier::stopTimer): | 
| +        (WebCore::Geolocation::GeoNotifier::timerFired): | 
| +        (WebCore::Geolocation::startRequest): | 
| +        (WebCore::Geolocation::sendError): | 
| +        (WebCore::Geolocation::sendPosition): | 
| +        (WebCore::Geolocation::stopTimer): | 
| +        (WebCore::Geolocation::extractNotifiersWithCachedPosition): | 
| +        (WebCore::Geolocation::startUpdating): | 
| +        * Modules/geolocation/Geolocation.h: | 
| +        (WebCore::Geolocation::isAllowed): | 
| +        (Geolocation): | 
| +        (GeoNotifier): | 
| +        (WebCore::Geolocation::GeoNotifier::options): | 
| +        (WebCore::Geolocation::GeoNotifier::useCachedPosition): | 
| + | 
| +2012-03-27  Kausalya Madhusudhanan  <kmadhusu@chromium.org> | 
| + | 
| +        [Coverity] Address some uninitialized constructor values. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82376 | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        New tests are not required since I did not modify any code behavior. | 
| + | 
| +        * html/shadow/MediaControlRootElementChromium.cpp: | 
| +        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): | 
| +        * inspector/InspectorIndexedDBAgent.h: | 
| +        (InspectorIndexedDBAgent): | 
| +        * inspector/InspectorTimelineAgent.cpp: | 
| +        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): | 
| +        * page/scrolling/ScrollingCoordinator.cpp: | 
| +        (WebCore::ScrollingCoordinator::ScrollingCoordinator): | 
| +        * platform/ScrollAnimatorNone.cpp: | 
| +        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone): | 
| +        * platform/chromium/DataTransferItemChromium.cpp: | 
| +        (WebCore::DataTransferItemChromium::DataTransferItemChromium): | 
| +        * platform/graphics/skia/ImageBufferSkia.cpp: | 
| +        (WebCore::ImageBuffer::ImageBuffer): | 
| +        * storage/StorageTask.cpp: | 
| +        (WebCore::StorageTask::StorageTask): | 
| + | 
| +2012-03-27  Alexis Menard  <alexis.menard@openbossa.org> | 
| + | 
| +        Simplify CSSPropertyBorderSpacing parsing. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82397 | 
| + | 
| +        Reviewed by Benjamin Poulain. | 
| + | 
| +        Remove the local array of longhand properties as it doesn't really | 
| +        bring much in this simple parsing algorithm. | 
| + | 
| +        No new tests, no functionality change intended. | 
| + | 
| +        * css/CSSParser.cpp: | 
| +        (WebCore::CSSParser::parseValue): | 
| + | 
| +2012-03-27  Anders Carlsson  <andersca@apple.com> | 
| + | 
| +        Fix race condition when initializing the scrolling thread | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82398 | 
| +        <rdar://problem/11002166> | 
| + | 
| +        Reviewed by Sam Weinig. | 
| + | 
| +        Lock m_initializeRunLoopConditionMutex when assigning m_threadIdentifier since we're | 
| +        asserting that it's not null in the scrolling thread. | 
| + | 
| +        * page/scrolling/ScrollingThread.cpp: | 
| +        (WebCore::ScrollingThread::createThreadIfNeeded): | 
| + | 
| +2012-03-27  Luke Macpherson  <macpherson@chromium.org> | 
| + | 
| +        Add assertions to valueForLength() and RenderBox::computeLogicalWidthInRegionUsing() to help with debugging. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82393 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        No new tests / adding assetions only. | 
| + | 
| +        * css/LengthFunctions.cpp: | 
| +        (WebCore::valueForLength): | 
| +        * rendering/RenderBox.cpp: | 
| +        (WebCore::RenderBox::computeLogicalWidthInRegionUsing): | 
| + | 
| +2012-03-27  Tony Chang  <tony@chromium.org> | 
| + | 
| +        use the correct size when computing flex-pack space | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82378 | 
| + | 
| +        Reviewed by Ojan Vafai. | 
| + | 
| +        Fix 2 bugs: | 
| +        - We weren't properly updating available space before computing | 
| +          packing space. If a min/max is not hit, we still need to adjust | 
| +          the available free space. | 
| +        - For flex-pack:end, we need to put the overflow in the start edge. | 
| + | 
| +        New test cases in css3/flexbox/flex-pack.html | 
| + | 
| +        * rendering/RenderFlexibleBox.cpp: | 
| +        (WebCore::RenderFlexibleBox::resolveFlexibleLengths): | 
| +        (WebCore::initialPackingOffset): | 
| + | 
| +2012-03-27  Dana Jansens  <danakj@chromium.org> | 
| + | 
| +        [chromium] Unknown transforms should be treated as non-axis aligned on main thread | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82370 | 
| + | 
| +        Reviewed by Adrienne Walker. | 
| + | 
| +        On main thread, animating transforms have "unknown" values as they are changing | 
| +        out of sync on the impl thread. So treat them as non-axis-aligned since they | 
| +        may be, when deciding to create a render surface. | 
| + | 
| +        In addition, since surfaces are cheap on main thread, create one for all layers | 
| +        with animating transforms and a drawing descendant, as this allows paint culling | 
| +        within the layer's subtree (the animated transform won't affect drawTransforms | 
| +        inside the subtree). | 
| + | 
| +        Also renamed the layerIsInAnimatingSubtreeFor* to animatingTransformTo*. | 
| +        The old name made me pause and think what it meant and I'm the one who | 
| +        created it. Hopefully this is more clear. | 
| + | 
| +        Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy | 
| + | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: | 
| +        (WebCore::transformToParentIsKnown): | 
| +        (WebCore): | 
| +        (WebCore::subtreeShouldRenderToSeparateSurface): | 
| +        (WebCore::calculateDrawTransformsAndVisibilityInternal): | 
| + | 
| +2012-03-27  Dirk Pranke  <dpranke@chromium.org> | 
| + | 
| +        Re-land r112277; reverting it doesn't seem to have fixed anything. | 
| + | 
| +        Unreviewed, build fix. | 
| + | 
| +        * svg/SVGUseElement.cpp: | 
| +        (WebCore::SVGUseElement::insertedIntoDocument): | 
| +        (WebCore::SVGUseElement::svgAttributeChanged): | 
| +        (WebCore::SVGUseElement::willRecalcStyle): | 
| +        (WebCore::SVGUseElement::finishParsingChildren): | 
| +        * xml/XMLErrors.cpp: | 
| +        (WebCore::XMLErrors::insertErrorMessageBlock): | 
| + | 
| +2012-03-27  Dana Jansens  <danakj@chromium.org> | 
| + | 
| +        [chromium] Rename opaqueContentsRegion() to visibleContentOpaqueRegion() | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81689 | 
| + | 
| +        Reviewed by Adrienne Walker. | 
| + | 
| +        The return value from this function is a region of opaque pixels in the | 
| +        layer's content space that intersect with its visible rect. Rather than | 
| +        adding a comment to this effect, renaming the method to make it clear. | 
| + | 
| +        * platform/graphics/chromium/LayerChromium.h: | 
| +        (WebCore::LayerChromium::visibleContentOpaqueRegion): | 
| +        * platform/graphics/chromium/TiledLayerChromium.cpp: | 
| +        (WebCore::TiledLayerChromium::visibleContentOpaqueRegion): | 
| +        * platform/graphics/chromium/TiledLayerChromium.h: | 
| +        * platform/graphics/chromium/cc/CCLayerImpl.h: | 
| +        (WebCore::CCLayerImpl::visibleContentOpaqueRegion): | 
| +        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: | 
| +        (WebCore::computeOcclusionBehindLayer): | 
| +        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: | 
| +        (WebCore::CCTiledLayerImpl::visibleContentOpaqueRegion): | 
| +        * platform/graphics/chromium/cc/CCTiledLayerImpl.h: | 
| +        (CCTiledLayerImpl): | 
| + | 
| +2012-03-27  James Robinson  <jamesr@chromium.org> | 
| + | 
| +        Scrollable plugins not registered properly in ScrollingCoordinator | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82163 | 
| + | 
| +        Reviewed by Anders Carlsson. | 
| + | 
| +        Whenever a ScrollableArea is added or removed from a FrameView's ScrollableAreaSet, we have to recalculate the | 
| +        nonFastScrollableRegion. This can happen for certain types of plugins that are scrollable. | 
| + | 
| +        This also reverts 112142 which was a not quite right way to handle these plugins. | 
| + | 
| +        * page/FrameView.cpp: | 
| +        (WebCore::FrameView::addScrollableArea): | 
| +        (WebCore::FrameView::removeScrollableArea): | 
| +        * page/scrolling/ScrollingCoordinator.cpp: | 
| +        (WebCore::computeNonFastScrollableRegion): | 
| +        (WebCore::ScrollingCoordinator::frameViewScrollableAreasDidChange): | 
| +        (WebCore): | 
| +        * page/scrolling/ScrollingCoordinator.h: | 
| +        (ScrollingCoordinator): | 
| +        * plugins/PluginViewBase.h: | 
| + | 
| +2012-03-27  Adam Klein  <adamk@chromium.org> | 
| + | 
| +        Hold a reference to refChild in insertBefore before calling collectChildrenAndRemoveFromOldParent | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82377 | 
| + | 
| +        Reviewed by Ryosuke Niwa. | 
| + | 
| +        This fixes a regression from r111925. | 
| + | 
| +        Test: fast/dom/insertBefore-refChild-crash.html | 
| + | 
| +        * dom/ContainerNode.cpp: | 
| +        (WebCore::ContainerNode::insertBefore): Move the 'next' RefPtr above the call to | 
| +        collectChildrenAndRemoveFromOldParent and rename refChildPreviousSibling | 
| +        to 'prev' (matching appendChild and replaceChild). | 
| + | 
| +2012-03-27  Ryosuke Niwa  <rniwa@webkit.org> | 
| + | 
| +        cssText should not generate literal 'initial' in shorthand properties | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82364 | 
| + | 
| +        Reviewed by Antti Koivisto. | 
| + | 
| +        Fixed the bug by treating initial value as if the value is not set. | 
| +        While this is incorrect for properties that inherits by default, | 
| +        it's strictly better than generating unparsable value as we do today. | 
| + | 
| +        The proper fix is for CSSInitialValue::cssText to fetch the respective | 
| +        default value from what's currently in CSSStyleSelector code but that requires | 
| +        a considerable amount of refactoring and work. | 
| + | 
| +        * css/StylePropertySet.cpp: | 
| +        (WebCore::StylePropertySet::getShorthandValue): | 
| +        (WebCore::StylePropertySet::getCommonValue): | 
| + | 
| +2012-03-26  Adam Klein  <adamk@chromium.org> | 
| + | 
| +        Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set() | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82256 | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        This moves leakRef() calls out of generated code, centralizing them in | 
| +        V8DOMWrapper implementation. Ideally, WeakReferenceMap::set would take | 
| +        PassRefPtrs, but that's tricky given that some WeakReferenceMap's KeyType is 'void' | 
| +        (which clearly can't be wrapped in a PassRefPtr). | 
| + | 
| +        Updated binding tests to reflect changes in CodeGeneratorV8.pm, no change in behavior. | 
| + | 
| +        Relanding r112207 with setJSWrapperForDOMSVGElementInstance defined | 
| +        out-of-line to avoid SVG header dependencies. | 
| + | 
| +        * bindings/scripts/CodeGeneratorV8.pm: | 
| +        (GenerateConstructorCallback): Use GetDomMapFunction instead of custom logic. | 
| +        (GenerateNamedConstructorCallback): ditto. | 
| +        (GenerateToV8Converters): Call V8DOMWrapper::setJSWrapper* method | 
| +        instead of directly accessing the wrapper maps and calling set. | 
| +        (GetDomMapFunction): Refactored to call new GetDomWrapperMapName function. | 
| +        (GetDomWrapperMapName): Helper pulled out of GetDomMapFunction. | 
| +        * bindings/scripts/test/V8/V8Float64Array.cpp: | 
| +        (WebCore::V8Float64Array::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: | 
| +        (WebCore::V8TestActiveDOMObject::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: | 
| +        (WebCore::V8TestCustomNamedGetter::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: | 
| +        (WebCore::V8TestEventConstructor::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestEventTarget.cpp: | 
| +        (WebCore::V8TestEventTarget::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestInterface.cpp: | 
| +        (WebCore::V8TestInterface::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: | 
| +        (WebCore::V8TestMediaQueryListListener::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: | 
| +        (WebCore::V8TestNamedConstructor::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestObj.cpp: | 
| +        (WebCore::V8TestObj::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: | 
| +        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): | 
| +        * bindings/v8/V8DOMWrapper.cpp: Moved setJSWrapperForDOMNode method to header to inline it. | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForDOMSVGElementInstance): New helper method for SVGElementInstances. | 
| +        Not inline to avoid header dependency on SVGElementInstance.h. | 
| +        * bindings/v8/V8DOMWrapper.h: | 
| +        (V8DOMWrapper): | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Made inline. | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): ditto. | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Refactored into two methods; | 
| +        this one handles non-active Nodes. | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): Pulled out of previouse | 
| +        DOMNode method, now handles only active Nodes. | 
| + | 
| +2012-03-27  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Correct LayoutUnit usage in virtual function layoutBlock in RenderFlexibleBox | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82344 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        Correcting the signature of RenderFlexibleBox::layoutBlock to use a LayoutUnit | 
| +        for the page height, and avoiding assigning the renderer's size to an IntSize. | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * rendering/RenderFlexibleBox.cpp: | 
| +        (WebCore::RenderFlexibleBox::layoutBlock): | 
| +        * rendering/RenderFlexibleBox.h: | 
| +        (RenderFlexibleBox): | 
| + | 
| +2012-03-27  Timothy Hatcher  <timothy@apple.com> | 
| + | 
| +        Make WebKit properly load a staged framework when soft linking. | 
| + | 
| +        https://webkit.org/b/82371 | 
| +        rdar://problem/11125989 | 
| + | 
| +        Reviewed by Dan Bernstein. | 
| + | 
| +        * platform/mac/SoftLinking.h: Replaced SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL with | 
| +        SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL and made it use the StagedFrameworks path | 
| +        if the first dlopen failed. | 
| + | 
| +2012-03-26  Dirk Schulze  <krit@webkit.org> | 
| + | 
| +        Use enumeration for CSS parser mode | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82056 | 
| + | 
| +        Reviewed by Antti Koivisto. | 
| + | 
| +        Introduce a new CSSParserMode enum to differ between strict / quirks and SVG presentation | 
| +        attribute parsing modes. | 
| +        The followup patch will make use of the enum in all other classes. | 
| +        After that it will be easier possible to reuse the CSS parser in SVG as much as possible and | 
| +        introduce SVG specific functionality. | 
| + | 
| +        No new tests. No change on functionality yet. This is just a refactoring to use the enumeration. | 
| + | 
| +        * GNUmakefile.list.am: Added new file CSSParserMode.h with the new enum, which can be used by any caller of CSSParser, CSSStyleSheet and others. | 
| +        * Target.pri: Ditto. | 
| +        * WebCore.gypi: Ditto. | 
| +        * WebCore.vcproj/WebCore.vcproj: Ditto. | 
| +        * WebCore.xcodeproj/project.pbxproj: Ditto. | 
| +        * css/CSSGrammar.y: Make use of the new enumeration. | 
| +        * css/CSSParser.cpp: Replaced boolean by enumeration. No change of functionality at this point of time. | 
| +        (WebCore::CSSParser::inStrictMode): Helper function. | 
| +        (WebCore): | 
| +        (WebCore::CSSParser::inQuirksMode): Helper function. | 
| +        (WebCore::CSSParser::CSSParser): | 
| +        (WebCore::CSSParser::validUnit): | 
| +        (WebCore::CSSParser::checkForOrphanedUnits): | 
| +        (WebCore::CSSParser::parseValue): | 
| +        (WebCore::CSSParser::parseSizeParameter): | 
| +        (WebCore::CSSParser::parseBackgroundColor): | 
| +        (WebCore::CSSParser::parseFillPositionX): | 
| +        (WebCore::CSSParser::parseFillPositionY): | 
| +        (WebCore::CSSParser::parseFillPositionComponent): | 
| +        (WebCore::CSSParser::parseFillSize): | 
| +        (WebCore::CSSParser::parseAnimationDelay): | 
| +        (WebCore::CSSParser::parseAnimationDuration): | 
| +        (WebCore::CSSParser::parseAnimationIterationCount): | 
| +        (WebCore::CSSParser::parseTransformOriginShorthand): | 
| +        (WebCore::CSSParser::parseCubicBezierTimingFunctionValue): | 
| +        (WebCore::CSSParser::parseAnimationTimingFunction): | 
| +        (WebCore::CSSParser::parseGridTrackList): | 
| +        (WebCore::CSSParser::parseDashboardRegions): | 
| +        (WebCore::CSSParser::parseShape): | 
| +        (WebCore::CSSParser::parseWrapShapeRect): | 
| +        (WebCore::CSSParser::parseWrapShapeCircle): | 
| +        (WebCore::CSSParser::parseWrapShapeEllipse): | 
| +        (WebCore::CSSParser::parseWrapShapePolygon): | 
| +        (WebCore::CSSParser::parseFont): | 
| +        (WebCore::CSSParser::parseFontWeight): | 
| +        (WebCore::CSSParser::parseColorParameters): | 
| +        (WebCore::CSSParser::parseHSLParameters): | 
| +        (WebCore::CSSParser::parseColorFromValue): | 
| +        (WebCore::CSSParser::parseShadow): | 
| +        (WebCore::CSSParser::parseReflect): | 
| +        (WebCore::CSSParser::parseFlex): | 
| +        (WebCore::CSSParser::parseBorderImageSlice): | 
| +        (WebCore::CSSParser::parseBorderImageQuad): | 
| +        (WebCore::CSSParser::parseBorderRadius): | 
| +        (WebCore::CSSParser::parseAspectRatio): | 
| +        (WebCore::CSSParser::parseLinearGradient): | 
| +        (WebCore::CSSParser::parseRadialGradient): | 
| +        (WebCore::CSSParser::parseGradientColorStops): | 
| +        (WebCore::CSSParser::parseTransform): | 
| +        (WebCore::CSSParser::parseCustomFilter): | 
| +        (WebCore::CSSParser::parseBuiltinFilterArguments): | 
| +        (WebCore::CSSParser::parseTransformOrigin): | 
| +        (WebCore::CSSParser::createStyleRule): | 
| +        (WebCore::CSSParser::createFontFaceRule): | 
| +        (WebCore::CSSParser::createPageRule): | 
| +        (WebCore::CSSParser::createKeyframeRule): | 
| +        * css/CSSParser.h: | 
| +        (CSSParser): | 
| +        * css/CSSParserMode.h: Added. New enumeration CSSParserMode. | 
| +        * css/SVGCSSParser.cpp: Use new SVGAttributeMode CSS parsing mode. | 
| +        (WebCore::CSSParser::parseSVGValue): | 
| +        (WebCore::CSSParser::parseSVGStrokeDasharray): | 
| + | 
| +2012-03-27  Nate Chapin  <japhet@chromium.org> | 
| + | 
| +        Don't manually set an identifier for main resource | 
| +        loads in FrameLoader. ResourceLoader::willSendRequest() | 
| +        will set an identifier for the request if one isn't found, | 
| +        so this code appears to be unnecessary duplication. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82248 | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        No new tests, no functionality change intended. | 
| + | 
| +        * loader/DocumentLoader.cpp: | 
| +        (WebCore::DocumentLoader::startLoadingMainResource): Mark navigation start | 
| +            here, since it's conceptually part of starting the main resource load. | 
| +        * loader/DocumentLoader.h: | 
| +        * loader/FrameLoader.cpp: | 
| +        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Remove duplicate identifier | 
| +            logic, and move navigation timing call to startLoadingMainResource, since | 
| +            it fits better logically there. | 
| +        * loader/ResourceLoader.h: No callers of setIdentifier() remain, so delete it. | 
| + | 
| +2012-03-27  Dirk Pranke  <dpranke@chromium.org> | 
| + | 
| +        Unreviewed, rolling out r112277. | 
| +        http://trac.webkit.org/changeset/112277 | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81985 | 
| + | 
| +        possibly causing crashes? | 
| + | 
| +        * svg/SVGUseElement.cpp: | 
| +        (WebCore::SVGUseElement::insertedIntoDocument): | 
| +        (WebCore::SVGUseElement::svgAttributeChanged): | 
| +        (WebCore::SVGUseElement::willRecalcStyle): | 
| +        (WebCore::SVGUseElement::finishParsingChildren): | 
| +        * xml/XMLErrors.cpp: | 
| +        (WebCore::XMLErrors::insertErrorMessageBlock): | 
| + | 
| +2012-03-27  Joseph Pecoraro  <pecoraro@apple.com> | 
| + | 
| +        <http://webkit.org/b/82362> Web Inspector: Provide private -[DOMNode inspect] | 
| + | 
| +        Reviewed by Timothy Hatcher. | 
| + | 
| +        No new tests, this is only an ObjC SPI. | 
| + | 
| +        * bindings/objc/DOM.mm: | 
| +        * bindings/objc/DOMPrivate.h: | 
| +        (-[DOMNode inspect]): | 
| +        Call through to InspectorController inspect for the node. | 
| + | 
| +        * inspector/InspectorDOMAgent.cpp: | 
| +        (WebCore::InspectorDOMAgent::handleMousePress): | 
| +        (WebCore::InspectorDOMAgent::inspect): | 
| +        Whenever we inspect an element, clear the node search. | 
| +        The frontend already takes this approach. | 
| + | 
| +2012-03-27  Joe Mason  <jmason@rim.com> | 
| + | 
| +        [BlackBerry] fix confusing destruction sequence in LayerCompositingThread | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81706 | 
| + | 
| +        Reviewed by Rob Buis. | 
| + | 
| +        LayerCompositingThread has a destructor that does a synchronous | 
| +        dispatch to the compositing thread and then does the actual cleanup | 
| +        from a helper function. This is confusing.It should be the | 
| +        opposite: the helper function dispatches to the compositing thread, | 
| +        which calls delete. | 
| + | 
| +        No new tests since the existing animation tests will exercise this | 
| +        code. | 
| + | 
| +        * platform/graphics/blackberry/LayerCompositingThread.cpp: | 
| +        (WebCore::LayerCompositingThread::destroyOnCompositingThread): | 
| +        (WebCore): | 
| +        (WebCore::LayerCompositingThread::~LayerCompositingThread): | 
| +        * platform/graphics/blackberry/LayerCompositingThread.h: | 
| +        (LayerCompositingThread): | 
| +        (WTF): | 
| +        (WTF::::deref): | 
| + | 
| +2012-03-27  Alexey Proskuryakov  <ap@apple.com> | 
| + | 
| +        [Mac] Stop using NSMapTable in FormDataStreamMac.mm | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82358 | 
| + | 
| +        Reviewed by Darin Adler. | 
| + | 
| +        * platform/network/mac/FormDataStreamMac.mm: Use WTF::HashMap, as we always do. All accesses | 
| +        are protected with a mutex anyway. | 
| + | 
| +2012-03-27  Joe Thomas  <joethomas@motorola.com> | 
| + | 
| +        Implement vw/vh/vmin (viewport sizes) from CSS3 Values and Units | 
| +        https://bugs.webkit.org/show_bug.cgi?id=27160 | 
| + | 
| +        Reviewed by Antti Koivisto. | 
| + | 
| +        vw/vh/vmin are implemented as primitive length units. Added the parsing logic for these new units. | 
| +        New Length types such as ViewportRelativeWidth, ViewportRelativeHeight and ViewportRelativeMin are added for these length units | 
| +        and included the support for fetching the value of these relative units based on the current viewport size. | 
| + | 
| +        The specification related to this implementation is http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths. | 
| + | 
| +        Tests: css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle.html | 
| +               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute.html | 
| +               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh.html | 
| +               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute.html | 
| +               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin.html | 
| +               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute.html | 
| +               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw.html | 
| + | 
| +        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Modified to support viewport relative Length types. | 
| +        (getAttributeSetForAccessibilityObject): | 
| +        * css/CSSComputedStyleDeclaration.cpp: Ditto. | 
| +        (WebCore::getPositionOffsetValue): | 
| +        (WebCore::getBorderRadiusCornerValues): | 
| +        (WebCore::getBorderRadiusCornerValue): | 
| +        (WebCore::getBorderRadiusShorthandValue): | 
| +        (WebCore::lineHeightFromStyle): | 
| +        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): | 
| +        * css/CSSGrammar.y: Added vw/vh/vmin support. | 
| +        * css/CSSParser.cpp: Parsing of relative units and creation of CSSPrimitiveValue. | 
| +        (WebCore::CSSParser::validUnit): Added vw/vh/vmin to the valid units. | 
| +        (WebCore::CSSParser::createPrimitiveNumericValue): Added vw/vh/vmin as valid primitive units. | 
| +        (WebCore::unitFromString): | 
| +        (WebCore::CSSParser::parseValidPrimitive): Creation of CSSPrimitiveValue for vw/vh/vmin. | 
| +        (WebCore::CSSParser::detectNumberToken): Parsing the vw/vh/vmin tokens. | 
| +        * css/CSSPrimitiveValue.cpp: | 
| +        (WebCore::isValidCSSUnitTypeForDoubleConversion): Added support for vw/vh/vmin. | 
| +        (WebCore::unitCategory): Ditto. | 
| +        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): | 
| +        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): Added support for vw/vh/vmin. | 
| +        (WebCore::CSSPrimitiveValue::customCssText): Ditto. | 
| +        (WebCore::CSSPrimitiveValue::viewportRelativeLength): Function to create the Length structure for the viewport-relative unit types. | 
| +        (WebCore): | 
| +        * css/CSSPrimitiveValue.h: | 
| +        (WebCore::CSSPrimitiveValue::isViewportRelativeLength): Checks whether the primitive value is ViewportRelative Lengths. | 
| +        (CSSPrimitiveValue): | 
| +        * css/CSSPrimitiveValue.idl: Added support for vw/vh/vmin. | 
| +        * css/CSSPrimitiveValueMappings.h: | 
| +        (WebCore::CSSPrimitiveValue::convertToLength): Ditto. | 
| +        * css/CSSStyleApplyProperty.cpp: Applying relative viewport length units to the specific CSS property. | 
| +        (WebCore::ApplyPropertyLength::applyValue): | 
| +        (WebCore::ApplyPropertyBorderRadius::applyValue): | 
| +        (WebCore::ApplyPropertyFontSize::applyValue): | 
| +        (WebCore::ApplyPropertyLineHeight::applyValue): | 
| +        (WebCore::ApplyPropertyVerticalAlign::applyValue): | 
| +        * css/CSSStyleSelector.cpp: Added support for viewport relative units. | 
| +        * css/LengthFunctions.cpp: Calcuation of length value based on the current viewport size. | 
| +        (WebCore::miminumValueForLength): | 
| +        (WebCore::valueForLength): | 
| +        (WebCore::floatValueForLength): | 
| +        * css/LengthFunctions.h: Added new RenderView argument. | 
| +        (WebCore): | 
| +        * dom/Document.cpp: | 
| +        (WebCore::Document::pageSizeAndMarginsInPixels): Modified to support viewport relative Length types. | 
| +        (WebCore::Document::viewportSize): New function to fetch the current viewport size. | 
| +        (WebCore): | 
| +        * dom/Document.h: Ditto. | 
| +        (Document): | 
| +        * html/HTMLAreaElement.cpp: Modified to support viewport relative Length types. | 
| +        (WebCore::HTMLAreaElement::getRegion): | 
| +        * platform/Length.h: | 
| +        (WebCore::Length::isViewportRelative): To check the Length is of type ViewportRelative. | 
| +        (WebCore::Length::viewportRelativeLength): To get the relative value. | 
| +        * rendering/RenderBR.cpp: Modified to support viewport relative Length types. | 
| +        (WebCore::RenderBR::lineHeight): | 
| +        * rendering/RenderBlock.cpp: Ditto. | 
| +        (WebCore::RenderBlock::textIndentOffset): | 
| +        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): | 
| +        (WebCore::RenderBlock::lineHeight): | 
| +        * rendering/RenderBox.cpp: Ditto. | 
| +        (WebCore::RenderBox::reflectionOffset): | 
| +        (WebCore::RenderBox::paintBoxDecorations): | 
| +        (WebCore::RenderBox::clipRect): | 
| +        (WebCore::RenderBox::computeLogicalWidthInRegion): | 
| +        (WebCore::RenderBox::computeLogicalWidthInRegionUsing): | 
| +        (WebCore::RenderBox::computeInlineDirectionMargins): | 
| +        (WebCore::RenderBox::computeContentLogicalHeightUsing): | 
| +        (WebCore::RenderBox::computeReplacedLogicalHeightUsing): | 
| +        (WebCore::RenderBox::computeBlockDirectionMargins): | 
| +        (WebCore::RenderBox::computePositionedLogicalWidthUsing): | 
| +        (WebCore::RenderBox::computePositionedLogicalHeightUsing): | 
| +        (WebCore::RenderBox::computePositionedLogicalWidthReplaced): | 
| +        (WebCore::RenderBox::computePositionedLogicalHeightReplaced): | 
| +        * rendering/RenderBoxModelObject.cpp: Ditto. | 
| +        (WebCore::RenderBoxModelObject::relativePositionOffsetX): | 
| +        (WebCore::RenderBoxModelObject::relativePositionOffsetY): | 
| +        (WebCore::RenderBoxModelObject::paddingTop): | 
| +        (WebCore::RenderBoxModelObject::paddingBottom): | 
| +        (WebCore::RenderBoxModelObject::paddingLeft): | 
| +        (WebCore::RenderBoxModelObject::paddingRight): | 
| +        (WebCore::RenderBoxModelObject::paddingBefore): | 
| +        (WebCore::RenderBoxModelObject::paddingAfter): | 
| +        (WebCore::RenderBoxModelObject::paddingStart): | 
| +        (WebCore::RenderBoxModelObject::paddingEnd): | 
| +        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect): | 
| +        (WebCore::RenderBoxModelObject::calculateFillTileSize): | 
| +        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): | 
| +        (WebCore::computeBorderImageSide): | 
| +        (WebCore::RenderBoxModelObject::paintNinePieceImage): | 
| +        (WebCore::RenderBoxModelObject::paintBorder): | 
| +        (WebCore::RenderBoxModelObject::paintBoxShadow): | 
| +        * rendering/RenderFlexibleBox.cpp: Ditto. | 
| +        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): | 
| +        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): | 
| +        (WebCore::RenderFlexibleBox::resolveFlexibleLengths): | 
| +        * rendering/RenderInline.cpp: Ditto. | 
| +        (WebCore::computeMargin): | 
| +        (WebCore::RenderInline::lineHeight): | 
| +        * rendering/RenderMenuList.cpp: Ditto. | 
| +        (WebCore::RenderMenuList::updateOptionsWidth): | 
| +        * rendering/RenderObject.cpp: Ditto. | 
| +        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): | 
| +        * rendering/RenderReplaced.cpp: Ditto. | 
| +        (WebCore::RenderReplaced::paint): | 
| +        * rendering/RenderScrollbarPart.cpp: Ditto. | 
| +        (WebCore::calcScrollbarThicknessUsing): | 
| +        (WebCore::RenderScrollbarPart::computeScrollbarWidth): | 
| +        (WebCore::RenderScrollbarPart::computeScrollbarHeight): | 
| +        * rendering/RenderTable.cpp: Ditto. | 
| +        (WebCore::RenderTable::computeLogicalWidth): | 
| +        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth): | 
| +        * rendering/RenderTableCell.cpp: Ditto. | 
| +        (WebCore::RenderTableCell::logicalHeightForRowSizing): | 
| +        * rendering/RenderTableSection.cpp: Ditto. | 
| +        (WebCore::RenderTableSection::calcRowLogicalHeight): | 
| +        * rendering/RenderText.h: Ditto. | 
| +        (WebCore::RenderText::marginLeft): | 
| +        (WebCore::RenderText::marginRight): | 
| +        * rendering/RenderThemeMac.mm: Ditto. | 
| +        (WebCore::RenderThemeMac::paintMenuListButtonGradients): | 
| +        * rendering/RenderView.h: | 
| +        (WebCore::RenderView::viewportSize): | 
| +        * rendering/RenderWidget.cpp: Ditto. | 
| +        (WebCore::RenderWidget::paint): | 
| +        * rendering/RootInlineBox.cpp: Ditto. | 
| +        (WebCore::RootInlineBox::verticalPositionForBox): | 
| +        * rendering/style/RenderStyle.cpp: Ditto. | 
| +        (WebCore::calcRadiiFor): | 
| +        (WebCore::RenderStyle::getRoundedBorderFor): | 
| +        * rendering/style/RenderStyle.h: Ditto. | 
| +        * rendering/svg/RenderSVGRoot.cpp: Ditto. | 
| +        (WebCore::resolveLengthAttributeForSVG): | 
| +        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): | 
| +        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): | 
| + | 
| +2012-03-27  Gao Chun  <chun.gao@intel.com> | 
| + | 
| +        Remove deprecated LowPass2FilterNode and HighPass2FilterNode | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82296 | 
| + | 
| +        Reviewed by Chris Rogers. | 
| + | 
| +        * CMakeLists.txt: | 
| +        * DerivedSources.make: | 
| +        * DerivedSources.pri: | 
| +        * GNUmakefile.list.am: | 
| +        * Modules/webaudio/AudioContext.cpp: | 
| +        * Modules/webaudio/AudioContext.h: | 
| +        (WebCore): | 
| +        (AudioContext): | 
| +        * Modules/webaudio/AudioContext.idl: | 
| +        * Modules/webaudio/AudioNode.h: | 
| +        * Modules/webaudio/BiquadFilterNode.cpp: | 
| +        (WebCore::BiquadFilterNode::BiquadFilterNode): | 
| +        * Modules/webaudio/BiquadProcessor.cpp: | 
| +        * Modules/webaudio/BiquadProcessor.h: | 
| +        * Modules/webaudio/HighPass2FilterNode.cpp: Removed. | 
| +        * Modules/webaudio/HighPass2FilterNode.h: Removed. | 
| +        * Modules/webaudio/HighPass2FilterNode.idl: Removed. | 
| +        * Modules/webaudio/LowPass2FilterNode.cpp: Removed. | 
| +        * Modules/webaudio/LowPass2FilterNode.h: Removed. | 
| +        * Modules/webaudio/LowPass2FilterNode.idl: Removed. | 
| +        * WebCore.gypi: | 
| +        * WebCore.xcodeproj/project.pbxproj: | 
| + | 
| +2012-03-27  Sami Kyostila  <skyostil@chromium.org> | 
| + | 
| +        [chromium] Add TextureCopier for copying texture contents | 
| +        https://bugs.webkit.org/show_bug.cgi?id=80870 | 
| + | 
| +        Reviewed by Stephen White. | 
| + | 
| +        This patch introduces a TextureCopier class whose job is to copy the | 
| +        contents from one GL texture to another using the most efficient means | 
| +        for the current GPU. This version uses render-to-texture to do the copy, | 
| +        but a path based on EXT_framebuffer_blit can be added later. | 
| + | 
| +        The class is intended to replace the use of image path operations such | 
| +        as glCopyTex{Sub}Image2D for duplicating texture contents. The reason is | 
| +        that such functions may not be very well optimized in some -- mainly | 
| +        mobile -- GPU drivers. | 
| + | 
| +        With this patch the new copier is used just for Canvas2D layer | 
| +        presentation, but another potential use is for WebGL layer presentation. | 
| + | 
| +        Test: webkit_unit_tests: TextureCopierTest | 
| + | 
| +        * WebCore.gypi: | 
| +        * platform/graphics/chromium/Canvas2DLayerChromium.cpp: | 
| +        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium): | 
| +        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium): | 
| +        (WebCore::Canvas2DLayerChromium::updateCompositorResources): | 
| +        * platform/graphics/chromium/Canvas2DLayerChromium.h: | 
| +        (Canvas2DLayerChromium): | 
| +        * platform/graphics/chromium/LayerRendererChromium.cpp: | 
| +        (WebCore::LayerRendererChromium::initializeSharedObjects): | 
| +        * platform/graphics/chromium/LayerRendererChromium.h: | 
| +        (WebCore): | 
| +        (WebCore::LayerRendererChromium::textureCopier): | 
| +        (LayerRendererChromium): | 
| +        * platform/graphics/chromium/ShaderChromium.cpp: | 
| +        (WebCore::VertexShaderPosTexIdentity::getShaderString): | 
| +        (WebCore): | 
| +        (WebCore::FragmentShaderRGBATexCopy::getShaderString): | 
| +        * platform/graphics/chromium/ShaderChromium.h: | 
| +        (VertexShaderPosTexIdentity): | 
| +        (WebCore::VertexShaderPosTexIdentity::init): | 
| +        (WebCore): | 
| +        (FragmentShaderRGBATexCopy): | 
| +        * platform/graphics/chromium/TextureCopier.cpp: Added. | 
| +        (WebCore): | 
| +        (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier): | 
| +        (WebCore::AcceleratedTextureCopier::~AcceleratedTextureCopier): | 
| +        (WebCore::AcceleratedTextureCopier::copyTexture): | 
| +        * platform/graphics/chromium/TextureCopier.h: Added. | 
| +        (WebCore): | 
| +        (TextureCopier): | 
| +        (WebCore::TextureCopier::~TextureCopier): | 
| +        (AcceleratedTextureCopier): | 
| +        (WebCore::AcceleratedTextureCopier::create): | 
| +        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: | 
| +        (WebCore::CCSingleThreadProxy::doCommit): | 
| +        * platform/graphics/chromium/cc/CCTextureUpdater.cpp: | 
| +        (WebCore::CCTextureUpdater::CCTextureUpdater): | 
| +        * platform/graphics/chromium/cc/CCTextureUpdater.h: | 
| +        (WebCore): | 
| +        (CCTextureUpdater): | 
| +        (WebCore::CCTextureUpdater::copier): | 
| +        * platform/graphics/chromium/cc/CCThreadProxy.cpp: | 
| +        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread): | 
| + | 
| +2012-03-27  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Correct SVG paint functions that are still using IntPoints | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82343 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        Two small corrections to SVG paint functions that should use LayoutPoint instead | 
| +        of IntPoint. | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * rendering/svg/RenderSVGShape.cpp: | 
| +        (WebCore::RenderSVGShape::paint): | 
| +        * rendering/svg/RenderSVGText.cpp: | 
| +        (WebCore::RenderSVGText::paint): | 
| + | 
| +2012-03-27  Zalan Bujtas  <zbujtas@gmail.com> | 
| + | 
| +        Frame flattening: childframe in FrameView::layout() needs protector. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82345 | 
| + | 
| +        Reviewed by Kenneth Rohde Christiansen. | 
| + | 
| +        RefPtr<FrameView> protector(this) is supposed to protect the current frameview in | 
| +        FrameView::layout() from being destroyed by recalcStyle(). | 
| +        However, when frame flattening is on and a child frame is re-starting layout from | 
| +        the topmost parent, the protection is missing and parent's recalcStyle() | 
| +        can destroy the child frame. | 
| +        Moving the protector before the layout re-starting is initiated makes the child frame | 
| +        safe. | 
| + | 
| +        No new tests. Unable to create a test case, where this scenario is reproducible. | 
| + | 
| +        * page/FrameView.cpp: | 
| +        (WebCore::FrameView::layout): | 
| + | 
| +2012-03-27  Antti Koivisto  <antti@apple.com> | 
| + | 
| +        Construct CSSCharsetRule on CSSOM API access only | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82332 | 
| + | 
| +        Reviewed by Andreas Kling. | 
| + | 
| +        Charset is just a string. There is usually no need to construct CSSCharsetRule at all. | 
| + | 
| +        - Make CSS parser to return encoding string instead of CSSCharsetRule object. This | 
| +          string is used for constructing CSSCharsetRule if it is needed (and nothing else, | 
| +          @charset has no effect after string decoding). | 
| +        - Remove internal interface for adding and removing rules. It has no clients. | 
| + | 
| +        * css/CSSGrammar.y: | 
| +        * css/CSSParser.cpp: | 
| +        (WebCore): | 
| +        * css/CSSParser.h: | 
| +        * css/CSSStyleSelector.cpp: | 
| +        (WebCore::CSSStyleSelector::collectMatchingRulesForList): | 
| +        * css/CSSStyleSheet.cpp: | 
| +        (WebCore::CSSStyleSheet::~CSSStyleSheet): | 
| +        (WebCore::CSSStyleSheet::parserAppendRule): | 
| +        (WebCore::CSSStyleSheet::ensureCharsetRule): | 
| +        (WebCore): | 
| +        (WebCore::CSSStyleSheet::length): | 
| +        (WebCore::CSSStyleSheet::item): | 
| +        (WebCore::CSSStyleSheet::clearCharsetRule): | 
| +        (WebCore::CSSStyleSheet::clearRules): | 
| +        (WebCore::CSSStyleSheet::parserSetEncodingFromCharsetRule): | 
| +        (WebCore::CSSStyleSheet::rules): | 
| +        (WebCore::CSSStyleSheet::insertRule): | 
| +        (WebCore::CSSStyleSheet::addRule): | 
| +        (WebCore::CSSStyleSheet::deleteRule): | 
| +        * css/CSSStyleSheet.h: | 
| +        (WebCore): | 
| +        (CSSStyleSheet): | 
| +        (WebCore::CSSStyleSheet::ruleVector): | 
| +        (WebCore::CSSStyleSheet::hasCharsetRule): | 
| +        * inspector/InspectorStyleSheet.cpp: | 
| +        (WebCore::InspectorStyleSheet::reparseStyleSheet): | 
| + | 
| +2012-03-27  Stephen White  <senorblanco@chromium.org> | 
| + | 
| +        [chromium] Fix filter context creation to be more conservative. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82349 | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        Covered by webkit_unit_tests, and css3/filters layout tests. | 
| + | 
| +        * platform/graphics/chromium/LayerChromium.cpp: | 
| +        (WebCore::LayerChromium::setFilters): | 
| +        Only request a filter context if the filter lists is non-empty. | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHost.h: | 
| +        (WebCore::CCLayerTreeHost::setNeedsFilterContext): | 
| +        Add a bool param, so tests can cancel a request for filter contexts. | 
| + | 
| +2012-03-27  Stephen Chenney  <schenney@chromium.org> | 
| + | 
| +        <svg:use> elements in the parser can create elements not marked as created by the parser | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81985 | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        The SVGUseElement was creating its shadow tree immediately upon | 
| +        demand. This resulted in nodes being created that were not marked as | 
| +        "createdByParser", even during parsing. As it happens, there is | 
| +        already code in there to track "createdByParser" in the SVGUseElement, | 
| +        it was just being ignored all the time. This may even have been | 
| +        inefficient. Now we delay creating the shadow dom tree until children | 
| +        are finished, which is the standard time to handle the createdByParser | 
| +        flag. | 
| + | 
| +        I also verified that other SVG classes that derived from core DOM | 
| +        classes that use the createdByParser flag do correctly pass this flag | 
| +        on. | 
| + | 
| +        No new tests as this is covered by existing tests and does not have new behavior. | 
| + | 
| +        * svg/SVGUseElement.cpp: | 
| +        (WebCore::SVGUseElement::insertedIntoDocument): | 
| +        (WebCore::SVGUseElement::svgAttributeChanged): | 
| +        (WebCore::SVGUseElement::willRecalcStyle): | 
| +        (WebCore::SVGUseElement::finishParsingChildren): | 
| +        * xml/XMLErrors.cpp: | 
| +        (WebCore::XMLErrors::insertErrorMessageBlock): | 
| + | 
| +2012-03-27  Ming Xie  <mxie@rim.com> | 
| + | 
| +        [BlackBerry] Disable DisallowCType.h usage | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82211 | 
| + | 
| +        Reviewed by Rob Buis. | 
| + | 
| +        Build fix: QNX port does use ctype.h, so we should not | 
| +        include <wtf/DisallowCType.h> in WebCore/config.h | 
| + | 
| +        No new tests - Build Fix | 
| + | 
| +        * config.h: | 
| + | 
| +2012-03-27  Hao Zheng  <zhenghao@chromium.org> | 
| + | 
| +        Change default position attribute of media control panel to relative for Android. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82303 | 
| + | 
| +        Reviewed by Eric Carlson. | 
| + | 
| +        Follow up https://bugs.webkit.org/show_bug.cgi?id=79746 . | 
| + | 
| +        * css/mediaControlsChromiumAndroid.css: | 
| +        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): | 
| + | 
| +2012-03-27  Alexei Filippov  <alexeif@chromium.org> | 
| + | 
| +        Web Inspector: Speed up snapshot parsing. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82325 | 
| + | 
| +        Replacing the iterators with raw nodes/edges access speeds up | 
| +        some phases phasses up to 10 times, taking down the whole init | 
| +        time to less than 6 sec. | 
| + | 
| +        Reviewed by Yury Semikhatsky. | 
| + | 
| +        * inspector/front-end/HeapSnapshot.js: | 
| +        (WebInspector.HeapSnapshot.prototype._buildNodeIndex): | 
| +        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes): | 
| +        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects): | 
| + | 
| +2012-03-27  Antti Koivisto  <antti@apple.com> | 
| + | 
| +        Assertion failure in acid2. | 
| + | 
| +        Rubber-stamped by Andreas Kling. | 
| + | 
| +        Remove assert added in http://trac.webkit.org/changeset/112258. It seems insertedInto/removedFromDocument | 
| +        don't always pair. | 
| + | 
| +        * svg/SVGDocumentExtensions.cpp: | 
| +        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions): | 
| + | 
| +2012-03-27  Yury Semikhatsky  <yurys@chromium.org> | 
| + | 
| +        Web Inspector: simplify heap profiler front-end | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82338 | 
| + | 
| +        Simplify constructors of WebInspector.HeapSnapshotArraySlice and | 
| +        WebInspector.HeapSnapshotEdgesProvider. | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        * inspector/front-end/HeapSnapshot.js: | 
| +        (WebInspector.HeapSnapshotArraySlice): | 
| +        (WebInspector.HeapSnapshotArraySlice.prototype.item): | 
| +        (WebInspector.HeapSnapshotArraySlice.prototype.slice): | 
| +        (WebInspector.HeapSnapshotNode.prototype.get rawEdges): | 
| +        (WebInspector.HeapSnapshot.prototype._retainersForNode): | 
| +        (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode): | 
| +        (WebInspector.HeapSnapshot.prototype.createEdgesProvider): | 
| +        (WebInspector.HeapSnapshotEdgesProvider): | 
| + | 
| +2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org> | 
| + | 
| +        Web Inspector: Tabbed pane should set focus on its contents on tab click. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82323 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        Otherwise selected tab does not have focus. | 
| +        Also added tabIndex on tabElements to prevent pasting on closing middle click. | 
| + | 
| +        * inspector/front-end/TabbedPane.js: | 
| +        (WebInspector.TabbedPane): | 
| +        (WebInspector.TabbedPane.prototype.focus): | 
| +        (WebInspector.TabbedPane.prototype.selectTab): | 
| +        (WebInspector.TabbedPaneTab.prototype._createTabElement): | 
| +        (WebInspector.TabbedPaneTab.prototype._tabClicked): | 
| + | 
| +2012-03-27  Pavel Podivilov  <podivilov@chromium.org> | 
| + | 
| +        Web Inspector: dispatch breakpoint-added and breakpoint-removed events on UISourceCode. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82318 | 
| + | 
| +        Reviewed by Vsevolod Vlasov. | 
| + | 
| +        Breakpoint-added and breakpoint-removed events are always related to specific UISourceCode. | 
| +        See bug 82224 for more details. | 
| + | 
| +        * inspector/front-end/BreakpointManager.js: | 
| +        (WebInspector.BreakpointManager.prototype._addBreakpointToUI): | 
| +        (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI): | 
| +        * inspector/front-end/DebuggerPresentationModel.js: | 
| +        (WebInspector.DebuggerPresentationModel): | 
| +        (WebInspector.UISourceCodeImpl.prototype.breakpointAdded): | 
| +        (WebInspector.UISourceCodeImpl.prototype.breakpointRemoved): | 
| +        * inspector/front-end/ScriptsPanel.js: | 
| +        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded): | 
| +        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved): | 
| +        (WebInspector.ScriptsPanel.prototype._addBreakpointListeners): | 
| +        (WebInspector.ScriptsPanel.prototype._removeBreakpointListeners): | 
| +        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced): | 
| +        * inspector/front-end/UISourceCode.js: | 
| + | 
| +2012-03-27  Jason Liu  <jason.liu@torchmobile.com.cn> | 
| + | 
| +        [BlackBerry]Cleanup WTF string in platform/network/blackberry | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82005 | 
| + | 
| +        Reviewed by Rob Buis. | 
| + | 
| +        No new tests. Just replace WTF::String with String. | 
| + | 
| +        * platform/network/blackberry/NetworkJob.cpp: | 
| +        (WebCore::NetworkJob::handleNotifyDataReceived): | 
| + | 
| +2012-03-27  Alexander Pavlov  <apavlov@chromium.org> | 
| + | 
| +        Web Inspector: Enable "number" parameters in the web inspector protocol methods | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82334 | 
| + | 
| +        The generated protocol dispatcher does not understand protocol method parameters of type "number" | 
| +        (mapped to "double" in the native code.) | 
| + | 
| +        Reviewed by Vsevolod Vlasov. | 
| + | 
| +        * inspector/CodeGeneratorInspector.py: | 
| +        (RawTypes.Number.get_getter_name): | 
| +        (RawTypes.Number.get_c_initializer): | 
| +        (RawTypes.Number.get_js_bind_type): | 
| +        (RawTypes.Number.get_validate_method_params.ValidateMethodParams): | 
| +        (RawTypes.Number.get_validate_method_params): | 
| + | 
| +2012-03-27  Alexei Filippov  <alexeif@chromium.org> | 
| + | 
| +        Web Inspector: Fix missing objects in the dominators view. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82194 | 
| + | 
| +        Due to the nature of dominators tree it is not possible to hide internal | 
| +        objects there because they may happen to contain user objects that can't | 
| +        be hidden. | 
| +        Besides that it fixes a small bug in HeapSnapshotArraySlice.slice | 
| +        function. | 
| + | 
| +        Reviewed by Yury Semikhatsky. | 
| + | 
| +        * inspector/front-end/DetailedHeapshotGridNodes.js: | 
| +        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider): | 
| +        * inspector/front-end/HeapSnapshot.js: | 
| +        (WebInspector.HeapSnapshotArraySlice.prototype.slice): | 
| + | 
| +2012-03-27  Antti Koivisto  <antti@apple.com> | 
| + | 
| +        Remove Document::mappedElementSheet() | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82242 | 
| + | 
| +        Reviewed by Andreas Kling and Nikolas Zimmermann. | 
| + | 
| +        The only thing this is used for anymore is SVGFontFaceElement. That can be handled without | 
| +        the confusing extra stylesheet. | 
| + | 
| +        * css/CSSStyleSelector.cpp: | 
| +        (WebCore::CSSStyleSelector::CSSStyleSelector): | 
| +        * css/CSSStyleSelector.h: | 
| +        (CSSStyleSelector): | 
| + | 
| +            - Add font face rules from registered SVGFontFaceElements. | 
| +            - Simplify the constructor signature. Stylesheets are part of the document. | 
| + | 
| +        * dom/Document.cpp: | 
| +        (WebCore::Document::~Document): | 
| +        (WebCore::Document::createStyleSelector): | 
| +        (WebCore): | 
| +        (WebCore::Document::updateBaseURL): | 
| +        * dom/Document.h: | 
| +        (WebCore): | 
| +        (WebCore::Document::documentUserSheets): | 
| +        (Document): | 
| + | 
| +            - Remove mappedElementSheet | 
| +            - Adapt to the CSSStyleSelector constructor signature changes. | 
| + | 
| +        * svg/SVGDocumentExtensions.cpp: | 
| +        (WebCore::SVGDocumentExtensions::svgFontFaceElements): | 
| +        (WebCore): | 
| +        (WebCore::SVGDocumentExtensions::registerSVGFontFaceElement): | 
| +        (WebCore::SVGDocumentExtensions::unregisterSVGFontFaceElement): | 
| +        * svg/SVGDocumentExtensions.h: | 
| +        (WebCore): | 
| +        (SVGDocumentExtensions): | 
| + | 
| +            - Add map for SVGFontFaceElements | 
| + | 
| +        * svg/SVGFontFaceElement.cpp: | 
| +        (WebCore::SVGFontFaceElement::insertedIntoDocument): | 
| +        (WebCore::SVGFontFaceElement::removedFromDocument): | 
| +        (WebCore): | 
| +        * svg/SVGFontFaceElement.h: | 
| +        (SVGFontFaceElement): | 
| +        (WebCore::SVGFontFaceElement::fontFaceRule): | 
| + | 
| +            - Switch to updating svgFontFaceElements map. | 
| +            - Use elementSheet as the parent sheet (nothing is ever added to the elementSheet, it is used for | 
| +              resolving relative URLs only). | 
| + | 
| +2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org> | 
| + | 
| +        Web Inspector: startEditing should remove tabIndex attribute from the element if it was not set before. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82322 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        This patch removes tabIndex attribute from the element after editing if it was not present before. | 
| +        Otherwise tabIndex becomes set unexpectedly after exiting edit mode. | 
| + | 
| +        * inspector/front-end/UIUtils.js: | 
| +        (WebInspector.startEditing.cleanUpAfterEditing): | 
| + | 
| +2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org> | 
| + | 
| +        Web Inspector: Tree outline should not start search on key press if it is being edited. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82327 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        This is needed for snippet renaming support. | 
| + | 
| +        * inspector/front-end/treeoutline.js: | 
| +        (TreeOutline): | 
| +        (TreeOutline.prototype._treeKeyPress): | 
| + | 
| +2012-03-27  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Revert RenderApplet::intrinsicSize to integers | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82206 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        Intrinsic sizes originate either outside of WebCore, or from their initial values, | 
| +        which are always integers. Reverting RenderApplet::intrinsicSize to integers, the | 
| +        last spot improperly using LayoutUnits | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * rendering/RenderApplet.cpp: | 
| +        (WebCore::RenderApplet::intrinsicSize): | 
| +        * rendering/RenderApplet.h: | 
| +        (RenderApplet): | 
| + | 
| + | 
| +2012-03-27  Alexis Menard  <alexis.menard@openbossa.org> | 
| + | 
| +        Increase code sharing between CSSComputedStyleDeclaration and CSSPropertyLonghand. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82261 | 
| + | 
| +        Reviewed by Ryosuke Niwa. | 
| + | 
| +        Use longhands declaration from CSSPropertyLonghand in CSSComputedStyleDeclaration to avoid | 
| +        code duplication. | 
| + | 
| +        No new tests : refactoring only, we shouldn't have any behavior difference. | 
| + | 
| +        * css/CSSComputedStyleDeclaration.cpp: | 
| +        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): | 
| +        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties): | 
| +        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand): | 
| +        * css/CSSComputedStyleDeclaration.h: | 
| +        (WebCore): | 
| +        (CSSComputedStyleDeclaration): | 
| +        * css/CSSPropertyLonghand.cpp: | 
| +        (WebCore::outlineLonghand): | 
| +        Re-order to match the spec default order and also remove outline-offset as it is not part | 
| +        of the shorthand (http://www.w3.org/TR/css3-ui/#outline). Luckily this was cover by a layout test. | 
| + | 
| +2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org> | 
| + | 
| +        Web Inspector: Editable TextViewer should show cursor when it is focused. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82320 | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        TextViewer now focuses editable inner container unless read-only flag is set. | 
| + | 
| +        * inspector/front-end/TextViewer.js: | 
| +        (WebInspector.TextViewer.prototype.focus): | 
| +        (WebInspector.TextEditorMainPanel): | 
| +        (WebInspector.TextEditorMainPanel.prototype._handleElementFocus): | 
| +        (WebInspector.TextEditorMainPanel.prototype.focus): | 
| + | 
| +2012-03-26  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Unreviewed. Removing change markers from ChangeLog. | 
| + | 
| +2012-03-26  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Convert RenderSelectionInfo::rect to LayoutUnits | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82213 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates local to | 
| +        renderers should be stored in LayoutUnits. | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * rendering/RenderSelectionInfo.h: | 
| +        (WebCore::RenderSelectionInfo::rect): | 
| +        (RenderSelectionInfo): | 
| + | 
| +2012-03-26  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Convert RenderSelectionInfo::rect to LayoutUnits | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82213 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates | 
| +        local to renderers should be stored in LayoutUnits as described in | 
| +        http://trac.webkit.org/wiki/LayoutUnit | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * rendering/RenderSelectionInfo.h: | 
| +        (WebCore::RenderSelectionInfo::rect): | 
| +        (RenderSelectionInfo): | 
| + | 
| +2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com> | 
| + | 
| +        Enable animVal support for SVGAnimatedRect | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82317 | 
| + | 
| +        Reviewed by Zoltan Herczeg. | 
| + | 
| +        Enable animVal support for SVGAnimatedRect. Very simple now that everything is prepared. | 
| +        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedRectAnimator. | 
| + | 
| +        Extended existing tests to cover this. | 
| + | 
| +        * svg/SVGAnimatedRect.cpp: | 
| +        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation): | 
| +        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation): | 
| +        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal): | 
| +        (WebCore::SVGAnimatedRectAnimator::animValWillChange): | 
| +        (WebCore::SVGAnimatedRectAnimator::animValDidChange): | 
| +        * svg/SVGAnimatedRect.h: | 
| +        (SVGAnimatedRectAnimator): | 
| +        * svg/SVGAnimatedType.cpp: | 
| +        (WebCore::SVGAnimatedType::supportsAnimVal): | 
| + | 
| +2012-03-27  Sheriff Bot  <webkit.review.bot@gmail.com> | 
| + | 
| +        Unreviewed, rolling out r112201. | 
| +        http://trac.webkit.org/changeset/112201 | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82302 | 
| + | 
| +        Breaks chromium's WebPageSerializerTest.HTMLNodes test | 
| +        (Requested by pfeldman on #webkit). | 
| + | 
| +        * loader/cache/CachedCSSStyleSheet.cpp: | 
| +        (WebCore::CachedCSSStyleSheet::error): | 
| +        (WebCore): | 
| +        * loader/cache/CachedCSSStyleSheet.h: | 
| +        (CachedCSSStyleSheet): | 
| +        * loader/cache/CachedFont.cpp: | 
| +        (WebCore): | 
| +        (WebCore::CachedFont::error): | 
| +        * loader/cache/CachedFont.h: | 
| +        (CachedFont): | 
| +        * loader/cache/CachedImage.cpp: | 
| +        (WebCore::CachedImage::error): | 
| +        * loader/cache/CachedResource.h: | 
| +        (CachedResource): | 
| +        * loader/cache/CachedScript.cpp: | 
| +        (WebCore::CachedScript::error): | 
| +        (WebCore): | 
| +        * loader/cache/CachedScript.h: | 
| +        (CachedScript): | 
| +        * loader/cache/CachedXSLStyleSheet.cpp: | 
| +        (WebCore::CachedXSLStyleSheet::error): | 
| +        (WebCore): | 
| +        * loader/cache/CachedXSLStyleSheet.h: | 
| +        (CachedXSLStyleSheet): | 
| + | 
| +2012-03-27  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        LayoutRepainter: Remove unused constructor parameter and update to LayoutUnits | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82185 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        Removing an optional parameter for old bounds in LayoutRepainter's constructor that | 
| +        is no longer used. The old bounds are instead always gleaned from the renderer's | 
| +        clippedOverflowRectForRepaint. | 
| + | 
| +        The renderer's bounds and outline rect also are stored in LayoutUnits to properly | 
| +        detect sub-pixel changes during layout. Eventually, we'll pixel snap these values | 
| +        when telling the embedder to invalidate. Adding a comment to that effect. | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * rendering/LayoutRepainter.cpp: | 
| +        (WebCore::LayoutRepainter::LayoutRepainter): | 
| +        * rendering/LayoutRepainter.h: | 
| +        (LayoutRepainter): | 
| + | 
| +2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com> | 
| + | 
| +        Enable animVal support for SVGAnimatedString | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82316 | 
| + | 
| +        Reviewed by Zoltan Herczeg. | 
| + | 
| +        Enable animVal support for SVGAnimatedString. Very simple now that everything is prepared. | 
| +        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedStringAnimator. | 
| + | 
| +        Test: svg/animations/svgstring-animation-1.html | 
| + | 
| +        * svg/SVGAnimatedString.cpp: | 
| +        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation): | 
| +        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation): | 
| +        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal): | 
| +        (WebCore::SVGAnimatedStringAnimator::animValWillChange): | 
| +        (WebCore::SVGAnimatedStringAnimator::animValDidChange): | 
| +        * svg/SVGAnimatedString.h: | 
| +        (SVGAnimatedStringAnimator): | 
| +        * svg/SVGAnimatedType.cpp: | 
| +        (WebCore::SVGAnimatedType::supportsAnimVal): | 
| + | 
| +2012-03-27  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Update usage of LayoutUnits in RenderListMarker | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81921 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        Implementing proper pixel snapping in list marker painting, and correcting usage of integers | 
| +        for local coordinates/margins that should be sub-pixel. | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * rendering/RenderListMarker.cpp: | 
| +        (WebCore::RenderListMarker::localSelectionRect): Changed to LayoutUnits since this represents | 
| +        a rect in local coordinates. | 
| +        (WebCore::RenderListMarker::paint): Doing proper pixel snapping, and using integers for | 
| +        results from text measurement. | 
| +        (WebCore::RenderListMarker::computePreferredLogicalWidths): Using integers for results | 
| +        from text measurement. | 
| +        (WebCore::RenderListMarker::updateMargins): Fixing to be LayoutUnits. | 
| +        * rendering/RenderListMarker.h: | 
| +        (RenderListMarker): | 
| + | 
| +2012-03-27  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Revert linesBoundingBox to integers | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82182 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        LayoutRects are intended to be pixel snapped to determine the ultimate screen | 
| +        coordinates, but the Inline Box tree is laid out using floats, and pixel snapping | 
| +        the resulting box from linesBoundingBox would produce a potentially incorrect | 
| +        rectangle. Keeping this using enclosingIntRect retains the previous accuracy and | 
| +        prevents misuse. | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * rendering/RenderInline.cpp: | 
| +        (WebCore::RenderInline::linesBoundingBox): | 
| +        * rendering/RenderInline.h: | 
| +        (RenderInline): | 
| +        * rendering/RenderLayer.cpp: | 
| +        (WebCore::RenderLayer::updateLayerPosition): | 
| +        * rendering/RenderText.cpp: | 
| +        (WebCore::RenderText::linesBoundingBox): | 
| +        * rendering/svg/RenderSVGInlineText.cpp: | 
| +        (WebCore::RenderSVGInlineText::linesBoundingBox): | 
| +        * rendering/svg/RenderSVGInlineText.h: | 
| +        (RenderSVGInlineText): | 
| + | 
| +2012-03-26  Pavel Podivilov  <podivilov@chromium.org> | 
| + | 
| +        Web Inspector: store UIBreakpoints on UISourceCode. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82214 | 
| + | 
| +        This change will allow us to make breakpoint-added and breakpoint-removed events a part of UISourceCode interface. | 
| +        See bug 82224 for more details. | 
| + | 
| +        Reviewed by Vsevolod Vlasov. | 
| + | 
| +        * inspector/front-end/BreakpointManager.js: | 
| +        (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved): | 
| +        (WebInspector.BreakpointManager.prototype.setBreakpoint): | 
| +        (WebInspector.BreakpointManager.prototype.removeBreakpoint): | 
| +        (WebInspector.BreakpointManager.prototype._addBreakpointToUI): | 
| +        (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI): | 
| +        (WebInspector.BreakpointManager.prototype.debuggerReset): | 
| +        * inspector/front-end/CompilerScriptMapping.js: | 
| +        (WebInspector.CompilerScriptMapping.prototype.addScript): | 
| +        * inspector/front-end/DebuggerPresentationModel.js: | 
| +        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit): | 
| +        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForUISourceCode): | 
| +        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): | 
| +        (WebInspector.UISourceCodeImpl): | 
| +        (WebInspector.UISourceCodeImpl.prototype.breakpoints): | 
| +        (WebInspector.UISourceCodeImpl.prototype.breakpointAdded): | 
| +        (WebInspector.UISourceCodeImpl.prototype.breakpointRemoved): | 
| +        * inspector/front-end/RawSourceCode.js: | 
| +        (WebInspector.RawSourceCode.prototype._createUISourceCode): | 
| +        * inspector/front-end/SnippetsModel.js: | 
| +        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded): | 
| +        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript): | 
| +        * inspector/front-end/UISourceCode.js: | 
| +        (WebInspector.UISourceCode.prototype.get domain): | 
| +        (WebInspector.UISourceCode.prototype.get folderName): | 
| +        (WebInspector.UISourceCode.prototype.get fileName): | 
| +        (WebInspector.UISourceCode.prototype.get displayName): | 
| +        (WebInspector.UISourceCode.prototype._parseURL): | 
| +        (WebInspector.UISourceCode.prototype._didRequestContent): | 
| +        (WebInspector.UISourceCode.prototype.breakpoints): | 
| +        * inspector/front-end/inspector.html: | 
| + | 
| +2012-03-27  Nat Duca  <nduca@chromium.org> | 
| + | 
| +        [chromium] Fix crash with fling with tracing enabled | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82306 | 
| + | 
| +        The TRACE_EVENT_START instrumentation was deferencing a PassOwnPtr | 
| +        after it had been passed into another OwnPtr. This caused frequent | 
| +        crashes when tracing was enabled. | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        * platform/ActivePlatformGestureAnimation.cpp: | 
| +        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation): | 
| +        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp: | 
| +        (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation): | 
| + | 
| +2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com> | 
| + | 
| +        [SOUP] Implement missing methods in CookieJarSoup | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82082 | 
| + | 
| +        Reviewed by Martin Robinson. | 
| + | 
| +        * platform/network/soup/CookieJarSoup.cpp: | 
| +        (WebCore::defaultCookieJar): Return a global GRefPtr to store the | 
| +        default cookie jar. | 
| +        (WebCore::soupCookieJar): Return the current cookie jar or create | 
| +        a new one. | 
| +        (WebCore::setSoupCookieJar): Set the current cookie jar. | 
| +        (WebCore::setCookies): Fix coding style. | 
| +        (WebCore::cookiesForDocument): Helper function to get the list of | 
| +        cookies as a string. | 
| +        (WebCore::cookies): Use cookiesForDocument(). | 
| +        (WebCore::cookieRequestHeaderFieldValue): Ditto. | 
| +        (WebCore::getRawCookies): Get the list of cookies for the given | 
| +        document and url. | 
| +        (WebCore::deleteCookie): Delete the given cookie. | 
| +        (WebCore::getHostnamesWithCookies): Use GOwnPtr. | 
| +        (WebCore::deleteCookiesForHostname): Use GOwnPtr and | 
| +        soup_cookie_domain_matches() instead of comparing the domain | 
| +        directly with the given hostname. | 
| +        (WebCore::deleteAllCookies): Use GOwnPtr. | 
| +        * platform/network/soup/CookieJarSoup.h: | 
| +        * platform/network/soup/GOwnPtrSoup.cpp: | 
| +        (WTF::SoupCookie): Add GOwnPtr template for SoupCookie. | 
| +        * platform/network/soup/GOwnPtrSoup.h: | 
| +        * platform/network/soup/ResourceHandleSoup.cpp: | 
| +        (WebCore::ensureSessionIsInitialized): Use soupCookieJar() instead | 
| +        of defaultCookieJar(). | 
| + | 
| +2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com> | 
| + | 
| +        Enable animVal support for SVGAnimatedBoolean | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82311 | 
| + | 
| +        Reviewed by Antti Koivisto. | 
| + | 
| +        Enable animVal support for SVGAnimatedBoolean. Very simple now that everything is prepared. | 
| +        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedBooleanAnimator. | 
| + | 
| +        Extended existing tests to cover this. | 
| + | 
| +        * svg/SVGAnimatedBoolean.cpp: | 
| +        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation): | 
| +        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation): | 
| +        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal): | 
| +        (WebCore::SVGAnimatedBooleanAnimator::animValWillChange): | 
| +        (WebCore::SVGAnimatedBooleanAnimator::animValDidChange): | 
| +        * svg/SVGAnimatedBoolean.h: | 
| +        (SVGAnimatedBooleanAnimator): | 
| +        * svg/SVGAnimatedType.cpp: | 
| +        (WebCore::SVGAnimatedType::setValueAsString): | 
| +        (WebCore::SVGAnimatedType::supportsAnimVal): | 
| + | 
| +2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com> | 
| + | 
| +        <img style='width: 100%' src='foo.svg'> gets pixellated when stretched | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81631 | 
| + | 
| +        Reviewed by Antti Koivisto. | 
| + | 
| +        Final cleanup of RenderReplaced after the intrinsic size negotiation patch series from some weeks/months ago. | 
| +        Stop tracking whether a RenderReplaced has an intrinsic size or not with an extra-bool, instead assume each | 
| +        RenderReplaced derived class has an intrinsic size. If not, the class should override | 
| +        computeIntrinsicRatioInformation() for any custom logic - currently only done by RenderImage. | 
| + | 
| +        Remove all logic depending on m_hasIntrinsicSize from computeReplacedLogicalWidth/Height, which was used | 
| +        to support different sizing models depending on if the replaced element is a RenderImage or a RenderPart. | 
| +        Unify all of this in computeIntrinsicRatioInformation right in RenderReplaced. This allows to remove | 
| +        a hack from RenderImage::computeReplacedLogicalWidth(), which forced the synchroniziation of the intrinsicSize() | 
| +        before calling the base classes RenderReplaced::computeReplacedLogicalWidth(). | 
| +        Now RenderImage just overrides the layout() method, calls RenderReplaced::layout() and then sets the container | 
| +        size of the image resources to [contentWidth(), contentHeight()] - reflecting the actual result of the layout. | 
| +        Furthermore this now allows us to unify CachedImage::imageSizeForRenderer() again for both SVG and non-SVG images. | 
| + | 
| +        Propagating the right container size to the image resource fixes the actual bug, that the SVGImage got pixellated. | 
| +        Adding new tests covering percentage width or height set on an <img> embedding an external SVG, no more pixelation. | 
| + | 
| +        Tests: svg/as-image/img-relative-height-expected.html | 
| +               svg/as-image/img-relative-height.html | 
| +               svg/as-image/img-relative-width-expected.html | 
| +               svg/as-image/img-relative-width.html | 
| + | 
| +        * loader/cache/CachedImage.cpp: | 
| +        (WebCore::CachedImage::imageSizeForRenderer): | 
| +        * rendering/RenderEmbeddedObject.cpp: | 
| +        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): | 
| +        * rendering/RenderImage.cpp: | 
| +        (WebCore::RenderImage::layout): | 
| +        (WebCore::RenderImage::computeIntrinsicRatioInformation): | 
| +        * rendering/RenderImage.h: | 
| +        (RenderImage): | 
| +        * rendering/RenderReplaced.cpp: | 
| +        (WebCore::RenderReplaced::RenderReplaced): | 
| +        (WebCore::rendererHasAspectRatio): | 
| +        (WebCore): | 
| +        (WebCore::RenderReplaced::computeIntrinsicRatioInformationForRenderBox): | 
| +        (WebCore::RenderReplaced::computeIntrinsicRatioInformation): | 
| +        (WebCore::RenderReplaced::computeReplacedLogicalWidth): | 
| +        (WebCore::RenderReplaced::computeReplacedLogicalHeight): | 
| +        * rendering/RenderReplaced.h: | 
| +        (WebCore::RenderReplaced::intrinsicSize): | 
| +        (RenderReplaced): | 
| +        (WebCore::RenderReplaced::setIntrinsicSize): | 
| +        * svg/graphics/SVGImage.cpp: | 
| +        (WebCore::SVGImage::setContainerSize): | 
| +        * svg/graphics/SVGImage.h: | 
| +        (WebCore::SVGImage::usesContainerSize): | 
| + | 
| +2012-03-27  Ilya Tikhonovsky  <loislo@chromium.org> | 
| + | 
| +        Web Inspector: HeapSnapshot: speed-up distanceToWindow calculation. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82305 | 
| + | 
| +        Reviewed by Yury Semikhatsky. | 
| + | 
| +        * inspector/front-end/HeapSnapshot.js: | 
| +        (WebInspector.HeapSnapshot.prototype._bfs): | 
| + | 
| +2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com> | 
| + | 
| +        SVGAnimatedType should support SVGAnimatedIntegerOptionalInteger animation | 
| +        https://bugs.webkit.org/show_bug.cgi?id=67563 | 
| + | 
| +        Reviewed by Dirk Schulze. | 
| + | 
| +        Add SVGAnimatedIntegerOptionalInteger type handling animation of pair<int, int> objects | 
| +        as used for the SVG properties 'filterRes' and 'order'. They're currently animated as | 
| +        SVGAnimatedNumberOptionalNumber - but that won't work for animVal support. Fix that | 
| +        and enable animVal support for SVGAnimatedInteger(OptionalInteger). | 
| + | 
| +        Use 'int' as datatype for SVGAnimatedInteger instead of 'long' for consistency, and | 
| +        move SVGAnimatedEnumeration from 'int' to 'unsigned short', to make them distinguishable. | 
| + | 
| +        Test: svg/animations/svginteger-animation-2.html | 
| + | 
| +        * CMakeLists.txt: | 
| +        * GNUmakefile.list.am: | 
| +        * Target.pri: | 
| +        * WebCore.gypi: | 
| +        * WebCore.vcproj/WebCore.vcproj: | 
| +        * WebCore.xcodeproj/project.pbxproj: | 
| +        * svg/SVGAllInOne.cpp: | 
| +        * svg/SVGAnimatedEnumeration.h: | 
| +        (WebCore): | 
| +        * svg/SVGAnimatedInteger.cpp: | 
| +        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation): | 
| +        (WebCore): | 
| +        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation): | 
| +        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal): | 
| +        (WebCore::SVGAnimatedIntegerAnimator::animValWillChange): | 
| +        (WebCore::SVGAnimatedIntegerAnimator::animValDidChange): | 
| +        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger): | 
| +        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue): | 
| +        * svg/SVGAnimatedInteger.h: | 
| +        (WebCore): | 
| +        (SVGAnimatedIntegerAnimator): | 
| +        * svg/SVGAnimatedIntegerOptionalInteger.cpp: Added. | 
| +        (WebCore): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::SVGAnimatedIntegerOptionalIntegerAnimator): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndToValues): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndByValues): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateDistance): | 
| +        * svg/SVGAnimatedIntegerOptionalInteger.h: Copied from Source/WebCore/svg/SVGAnimatedInteger.h. | 
| +        (WebCore): | 
| +        (SVGAnimatedIntegerOptionalIntegerAnimator): | 
| +        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::~SVGAnimatedIntegerOptionalIntegerAnimator): | 
| +        * svg/SVGAnimatedNumberOptionalNumber.cpp: | 
| +        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue): | 
| +        * svg/SVGAnimatedType.cpp: | 
| +        (WebCore::SVGAnimatedType::~SVGAnimatedType): | 
| +        (WebCore::SVGAnimatedType::createIntegerOptionalInteger): | 
| +        (WebCore): | 
| +        (WebCore::SVGAnimatedType::integerOptionalInteger): | 
| +        (WebCore::SVGAnimatedType::valueAsString): | 
| +        (WebCore::SVGAnimatedType::setValueAsString): | 
| +        (WebCore::SVGAnimatedType::supportsAnimVal): | 
| +        * svg/SVGAnimatedType.h: | 
| +        (SVGAnimatedType): | 
| +        * svg/SVGAnimatorFactory.h: | 
| +        (WebCore::SVGAnimatorFactory::create): | 
| +        * svg/SVGFilterElement.cpp: | 
| +        (WebCore::SVGFilterElement::setFilterRes): | 
| +        * svg/SVGFilterElement.h: | 
| +        (SVGFilterElement): | 
| +        * svg/SVGPathElement.cpp: | 
| +        (WebCore::SVGPathElement::getPathSegAtLength): | 
| +        * svg/SVGPathElement.h: | 
| +        (SVGPathElement): | 
| +        * svg/SVGPathParserFactory.cpp: | 
| +        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream): | 
| +        * svg/SVGPathParserFactory.h: | 
| +        (SVGPathParserFactory): | 
| +        * svg/SVGPathTraversalStateBuilder.cpp: | 
| +        (WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex): | 
| +        * svg/SVGPathTraversalStateBuilder.h: | 
| +        (SVGPathTraversalStateBuilder): | 
| +        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: | 
| +        (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal): | 
| +        (WebCore::SVGAnimatedEnumerationPropertyTearOff::create): | 
| +        (WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue): | 
| +        (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff): | 
| +        * svg/properties/SVGPropertyInfo.h: | 
| +        * svg/properties/SVGPropertyTraits.h: | 
| + | 
| +2012-03-25  Nikolas Zimmermann  <nzimmermann@rim.com> | 
| + | 
| +        Enable animVal support for SVGAngle | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82144 | 
| + | 
| +        Reviewed by Rob Buis. | 
| + | 
| +        Enable animVal support for SVGAnimatedAngle. Very simple now that everything is prepared. | 
| +        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedAngleAnimator. | 
| + | 
| +        Extended existing tests to cover this. | 
| + | 
| +        * svg/SVGAnimatedAngle.cpp: | 
| +        (WebCore::sharedSVGAngle): | 
| +        (WebCore::SVGAnimatedAngleAnimator::constructFromString): | 
| +        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation): | 
| +        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation): | 
| +        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal): | 
| +        (WebCore::SVGAnimatedAngleAnimator::animValWillChange): | 
| +        (WebCore::SVGAnimatedAngleAnimator::animValDidChange): | 
| +        (WebCore::SVGAnimatedAngleAnimator::calculateDistance): | 
| +        * svg/SVGAnimatedAngle.h: | 
| +        (SVGAnimatedAngleAnimator): | 
| +        * svg/SVGAnimatedType.cpp: | 
| +        (WebCore::SVGAnimatedType::supportsAnimVal): | 
| + | 
| +2012-03-27  Yury Semikhatsky  <yurys@chromium.org> | 
| + | 
| +        Web Inspector: remove remains of path finder in heap profiler front-end | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82304 | 
| + | 
| +        Removed remainders of heap path finder as this code is not used anymore. | 
| + | 
| +        Reviewed by Pavel Feldman. | 
| + | 
| +        * inspector/front-end/HeapSnapshot.js: | 
| +        * inspector/front-end/HeapSnapshotProxy.js: | 
| + | 
| +2012-03-27  Dan Bernstein  <mitz@apple.com> | 
| + | 
| +        Reverted r112214, since it was not the right fix for the build. | 
| + | 
| +        * css/StylePropertySet.cpp: | 
| +        (WebCore::StylePropertySet::asText): | 
| + | 
| +2012-03-27  Kentaro Hara  <haraken@chromium.org> | 
| + | 
| +        [V8][Performance] Optimize createTextNode(), createElement(), cloneNode(), etc | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82201 | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        This patch improves performance of createTextNode() by 13%, createElement() by 14%, | 
| +        and cloneNode() by 16%. Similar performance improvement will be observed in | 
| +        DOM methods that create a new object every time. | 
| + | 
| +        Performance test: https://bugs.webkit.org/attachment.cgi?id=133799 | 
| + | 
| +        The performance test results are as follows. Since the performance of V8's GC is | 
| +        really unstable, the average of measured times makes no sense in Chromium. | 
| +        Instead, let us focus on the median. I believe that this performance | 
| +        improvement has impact on Dromaeo, but we cannot observe the improvement | 
| +        due to the unsteadiness of V8's GC, as shown below. | 
| + | 
| +        Chromium/V8/Linux (without the patch): | 
| +        createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms) | 
| +        createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms) | 
| +        cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms) | 
| +        Dromaeo/dom-modify/createElement: 439.17runs/s +-31.60% (<--- pretty noisy) | 
| +        Dromaeo/dom-modify/createTextNode: 287.71runs/s +-28.39% (<--- pretty noisy) | 
| +        Dromaeo/dom-modify/cloneNode: 174.62runs/s +-25.68% (<--- pretty noisy) | 
| + | 
| +        Chromium/V8/Linux (with the patch): | 
| +        createTextNode : median=240ms (mean=411.12ms, min=237ms, max=2965ms) | 
| +        createElement : median=325ms (mean=585.30ms, min=317ms, max=2984ms) | 
| +        cloneNode : median=310ms (mean=522.48ms, min=302ms, max=2988ms) | 
| +        Dromaeo/dom-modify/createElement: 507.15runs/s +-36.00% (<--- pretty noisy) | 
| +        Dromaeo/dom-modify/createTextNode: 251.01runs/s +-6.57% | 
| +        Dromaeo/dom-modify/cloneNode: 177.85runs/s +-28.74% (<--- pretty noisy) | 
| + | 
| +        Chromium/V8/Mac (without the patch): | 
| +        createTextNode : median=317ms (mean=439.08ms, min=303ms, max=3126ms) | 
| +        createElement : median=403ms (mean=695.70ms, min=398ms, max=5615ms) | 
| +        cloneNode : median=384ms (mean=577.96ms, min=372ms, max=5313ms) | 
| +        Dromaeo/dom-modify/createElement: 493.89runs/s +-28.32% (<--- pretty noisy) | 
| +        Dromaeo/dom-modify/createTextNode: 279.66runs/s +-1.91% | 
| +        Dromaeo/dom-modify/cloneNode: 173.06runs/s +-24.41% (<--- pretty noisy) | 
| + | 
| +        Chromium/V8/Mac (with the patch): | 
| +        createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms) | 
| +        createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms) | 
| +        cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms) | 
| +        Dromaeo/dom-modify/createElement: 510.47runs/s +-28.13% (<--- pretty noisy) | 
| +        Dromaeo/dom-modify/createTextNode: 215.80runs/s +-20.99% (<--- pretty noisy) | 
| +        Dromaeo/dom-modify/cloneNode: 174.41runs/s +-24.85% (<--- pretty noisy) | 
| + | 
| +        Safari/JavaScriptCore/Mac: | 
| +        createTextNode : median=142ms (mean=141.04ms, min=110ms, max=168ms) | 
| +        createElement : median=234ms (mean=245.74ms, min=219ms, max=305ms) | 
| +        cloneNode : median=210ms (mean=213.36ms, min=204ms, max=284ms) | 
| +        Dromaeo/dom-modify/createElement: 822.49runs/s +-1.69% | 
| +        Dromaeo/dom-modify/createTextNode: 735.57runs/s +-0.91% | 
| +        Dromaeo/dom-modify/cloneNode: 135.20runs/s +-4.13% | 
| + | 
| +        This patch makes the following two optimizations: | 
| + | 
| +        [1] If the currently running context is equal to the context that we are about to enter, | 
| +        we do not call context->Enter(). | 
| +        [2] We do not create a Local handle of the context until we really need to enter the context. | 
| + | 
| +        * bindings/scripts/CodeGeneratorV8.pm: | 
| +        (GenerateToV8Converters): | 
| +        * bindings/v8/V8Proxy.cpp: | 
| +        (WebCore::V8Proxy::persistentContext): | 
| +        (WebCore): | 
| +        * bindings/v8/V8Proxy.h: | 
| +        (V8Proxy): | 
| + | 
| +        * WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Updated run-bindings-tests results. | 
| + | 
| +2012-03-27  Bill Budge  <bbudge@chromium.org> | 
| + | 
| +        cross-origin XMLHttpRequest doesn't work with redirect | 
| +        https://bugs.webkit.org/show_bug.cgi?id=57600 | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        Changes DocumentThreadableLoader to follow the CORS redirect steps when | 
| +        asynchronously loading a cross origin request with access control. Synchronous | 
| +        loads should not be affected. Also adds methods to ResourceRequestBase to | 
| +        clear special request headers that aren't allowed when using access control. | 
| +        Follows the CORS spec as described in the Latest Editor Draft at: | 
| +        http://www.w3.org/TR/cors/ | 
| + | 
| +        Test: http/tests/xmlhttprequest/access-control-and-redirects-async.html | 
| + | 
| +        * loader/DocumentThreadableLoader.cpp: | 
| +        * loader/DocumentThreadableLoader.h: | 
| +        * platform/network/ResourceRequestBase.cpp: | 
| +        * platform/network/ResourceRequestBase.h: | 
| + | 
| +2012-03-27  Adam Barth  <abarth@webkit.org> | 
| + | 
| +        ImageLoader::m_firedLoadEvent is a confusing name | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82283 | 
| + | 
| +        Reviewed by Kentaro Hara. | 
| + | 
| +        This patch renames m_firedLoadEvent (and friends) to | 
| +        m_hasPendingLoadEvent (and negates the value).  That name more | 
| +        accurately reflects the semantics of this piece of state.  For example, | 
| +        we now initialize m_hasPendingLoadEvent to false, which makes sense as | 
| +        there is no pending load event, whereas before we initialized | 
| +        m_firedLoadEvent to true, which made less sense since we hadn't yet | 
| +        actually fired the load event. | 
| + | 
| +        * bindings/v8/V8GCController.cpp: | 
| +        (WebCore::calculateGroupId): | 
| +        * html/HTMLImageElement.cpp: | 
| +        (WebCore::HTMLImageElement::attach): | 
| +        * html/HTMLImageElement.h: | 
| +        (HTMLImageElement): | 
| +        (WebCore::HTMLImageElement::hasPendingLoadEvent): | 
| +        (WebCore::HTMLImageElement::hasPendingActivity): | 
| +        * html/ImageInputType.cpp: | 
| +        (WebCore::ImageInputType::attach): | 
| +        * loader/ImageLoader.cpp: | 
| +        (WebCore::ImageLoader::ImageLoader): | 
| +        (WebCore::ImageLoader::~ImageLoader): | 
| +        (WebCore::ImageLoader::setImage): | 
| +        (WebCore::ImageLoader::updateFromElement): | 
| +        (WebCore::ImageLoader::notifyFinished): | 
| +        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent): | 
| +        (WebCore::ImageLoader::dispatchPendingLoadEvent): | 
| +        (WebCore::ImageLoader::dispatchPendingErrorEvent): | 
| +        * loader/ImageLoader.h: | 
| +        (WebCore::ImageLoader::hasPendingBeforeLoadEvent): | 
| +        (WebCore::ImageLoader::hasPendingLoadEvent): | 
| +        (ImageLoader): | 
| +        * svg/SVGImageElement.cpp: | 
| +        (WebCore::SVGImageElement::haveLoadedRequiredResources): | 
| + | 
| +2012-03-27  Dan Bernstein  <mitz@apple.com> | 
| + | 
| +        Tried to fix 32-bit builds. | 
| + | 
| +        * css/StylePropertySet.cpp: | 
| +        (WebCore::StylePropertySet::asText): | 
| + | 
| +2012-03-26  Sheriff Bot  <webkit.review.bot@gmail.com> | 
| + | 
| +        Unreviewed, rolling out r112199. | 
| +        http://trac.webkit.org/changeset/112199 | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82295 | 
| + | 
| +        Breaks Chromium Win compilation (Requested by pfeldman on | 
| +        #webkit). | 
| + | 
| +        * bindings/scripts/CodeGeneratorV8.pm: | 
| +        (GenerateConstructorCallback): | 
| +        (GenerateNamedConstructorCallback): | 
| +        (GenerateToV8Converters): | 
| +        (GetDomMapFunction): | 
| +        * bindings/scripts/test/V8/V8Float64Array.cpp: | 
| +        (WebCore::V8Float64Array::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: | 
| +        (WebCore::V8TestActiveDOMObject::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: | 
| +        (WebCore::V8TestCustomNamedGetter::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: | 
| +        (WebCore::V8TestEventConstructor::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestEventTarget.cpp: | 
| +        (WebCore::V8TestEventTarget::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestInterface.cpp: | 
| +        (WebCore::V8TestInterface::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: | 
| +        (WebCore::V8TestMediaQueryListListener::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: | 
| +        (WebCore::V8TestNamedConstructor::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestObj.cpp: | 
| +        (WebCore::V8TestObj::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: | 
| +        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): | 
| +        * bindings/v8/V8DOMWrapper.cpp: | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): | 
| +        (WebCore): | 
| +        * bindings/v8/V8DOMWrapper.h: | 
| +        (WebCore): | 
| +        (V8DOMWrapper): | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): | 
| + | 
| +2012-03-26  David Kilzer  <ddkilzer@apple.com> | 
| + | 
| +        Build system prep work for upstreaming iOS changes | 
| +        <http://webkit.org/b/82267> | 
| + | 
| +        Reviewed by Mark Rowe. | 
| + | 
| +        * DerivedSources.make: Move 'bison' into a variable and use | 
| +        xcrun to find it on Mac OS X. | 
| +        * bindings/scripts/preprocessor.pm: | 
| +        (applyPreprocessor): Add local @args variable.  On iOS, the | 
| +        compiler needs additional "-isysroot $(SDKROOT)" arguments when | 
| +        invoked, so it's easier to add them to an array, especially if | 
| +        $SDKROOT contains a space in the path.  Remove now-redundant | 
| +        $gccLocation variable. | 
| + | 
| +2012-03-26  Nate Chapin  <japhet@chromium.org> | 
| + | 
| +        Remove duplicate error() impls in CachedResource subclasses | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81161 | 
| + | 
| +        Reviewed by Alexey Proskuryakov. | 
| + | 
| +        No new tests, refactor only. | 
| + | 
| +        * loader/cache/CachedCSSStyleSheet.cpp: | 
| +        * loader/cache/CachedCSSStyleSheet.h: | 
| +        * loader/cache/CachedFont.cpp: | 
| +        * loader/cache/CachedFont.h: | 
| +        * loader/cache/CachedImage.cpp: | 
| +        * loader/cache/CachedResource.h: Make checkNotify() | 
| +             virtual, so the right checkNotify() gets called in error(). | 
| +        * loader/cache/CachedScript.cpp: | 
| +        * loader/cache/CachedScript.h: | 
| +        * loader/cache/CachedXSLStyleSheet.cpp: | 
| +        * loader/cache/CachedXSLStyleSheet.h: | 
| + | 
| +2012-03-26  Ken Buchanan  <kenrb@chromium.org> | 
| + | 
| +        Assert failure from capitalized RenderTextFragment | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82096 | 
| + | 
| +        Reviewed by Ryosuke Niwa. | 
| + | 
| +        The cause of this bug was the call to RenderTextFragment::setTextInternal | 
| +        resulting from a style change from RenderObject::addChild. The idea here | 
| +        is to better separate the code path for transforming existing text from | 
| +        the code path for replacing the underlying text of a node. For | 
| +        RenderTextFragment this has to be clear because only in the latter case | 
| +        does the first-letter get reset. | 
| + | 
| +        * rendering/RenderObject.cpp: | 
| +        (WebCore::RenderObject::addChild): Added call to transformText | 
| +        * rendering/RenderText.cpp: | 
| +        (WebCore::RenderText::styleDidChange): Added call to transformText | 
| +        (WebCore::RenderText::transformText): Added | 
| +        * rendering/RenderText.h: | 
| +        (WebCore::RenderText::setText): Changed to virtual so RenderTextFragment can override | 
| +        (WebCore::RenderText::transformText): Added | 
| +        * rendering/RenderTextFragment.cpp: | 
| +        (WebCore::RenderTextFragment::styleDidChange): Removed references to | 
| +        m_allowFragmentReset which was the previous approach to separating the | 
| +        code paths | 
| +        (WebCore::RenderTextFragment::setTextInternal): Deleted | 
| +        (WebCore::RenderTextFragment::setText): Added with most of logic that was | 
| +        previously in setTextInternal | 
| +        (WebCore::RenderTextFragment::transformText): Added | 
| +        * rendering/RenderTextFragment.h: | 
| +        (WebCore::RenderTextFragment::setText): Added | 
| +        (WebCore::RenderTextFragment::transformText): Added | 
| +        (WebCore::RenderTextFragment::setTextInternal): Deleted | 
| + | 
| +2012-03-26  Adam Klein  <adamk@chromium.org> | 
| + | 
| +        Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set() | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82256 | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        This moves leakRef() calls out of generated code, centralizing them in | 
| +        V8DOMWrapper implementation. Ideally, WeakReferenceMap::set would take | 
| +        PassRefPtrs, but that's tricky given that some WeakReferenceMap's KeyType is 'void' | 
| +        (which clearly can't be wrapped in a PassRefPtr). | 
| + | 
| +        Updated binding tests to reflect changes in CodeGeneratorV8.pm, no change in behavior. | 
| + | 
| +        * bindings/scripts/CodeGeneratorV8.pm: | 
| +        (GenerateConstructorCallback): Use GetDomMapFunction instead of custom logic. | 
| +        (GenerateNamedConstructorCallback): ditto. | 
| +        (GenerateToV8Converters): Call V8DOMWrapper::setJSWrapper* method | 
| +        instead of directly accessing the wrapper maps and calling set. | 
| +        (GetDomMapFunction): Refactored to call new GetDomWrapperMapName function. | 
| +        (GetDomWrapperMapName): Helper pulled out of GetDomMapFunction. | 
| +        * bindings/scripts/test/V8/V8Float64Array.cpp: | 
| +        (WebCore::V8Float64Array::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: | 
| +        (WebCore::V8TestActiveDOMObject::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: | 
| +        (WebCore::V8TestCustomNamedGetter::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: | 
| +        (WebCore::V8TestEventConstructor::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestEventTarget.cpp: | 
| +        (WebCore::V8TestEventTarget::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestInterface.cpp: | 
| +        (WebCore::V8TestInterface::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: | 
| +        (WebCore::V8TestMediaQueryListListener::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: | 
| +        (WebCore::V8TestNamedConstructor::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestObj.cpp: | 
| +        (WebCore::V8TestObj::wrapSlow): | 
| +        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: | 
| +        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): | 
| +        * bindings/v8/V8DOMWrapper.cpp: Moved setJSWrapperForDOMNode method to header to inline it. | 
| +        * bindings/v8/V8DOMWrapper.h: | 
| +        (WebCore): Forward decls. | 
| +        (V8DOMWrapper): | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Made inline. | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): ditto. | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Refactored into two methods; | 
| +        this one handles non-active Nodes. | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): Pulled out of previouse | 
| +        DOMNode method, now handles only active Nodes. | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForDOMSVGElementInstance): New helper method for SVGElementInstances. | 
| + | 
| +2012-03-26  Pratik Solanki  <psolanki@apple.com> | 
| + | 
| +        Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82254 | 
| + | 
| +        Reviewed by Benjamin Poulain. | 
| + | 
| +        No new tests because no functional changes. | 
| + | 
| +        * css/CSSComputedStyleDeclaration.cpp: | 
| +        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): | 
| +        * css/LengthFunctions.cpp: | 
| +        (WebCore::minimumValueForLength): | 
| +        (WebCore::valueForLength): | 
| +        * css/LengthFunctions.h: | 
| +        (WebCore): | 
| +        * html/HTMLAreaElement.cpp: | 
| +        (WebCore::HTMLAreaElement::getRegion): | 
| +        * platform/win/PopupMenuWin.cpp: | 
| +        (WebCore::PopupMenuWin::paint): | 
| +        * rendering/AutoTableLayout.cpp: | 
| +        (WebCore::AutoTableLayout::layout): | 
| +        * rendering/RenderBlock.cpp: | 
| +        (WebCore::RenderBlock::textIndentOffset): | 
| +        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): | 
| +        * rendering/RenderBox.cpp: | 
| +        (WebCore::RenderBox::computeLogicalWidthInRegion): | 
| +        (WebCore::RenderBox::computeLogicalWidthInRegionUsing): | 
| +        (WebCore::RenderBox::computeInlineDirectionMargins): | 
| +        (WebCore::RenderBox::computeReplacedLogicalWidthUsing): | 
| +        (WebCore::RenderBox::computeBlockDirectionMargins): | 
| +        (WebCore::RenderBox::computePositionedLogicalWidthUsing): | 
| +        (WebCore::RenderBox::computePositionedLogicalHeightUsing): | 
| +        * rendering/RenderBoxModelObject.cpp: | 
| +        (WebCore::RenderBoxModelObject::paddingTop): | 
| +        (WebCore::RenderBoxModelObject::paddingBottom): | 
| +        (WebCore::RenderBoxModelObject::paddingLeft): | 
| +        (WebCore::RenderBoxModelObject::paddingRight): | 
| +        (WebCore::RenderBoxModelObject::paddingBefore): | 
| +        (WebCore::RenderBoxModelObject::paddingAfter): | 
| +        (WebCore::RenderBoxModelObject::paddingStart): | 
| +        (WebCore::RenderBoxModelObject::paddingEnd): | 
| +        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): | 
| +        * rendering/RenderFlexibleBox.cpp: | 
| +        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): | 
| +        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): | 
| +        * rendering/RenderInline.cpp: | 
| +        (WebCore::computeMargin): | 
| +        * rendering/RenderMenuList.cpp: | 
| +        (WebCore::RenderMenuList::updateOptionsWidth): | 
| +        * rendering/RenderReplaced.cpp: | 
| +        (WebCore::RenderReplaced::computeReplacedLogicalWidth): | 
| +        * rendering/RenderScrollbarPart.cpp: | 
| +        (WebCore::calcScrollbarThicknessUsing): | 
| +        (WebCore::RenderScrollbarPart::computeScrollbarWidth): | 
| +        (WebCore::RenderScrollbarPart::computeScrollbarHeight): | 
| +        * rendering/RenderTable.cpp: | 
| +        (WebCore::RenderTable::computeLogicalWidth): | 
| +        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth): | 
| +        * rendering/RenderTableSection.cpp: | 
| +        (WebCore::RenderTableSection::calcRowLogicalHeight): | 
| +        * rendering/RenderText.h: | 
| +        (WebCore::RenderText::marginLeft): | 
| +        (WebCore::RenderText::marginRight): | 
| +        * rendering/style/RenderStyle.h: | 
| + | 
| +2012-03-26  Shinya Kawanaka  <shinyak@chromium.org> | 
| + | 
| +        Triggers assertion if dragging from outside of <meter> in a shadow tree to inside of it. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82177 | 
| + | 
| +        Reviewed by Dimitri Glazkov. | 
| + | 
| +        VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries has moved the start position or | 
| +        the end position to the invalid position, i.e. position after (before) the non-existing node. | 
| + | 
| +        This patch fixes the problem, and adds assertion that the selection does not cross shadow boundaries. | 
| + | 
| +        Test: fast/dom/shadow/drag-to-meter-in-shadow-crash.html | 
| + | 
| +        * editing/VisibleSelection.cpp: | 
| +        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): | 
| + | 
| +2012-03-26  Scott Byer  <scottbyer@chromium.org> | 
| + | 
| +        Enable layout testing of the scroll animator. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81858 | 
| +        Add a call to the InternalSettings that layout tests can use to | 
| +        turn on scroll animation. Enable animation updates for the | 
| +        Chromium platform DRT when scroll animation has been turned on in | 
| +        a test. This should be a no-op for all current layout tests. | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        No new tests. Layout test results should be unchanged. | 
| + | 
| +        * testing/InternalSettings.cpp: | 
| +        (WebCore::InternalSettings::setEnableScrollAnimator): | 
| +        (WebCore): | 
| +        (WebCore::InternalSettings::scrollAnimatorEnabled): | 
| +        * testing/InternalSettings.h: | 
| +        (InternalSettings): | 
| +        * testing/InternalSettings.idl: | 
| + | 
| +2012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn> | 
| + | 
| +        Fix minor spell error in DocumentLoader.h | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82141 | 
| + | 
| +        Reviewed by Nate Chapin. | 
| + | 
| +        Just fix spell error, no new tests. | 
| + | 
| +        * loader/DocumentLoader.h: | 
| +        (WebCore::DocumentLoader::setClientRedirectSourceForHistory): | 
| + | 
| +2012-03-26  Brian Salomon  <bsalomon@google.com> | 
| + | 
| +        [Skia] Remove use of deprecated Skia constant and struct field names | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81034 | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        No behavior change, so no tests. The modified code is executed by many existing tests. | 
| + | 
| +        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: | 
| +        (WebCore::createAcceleratedCanvas): | 
| +        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: | 
| +        (WebCore::CCRenderSurfaceFilters::apply): | 
| +        * platform/graphics/skia/ImageBufferSkia.cpp: | 
| +        (WebCore::createAcceleratedCanvas): | 
| + | 
| +2012-03-26  Nat Duca  <nduca@chromium.org> | 
| + | 
| +        [chromium] Add isInputThrottled/didBecomeReadyForAdditionalInput to WebWidget | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82265 | 
| + | 
| +        In threaded compositing mode, the WebWidget is self-scheduled, | 
| +        receiving damage and processing it without forwarding that damage | 
| +        up to the embedding WebWidgetClient. In Chromium's case, the | 
| +        client uses the presence of damage to perform input flow | 
| +        control. This patch exposes the need for input flow control to the | 
| +        embedder, while keeping the actual logic about what exactly | 
| +        warrants input flow control inside the implementation. | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: | 
| +        (WebCore::CCLayerTreeHost::commitComplete): | 
| +        (WebCore::CCLayerTreeHost::commitRequested): | 
| +        (WebCore): | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHost.h: | 
| +        (CCLayerTreeHostClient): | 
| +        (CCLayerTreeHost): | 
| +        * platform/graphics/chromium/cc/CCProxy.h: | 
| +        (CCProxy): | 
| +        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp: | 
| +        (WebCore::CCSingleThreadProxy::commitRequested): | 
| +        (WebCore): | 
| +        * platform/graphics/chromium/cc/CCSingleThreadProxy.h: | 
| +        (CCSingleThreadProxy): | 
| +        * platform/graphics/chromium/cc/CCThreadProxy.cpp: | 
| +        (WebCore::CCThreadProxy::commitRequested): | 
| +        (WebCore): | 
| +        * platform/graphics/chromium/cc/CCThreadProxy.h: | 
| +        (CCThreadProxy): | 
| + | 
| +2012-03-26  Adam Barth  <abarth@webkit.org> | 
| + | 
| +        When <img crossorigin> fails the CORS check, we should fire the error event | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81998 | 
| + | 
| +        Reviewed by Nate Chapin. | 
| + | 
| +        The spec says we're supposed to fire the error event when the CORS | 
| +        check fails, but we haven't been.  This patch is larger than it might | 
| +        otherwise be because we're firing the event asynchronously, but that | 
| +        seems like the right thing to do. | 
| + | 
| +        Tests: http/tests/security/img-with-failed-cors-check-fails-to-load.html | 
| + | 
| +        * dom/Document.cpp: | 
| +        (WebCore::Document::implicitClose): | 
| +        * loader/ImageLoader.cpp: | 
| +        (WebCore::errorEventSender): | 
| +        (WebCore): | 
| +        (WebCore::ImageLoader::ImageLoader): | 
| +        (WebCore::ImageLoader::~ImageLoader): | 
| +        (WebCore::ImageLoader::setImage): | 
| +        (WebCore::ImageLoader::updateFromElement): | 
| +        (WebCore::ImageLoader::notifyFinished): | 
| +        (WebCore::ImageLoader::dispatchPendingEvent): | 
| +        (WebCore::ImageLoader::dispatchPendingErrorEvent): | 
| +        (WebCore::ImageLoader::dispatchPendingErrorEvents): | 
| +        * loader/ImageLoader.h: | 
| +        (ImageLoader): | 
| + | 
| +2012-03-26  Stephen White  <senorblanco@chromium.org> | 
| + | 
| +        Make filters and the threaded compositor play well together. | 
| +        https://bugs.webkit.org/show_bug.cgi?id=78139 | 
| + | 
| +        Use a dedicated GraphicsContext3D instance for all filters calls in | 
| +        the threaded case.  Clone all FilterOperations for thread safety | 
| +        in the threaded case. | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        Covered by tests in LayoutTests/css3/filters. | 
| + | 
| +        * platform/graphics/chromium/LayerChromium.cpp: | 
| +        (WebCore::LayerChromium::setFilters): | 
| +        Set a global flag if we've seen content with filters, so we know | 
| +        we need to create the filter context. | 
| +        (WebCore::LayerChromium::pushPropertiesTo): | 
| +        Clone all filter operations if we're in the threaded case. | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: | 
| +        (WebCore): | 
| +        * platform/graphics/chromium/cc/CCLayerTreeHost.h: | 
| +        (WebCore::CCLayerTreeHost::needsFilterContext): | 
| +        (WebCore::CCLayerTreeHost::setNeedsFilterContext): | 
| +        (CCLayerTreeHost): | 
| +        Add flag and accessors for needsFilterContext. | 
| +        * platform/graphics/chromium/cc/CCRenderSurface.cpp: | 
| +        (WebCore::CCRenderSurface::applyFilters): | 
| +        Pick up the appropriate context from SharedGraphicsContext3D, | 
| +        depending if we're in the threaded case or not. | 
| +        * platform/graphics/chromium/cc/CCThreadProxy.cpp: | 
| +        (WebCore::CCThreadProxy::recreateContext): | 
| +        For the threaded compositor re-create the filter context | 
| +        alongside the main compositor context on lost context, if requested. | 
| +        (WebCore::CCThreadProxy::beginFrame): | 
| +        Create the filter context in beginFrame, if it was resquested and is | 
| +        NULL.  This handles the first-use case. | 
| +        * platform/graphics/filters/CustomFilterOperation.h: | 
| +        (WebCore::CustomFilterOperation::clone): | 
| +        Assert if trying to clone the custom filter operation (it has | 
| +        non-threadsafe members). | 
| +        * platform/graphics/filters/FilterOperation.h: | 
| +        (WebCore::DefaultFilterOperation::clone): | 
| +        (WebCore::PassthroughFilterOperation::clone): | 
| +        (WebCore::ReferenceFilterOperation::clone): | 
| +        (WebCore::BasicColorMatrixFilterOperation::clone): | 
| +        (WebCore::BasicComponentTransferFilterOperation::clone): | 
| +        (WebCore::GammaFilterOperation::clone): | 
| +        (WebCore::BlurFilterOperation::clone): | 
| +        (WebCore::DropShadowFilterOperation::clone): | 
| +        Add clone methods for all FilterOperations. | 
| +        * platform/graphics/gpu/SharedGraphicsContext3D.cpp: | 
| +        (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext): | 
| +        (WebCore::SharedGraphicsContext3DImpl::getContext): | 
| +        (WebCore::SharedGraphicsContext3DImpl::createContext): | 
| +        (WebCore::SharedGraphicsContext3D::get): | 
| +        (WebCore::getOrCreateContextForImplThread): | 
| +        (WebCore::SharedGraphicsContext3D::getForImplThread): | 
| +        (WebCore::SharedGraphicsContext3D::haveForImplThread): | 
| +        (WebCore::SharedGraphicsContext3D::createForImplThread): | 
| +        Split out context creation, lost context recovery, and retrieval | 
| +        into separate functions, so the impl thread can use only the parts | 
| +        it wants on the threads it wants (create and have on main, get on impl). | 
| +        Add asserts to ensure that's how they're called. | 
| +        * platform/graphics/gpu/SharedGraphicsContext3D.h: | 
| +        (SharedGraphicsContext3D): | 
| +        Reuse the SharedGraphicsContext infrastructure to create a new | 
| +        context singleton for filter use in the threaded compositor. | 
| + | 
| +2012-03-26  Adam Barth  <abarth@webkit.org> | 
| + | 
| +        FrameLoader::shouldAllowNavigation uses Frame for context rather than Document | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81020 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        The vast majority of security checks in the browser should use a | 
| +        ScriptExecutionContext (aka a Document) to designate "who" is | 
| +        attempting to perform a given action.  Unfortunately, | 
| +        shouldAllowNavigation was using a Frame to designate "who" is | 
| +        attempting the navigation. | 
| + | 
| +        In cases when the executing script is "inactive" (i.e., belongs to a | 
| +        document that is not currently displayed in a Frame), using the Frame | 
| +        can cause us to grant the script the privileges of the document that's | 
| +        currently displayed in the Frame rather than the one that contains the | 
| +        script. | 
| + | 
| +        This patch moves shouldAllowNavigation from FrameLoader to Document | 
| +        (and renames it to canNavigate), effectively change the context object | 
| +        from a Frame to a Document. | 
| + | 
| +        Test: http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html | 
| + | 
| +        * bindings/generic/BindingSecurity.h: | 
| +        (BindingSecurity): | 
| +        (WebCore): | 
| +        * bindings/v8/V8Utilities.cpp: | 
| +        (WebCore): | 
| +        * bindings/v8/V8Utilities.h: | 
| +        (WebCore): | 
| +            - Deletes unused code. | 
| +        * dom/Document.cpp: | 
| +        (WebCore::canAccessAncestor): | 
| +        (WebCore): | 
| +        (WebCore::Document::canNavigate): | 
| +            - canNavigate is copied from FrameLoader::shouldAllowNavigation. | 
| +              I've added a null-check bailout if the document is inactive. | 
| +        * dom/Document.h: | 
| +        (Document): | 
| +        * loader/FormState.cpp: | 
| +        (WebCore::FormState::FormState): | 
| +        (WebCore::FormState::create): | 
| +        * loader/FormState.h: | 
| +        (WebCore): | 
| +        (FormState): | 
| +        (WebCore::FormState::sourceDocument): | 
| +        * loader/FormSubmission.cpp: | 
| +        (WebCore::FormSubmission::create): | 
| +            - Changes the context object from Frame to Document. | 
| +        * loader/FrameLoader.cpp: | 
| +        (WebCore::FrameLoader::submitForm): | 
| +        (WebCore::FrameLoader::loadFrameRequest): | 
| +        (WebCore): | 
| +        (WebCore::FrameLoader::findFrameForNavigation): | 
| +            - FrameLoader::findFrameForNavigation still incorrectly uses Frame | 
| +              as the context object, but that's a bug for another patch. | 
| +        (WebCore::createWindow): | 
| +        * loader/FrameLoader.h: | 
| +        (FrameLoader): | 
| +        * loader/NavigationScheduler.cpp: | 
| +        (WebCore::ScheduledFormSubmission::fire): | 
| +        * page/DOMWindow.cpp: | 
| +        (WebCore::DOMWindow::close): | 
| +        (WebCore::DOMWindow::setLocation): | 
| +        (WebCore::DOMWindow::open): | 
| +        * page/History.cpp: | 
| +        (WebCore::History::go): | 
| + | 
| +2012-03-26  Vangelis Kokkevis  <vangelis@chromium.org> | 
| + | 
| +        [chromium] Simplify and fix CCLayerSorter | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82114 | 
| + | 
| +        A significant cleanup, simplification and improvement of the CCLayerSorter code. | 
| +        Simplified the LayerShape structure to use WebCore's FloatQuad for all overlap tests. | 
| +        By treating every layer as two triangles, the old overlap code did a lot of redundant work | 
| +        including testing two of the vertices of the layer and its diagonal twice. The new overlap | 
| +        tests check: | 
| +        1. The four corners of each of the two layers against the other layer. | 
| +        2. The four edges of each layer against the edges of the other layer. | 
| +        Unlike the old code, the new code has no early-outs in the overlap tests as those where causing | 
| +        us to miss legitimate overlaps. | 
| +        A new technique for breaking dependency cycles introduced by intersecting layers is implemented. | 
| +        Instead of arbitrarily breaking cycles by choosing the node in the graph with the smallest number of | 
| +        incoming edges (i.e. layers that need to be drawn before it) we chose the one with the smallest sum | 
| +        of graph edge weights (defined as the max depth difference between two layers). Layers that intersect | 
| +        have their respective graph edge weight set to zero, making them more likely to be picked for breaking | 
| +        the cycles (it's not a perfect solution but it seems to perform much better than the previous one). | 
| + | 
| +        In addition to being overly complex and doing reduntant work, the old code was missing a | 
| +        perspective divide when computing the coordinates of the layer's corners in the projected plane | 
| +        which was the source of a lot of mis-sorted results. | 
| + | 
| +        In all, these improvements, fix a lot of outstanding issues with layer sorting, on pages such as: | 
| +        http://www.keithclark.co.uk/labs/3dcss/demo/ | 
| +        http://2012.beercamp.com | 
| +        https://developer.mozilla.org/fr/demos/detail/the-box/launch | 
| + | 
| +        Tests: CCLayerSorter unit tests. | 
| + | 
| +        Reviewed by Kenneth Russell. | 
| + | 
| +        * platform/graphics/chromium/cc/CCLayerSorter.cpp: | 
| +        (WebCore): | 
| +        (WebCore::perpProduct): | 
| +        (WebCore::edgeEdgeTest): | 
| +        (WebCore::CCLayerSorter::checkOverlap): | 
| +        (WebCore::CCLayerSorter::LayerShape::LayerShape): | 
| +        (WebCore::CCLayerSorter::LayerShape::layerZFromProjectedPoint): | 
| +        (WebCore::CCLayerSorter::createGraphNodes): | 
| +        (WebCore::CCLayerSorter::createGraphEdges): | 
| +        (WebCore::CCLayerSorter::sort): | 
| +        * platform/graphics/chromium/cc/CCLayerSorter.h: | 
| +        (WebCore::CCLayerSorter::CCLayerSorter): | 
| +        (CCLayerSorter): | 
| +        (LayerShape): | 
| +        (WebCore::CCLayerSorter::GraphNode::GraphNode): | 
| +        (GraphNode): | 
| +        (WebCore::CCLayerSorter::GraphEdge::GraphEdge): | 
| +        (GraphEdge): | 
| + | 
| +2012-03-26  Fady Samuel  <fsamuel@chromium.org> | 
| + | 
| +        [Chromium] Using WebViewPlugins with --force-compositing-mode causes an ASSERT to fail | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81954 | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        A static variable s_inPaintContents is set when painting, and it ensures | 
| +        that we don't delete GraphicsLayers or create GraphicsLayers while painting. | 
| + | 
| +        However, because this variable is static, it does not permit the existence | 
| +        of multiple WebViews in different stages (one laying out and one painting). | 
| + | 
| +        This manifests itself if one attempts to use the --force-compositing-mode | 
| +        in Chromium and attempts to navigate to a page with a missing or old plugin | 
| +        or a browser plugin (which uses a WebViewPlugin as a placeholder until it's | 
| +        done loading). | 
| + | 
| +        The solution to simplify debugging is to make this flag per-Page. | 
| +        We can access Page from RenderLayerBacking which is a GraphicsLayerClient. | 
| +        We add a new method GraphicsLayerClient::verifyNotPainting with a default | 
| +        (do nothing) implementation and override it in RenderLayerBacking to | 
| +        test the flag set in Page. | 
| + | 
| +        * page/Page.cpp: | 
| +        (WebCore::Page::Page): | 
| +        * page/Page.h: | 
| +        (Page): | 
| +        (WebCore::Page::setIsPainting): | 
| +        (WebCore::Page::isPainting): | 
| +        * platform/graphics/GraphicsLayer.cpp: | 
| +        (WebCore::GraphicsLayer::GraphicsLayer): | 
| +        (WebCore::GraphicsLayer::~GraphicsLayer): | 
| +        (WebCore::GraphicsLayer::paintGraphicsLayerContents): | 
| +        * platform/graphics/GraphicsLayerClient.h: | 
| +        (GraphicsLayerClient): | 
| +        (WebCore::GraphicsLayerClient::verifyNotPainting): | 
| +        * rendering/RenderLayerBacking.cpp: | 
| +        (WebCore::RenderLayerBacking::paintContents): | 
| +        (WebCore): | 
| +        (WebCore::RenderLayerBacking::verifyNotPainting): | 
| +        * rendering/RenderLayerBacking.h: | 
| +        (RenderLayerBacking): | 
| + | 
| +2012-03-23  Ryosuke Niwa  <rniwa@webkit.org> | 
| + | 
| +        cssText should use shorthand notations | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81737 | 
| + | 
| +        Reviewed by Enrica Casucci. | 
| + | 
| +        Use shorthand properties to serialize style properties for cssText. | 
| + | 
| +        The overall algorithm is to look for any property that has a shorthand, and then check if | 
| +        the shorthand value could be obtained (the condition is quite complicated for border properties). | 
| +        If it could, then append that value to the string builder, and set the corresponding entries in | 
| +        shorthandPropertyAppeared and shorthandPropertyUsed. If not, only turn on the bit in | 
| +        shorthandPropertyAppeared on to avoid calling getPropertyValue again for longhand properties | 
| +        that use the same shorthand property when we cannot use the shorthand. | 
| + | 
| +        Test: fast/css/cssText-shorthand.html | 
| + | 
| +        * css/StylePropertySet.cpp: | 
| +        (WebCore::StylePropertySet::asText): | 
| + | 
| +2012-03-26  Bolin Hsu  <bhsu@google.com> | 
| + | 
| +        [Chromium] Add Android keycodes | 
| +        https://bugs.webkit.org/show_bug.cgi?id=81950 | 
| + | 
| +        Add the missing Android keycodes listed in the bug. | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        * platform/chromium/KeyCodeConversionAndroid.cpp: | 
| +        (WebCore::windowsKeyCodeForKeyEvent): | 
| +        * platform/chromium/KeyboardCodes.h: | 
| + | 
| +2012-03-26  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Switch ColumnInfo::addForcedBreak to LayoutUnits | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82210 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        Forced breaks are added by local offsets, which should be in LayoutUnits. | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * rendering/ColumnInfo.h: | 
| +        (WebCore::ColumnInfo::addForcedBreak): | 
| + | 
| +2012-03-26  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Update LayoutUnit usage in ContainerNode, Element, and ElementRareData | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82219 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * dom/ContainerNode.cpp: | 
| +        (WebCore::ContainerNode::getLowerRightCorner): linesBoundingBox returns the enclosing IntRect | 
| +        of the contained lines. Inline's aren't bounded in LayoutUnits nor pixel snapped. | 
| +        * dom/Element.cpp: | 
| +        (WebCore::Element::boundsInRootViewSpace): Coordinates in root view space are akin to absolute | 
| +        coordinates, which are always expressed in integers. | 
| +        * dom/Element.h: | 
| +        (Element): | 
| +        * dom/ElementRareData.h: | 
| +        (WebCore::defaultMinimumSizeForResizing): Using numeric_limits<LayoutUnit>::max instead of | 
| +        INT_MAX to avoid overflowing when LayoutUnits are sub-pixel. | 
| + | 
| +2012-03-26  Adam Klein  <adamk@chromium.org> | 
| + | 
| +        Update binding test output for V8 after r112163. | 
| + | 
| +        * bindings/scripts/test/V8/V8TestInterface.cpp: | 
| +        (WebCore::V8TestInterface::constructorCallback): | 
| +        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: | 
| +        (WebCore::V8TestNamedConstructorConstructorCallback): | 
| +        * bindings/scripts/test/V8/V8TestObj.cpp: | 
| +        (WebCore::V8TestObj::constructorCallback): | 
| +        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: | 
| +        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback): | 
| + | 
| +2012-03-26  Levi Weintraub  <leviw@chromium.org> | 
| + | 
| +        Update localSelectionRect to return a LayoutRect | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82183 | 
| + | 
| +        Reviewed by Eric Seidel. | 
| + | 
| +        localSelectionRect returns a rectangle in the coordinate space of its renderer, | 
| +        and therefor should remain LayoutUnits until being promoted to absolute | 
| +        coordinates or painted. Also fixing an incorrect conversion of startPos and | 
| +        endPos in selectionRectForRepaint. | 
| + | 
| +        No new tests. No change in behavior. | 
| + | 
| +        * rendering/InlineTextBox.cpp: | 
| +        (WebCore::InlineTextBox::localSelectionRect): Continuing to use enclosingIntRect | 
| +        for the value being returned from the font engine since these floating point | 
| +        values should not be pixel snapped. | 
| +        * rendering/InlineTextBox.h: | 
| +        (InlineTextBox): | 
| +        * rendering/RenderReplaced.cpp: | 
| +        (WebCore::RenderReplaced::localSelectionRect): | 
| +        * rendering/RenderReplaced.h: | 
| +        (RenderReplaced): | 
| +        * rendering/RenderText.cpp: | 
| +        (WebCore::localQuadForTextBox): | 
| +        (WebCore::RenderText::absoluteRectsForRange): | 
| +        (WebCore::RenderText::absoluteQuadsForRange): | 
| +        (WebCore::RenderText::selectionRectForRepaint): Fixing an incorrect conversion of | 
| +        start/endPos to LayoutUnits. These values represent a range of selected characters, | 
| +        not layout values! | 
| +        * rendering/svg/RenderSVGInlineText.cpp: | 
| +        (WebCore::RenderSVGInlineText::localCaretRect): | 
| +        * rendering/svg/SVGInlineTextBox.cpp: | 
| +        (WebCore::SVGInlineTextBox::localSelectionRect): | 
| +        * rendering/svg/SVGInlineTextBox.h: | 
| +        (SVGInlineTextBox): | 
| + | 
| +2012-03-26  Justin Novosad  <junov@chromium.org> | 
| + | 
| +        [Chromium] Crash in Canvas2DLayerChromium::pushPropertiesTo | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82243 | 
| + | 
| +        Reviewed by James Robinson. | 
| + | 
| +        Adding null pointer check to prevent crash and texture object | 
| +        validity check to prevent potential graphics glitch | 
| + | 
| +        * platform/graphics/chromium/Canvas2DLayerChromium.cpp: | 
| +        (WebCore::Canvas2DLayerChromium::pushPropertiesTo): | 
| + | 
| +2012-03-26  Adam Klein  <adamk@chromium.org> | 
| + | 
| +        Use PassRefPtr in V8DOMWrapper interface to avoid explicit ref() calls | 
| +        https://bugs.webkit.org/show_bug.cgi?id=82238 | 
| + | 
| +        Reviewed by Adam Barth. | 
| + | 
| +        The setJSWrapper* methods previously featured a comment that asked | 
| +        callers to ref the objects before passing them in. This change makes | 
| +        that contract explicit (and allows the removal of the comment). | 
| + | 
| +        In addition, for ConstructorCallbacks, this change slightly reduces | 
| +        refcount churn by passing on the initial ref via RefPtr::release(). | 
| + | 
| +        No new tests, no change in behavior. | 
| + | 
| +        * bindings/scripts/CodeGeneratorV8.pm: | 
| +        (GenerateConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref() call. | 
| +        (GenerateNamedConstructorCallback): ditto. | 
| +        * bindings/v8/V8DOMWindowShell.cpp: | 
| +        (WebCore::V8DOMWindowShell::installDOMWindow): Cast to a PassRefPtr and remove explicit ref call. | 
| +        * bindings/v8/V8DOMWrapper.cpp: | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Pass leaked refs into the DOMNodeMaps. | 
| +        * bindings/v8/V8DOMWrapper.h: | 
| +        (V8DOMWrapper): Make the setJSWrapperFor* methods take PassRefPtr<T>. | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Pass leaked ref into the DOMObjectMap. | 
| +        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): Pass leaked ref into the ActiveDOMObjectMap. | 
| +        * bindings/v8/V8Proxy.h: | 
| +        (WebCore::toV8): Remove explicit ref. | 
| +        * bindings/v8/WorkerContextExecutionProxy.cpp: | 
| +        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Cast to a PassRefPTr and remove explicit ref call. | 
| +        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: | 
| +        (WebCore::v8HTMLImageElementConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref. | 
| +        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp: | 
| +        (WebCore::V8WebKitMutationObserver::constructorCallback): ditto. | 
| +        * bindings/v8/custom/V8WebSocketCustom.cpp: | 
| +        (WebCore::V8WebSocket::constructorCallback): ditto. | 
| +        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: | 
| +        (WebCore::V8XMLHttpRequest::constructorCallback): ditto. | 
| + | 
| 2012-03-26  Alexey Proskuryakov  <ap@apple.com> | 
|  | 
| Remove obsolete FormDataStreamMac code | 
|  |