Positioned, replaced elements with intrinsic width keywords compute the wrong width
[WebKit-https.git] / Source / WebCore / ChangeLog
index 0896604..9aafb56 100644 (file)
+2013-02-20  Ojan Vafai  <ojan@chromium.org>
+
+        Positioned, replaced elements with intrinsic width keywords compute the wrong width
+        https://bugs.webkit.org/show_bug.cgi?id=110393
+
+        Reviewed by Emil A Eklund.
+
+        Test: fast/css-intrinsic-dimensions/intrinsic-sized-replaced-absolutes.html
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
+        Add the intrinsic size keywords to the switch. Confusingly, we have to
+        subtract the border and padding since the callers expect the content width.
+
+        * rendering/RenderReplaced.cpp:
+        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
+        Don't do the intrinsic ratio calculation if the width is an
+        intrinsic width keyword, as per, http://dev.w3.org/csswg/css3-sizing/#replaced-intrinsic.
+
+        (WebCore::RenderReplaced::computeIntrinsicLogicalWidths):
+        (WebCore::RenderReplaced::computePreferredLogicalWidths):
+        The old code was trying to apply the intrinsic ratio calculation to
+        the intrinsic width, which is wrong per spec.
+
+2013-02-20  Alec Flett  <alecflett@chromium.org>
+
+        LevelDB: Remove excess vector copy
+        https://bugs.webkit.org/show_bug.cgi?id=110399
+
+        Reviewed by Tony Chang.
+
+        Remove an extra copy introduced by the makeVector function.
+
+        No new tests, this is covered by existing tests.
+
+        * platform/leveldb/LevelDBDatabase.cpp:
+        (WebCore::LevelDBDatabase::safeGet):
+
+2013-02-20  Simon Fraser  <simon.fraser@apple.com>
+
+        Zoomed, slow-scrolling pages keep recreating tiles when scrolled
+        https://bugs.webkit.org/show_bug.cgi?id=110379
+
+        Reviewed by Tim Horton.
+
+        On slow-scrolling pages the TileCache makes the tiles the size of
+        the visible rect to minimize per-tile painting overhead. If the size
+        of that rect changes, the TileCache re-creates all the tiles.
+        
+        This was a problem whem zoomed, because mapping the visible rect
+        through the scale transform and then rounding it would cause the
+        size to keep changing, causing lots of tile re-creation.
+        
+        Fix by carrying the visibleRect around as a FloatRect, and doing
+        the same for the exposedRect. We then only expand to integers
+        when computing the tile size. This also fixes an issue where we could
+        sometimes make extra tiles because of fractional bits of tiles at the edges,
+        as shown by the test result change.
+
+        * platform/graphics/TiledBacking.h:
+        * platform/graphics/ca/GraphicsLayerCA.cpp:
+        (WebCore::GraphicsLayerCA::updateVisibleRect):
+        * platform/graphics/ca/mac/TileCache.h:
+        * platform/graphics/ca/mac/TileCache.mm:
+        (WebCore::TileCache::setVisibleRect):
+        (WebCore::TileCache::setExposedRect):
+        (WebCore::TileCache::prepopulateRect):
+        (WebCore::TileCache::computeTileCoverageRect):
+        (WebCore::TileCache::tileSizeForCoverageRect):
+        (WebCore::TileCache::blankPixelCountForTiles):
+        (WebCore::TileCache::revalidateTiles):
+        (WebCore::TileCache::ensureTilesForRect):
+        * platform/graphics/ca/mac/WebTileLayer.mm:
+        (-[WebTileLayer logFilledFreshTile]):
+
+2013-02-20  Julien Chaffraix  <jchaffraix@webkit.org>
+
+        [CSS Grid Layout] Implement the auto-placement algorithm without grid growth
+        https://bugs.webkit.org/show_bug.cgi?id=110277
+
+        Reviewed by Tony Chang.
+
+        Tests: fast/css-grid-layout/grid-item-addition-auto-placement-update.html
+               fast/css-grid-layout/grid-item-removal-auto-placement-update.html
+               fast/css-grid-layout/grid-auto-flow-resolution.html (extended to cover more cases)
+
+        This change implements most of the auto-placement algorithm per
+        http://dev.w3.org/csswg/css3-grid-layout/#auto-placement-algo
+
+        To limit the size of the code change, it doesn't implement growing the grid if there
+        are no empty grid areas. If we don't find any empty grid areas, we just insert in the first
+        one, like what grid-auto-flow: none would do (which explains the test failures).
+
+        * rendering/RenderGrid.cpp:
+        (WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
+        Added this function to return the GridCoordinate of the next empty grid area along
+        the iterator's direction.
+
+        (WebCore::RenderGrid::placeItemsOnGrid):
+        Split this function into the different steps below. For efficiency, collect the auto vs specified
+        major axis grid items in different Vectors.
+
+        (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
+        Added this function that implements part of step 1 of the algorithm (the grid items without
+        auto row / column are already handled in placeItemsOnGrid).
+
+        (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
+        Added this function that iterates over the auto grid items and call placeAutoMajorAxisItemOnGrid.
+
+        (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
+        Added this method to handle the step 4 of the algorithm. Based on the minor axis's position,
+        it either walks along the major axis once or several times until it finds an empty grid area
+        for the grid item.
+
+        (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
+        (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
+        (WebCore::RenderGrid::autoPlacementMajorAxisDirection):
+        (WebCore::RenderGrid::autoPlacementMinorAxisDirection):
+        Added these helper functions that return minor / major axis positions & direction.
+
+        * rendering/RenderGrid.h:
+        Added the previous new RenderGrid functions.
+
+2013-02-20  Vincent Scheib  <scheib@chromium.org>
+
+        Accept 'allowfullscreen' in addition to 'webkitallowfullscreen'.
+        https://bugs.webkit.org/show_bug.cgi?id=110374
+
+        Reviewed by Adam Barth.
+
+        The fullscreen API also includes a new HTML attribute for iframes
+        which permits its use. That attribute, 'allowfullcreen' is now
+        included in the HTML specification [1] and is stable enough
+        to remove the webkit prefix.
+
+        [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-allowfullscreen
+
+        Tests: fullscreen/full-screen-enabled-prefixed.html
+               fullscreen/full-screen-iframe-allowed-prefixed.html
+               fullscreen/full-screen-iframe-with-mixed-allow-webkitallow-attribute.html
+
+        * dom/Document.cpp:
+        (WebCore::isAttributeOnAllOwners):
+        (WebCore::Document::fullScreenIsAllowedForElement):
+        (WebCore::Document::webkitFullscreenEnabled):
+        * html/HTMLAttributeNames.in:
+
+2013-02-20  Roger Fong  <roger_fong@apple.com>
+
+        Unreviewed. Remove references to SAFARI_THEME from Windows Solution.
+        <rdar://problem/13258710>
+
+        * config.h:
+        * page/Settings.cpp:
+        * page/Settings.h:
+        * platform/win/ScrollbarThemeWin.cpp:
+        * rendering/RenderThemeWin.cpp:
+
+2013-02-20  Roger Fong  <roger_fong@apple.com>
+
+        Get VS2010 Solution B&I ready.
+        <rdar://problem/1322988>
+
+        Rubberstamped by Timothy Horton.
+
+        Add Production configuration. 
+        Add a WebCore submit solution with a DebugSuffix configuration. 
+        Modify WebCore.make as necessary.
+        
+        * DerivedSources.make:
+        * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
+        * WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props:
+        * WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props: Added.
+        * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
+        * WebCore.vcxproj/WebCore.make: Added.
+        * WebCore.vcxproj/WebCore.sln: Removed.
+        * WebCore.vcxproj/WebCore.submit.sln: Copied from Source/WebCore/WebCore.vcxproj/WebCore.sln.
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCoreGenerated.vcxproj:
+        * WebCore.vcxproj/WebCoreGeneratedProduction.props: Added.
+        * WebCore.vcxproj/WebCoreGeneratedRelease.props:
+        * WebCore.vcxproj/WebCoreProduction.props: Added.
+        * WebCore.vcxproj/WebCoreRelease.props:
+        * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
+
+2013-02-20  Adam Klein  <adamk@chromium.org>
+
+        [v8] Fix an erroneous WrapperGrouper call in preparation for refactoring
+        https://bugs.webkit.org/show_bug.cgi?id=110396
+
+        Reviewed by Kentaro Hara.
+
+        This is in preparation for a refactor to expose a simplified
+        WrapperGrouper interface to V8 wrapper classes enabling them to
+        specify multiple roots per wrapper object. 
+
+        * bindings/v8/V8GCController.cpp: Since MutationObservers are not Nodes, the correct call here is addObjectToGroup, as it is for all other non-Node wrappers.
+
+2013-02-20  Levi Weintraub  <leviw@chromium.org>
+
+        Line layout (but not pref widths) double-counts word spacing when between inlines
+        https://bugs.webkit.org/show_bug.cgi?id=110381
+
+        Reviewed by Emil A Eklund.
+
+        When a word break with a space occurs between inlines and word-spacing is non-zero,
+        line layout incorrectly committed the word-spacing value to the line twice, causing
+        wrapping in inline-blocks. To fix this, clear the word-spacing value when between
+        words and ignoring spaces, as we will already have added the word-spacing to the
+        line.
+
+        Test: fast/text/word-space-between-inlines.html
+
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
+
+2013-02-20  Nate Chapin  <japhet@chromium.org>
+
+        Crash in WebCore::FrameLoader::checkCompleted()
+        https://bugs.webkit.org/show_bug.cgi?id=110237
+
+        Reviewed by Abhishek Arya.
+
+        Test: http/tests/misc/delete-frame-during-readystatechange.html
+
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::checkCompleted): Protect before setReadyState() is called.
+
+2013-02-20  David Grogan  <dgrogan@chromium.org>
+
+        IndexedDB: Limit LevelDB's max open files
+        https://bugs.webkit.org/show_bug.cgi?id=109993
+
+        Reviewed by Tony Chang.
+
+        LevelDB keeps up to 1000 (by default) data files open at a time to
+        avoid having to open() them. This has caused chromium to hit the
+        process-wide open file limit. This patch changes max_open_files to 20,
+        as that's the minimum permitted by LevelDB and we have no reason to
+        think that performance will suffer because of the extra open calls.
+
+        No new tests - a chromium browser test that tracks the open LevelDB
+        files is plausible but is blocked on http://crbug.com/177249/.
+
+        * platform/leveldb/LevelDBDatabase.cpp:
+        (WebCore::openDB):
+
+2013-02-20  David Hyatt  <hyatt@apple.com>
+
+        [New Multicolumn] Resize RenderMultiColumnSets around their columns.
+        https://bugs.webkit.org/show_bug.cgi?id=110378.
+
+        Reviewed by Dirk Schulze.
+
+        Test: fast/multicol/newmulticol/positioned-with-constrained-height.html.
+
+        * rendering/RenderBlock.h:
+        (RenderBlock):
+        Make computeOverflow public so that RenderMultiColumnFlowThread can
+        access it.
+
+        * rendering/RenderMultiColumnFlowThread.cpp:
+        (WebCore::RenderMultiColumnFlowThread::layout):
+        Subclass layout to recompute the overflow for RenderMultiColumnBlock
+        after the flow thread has finished layout. This way it can account
+        for changes in RenderMultiColumnSets without having to do a second
+        layout pass.
+
+        * rendering/RenderMultiColumnFlowThread.h:
+        (RenderMultiColumnFlowThread):
+        Override layout().
+
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::columnCount):
+        Clean up a comment that referred to portions as region rects still.
+
+        (WebCore::RenderMultiColumnSet::setFlowThreadPortionRect):
+        * rendering/RenderMultiColumnSet.h:
+        * rendering/RenderRegion.h:
+        (WebCore::RenderRegion::setFlowThreadPortionRect):
+        Make setFlowThreadPortionRect virtual and actually mutate the size
+        and position of RenderMultiColumnSets so that they enclose their
+        column rects.
+
+2013-02-20  Dirk Schulze  <krit@webkit.org>
+
+        Enable CANVAS_PATH flag
+        https://bugs.webkit.org/show_bug.cgi?id=108508
+
+        Reviewed by Simon Fraser.
+
+        Enable CANVAS_PATH flag on trunk.
+
+        Existing tests cover the feature.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2013-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r143441.
+        http://trac.webkit.org/changeset/143441
+        https://bugs.webkit.org/show_bug.cgi?id=110376
+
+        May be causing chromium content_browsertests failures.
+        (Requested by vollick on #webkit).
+
+        * bindings/v8/ScriptValue.cpp:
+        (WebCore::ScriptValue::serialize):
+        (WebCore::ScriptValue::getString):
+        (WebCore::ScriptValue::toString):
+        (WebCore::ScriptValue::toInspectorValue):
+        * bindings/v8/ScriptValue.h:
+        (WebCore::ScriptValue::ScriptValue):
+        (WebCore::ScriptValue::operator=):
+        (WebCore::ScriptValue::operator==):
+        (WebCore::ScriptValue::isEqual):
+        (WebCore::ScriptValue::isFunction):
+        (WebCore::ScriptValue::isNull):
+        (WebCore::ScriptValue::isUndefined):
+        (WebCore::ScriptValue::isObject):
+        (WebCore::ScriptValue::hasNoValue):
+        (WebCore::ScriptValue::clear):
+        (WebCore::ScriptValue::v8Value):
+        (ScriptValue):
+        * bindings/v8/SharedPersistent.h:
+        (WebCore):
+        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+        (WebCore::InjectedScriptHost::scriptValueAsNode):
+        * bindings/v8/custom/V8MessageEventCustom.cpp:
+        (WebCore::V8MessageEvent::dataAttrGetterCustom):
+
+2013-02-15  Dirk Schulze  <krit@webkit.org>
+
+        [Chromium] Add runtime flag for CanvasPath
+        https://bugs.webkit.org/show_bug.cgi?id=109997
+
+        Reviewed by Adam Barth.
+
+        Add runtime flag for Chromium.
+
+        * bindings/generic/RuntimeEnabledFeatures.cpp:
+        (WebCore):
+        * bindings/generic/RuntimeEnabledFeatures.h:
+        (RuntimeEnabledFeatures):
+        (WebCore::RuntimeEnabledFeatures::setCanvasPathEnabled):
+        (WebCore::RuntimeEnabledFeatures::canvasPathEnabled):
+        * html/canvas/DOMPath.idl:
+        * page/DOMWindow.idl:
+
+2013-02-20  Laszlo Gombos  <l.gombos@samsung.com>
+
+        Remove unnecessary includes for Platform.h from headers
+        https://bugs.webkit.org/show_bug.cgi?id=110300
+
+        Reviewed by Alexey Proskuryakov.
+
+        wtf/Platform.h only need to be included in a few places directly
+        as it is included in config.h. Remove the unnecessay duplicate as
+        it can be confusing.
+
+        No new tests, no change in functionality.
+
+        * platform/SecureTextInput.h:
+        * platform/audio/Biquad.h:
+        * platform/audio/FFTFrame.h:
+        * platform/graphics/cpu/arm/filters/FEBlendNEON.h:
+        * platform/graphics/cpu/arm/filters/NEONHelpers.h:
+        * platform/graphics/filters/FELighting.h:
+
+2013-02-20  Florin Malita  <fmalita@chromium.org>
+
+        [SVG] Update of element referenced by multiple 'use' nodes is absurdly slow
+        https://bugs.webkit.org/show_bug.cgi?id=97905
+
+        Reviewed by Dirk Schulze.
+
+        Rebuilding the shadow and instance trees of dependent use nodes recursively can be
+        extremely inefficient with non-trivial dependency graphs (the trees are not constructed
+        in topological order).
+
+        To avoid redundant buildShadowAndInstanceTree() invokations, separate the invalidation
+        phase from the actual tree (re)building phase, and only descend into the dependency DAG
+        during the invalidation phase (recursion also stops at nodes that have been previously
+        invalidated).
+
+        No new tests: functional coverage provided by existing tests, perfomance tracked by
+        PerformanceTests/SVG/SvgNestedUse.html.
+
+        * svg/SVGUseElement.cpp:
+        (WebCore::SVGUseElement::buildPendingResource):
+        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
+        (WebCore::SVGUseElement::invalidateShadowTree):
+        (WebCore):
+        (WebCore::SVGUseElement::invalidateDependentShadowTrees):
+        * svg/SVGUseElement.h:
+        (SVGUseElement):
+
+2013-02-20  Tim Horton  <timothy_horton@apple.com>
+
+        RenderLayerBacking should initialize TiledBacking's isInWindow state with Page's isInWindow, not isOnscreen
+        https://bugs.webkit.org/show_bug.cgi?id=110370
+        <rdar://problem/13254006>
+
+        Reviewed by Simon Fraser.
+
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::RenderLayerBacking):
+
+2013-02-20  Mark Lam  <mark.lam@apple.com>
+
+        Cleanup the SQLTransaction and SQLTransactionBackend state dispatch
+        to only honor a state transition request if the associated database
+        hasn't been interrupted.
+        https://bugs.webkit.org/show_bug.cgi?id=110247.
+
+        Reviewed by Antti Koivisto.
+
+        No new tests.
+
+        * Modules/webdatabase/SQLTransaction.cpp:
+        (WebCore::SQLTransaction::performPendingCallback):
+        (WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):
+        * Modules/webdatabase/SQLTransaction.h:
+        * Modules/webdatabase/SQLTransactionBackend.cpp:
+        (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
+        (WebCore::SQLTransactionBackend::performNextStep):
+        * Modules/webdatabase/SQLTransactionBackend.h:
+
+2013-02-20  Alexey Proskuryakov  <ap@apple.com>
+
+        ResourceHandle::loadResourceSynchronously should have blob support in cross-platform code
+        https://bugs.webkit.org/show_bug.cgi?id=110364
+
+        Reviewed by Anders Carlsson.
+
+        * platform/network/ResourceHandle.h:
+        * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::loadResourceSynchronously):
+        Added a cross-platform version to keep blob-related logic in one place.
+
+        * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
+        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
+        * platform/network/cf/ResourceHandleCFNet.cpp:
+        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
+        * platform/network/curl/ResourceHandleCurl.cpp:
+        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
+        * platform/network/mac/ResourceHandleMac.mm:
+        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
+        * platform/network/qt/ResourceHandleQt.cpp:
+        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
+        * platform/network/soup/ResourceHandleSoup.cpp:
+        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
+        * platform/network/win/ResourceHandleWin.cpp:
+        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
+        Renamed loadResourceSynchronously to platformLoadResourceSynchronously,
+        removed blob handling from platforms that had it.
+
+2013-02-20  David Hyatt  <hyatt@apple.com>
+
+        [New Multicolumn] RenderMultiColumnFlowThreads should establish a BFC.
+        https://bugs.webkit.org/show_bug.cgi?id=110366.
+
+        Reviewed by Antti Koivisto.
+
+        RenderFlowThreads should establish a block formatting context always.
+        CSS Regions have named flow thread that they absolutely position, and so
+        they got this for free by being absolutely positioned.
+        
+        RenderMultiColumnFlowThreads, however, are relative positioned, so we need
+        to just add an isRenderFlowThread case specifically so we're not dependent
+        on the positioning scheme used for the flow thread to establish the BFC.
+        
+        Test: fast/multicol/newmulticol/float-*.html.
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::MarginInfo::MarginInfo):
+
+2013-02-20  David Hyatt  <hyatt@apple.com>
+
+        [New Multicolumn] Column gap is computed incorrectly.
+        https://bugs.webkit.org/show_bug.cgi?id=110360.
+
+        Reviewed by Simon Fraser.
+
+        Test: fast/multicol/newmulticol/layers-split-across-columns.html.
+
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::columnGap):
+        Make sure we ask the RenderMultiColumnBlock for the gap rather than our
+        own style, since we don't actually have the gap value in our style.
+        
+        (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
+        * rendering/RenderMultiColumnSet.h:
+        Fix another spot where the columnGap was an int. It should be a LayoutUnit.
+
+2013-02-20  Robert Hogan  <robert@webkit.org>
+
+        No caret on empty contenteditable element with negative text-indent
+        https://bugs.webkit.org/show_bug.cgi?id=108633
+
+        Reviewed by Ryosuke Niwa.
+
+        Test: fast/repaint/paint-caret-in-div-with-negative-indent.html
+
+        When an editable element has a negative text indent we won't paint the caret when the
+        element is empty because it falls outside the element's border box. To ensure the caret is painted,
+        account for any negative indent with our overflow.
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::computeOverflow):
+
+2013-02-20  Ojan Vafai  <ojan@chromium.org>
+
+        Remove stretchesToMinIntrinsicLogicalWidth
+        https://bugs.webkit.org/show_bug.cgi?id=110266
+
+        Reviewed by Emil Eklund.
+
+        This was only used by fieldsets and now we have a way to express this
+        concept in CSS.
+
+        * WebCore.order:
+        * css/html.css:
+        Make fieldsets min-width: -webkit-min-content.
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::computeLogicalWidthInRegion):
+        (WebCore::RenderBox::computePositionedLogicalWidth):
+        * rendering/RenderBox.h:
+        Remove all calls to stretchesToMinIntrinsicLogicalWidth.
+
+2013-02-20  Ojan Vafai  <ojan@chromium.org>
+
+        Make intrinsic width values work for positioned elements
+        https://bugs.webkit.org/show_bug.cgi?id=110264
+
+        Reviewed by Tony Chang.
+
+        Tests: fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html
+               fast/css-intrinsic-dimensions/width-shrinks-avoid-floats.html
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
+        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
+        Move the computation of intrinsic widths out into a helper function so that
+        computePositionedLogicalWidthUsing can use it. As per the current spec,
+        fill-available measures shrink to avoid floats. http://dev.w3.org/csswg/css3-sizing/
+
+        (WebCore::RenderBox::computePositionedLogicalWidth):
+        Compute intrinsic min-widths in addition to non-zero ones. Intrinsic widths
+        return true for isZero. width and max-width don't need modifying since they already
+        call computePositionedLogicalWidthUsing for intrinsic widths.
+
+        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
+        Compute intrinsic widths and use a Fixed length for the rest of the positioned width
+        computation. Doesn't include bordersPlusPadding because the caller, expected the content
+        width and adds in the bordersPlusPadding later.
+
+        * rendering/RenderBox.h:
+
+2013-02-20  Robert Hogan  <robert@webkit.org>
+
+        input element with placeholder text and width set to 100% on focus causes overflow even after losing focus
+        https://bugs.webkit.org/show_bug.cgi?id=109020
+
+        Reviewed by David Hyatt.
+
+        Tests: fast/forms/input-placeholder-layout-view.html
+               fast/forms/textarea-placeholder-layout-view.html
+
+        Placeholder elements don't affect layout so shouldn't contribute overflow either.
+
+        * rendering/RenderTextControlSingleLine.cpp:
+        (WebCore::RenderTextControlSingleLine::layout):
+
+2013-02-20  Mark Lam  <mark.lam@apple.com>
+
+        Rename DatabaseBackend to DatabaseBackendBase.
+        https://bugs.webkit.org/show_bug.cgi?id=110303.
+
+        Rubber stamped by Alexey Proskuryakov.
+
+        This is a purely cosmetic change to make the naming consistent with
+        the front-end DatabaseBase.
+
+        No new tests.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * Modules/webdatabase/AbstractDatabaseServer.h:
+        * Modules/webdatabase/Database.cpp:
+        (WebCore::Database::create):
+        (WebCore::Database::version):
+        * Modules/webdatabase/Database.h:
+        (Database):
+        * Modules/webdatabase/DatabaseBackend.cpp: Removed.
+        * Modules/webdatabase/DatabaseBackend.h: Removed.
+        * Modules/webdatabase/DatabaseBackendAsync.cpp:
+        (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
+        (WebCore::DatabaseBackendAsync::performOpenAndVerify):
+        * Modules/webdatabase/DatabaseBackendAsync.h:
+        * Modules/webdatabase/DatabaseBackendBase.cpp: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.cpp.
+        (WebCore::DatabaseBackendBase::databaseInfoTableName):
+        (WebCore::DatabaseBackendBase::DatabaseBackendBase):
+        (WebCore::DatabaseBackendBase::~DatabaseBackendBase):
+        (WebCore::DatabaseBackendBase::closeDatabase):
+        (WebCore::DatabaseBackendBase::version):
+        (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
+        (DoneCreatingDatabaseOnExitCaller):
+        (WebCore::DatabaseBackendBase::performOpenAndVerify):
+        (WebCore::DatabaseBackendBase::securityOrigin):
+        (WebCore::DatabaseBackendBase::stringIdentifier):
+        (WebCore::DatabaseBackendBase::displayName):
+        (WebCore::DatabaseBackendBase::estimatedSize):
+        (WebCore::DatabaseBackendBase::fileName):
+        (WebCore::DatabaseBackendBase::details):
+        (WebCore::DatabaseBackendBase::getVersionFromDatabase):
+        (WebCore::DatabaseBackendBase::setVersionInDatabase):
+        (WebCore::DatabaseBackendBase::setExpectedVersion):
+        (WebCore::DatabaseBackendBase::getCachedVersion):
+        (WebCore::DatabaseBackendBase::setCachedVersion):
+        (WebCore::DatabaseBackendBase::getActualVersionForTransaction):
+        (WebCore::DatabaseBackendBase::disableAuthorizer):
+        (WebCore::DatabaseBackendBase::enableAuthorizer):
+        (WebCore::DatabaseBackendBase::setAuthorizerReadOnly):
+        (WebCore::DatabaseBackendBase::setAuthorizerPermissions):
+        (WebCore::DatabaseBackendBase::lastActionChangedDatabase):
+        (WebCore::DatabaseBackendBase::lastActionWasInsert):
+        (WebCore::DatabaseBackendBase::resetDeletes):
+        (WebCore::DatabaseBackendBase::hadDeletes):
+        (WebCore::DatabaseBackendBase::resetAuthorizer):
+        (WebCore::DatabaseBackendBase::maximumSize):
+        (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
+        (WebCore::DatabaseBackendBase::interrupt):
+        (WebCore::DatabaseBackendBase::isInterrupted):
+        (WebCore::DatabaseBackendBase::reportOpenDatabaseResult):
+        (WebCore::DatabaseBackendBase::reportChangeVersionResult):
+        (WebCore::DatabaseBackendBase::reportStartTransactionResult):
+        (WebCore::DatabaseBackendBase::reportCommitTransactionResult):
+        (WebCore::DatabaseBackendBase::reportExecuteStatementResult):
+        (WebCore::DatabaseBackendBase::reportVacuumDatabaseResult):
+        * Modules/webdatabase/DatabaseBackendBase.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.h.
+        (DatabaseBackendBase):
+        * Modules/webdatabase/DatabaseBackendSync.cpp:
+        (WebCore::DatabaseBackendSync::DatabaseBackendSync):
+        * Modules/webdatabase/DatabaseBackendSync.h:
+        * Modules/webdatabase/DatabaseBase.h:
+        * Modules/webdatabase/DatabaseManager.cpp:
+        (WebCore::DatabaseManager::openDatabaseBackend):
+        (WebCore::DatabaseManager::openDatabase):
+        (WebCore::DatabaseManager::openDatabaseSync):
+        (WebCore::DatabaseManager::getMaxSizeForDatabase):
+        * Modules/webdatabase/DatabaseManager.h:
+        (DatabaseManager):
+        * Modules/webdatabase/DatabaseServer.cpp:
+        (WebCore::DatabaseServer::openDatabase):
+        (WebCore::DatabaseServer::createDatabase):
+        (WebCore::DatabaseServer::getMaxSizeForDatabase):
+        * Modules/webdatabase/DatabaseServer.h:
+        * Modules/webdatabase/DatabaseSync.cpp:
+        (WebCore::DatabaseSync::create):
+        * Modules/webdatabase/DatabaseSync.h:
+        (DatabaseSync):
+        * Modules/webdatabase/DatabaseTracker.cpp:
+        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
+        (WebCore::DatabaseTracker::databaseChanged):
+        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
+        (WebCore::DatabaseTracker::doneCreatingDatabase):
+        (WebCore::DatabaseTracker::addOpenDatabase):
+        (WebCore::DatabaseTracker::removeOpenDatabase):
+        (WebCore::DatabaseTracker::getOpenDatabases):
+        (WebCore::DatabaseTracker::deleteDatabaseFile):
+        * Modules/webdatabase/DatabaseTracker.h:
+        (DatabaseTracker):
+        * Modules/webdatabase/OriginQuotaManager.cpp:
+        (WebCore::OriginQuotaManager::markDatabase):
+        * Modules/webdatabase/OriginQuotaManager.h:
+        (OriginQuotaManager):
+        * Modules/webdatabase/SQLTransactionClient.cpp:
+        (WebCore::SQLTransactionClient::didCommitWriteTransaction):
+        (WebCore::SQLTransactionClient::didExecuteStatement):
+        (WebCore::SQLTransactionClient::didExceedQuota):
+        * Modules/webdatabase/SQLTransactionClient.h:
+        (SQLTransactionClient):
+        * Modules/webdatabase/chromium/DatabaseObserver.h:
+        (DatabaseObserver):
+        * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
+        (WebCore::DatabaseTracker::addOpenDatabase):
+        (WebCore::NotifyDatabaseObserverOnCloseTask::create):
+        (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
+        (NotifyDatabaseObserverOnCloseTask):
+        (WebCore::DatabaseTracker::removeOpenDatabase):
+        (WebCore::DatabaseTracker::prepareToOpenDatabase):
+        (WebCore::DatabaseTracker::failedToOpenDatabase):
+        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
+        (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
+        (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
+        (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
+        (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
+        * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
+        (WebCore::NotifyDatabaseChangedTask::create):
+        (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
+        (NotifyDatabaseChangedTask):
+        (WebCore::SQLTransactionClient::didCommitWriteTransaction):
+        (WebCore::SQLTransactionClient::didExecuteStatement):
+        (WebCore::SQLTransactionClient::didExceedQuota):
+        * Target.pri:
+        * WebCore.gypi:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2013-02-20  Eric Carlson  <eric.carlson@apple.com>
+
+        iOS does not use CaptionUserPreferencesMac
+        https://bugs.webkit.org/show_bug.cgi?id=110259
+
+        Reviewed by Dean Jackson.
+
+        * page/CaptionUserPreferencesMac.h: Add PLATFORM(IOS) guard
+        * page/CaptionUserPreferencesMac.mm: Ditto.
+
+        * page/PageGroup.cpp:
+        (WebCore::PageGroup::captionPreferences): Ditto.
+
+2013-02-19  David Hyatt  <hyatt@apple.com>
+
+        [New Multicolumn] Make layers paint properly in columns.
+        https://bugs.webkit.org/show_bug.cgi?id=110296.
+
+        Reviewed by Sam Weinig.
+
+        Construct the style for the RenderMultiColumnFlowThread such that it
+        establishes a stacking context (by being position:relative
+        with a z-index of 0). This causes the layer collection code
+        to correctly ignore the RenderFlowThread layers during normal
+        painting.
+        
+        Fix more clipping bugs to eliminate subpixel layout differences
+        between old and new multicolumn.
+
+        Test: fast/multicol/newmulticol/layers-in-multicol.html
+
+        * rendering/RenderMultiColumnBlock.cpp:
+        (WebCore::createMultiColumnFlowThreadStyle):
+        (WebCore):
+        (WebCore::RenderMultiColumnBlock::addChild):
+        Use a custom style (similar to what normal RenderFlowThreads do)
+        for the RenderMultiColumnFlowThread that makes it a stacking
+        context.
+        
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
+        Fix the overflow calculations out the leftmost and rightmost
+        columns to actually look at the physical placement of the columns.
+        The old code was backwards for RTL.
+        
+        * rendering/RenderRegion.cpp:
+        (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
+        Fix the clipping done by overflowRectForFlowThreadPortion to min
+        and max with the passed-in portion rect so that subclasses that
+        inflate the rect prior to passing it into the method don't have that
+        inflation discarded.
+
+2013-02-20  Alexander Pavlov  <apavlov@chromium.org>
+
+        Web Inspector: CSSProperty.status defaults to "style" not "active"
+        https://bugs.webkit.org/show_bug.cgi?id=110348
+
+        Reviewed by Timothy Hatcher.
+
+        * inspector/Inspector.json: Fix the default property status to be "style" in the description.
+
+2013-02-20  Dan Carney  <dcarney@google.com>
+
+        [v8] potentially disposed handle returned for npapi object
+        https://bugs.webkit.org/show_bug.cgi?id=110331
+
+        Reviewed by Kentaro Hara.
+
+        No new tests. No change in functionality.
+
+        * bindings/v8/V8NPUtils.cpp:
+        (WebCore::convertNPVariantToV8Object):
+
+2013-02-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>  and  Martin Robinson  <mrobinson@igalia.com>
+
+        [Gtk] HTML5 Media controls require a design refresh
+        https://bugs.webkit.org/show_bug.cgi?id=83869
+
+        Created new controls that depend less on Gtk and more in CSS.
+
+        Reviewed by Philippe Normand.
+
+        * GNUmakefile.list.am: Added compilation for MediaControlsGtk.cpp
+        and MediaControlsGtk.h
+        * css/mediaControlsGtk.css: Taken from Chromium and adapted for
+        WebKitGtk+.
+        * html/shadow/MediaControlsGtk.cpp: Added.
+        (WebCore): Added MediaControlsGtk class.
+        (WebCore::MediaControlsGtk::MediaControlsGtk): Class constructor
+        (WebCore::MediaControls::create): Creates the Gtk+ controls
+        components.
+        (WebCore::MediaControlsGtk::createControls): Creates the Gtk+
+        controls components.
+        (WebCore::MediaControlsGtk::initializeControls): Initializes all
+        media controls.
+        (WebCore::MediaControlsGtk::setMediaController): Sets the media
+        controller.
+        (WebCore::MediaControlsGtk::reset): Resets the controllers.
+        (WebCore::MediaControlsGtk::playbackStarted): Invoked when the
+        playback starts
+        (WebCore::MediaControlsGtk::updateCurrentTimeDisplay): Updates the
+        controls when the current time shall be updated.
+        (WebCore::MediaControlsGtk::changedMute): Updates the controls
+        then the mute changes.
+        (WebCore::MediaControlsGtk::showVolumeSlider): Invoked when the
+        volume slider is meant to be shown.
+        (WebCore::MediaControlsGtk::createTextTrackDisplay): Creates the
+        track display. Though it is not used by us, it needs to be created
+        to prevent immediate crashes when loading a video.
+        * html/shadow/MediaControlsGtk.h: Added.
+        (WebCore): Added the MediaControlsGtk class.
+        (MediaControlsGtk): Added the MediaControlsGtk class.
+        * platform/gtk/RenderThemeGtk.cpp:
+        (WebCore): Added getStockSymbolicIconForWidgetType function
+        signature to load symbolic icons.
+        (WebCore::supportsFocus): Added media control widgets to support
+        focus so that the focus ring is not painted by WebCore.
+        (WebCore::RenderThemeGtk::paintMediaButton): Added the symbolic
+        icon support. It supports now normal and symbolic icons at the
+        same time.
+        (WebCore::RenderThemeGtk::paintMediaFullscreenButton): Added the
+        symbolic icon support.
+        (WebCore::RenderThemeGtk::paintMediaMuteButton): Added the
+        symbolic icon support.
+        (WebCore::RenderThemeGtk::paintMediaPlayButton): Added the
+        symbolic icon support.
+        (WebCore::RenderThemeGtk::paintMediaSeekBackButton): Added the
+        symbolic icon support.
+        (WebCore::RenderThemeGtk::paintMediaSeekForwardButton): Added the
+        symbolic icon support.
+        (WebCore::borderRadiiFromStyle): Created the radii info from the
+        style.
+        (WebCore::RenderThemeGtk::paintMediaSliderTrack): Removed the
+        background and the Gtk widget support as it is painted with
+        CSS. Also paint the time ranges with the CSS style.
+        (WebCore::RenderThemeGtk::paintMediaSliderThumb): Paint slider
+        thumb according to the CSS parameters.
+        (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
+        Delegates in the CSS.
+        (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack): Fills the
+        track up to the volume level and delegates the border in the CSS.
+        (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb): Delegates
+        in the paintMediaSliderThumb method so the thumb is painted the
+        same with the CSS parameters.
+        (WebCore::RenderThemeGtk::paintMediaCurrentTime): Removed the Gtk
+        background to use only CSS.
+        * platform/gtk/RenderThemeGtk.h:
+        (RenderThemeGtk): Changed paintMediaButton to support the symbolic
+        and normal icons at the same time.
+        * platform/gtk/RenderThemeGtk2.cpp:
+        (WebCore::RenderThemeGtk::adjustSliderThumbSize): Not adjusting
+        the thumb size and letting the CSS decide that for media slider.
+        (WebCore::getStockSymbolicIconForWidgetType): Implemented as a
+        fallback to the normal stock icons.
+        * platform/gtk/RenderThemeGtk3.cpp:
+        (WebCore):
+        (WebCore::RenderThemeGtk::adjustSliderThumbSize): Not adjusting
+        the thumb size and letting the CSS decide that for the media
+        sliders.
+        (WebCore::getStockSymbolicIconForWidgetType): Added this function
+        to load symbolic icons. It falls back to normal icons if the
+        symbolic is not found.
+
+2013-02-20  Andras Becsi  <andras.becsi@digia.com>
+
+        [Qt] Rename AncestorChainWalker.h to EventPathWalker.h in the project file.
+
+        Unreviewed gardening.
+
+        AncestorChainWalker has been renamed to EventPathWalker in r143422.
+        Rename the header in the project file as well so that it shows up in QtCreator.
+
+        No new tests needed.
+
+        * Target.pri:
+
+2013-02-20  Ilya Tikhonovsky  <loislo@chromium.org>
+
+        Web Inspector: fix for frontend closure compile errors.
+        https://bugs.webkit.org/show_bug.cgi?id=110329
+
+        Reviewed by Vsevolod Vlasov.
+
+        It has no tests because it has no code changes.
+
+        * inspector/front-end/HeapSnapshot.js:
+        (HeapSnapshotMetainfo):
+        * inspector/front-end/NativeMemorySnapshotView.js:
+        (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
+        (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
+
+2013-02-20  Florin Malita  <fmalita@chromium.org>
+
+        Clear SVGPathSeg role on removal.
+        https://bugs.webkit.org/show_bug.cgi?id=110058
+
+        Reviewed by Dirk Schulze.
+
+        SVGPathSegListPropertyTearOff::initialize() and SVGPathSegListPropertyTearOff::replaceItem()
+        need to clear the context and role for segments being expunged from the list, similarly to
+        removeItem(). Otherwise, processIncomingListItemValue() can get confused and attempt to
+        remove stale segments.
+
+        Test: svg/dom/SVGPathSegList-crash.html
+
+        * svg/properties/SVGPathSegListPropertyTearOff.cpp:
+        (WebCore::SVGPathSegListPropertyTearOff::clearContextAndRoles):
+        (WebCore::SVGPathSegListPropertyTearOff::clear):
+        (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
+        (WebCore):
+        * svg/properties/SVGPathSegListPropertyTearOff.h:
+        (WebCore::SVGPathSegListPropertyTearOff::initialize):
+        (SVGPathSegListPropertyTearOff):
+
+2013-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r143434.
+        http://trac.webkit.org/changeset/143434
+        https://bugs.webkit.org/show_bug.cgi?id=110326
+
+        added reftest fails on chromium mac 10.6 (Requested by
+        toyoshim on #webkit).
+
+        * rendering/RenderFileUploadControl.cpp:
+        (WebCore::RenderFileUploadControl::paintObject):
+
+2013-02-19  Vsevolod Vlasov  <vsevik@chromium.org>
+
+        Web Inspector: Make UISourceCode.path() an array of path segments.
+        https://bugs.webkit.org/show_bug.cgi?id=110229
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/front-end/FileSystemProjectDelegate.js:
+        (WebInspector.FileSystemProjectDelegate.prototype._filePathForPath):
+        (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
+        (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
+        (WebInspector.FileSystemProjectDelegate.prototype._contentTypeForPath):
+        (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
+        (WebInspector.FileSystemProjectDelegate.prototype.populate):
+        * inspector/front-end/SimpleWorkspaceProvider.js:
+        (WebInspector.SimpleProjectDelegate.prototype.requestFileContent):
+        (WebInspector.SimpleProjectDelegate.prototype.searchInFileContent):
+        (WebInspector.SimpleProjectDelegate.prototype.addFile):
+        (WebInspector.SimpleProjectDelegate.prototype._ensureUniquePath):
+        (WebInspector.SimpleProjectDelegate.prototype.removeFile):
+        (WebInspector.SimpleWorkspaceProvider.pathForSplittedURL):
+        (WebInspector.SimpleWorkspaceProvider.prototype.addFileByName):
+        (WebInspector.SimpleWorkspaceProvider.prototype.removeFileByName):
+        * inspector/front-end/UISourceCode.js:
+        (WebInspector.UISourceCode.prototype.uri):
+        * inspector/front-end/Workspace.js:
+        (WebInspector.Project.prototype._fileAdded):
+        (WebInspector.Project.prototype._fileRemoved):
+        (WebInspector.Project.prototype.uiSourceCode):
+        (WebInspector.Workspace.prototype.uiSourceCodeForURL):
+        (WebInspector.Workspace.prototype.urlForPath):
+
+2013-02-20  Yury Semikhatsky  <yurys@chromium.org>
+
+        Web Inspector: fix message for non-existent domain warning
+        https://bugs.webkit.org/show_bug.cgi?id=110315
+
+        Reviewed by Alexander Pavlov.
+
+        Only send (Heap)Profiler.resetProfiles event if the client has
+        requested profile headers before.
+
+        * inspector/InspectorHeapProfilerAgent.cpp:
+        (HeapProfilerAgentState):
+        (WebCore):
+        (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
+        (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
+        (WebCore::InspectorHeapProfilerAgent::clearFrontend):
+        (WebCore::InspectorHeapProfilerAgent::restore):
+        (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
+        * inspector/InspectorHeapProfilerAgent.h:
+        (InspectorHeapProfilerAgent):
+        * inspector/InspectorProfilerAgent.cpp:
+        (ProfilerAgentState):
+        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
+        (WebCore::InspectorProfilerAgent::addProfile):
+        (WebCore::InspectorProfilerAgent::disable):
+        (WebCore::InspectorProfilerAgent::getProfileHeaders):
+        (WebCore):
+        (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
+        (WebCore::InspectorProfilerAgent::restore):
+        * inspector/InspectorProfilerAgent.h:
+        (InspectorProfilerAgent):
+
+2013-02-19  Vsevolod Vlasov  <vsevik@chromium.org>
+
+        Web Inspector: Move workspace specific code from FileMapping to workspace.
+        https://bugs.webkit.org/show_bug.cgi?id=110219
+
+        Reviewed by Pavel Feldman.
+
+        Extracted workspace specific code from FileMapping to Workspace.
+        This allows to reduce usage of uri and eventually make UISourceCode.path an array of path segments.
+
+        Test: inspector/workspace-mapping.html
+
+        * inspector/front-end/CSSStyleModel.js:
+        (WebInspector.CSSStyleModel.prototype.rawLocationToUILocation):
+        * inspector/front-end/CompilerScriptMapping.js:
+        (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
+        (WebInspector.CompilerScriptMapping.prototype.get addScript.get this):
+        (WebInspector.CompilerScriptMapping.prototype.get addScript):
+        * inspector/front-end/FileMapping.js:
+        (WebInspector.FileMapping):
+        (WebInspector.FileMapping.prototype.mappingEntryForURL):
+        (WebInspector.FileMapping.prototype.mappingEntryForPath):
+        * inspector/front-end/FileSystemMapping.js:
+        (WebInspector.FileSystemMapping.prototype.fileSystemPathForPrefix):
+        (WebInspector.FileSystemMappingImpl.prototype.addFileSystemMapping):
+        (WebInspector.FileSystemMappingImpl.prototype.removeFileSystemMapping):
+        (WebInspector.FileSystemMappingImpl.prototype.fileSystemPathForPrefix):
+        * inspector/front-end/FileSystemProjectDelegate.js:
+        (WebInspector.FileSystemProjectDelegate):
+        (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
+        (WebInspector.FileSystemProjectDelegate.prototype.populate):
+        (WebInspector.FileSystemWorkspaceProvider):
+        (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
+        * inspector/front-end/IsolatedFileSystemManager.js:
+        (WebInspector.IsolatedFileSystemManager):
+        * inspector/front-end/NetworkUISourceCodeProvider.js:
+        (WebInspector.NetworkUISourceCodeProvider):
+        (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
+        * inspector/front-end/ResourceScriptMapping.js:
+        (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
+        * inspector/front-end/ResourceUtils.js:
+        (WebInspector.displayNameForURL):
+        * inspector/front-end/SASSSourceMapping.js:
+        (WebInspector.SASSSourceMapping.prototype._reloadCSS):
+        (WebInspector.SASSSourceMapping.prototype._bindUISourceCode):
+        (WebInspector.SASSSourceMapping.prototype.rawLocationToUILocation):
+        * inspector/front-end/ScriptsPanel.js:
+        (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
+        * inspector/front-end/SimpleWorkspaceProvider.js:
+        (WebInspector.SimpleWorkspaceProvider.pathForSplittedURL):
+        (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
+        * inspector/front-end/StylesSourceMapping.js:
+        (WebInspector.StylesSourceMapping.prototype.rawLocationToUILocation):
+        (WebInspector.StylesSourceMapping.prototype._resourceAdded):
+        (WebInspector.StylesSourceMapping.prototype._mainFrameCreatedOrNavigated):
+        (WebInspector.StyleContentBinding):
+        (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
+        * inspector/front-end/Workspace.js:
+        (WebInspector.Workspace):
+        (WebInspector.Workspace.prototype.hasMappingForURL):
+        (WebInspector.Workspace.prototype._fileSystemPathForEntry):
+        (WebInspector.Workspace.prototype.uiSourceCodeForURL):
+        (WebInspector.Workspace.prototype.urlForPath):
+        * inspector/front-end/inspector.js:
+
+2013-02-20  Alexander Pavlov  <apavlov@chromium.org>
+
+        Web Inspector: Introduce SecurityOriginAdded and SecurityOriginRemoved events into ResourceTreeModel
+        https://bugs.webkit.org/show_bug.cgi?id=110232
+
+        Reviewed by Vsevolod Vlasov.
+
+        * inspector/front-end/ResourceTreeModel.js:
+        (WebInspector.ResourceTreeModel):
+        (WebInspector.ResourceTreeModel.prototype._addFrame):
+        (WebInspector.ResourceTreeModel.prototype._addSecurityOrigin): Added.
+        (WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin): Added.
+        (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached): Added.
+        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
+        (WebInspector.ResourceTreeModel.prototype._frameDetached):
+
+2013-02-20  Dan Carney  <dcarney@google.com>
+
+        [v8] ScriptValue has dangerous copy semantics
+        https://bugs.webkit.org/show_bug.cgi?id=110206
+
+        Reviewed by Kentaro Hara.
+
+        Update ScriptValue to used a SharedPersistent,
+        making it impossible to return dead references.
+
+        No new tests. No change in functionality.
+
+        * bindings/v8/ScriptValue.cpp:
+        (WebCore::ScriptValue::serialize):
+        (WebCore::ScriptValue::getString):
+        (WebCore::ScriptValue::toString):
+        (WebCore::ScriptValue::toInspectorValue):
+        * bindings/v8/ScriptValue.h:
+        (WebCore::ScriptValue::ScriptValue):
+        (WebCore::ScriptValue::operator=):
+        (WebCore::ScriptValue::operator==):
+        (WebCore::ScriptValue::isEqual):
+        (WebCore::ScriptValue::isFunction):
+        (WebCore::ScriptValue::isNull):
+        (WebCore::ScriptValue::isUndefined):
+        (WebCore::ScriptValue::isObject):
+        (WebCore::ScriptValue::hasNoValue):
+        (WebCore::ScriptValue::clear):
+        (ScriptValue):
+        (WebCore::ScriptValue::v8Value):
+        (WebCore::ScriptValue::v8ValueRaw):
+        * bindings/v8/SharedPersistent.h:
+        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
+        (WebCore::InjectedScriptHost::scriptValueAsNode):
+        * bindings/v8/custom/V8MessageEventCustom.cpp:
+        (WebCore::V8MessageEvent::dataAttrGetterCustom):
+
+2013-02-20  Andrey Lushnikov  <lushnikov@chromium.org>
+
+        Web Inspector: highlight undefined word in JavaScript
+        https://bugs.webkit.org/show_bug.cgi?id=109585
+
+        Reviewed by Vsevolod Vlasov.
+
+        Test enhancement: inspector/syntax-highlight-javascript.html
+
+        Add global object value properties to tokenizer and add a css style
+        class to highlight "undefined" with gray color.
+
+        * inspector/front-end/SourceJavaScriptTokenizer.js:
+        (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
+        * inspector/front-end/SourceJavaScriptTokenizer.re2js:
+        * inspector/front-end/inspectorSyntaxHighlight.css:
+        (.webkit-javascript-undef):
+
+2013-02-20  Mike West  <mkwst@chromium.org>
+
+        Use EventPathWalker rather than parentNode() to normalize event targets in EventHandler.
+        https://bugs.webkit.org/show_bug.cgi?id=110037
+
+        Reviewed by Ryosuke Niwa.
+
+        We need to teach EventHandler about Shadow DOM in a few places in order
+        to ensure that we properly target events dispatched upon text nodes.
+        Rather than naively grabbing the text node's direct parent via
+        parentNode(), we need to account for the case in which the text node is
+        distributed[1] to an insertion point inside a shadow host.
+        EventPathWalker::parent understands these relationships, and should
+        be used when dealing with mouse, drag, and touch events.
+
+        [1]: http://www.w3.org/TR/shadow-dom/#dfn-distribution
+
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::handleMouseDraggedEvent):
+        (WebCore::EventHandler::handleTouchEvent):
+        (WebCore::EventHandler::passGestureEventToWidgetIfPossible):
+        (WebCore::EventHandler::updateDragAndDrop):
+            Refactor parentNode callsites to use EventPathWalker::parent().
+
+2013-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
+
+        Web Inspector: [Regression] Search in ProfilesPanel is broken
+        https://bugs.webkit.org/show_bug.cgi?id=110312
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/front-end/CPUProfileView.js:
+        (WebInspector.CPUProfileView.prototype.matchesQuery):
+        (WebInspector.CPUProfileView.prototype.performSearch):
+
+2013-02-20  Eugene Klyuchnikov  <eustas@chromium.org>
+
+        Web Inspector: View.markAsRoot should never be invoked on attached view.
+        https://bugs.webkit.org/show_bug.cgi?id=110224
+
+        Reviewed by Pavel Feldman.
+
+        This will cause CSS loading problems after "show".
+
+        * inspector/front-end/Drawer.js:
+        Ensure child view is detached before marked as root.
+        * inspector/front-end/View.js:
+        (WebInspector.View.prototype.markAsRoot): Added assertion.
+
+2013-02-20  Nils Barth  <nbarth@google.com>
+
+        File upload control doesn't apply CSS vertical padding or border to file name
+        https://bugs.webkit.org/show_bug.cgi?id=109011
+
+        Reviewed by Hajime Morrita.
+
+        Test: fast/forms/file/file-vertical-padding-border.html
+
+        * rendering/RenderFileUploadControl.cpp:
+            Add borderTop() and paddingTop() when computing position.
+        (WebCore::RenderFileUploadControl::paintObject):
+
+2013-02-19  Andrey Adaikin  <aandrey@chromium.org>
+
+        Few methods in WebGLRenderingContext.idl have incorrect signatures
+        https://bugs.webkit.org/show_bug.cgi?id=110305
+
+        Reviewed by Kentaro Hara.
+
+        * html/canvas/WebGLRenderingContext.idl:
+
+2013-02-19  Tim Horton  <timothy_horton@apple.com>
+
+        Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
+        https://bugs.webkit.org/show_bug.cgi?id=110261
+        <rdar://problem/13196122>
+
+        Reviewed by Simon Fraser.
+
+        Remove RenderLayerCompositor::willMoveOffscreen/didMoveOnscreen.
+        Add RenderLayerCompositor::setIsInWindow, and pipe in-window changes through from Page::setIsInWindow.
+        Adjust a few Document functions that previously called RenderView::didMoveOnscreen/willMoveOffscreen to use setIsInWindow instead, since in-window state changes are occurring when attaching and detaching documents.
+
+        * WebCore.exp.in: Export Page::setIsInWindow.
+        * dom/Document.cpp:
+        (WebCore::Document::attach): Use setIsInWindow instead of didMoveOnscreen.
+        (WebCore::Document::documentWillBecomeInactive): Use setIsInWindow instead of willMoveOffscreen.
+        (WebCore::Document::documentDidResumeFromPageCache): Use setIsInWindow instead of didMoveOnscreen.
+        * page/FrameView.cpp:
+        (WebCore::FrameView::didMoveOnscreen):
+        (WebCore::FrameView::willMoveOffscreen):
+        RenderView doesn't care about moving on/offscreen, just in-window state.
+        (WebCore::FrameView::setIsInWindow): Added. Forward isInWindow changes to our RenderView.
+        * page/FrameView.h:
+        (FrameView): Add setIsInWindow.
+        * page/Page.cpp:
+        (WebCore::Page::setIsInWindow): Added. Forward isInWindow changes to the Page's FrameViews.
+        * page/Page.h:
+        (Page): Add setIsInWindow.
+        (WebCore::Page::isInWindow):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::setIsInWindow): Added. Replace willMoveOffscreen/didMoveOnscreen with setIsInWindow,
+        since that's the only change we actually care about.
+        * rendering/RenderLayerCompositor.h:
+        (RenderLayerCompositor): Add setIsInWindow.
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::setIsInWindow): Added. Replace willMoveOffscreen/didMoveOnscreen with setIsInWindow,
+        since that's the only change RenderLayerCompositor actually cares about.
+        * rendering/RenderView.h:
+        (RenderView): Add setIsInWindow.
+
+2013-02-19  Eugene Klyuchnikov  <eustas@chromium.org>
+
+        Web Inspector: Cleanup and add JSDocs to SuggestBox
+        https://bugs.webkit.org/show_bug.cgi?id=110202
+
+        Reviewed by Pavel Feldman.
+
+        SuggestBox contains some obsolete/unused code and not fully
+        covered with JSDocs.
+
+        * inspector/front-end/SuggestBox.js:
+        (WebInspector.SuggestBox.prototype.visible):
+        Replaced getter with function.
+        (WebInspector.SuggestBox.prototype._onScrollOrResize):
+        Use camel-case for function names.
+        (WebInspector.SuggestBox.prototype._onBoxMouseDown): Ditto.
+        (WebInspector.SuggestBox.prototype.updateSuggestions):
+        Removed unused code.
+        (WebInspector.SuggestBox.prototype.hide): Adopt changes.
+        (WebInspector.SuggestBox.prototype._applySuggestion): Ditto.
+        * inspector/front-end/TextPrompt.js:
+        (WebInspector.TextPrompt.prototype.isSuggestBoxVisible): Ditto.
+
+2013-02-19  Hayato Ito <hayato@chromium.org>
+
+        Calculate EventPath in EventDispatcher's constructor.
+        https://bugs.webkit.org/show_bug.cgi?id=109905
+
+        Reviewed by Dimitri Glazkov.
+
+        This patch calculates an EventPath in EventDispatcher's
+        constructor and removes EventDispatcher::ensureEventPath().
+        We don't have any reason to initialize an EventPath lazily.
+
+        No tests. No change in behavior.
+
+        * dom/EventDispatcher.cpp:
+        (WebCore::EventDispatcher::EventDispatcher):
+        (WebCore::EventDispatcher::dispatch):
+        * dom/EventDispatcher.h:
+        (WebCore::EventDispatcher::eventPath):
+        (EventDispatcher):
+        * dom/FocusEvent.cpp:
+        (WebCore::FocusEventDispatchMediator::dispatchEvent):
+        (WebCore::BlurEventDispatchMediator::dispatchEvent):
+        (WebCore::FocusInEventDispatchMediator::dispatchEvent):
+        (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
+        * dom/MouseEvent.cpp:
+        (WebCore::MouseEventDispatchMediator::dispatchEvent):
+
+2013-02-19  Simon Fraser  <simon.fraser@apple.com>
+
+        Fix TileCache tile size when zoomed on slow-scrolling site
+        https://bugs.webkit.org/show_bug.cgi?id=110289
+
+        Reviewed by Tim Horton.
+        
+        In slow scrolling mode, we use the tile coverage rect as the tile size
+        (so a single tile covers the viewport). When zoomed, the tile coverage rect
+        shrinks relative to the TileCache, so scale the tile size back up.
+
+        Test: platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed.html
+
+        * platform/graphics/ca/mac/TileCache.mm:
+        (WebCore::TileCache::tileSizeForCoverageRect):
+
+2013-02-19  Hayato Ito  <hayato@chromium.org>
+
+        Rename AncestorChainWalker.
+        https://bugs.webkit.org/show_bug.cgi?id=110146
+
+        Reviewed by Dimitri Glazkov.
+
+        Rename AncestorChainWalker to EventPathWalker.
+        The term of EventPath is used in DOM Core spec.  EventPath was
+        already introduced into a EventContext.h in r112055. We should
+        spread this term into the Walker class since they share the same
+        purpose.
+
+        No new tests, no behavior change.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * Target.pri:
+        * WebCore.gypi:
+        * WebCore.xcodeproj/project.pbxproj:
+        * dom/DOMAllInOne.cpp:
+        * dom/EventDispatcher.cpp:
+        * dom/EventPathWalker.cpp: Renamed from Source/WebCore/dom/AncestorChainWalker.cpp.
+        (WebCore):
+        (WebCore::EventPathWalker::EventPathWalker):
+        (WebCore::EventPathWalker::parent): parent() is now a static function to cover simple use cases.
+        (WebCore::EventPathWalker::moveToParent): Renamed from parent().
+        * dom/EventPathWalker.h: Renamed from Source/WebCore/dom/AncestorChainWalker.h.
+        (WebCore):
+        (EventPathWalker):
+        (WebCore::EventPathWalker::node):
+        (WebCore::EventPathWalker::isVisitingInsertionPointInReprojection): Renamed from isCrossingInsertionPoint().
+        * dom/EventRetargeter.cpp:
+        (WebCore::EventRetargeter::calculateEventPath):
+        (WebCore::EventRetargeter::buildRelatedNodeMap):
+        * dom/TreeScope.cpp:
+        (WebCore::TreeScope::focusedNode):
+        * html/HTMLLIElement.cpp:
+        (WebCore::HTMLLIElement::attach):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::updateMouseEventTargetNode):
+        (WebCore::EventHandler::handleWheelEvent):
+
+2013-02-19  Dean Jackson  <dino@apple.com>
+
+        Snapshotted plugin label should not be selectable
+        https://bugs.webkit.org/show_bug.cgi?id=110286
+
+        Reviewed by Simon Fraser.
+
+        Update the CSS to make it clear that you should click
+        on a snapshot (use the finger pointer) and disable
+        text selection.
+
+        * css/plugIns.css:
+        (embed::-webkit-snapshotted-plugin-content .snapshot-container .snapshot-label):
+
+2013-02-19  Hans Muller  <hmuller@adobe.com>
+
+        [CSS Exclusions] Enable shape-inside support for ellipses
+        https://bugs.webkit.org/show_bug.cgi?id=109868
+
+        Reviewed by Dirk Schulze.
+
+        This change is very similar to the one recently made for circles:
+        removed the test that disabled ellipse values for shape-inside.
+        The remaining support for ellipses, which is based on rounded rectangles
+        whose width/height is equal to their radiusX/radiusY, has not changed.
+
+        Test: fast/exclusions/shape-inside/shape-inside-ellipse.html
+
+        * rendering/ExclusionShapeInsideInfo.h:
+        (WebCore::ExclusionShapeInsideInfo::isEnabledFor): No longer disallows any BasicShape type.
+
+2013-02-19  Uday Kiran  <udaykiran@motorola.com>
+
+        'round' not implemented in border-image
+        https://bugs.webkit.org/show_bug.cgi?id=14185
+
+        Reviewed by David Hyatt.
+
+        Add rendering support for 'round' keyword of border-image-repeat CSS property
+        http://dev.w3.org/csswg/css3-background/#border-image-repeat
+        Rebased original patch by Benjamin Otte <otte@gnome.org> and made few fixes.
+
+        Test: fast/borders/border-image-02.html
+
+        * platform/graphics/GraphicsContext.cpp:
+        (WebCore::GraphicsContext::drawTiledImage):
+        * platform/graphics/GraphicsContext.h:
+        (GraphicsContext):
+        * platform/graphics/Image.cpp:
+        (WebCore::Image::drawTiled):
+        * platform/graphics/Image.h:
+        (Image):
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::RenderBoxModelObject::paintNinePieceImage): For 'round' keyword,
+        the image is tiled (repeated) to fill the area. If it does not fill the area
+        with a whole number of tiles, the image is rescaled so that it does.
+
+2013-02-19  Conrad Shultz  <conrad_shultz@apple.com>
+
+        Allow UI clients to handle vertical wheel events.
+        https://bugs.webkit.org/show_bug.cgi?id=110006
+
+        Reviewed by Tim Horton.
+
+        Add API to allow matching changes in WebKit2 to control rubber-banding behavior at vertical page extrema.
+        If rubber-banding is disabled during a scroll event that would otherwise trigger rubber-banding, dispatch
+        didNotHandleWheelEvent() to the page UI client.
+
+        * WebCore.exp.in:
+        Export new rubber-banding API.
+
+        * page/Page.cpp:
+        (WebCore):
+        (WebCore::Page::rubberBandsAtBottom):
+        Proxy for the corresponding function in ScrollingCoordinator.
+        (WebCore::Page::setRubberBandsAtBottom):
+        Ditto.
+        (WebCore::Page::rubberBandsAtTop):
+        Ditto.
+        (WebCore::Page::setRubberBandsAtTop):
+        Ditto.
+
+        * page/Page.h:
+        (Page):
+        Declare new rubber-banding API (above).
+
+        * page/scrolling/ScrollingCoordinator.h:
+        (WebCore::ScrollingCoordinator::rubberBandsAtBottom):
+        Stub API implementation.
+        (WebCore::ScrollingCoordinator::setRubberBandsAtBottom):
+        Ditto.
+        (WebCore::ScrollingCoordinator::rubberBandsAtTop):
+        Ditto.
+        (WebCore::ScrollingCoordinator::setRubberBandsAtTop):
+        Ditto.
+
+        * page/scrolling/ScrollingTree.cpp:
+        (WebCore::ScrollingTree::ScrollingTree):
+        Initialize new member variables.
+        (WebCore::ScrollingTree::setMainFramePinState):
+        Set top/bottom pinned states.
+        (WebCore::ScrollingTree::rubberBandsAtBottom):
+        New accessor function.
+        (WebCore::ScrollingTree::setRubberBandsAtBottom):
+        New mutator function.
+        (WebCore::ScrollingTree::rubberBandsAtTop):
+        New accessor function.
+        (WebCore::ScrollingTree::setRubberBandsAtTop):
+        New mutator function.
+        (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
+        Start a vertical swipe event if the frame is pinned at the top or bottom and associated rubber-banding is disabled.
+
+        * page/scrolling/ScrollingTree.h:
+        (ScrollingTree):
+        Declare new rubber-banding API and associated member variables.
+
+        * page/scrolling/mac/ScrollingCoordinatorMac.h:
+        (ScrollingCoordinatorMac):
+        Declare API overrides.
+
+        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
+        (WebCore::ScrollingCoordinatorMac::rubberBandsAtBottom):
+        Method override; proxy to corresponding function in ScrollingTree.
+        (WebCore::ScrollingCoordinatorMac::setRubberBandsAtBottom):
+        Ditto.
+        (WebCore::ScrollingCoordinatorMac::rubberBandsAtTop):
+        Ditto.
+        (WebCore::ScrollingCoordinatorMac::setRubberBandsAtTop):
+        Ditto.
+
+        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
+        (WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection):
+        Remove trailing whitespace.
+        (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
+        Calculate and pass vertical pinning state to ScrollingTree::setMainFramePinState().
+
+2013-02-19  Simon Fraser  <simon.fraser@apple.com>
+
+        Rubber-banding should not affect the visibleRect of the TileCache
+        https://bugs.webkit.org/show_bug.cgi?id=110278
+
+        Reviewed by Beth Dakin.
+        
+        When rubber-banding a slow-scrolling page, or image document, we would constantly re-create
+        the bottom tile because of the logic that adapts the tile size to the visible rect when slow
+        scrolling.
+        
+        Avoid that by ensuring that the visibleRect is not affected by rubber-banding. This is done
+        via a GraphicsLayerClient function that allows RenderLayerCompositor to provide a custom
+        position for the scroll layer. We constrain that scroll position to remove the overhang that
+        results from rubber-banding.
+
+        I wasn't able to make a test for this, even with internals.setScrollViewPosition().
+
+        * platform/graphics/GraphicsLayerClient.h:
+        (GraphicsLayerClient):
+        (WebCore::GraphicsLayerClient::customPositionForVisibleRectComputation):
+        * platform/graphics/ca/GraphicsLayerCA.cpp:
+        (WebCore::GraphicsLayerCA::computeVisibleRect):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::customPositionForVisibleRectComputation):
+        * rendering/RenderLayerCompositor.h:
+
+2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
+
+        Fix crash in preloading scanning base tags with no href attribute for background parser
+        https://bugs.webkit.org/show_bug.cgi?id=110276
+
+        Reviewed by Eric Seidel.
+
+        Previously a <base> tag without an href attribute (like the one in fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html)
+        would crash the background parser's preload scanner.
+
+        To fix that, we only call stripLeadingAndTrailingHTMLSpaces() if the href attribute is non-null. This matches the main thread parser.
+
+        Along with this, I decided to templatize updatePredictedBaseURL() so that the main and background parser can share the same impl.
+
+        This required making CompactHTMLToken and HTMLToken a little more similar:
+        1. Give HTMLToken a getAttributeItem() method.
+        2. Move CompactAttribute to CompactHTMLToken::Attribute and make it a struct.
+
+        No new tests because covered by existing tests.
+
+        * html/parser/AtomicHTMLToken.h:
+        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
+        * html/parser/CompactHTMLToken.cpp:
+        (SameSizeAsCompactHTMLToken):
+        (WebCore::CompactHTMLToken::CompactHTMLToken):
+        (WebCore::CompactHTMLToken::getAttributeItem):
+        (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
+        * html/parser/CompactHTMLToken.h:
+        (WebCore::CompactHTMLToken::Attribute::Attribute):
+        (Attribute):
+        (WebCore::CompactHTMLToken::attributes):
+        (CompactHTMLToken):
+        (WebCore::CompactHTMLToken::publicIdentifier):
+        (WebCore::CompactHTMLToken::systemIdentifier):
+        * html/parser/HTMLParserIdioms.h:
+        (WebCore):
+        (WebCore::stripLeadingAndTrailingHTMLSpaces):
+        * html/parser/HTMLPreloadScanner.cpp:
+        (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
+        (WebCore):
+        (WebCore::TokenPreloadScanner::updatePredictedBaseURL):
+        * html/parser/HTMLPreloadScanner.h:
+        * html/parser/HTMLToken.h:
+        (WebCore::HTMLToken::getAttributeItem):
+        (HTMLToken):
+
+2013-02-19  Mark Lam  <mark.lam@apple.com>
+
+        Introducing AbstractSQLTransaction and AbstractSQLTransactionBackend.
+        https://bugs.webkit.org/show_bug.cgi?id=110273.
+
+        Reviewed by Anders Carlsson.
+
+        This is part of the webdatabase refactoring for webkit2.
+        - Also changed the frontend and backend to only refer to the
+          abstract interface of each other.
+
+        No new tests.
+
+        * Modules/webdatabase/AbstractSQLTransaction.h: Added.
+        (AbstractSQLTransaction):
+        (WebCore::AbstractSQLTransaction::~AbstractSQLTransaction):
+        * Modules/webdatabase/AbstractSQLTransactionBackend.h: Added.
+        (AbstractSQLTransactionBackend):
+        (WebCore::AbstractSQLTransactionBackend::~AbstractSQLTransactionBackend):
+        * Modules/webdatabase/SQLTransaction.cpp:
+        (WebCore::SQLTransaction::hasCallback):
+        (WebCore::SQLTransaction::hasSuccessCallback):
+        (WebCore::SQLTransaction::hasErrorCallback):
+        (WebCore::SQLTransaction::setBackend):
+        * Modules/webdatabase/SQLTransaction.h:
+        (SQLTransaction):
+        * Modules/webdatabase/SQLTransactionBackend.cpp:
+        (WebCore::SQLTransactionBackend::create):
+        (WebCore::SQLTransactionBackend::SQLTransactionBackend):
+        * Modules/webdatabase/SQLTransactionBackend.h:
+        (SQLTransactionBackend):
+        * Modules/webdatabase/SQLTransactionStateMachine.h:
+
+2013-02-19  Emil A Eklund  <eae@chromium.org>
+
+        Change computeStickyPositionConstraints to use LayoutBoxExtent for margins
+        https://bugs.webkit.org/show_bug.cgi?id=108872
+
+        Reviewed by Levi Weintraub.
+        
+        Change RenderBoxModelObject::computeStickyPositionConstraints to
+        use a LayoutBoxExtent to represent margins.
+
+        No new tests, no change in functionality.
+
+        * platform/graphics/LayoutRect.h:
+        (WebCore::LayoutRect::contract):
+        Add version contract methods that takes a LayoutBoxExtent object.
+        
+        * platform/graphics/LayoutSize.h:
+        (WebCore::LayoutSize::shrink):
+        Add shrink method.
+        
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
+        Change to use a LayoutBoxExtent object to represent margins.
+
 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
 
         Disable ASSERT(!hasInsertionPoint()) for background parser
         (WebCore::HTMLDocumentParser::prepareToStopParsing):
         (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd):
 
+2013-02-19  Hans Muller  <hmuller@adobe.com>
+
+        [CSS Exclusions] Enable shape-inside support for ellipses
+        https://bugs.webkit.org/show_bug.cgi?id=109868
+
+        Reviewed by Dirk Schulze.
+
+        This change is very similar to the one recently made for circles:
+        removed the test that disabled ellipse values for shape-inside.
+        The remaining support for ellipses, which is based on rounded rectangles
+        whose width/height is equal to their radiusX/radiusY, has not changed.
+
+        Test: fast/exclusions/shape-inside/shape-inside-ellipse.html
+
+        * rendering/ExclusionShapeInsideInfo.h:
+        (WebCore::ExclusionShapeInsideInfo::isEnabledFor): No longer disallows any BasicShape type.
+
 2013-02-19  Simon Fraser  <simon.fraser@apple.com>
 
         Separate constraining for overhang from fixed-position zooming behavior in scrollOffsetForFixedPosition()