WebKit-https.git
8 years ago[SVG] Update of element referenced by multiple 'use' nodes is absurdly slow
fmalita@chromium.org [Wed, 20 Feb 2013 21:43:29 +0000 (21:43 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143498 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] Unreviewed gardening.
wjmaclean@chromium.org [Wed, 20 Feb 2013 21:34:19 +0000 (21:34 +0000)]
[chromium] Unreviewed gardening.

Patch by Ian Vollick <vollick@chromium.org> on 2013-02-20

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143497 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Move WebKitPlatformSupport declaration to Platform.h
pilgrim@chromium.org [Wed, 20 Feb 2013 21:31:15 +0000 (21:31 +0000)]
[Chromium] Move WebKitPlatformSupport declaration to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=110262

Reviewed by Adam Barth.

In preparation for removing WebKitPlatformSupport.h entirely (once
downstream references to that file have been updated). Part of a
larger refactoring series; see tracking bug 82948.

Source/Platform:

* chromium/public/Platform.h:
(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::~WebKitPlatformSupport):
(WebKit):

Source/WebKit/chromium:

* public/platform/WebKitPlatformSupport.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143496 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMake the test land in r143482 less platform-specific
robert@webkit.org [Wed, 20 Feb 2013 21:28:08 +0000 (21:28 +0000)]
Make the test land in r143482 less platform-specific

Add outline:none to the test so platform-specific outlines don't kick in and
make us require separate results for Mac and Linux.

Unreviewed, gardening.

* fast/repaint/paint-caret-in-div-with-negative-indent-expected.png:
* fast/repaint/paint-caret-in-div-with-negative-indent.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143495 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRenderLayerBacking should initialize TiledBacking's isInWindow state with Page's...
timothy_horton@apple.com [Wed, 20 Feb 2013 21:15:09 +0000 (21:15 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143490 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoCleanup the SQLTransaction and SQLTransactionBackend state dispatch
mark.lam@apple.com [Wed, 20 Feb 2013 21:10:18 +0000 (21:10 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143489 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMoar hardening
oliver@apple.com [Wed, 20 Feb 2013 21:09:16 +0000 (21:09 +0000)]
Moar hardening
https://bugs.webkit.org/show_bug.cgi?id=110275

Reviewed by Mark Hahnenberg.

We now poison objects when they get freed, and verify that
any object that is being freed is not poisoned.  If the
object looks like it's poisoned we validate the freelist,
and ensure the object is not already present.  If it is
we crash.

On allocation, we ensure that the object being allocated
is poisoned, then clear the poisoning fields.

* wtf/FastMalloc.cpp:
(WTF::internalEntropyValue):
(WTF):
(WTF::freedObjectStartPoison):
(WTF::freedObjectEndPoison):
(TCMalloc_ThreadCache_FreeList):
(WTF::TCMalloc_ThreadCache_FreeList::Validate):
(WTF::TCMalloc_Central_FreeList::Populate):
(WTF::TCMalloc_ThreadCache::Allocate):
(WTF::TCMalloc_ThreadCache::Deallocate):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143488 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago ResourceHandle::loadResourceSynchronously should have blob support in cross...
ap@apple.com [Wed, 20 Feb 2013 21:02:36 +0000 (21:02 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143487 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[New Multicolumn] RenderMultiColumnFlowThreads should establish a BFC.
hyatt@apple.com [Wed, 20 Feb 2013 21:00:24 +0000 (21:00 +0000)]
[New Multicolumn] RenderMultiColumnFlowThreads should establish a BFC.
https://bugs.webkit.org/show_bug.cgi?id=110366.

Reviewed by Antti Koivisto.

Source/WebCore:

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):

LayoutTests:

* fast/multicol/newmulticol/float-avoidance-expected.html: Added.
* fast/multicol/newmulticol/float-avoidance.html: Added.
* fast/multicol/newmulticol/float-multicol-expected.html: Added.
* fast/multicol/newmulticol/float-multicol.html: Added.
* fast/multicol/newmulticol/float-paginate-complex-expected.html: Added.
* fast/multicol/newmulticol/float-paginate-complex.html: Added.
* fast/multicol/newmulticol/float-paginate-empty-lines-expected.html: Added.
* fast/multicol/newmulticol/float-paginate-empty-lines.html: Added.
* fast/multicol/newmulticol/float-paginate-expected.html: Added.
* fast/multicol/newmulticol/float-paginate.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143486 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[New Multicolumn] Column gap is computed incorrectly.
hyatt@apple.com [Wed, 20 Feb 2013 19:58:16 +0000 (19:58 +0000)]
[New Multicolumn] Column gap is computed incorrectly.
https://bugs.webkit.org/show_bug.cgi?id=110360.

Reviewed by Simon Fraser.

Source/WebCore:

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.

LayoutTests:

* fast/multicol/newmulticol/layers-split-across-columns-expected.html: Added.
* fast/multicol/newmulticol/layers-split-across-columns.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143484 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoNo caret on empty contenteditable element with negative text-indent
robert@webkit.org [Wed, 20 Feb 2013 19:51:03 +0000 (19:51 +0000)]
No caret on empty contenteditable element with negative text-indent
https://bugs.webkit.org/show_bug.cgi?id=108633

Reviewed by Ryosuke Niwa.

Source/WebCore:

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):

LayoutTests:

* fast/repaint/paint-caret-in-div-with-negative-indent-expected.png: Added.
* fast/repaint/paint-caret-in-div-with-negative-indent-expected.txt: Added.
* fast/repaint/paint-caret-in-div-with-negative-indent.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143483 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] use a WebTestProxyBase pointer to identify the window we need the history for
jochen@chromium.org [Wed, 20 Feb 2013 18:45:45 +0000 (18:45 +0000)]
[chromium] use a WebTestProxyBase pointer to identify the window we need the history for
https://bugs.webkit.org/show_bug.cgi?id=110346

Reviewed by Adam Barth.

Using an index is very brittle, as the TestRunner API does not define
any ordering of windows.

Also, make TestRunner::shouldDumpBackForwardList() so content shell can
trigger the capturing in the browser process before generating the
text dump.

* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestRunner):
(WebTestRunner::WebTestDelegate::captureHistoryForWindow):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::captureTree):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::captureHistoryForWindow):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143480 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove stretchesToMinIntrinsicLogicalWidth
ojan@chromium.org [Wed, 20 Feb 2013 18:45:22 +0000 (18:45 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143479 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMake intrinsic width values work for positioned elements
ojan@chromium.org [Wed, 20 Feb 2013 18:37:06 +0000 (18:37 +0000)]
Make intrinsic width values work for positioned elements
https://bugs.webkit.org/show_bug.cgi?id=110264

Reviewed by Tony Chang.

Source/WebCore:

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:

LayoutTests:

* fast/css-intrinsic-dimensions/intrinsic-sized-absolutes-expected.txt: Added.
* fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html: Added.
* fast/css-intrinsic-dimensions/width-shrinks-avoid-floats-expected.txt: Added.
* fast/css-intrinsic-dimensions/width-shrinks-avoid-floats.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143476 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoinput element with placeholder text and width set to 100% on focus causes overflow...
robert@webkit.org [Wed, 20 Feb 2013 18:27:03 +0000 (18:27 +0000)]
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.

Source/WebCore:

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):

LayoutTests:

* fast/forms/input-placeholder-layout-view-expected.html: Added.
* fast/forms/input-placeholder-layout-view.html: Added.
* fast/forms/textarea-placeholder-layout-view-expected.html: Added.
* fast/forms/textarea-placeholder-layout-view.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143475 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[WK2] Remove m_viewportSize in WebPage.
commit-queue@webkit.org [Wed, 20 Feb 2013 18:23:42 +0000 (18:23 +0000)]
[WK2] Remove m_viewportSize in WebPage.
https://bugs.webkit.org/show_bug.cgi?id=110311

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-20
Reviewed by Anders Carlsson.

EFL and Qt use m_viewSize as a contents size while Apple use it as a viewport
size, so EFL and Qt introduced m_viewportSize to make WebPage know a viewport
size.

EFL and Qt use m_viewSize as a contents size because the size of non compositing
layer is contents size, and EFL and Qt mark whole non compositing layer as dirty
using m_viewSize. Bug 110299 (http://webkit.org/b/110299) changes that it is not
necessary to know m_viewSize when marking whole non compositing layer as dirty.
So we can make EFL and Qt use m_viewSize as a viewport size also.

This patch removes m_viewportSize and related methods to increase readability.

* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::setSize):
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeViewportSize):
* UIProcess/WebPageProxy.cpp:
(WebKit):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::pageRect):
(WebKit::WebChromeClient::contentsSizeChanged):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updateBackingStoreState):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSize):
(WebKit::WebPage::sendViewportAttributesChanged):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143474 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Remove idbFactory from WebKitPlatformSupport
pilgrim@chromium.org [Wed, 20 Feb 2013 18:21:39 +0000 (18:21 +0000)]
[Chromium] Remove idbFactory from WebKitPlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=106457

Reviewed by Adam Barth.

Now that https://codereview.chromium.org/12230054 has landed, the
idbFactory method is no longer needed. (Embedders must now call
the new setIDBFactory method upon initialization.) Part of a
larger refactoring series; see tracking bug 82948.

* public/platform/WebKitPlatformSupport.h:
(WebKit):
* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::IDBFactoryBackendProxy):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143473 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
commit-queue@webkit.org [Wed, 20 Feb 2013 18:10:22 +0000 (18:10 +0000)]
[WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
https://bugs.webkit.org/show_bug.cgi?id=110299

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-20
Reviewed by Anders Carlsson.

Currently, we call setNeedsDisplay with the size of WebPage to mark whole
backing store as dirty. However, the size of non compositing layer can be
inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
size of non compositing layer is contents size.

So, WebPage should not assume the size of non compositing layer, and should just
call setNeedsDisplay when marking whole layer as dirty.

In addition, this patch renames from setNeedsDisplay() with a rect argument to
setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::invalidateContentsAndRootView):
(WebKit::WebChromeClient::invalidateContentsForSlowScroll):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::restoreViewState):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
(WebKit):
(WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
(WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(CoordinatedLayerTreeHost):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::setNeedsDisplay):
(WebKit):
(WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
(WebKit::DrawingAreaImpl::scroll):
(WebKit::DrawingAreaImpl::forceRepaint):
(WebKit::DrawingAreaImpl::didUninstallPageOverlay):
(WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
(WebKit::DrawingAreaImpl::resumePainting):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSize):
(WebKit::WebPage::setDrawsBackground):
(WebKit::WebPage::setDrawsTransparentBackground):
(WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
(WebKit):
(WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
(WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk):
* WebProcess/WebPage/mac/LayerTreeHostMac.h:
(LayerTreeHostMac):
* WebProcess/WebPage/mac/LayerTreeHostMac.mm:
(WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
(WebKit):
(WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
(WebKit::LayerTreeHostMac::scrollNonCompositedContents):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
(RemoteLayerTreeDrawingArea):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplay):
(WebKit):
(WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplayInRect):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
(WebKit):
(WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplayInRect):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143472 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRename DatabaseBackend to DatabaseBackendBase.
mark.lam@apple.com [Wed, 20 Feb 2013 17:56:55 +0000 (17:56 +0000)]
Rename DatabaseBackend to DatabaseBackendBase.
https://bugs.webkit.org/show_bug.cgi?id=110303.

Rubber stamped by Alexey Proskuryakov.

Source/WebCore:

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:

Source/WebKit/chromium:

* public/WebDatabase.h:
(WebDatabase):
* src/DatabaseObserver.cpp:
(WebCore::DatabaseObserver::databaseOpened):
(WebCore::DatabaseObserver::databaseModified):
(WebCore::DatabaseObserver::databaseClosed):
(WebCore::DatabaseObserver::reportOpenDatabaseResult):
(WebCore::DatabaseObserver::reportChangeVersionResult):
(WebCore::DatabaseObserver::reportStartTransactionResult):
(WebCore::DatabaseObserver::reportCommitTransactionResult):
(WebCore::DatabaseObserver::reportExecuteStatementResult):
(WebCore::DatabaseObserver::reportVacuumDatabaseResult):
* src/WebDatabase.cpp:
(WebKit::WebDatabase::WebDatabase):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143471 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSource/WebKit/chromium: Fix use after free in ContextMenuClientImpl.cpp
tony@chromium.org [Wed, 20 Feb 2013 17:48:41 +0000 (17:48 +0000)]
Source/WebKit/chromium: Fix use after free in ContextMenuClientImpl.cpp
https://bugs.webkit.org/show_bug.cgi?id=109220

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-20
Reviewed by Tony Chang.

ContextMenuClientImpl can use a DocumentMarker after it is freed. The DocumentMarker is originally allocated
by the spell checker. When the user context-clicks on a misspelling, ContextMenuClientImpl saves a reference
to the clicked DocumentMarker, changes the selection, and then uses the DocumentMarker. Changing the selection
causes re-check of spelling. If the spell check client serves the spellcheck request from cache, then re-checking
spelling will delete the DocumentMarker and add a new one. This invalidates the DocumentMarker reference held by
ContextMenuClientImpl. When ContextMenuClientImpl attempts to use the DocumentMarker, Address Sanitizer detects
use after free. The fix is to save a copy of the DocumentMarker before changing selection.

* src/ContextMenuClientImpl.cpp:
(WebKit::selectMisspellingAsync): Save a copy of DocumentMarker before changing selection.
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems): Use DocumentMarker instead of Vector<DocumentMarker*>.

Tools: [Chromium] Serve spellcheck suggestions for editing/spelling/spelling-changed-text.html from cache
https://bugs.webkit.org/show_bug.cgi?id=109220

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-19
Reviewed by Tony Chang.

* DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.cpp:
(WebTestRunner::MockSpellCheck::hasInCache): Added a method to detect whether spellcheck results can be served from cache.
(WebTestRunner):
(WebTestRunner::MockSpellCheck::fillSuggestionList): Modified to suggest "checker" for the word "cheher".
(WebTestRunner::MockSpellCheck::initializeIfNeeded): Modified to mark "cheher" as misspelling.
* DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.h:
(MockSpellCheck):
* DumpRenderTree/chromium/TestRunner/src/SpellCheckClient.cpp:
(WebTestRunner::SpellCheckClient::requestCheckingOfText): Modified to serve spellcheck suggestions from cache when possible.

LayoutTests: Spellchecker should not crash after text has changed and spellcheck results are served from cache
https://bugs.webkit.org/show_bug.cgi?id=109220

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-20
Reviewed by Tony Chang.

* editing/spelling/spelling-changed-text-expected.txt: Added the expected output for serving spellcheck results from cache for edited text.
* editing/spelling/spelling-changed-text.html: Added a test for serving spellcheck results from cache for edited text.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143470 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoiOS does not use CaptionUserPreferencesMac
eric.carlson@apple.com [Wed, 20 Feb 2013 17:23:48 +0000 (17:23 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143469 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed. Rolled Chromium DEPS to r183552. Requested by
commit-queue@webkit.org [Wed, 20 Feb 2013 17:15:15 +0000 (17:15 +0000)]
Unreviewed.  Rolled Chromium DEPS to r183552.  Requested by
"Mark Pilgrim" <pilgrim@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-20

* DEPS:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143468 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[New Multicolumn] Make layers paint properly in columns.
hyatt@apple.com [Wed, 20 Feb 2013 16:59:53 +0000 (16:59 +0000)]
[New Multicolumn] Make layers paint properly in columns.
https://bugs.webkit.org/show_bug.cgi?id=110296.

Reviewed by Sam Weinig.

Source/WebCore:

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.

LayoutTests:

* fast/multicol/newmulticol/layers-in-multicol-expected.html: Added.
* fast/multicol/newmulticol/layers-in-multicol.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143467 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] Make sure to always sync before reusing backingstore tiles.
jpetsovits@rim.com [Wed, 20 Feb 2013 16:43:33 +0000 (16:43 +0000)]
[BlackBerry] Make sure to always sync before reusing backingstore tiles.
https://bugs.webkit.org/show_bug.cgi?id=109863
PR 296118

Reviewed by Rob Buis.
Internally reviewed by Mike Lattanzio and Konrad Piascik.

In SVN r142137, I replaced a syncToCurrentMessage() call
with updateSuspendScreenUpdateState() in some cases,
which internally calls the same function.

Unfortunately, when I optimized updateSuspendScreenUpdateState()
to only sync when the state is actually being changed,
I omitted an adaptation of adoptAsFrontState() which would
rely on this sync but now didn't always perform it.

This caused a bad race condition as tile buffers could now
be accessed from the WebKit thread and the UI thread at
the same time. Fix it by (optionally) letting the caller
of updateSuspendScreenUpdateState() know whether a sync
was performed, and adapt adoptAsFrontState() accordingly.

Also fixes some excessive flicker caused by the same
race condition.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
(BlackBerry::WebKit::BackingStorePrivate::adoptAsFrontState):
* Api/BackingStore_p.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143466 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: CSSProperty.status defaults to "style" not "active"
apavlov@chromium.org [Wed, 20 Feb 2013 16:08:23 +0000 (16:08 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143465 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[v8] potentially disposed handle returned for npapi object
commit-queue@webkit.org [Wed, 20 Feb 2013 15:38:57 +0000 (15:38 +0000)]
[v8] potentially disposed handle returned for npapi object
https://bugs.webkit.org/show_bug.cgi?id=110331

Patch by Dan Carney <dcarney@google.com> on 2013-02-20
Reviewed by Kentaro Hara.

No new tests. No change in functionality.

* bindings/v8/V8NPUtils.cpp:
(WebCore::convertNPVariantToV8Object):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143464 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Gtk] HTML5 Media controls require a design refresh
commit-queue@webkit.org [Wed, 20 Feb 2013 15:30:15 +0000 (15:30 +0000)]
[Gtk] HTML5 Media controls require a design refresh
https://bugs.webkit.org/show_bug.cgi?id=83869

Source/WebCore:

Created new controls that depend less on Gtk and more in CSS.

Patch by Xabier Rodriguez Calvar  <calvaris@igalia.com>  and  Martin Robinson <mrobinson@igalia.com> on 2013-02-20
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.

Tools:

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-02-20
Reviewed by Philippe Normand.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(initializeGtkFontSettings): Added gnome as default icon theme for
the DRT.
* WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::initializeGtkSettings): Added gnome as default icon theme for
the WTR.
* gtk/jhbuild.modules: Added gnome-icon-theme-symbolic as external
dependency.

LayoutTests:

Tests flagged and rebaselines.

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-02-20
Reviewed by Philippe Normand.

* platform/gtk/TestExpectations: Tests flagged and removed some
other flags.
* platform/gtk/accessibility/media-element-expected.txt: Rebaseline
* platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt: Rebaseline
* platform/gtk/fast/layers/video-layer-expected.png: Rebaseline
* platform/gtk/fast/layers/video-layer-expected.txt: Rebaseline
* platform/gtk/http/tests/media/video-buffered-range-contains-currentTime-expected.png: Rebaseline
* platform/gtk/media/audio-repaint-expected.png: Rebaseline
* platform/gtk/media/audio-repaint-expected.txt: Rebaseline
* platform/gtk/media/controls-styling-strict-expected.png: Rebaseline
* platform/gtk/media/video-controls-rendering-expected.png: Rebaseline
* platform/gtk/media/video-empty-source-expected.txt: Rebaseline
* platform/gtk/media/video-no-audio-expected.txt: Rebaseline
* platform/gtk/media/video-volume-slider-expected.txt: Rebaseline
* platform/gtk/media/video-zoom-controls-expected.txt: Rebaseline
* platform/gtk/media/video-zoom-expected.png: Rebaseline

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143463 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Rename AncestorChainWalker.h to EventPathWalker.h in the project file.
abecsi@webkit.org [Wed, 20 Feb 2013 15:27:22 +0000 (15:27 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143462 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] Read "data-blackberry-text-selection-handle-position" attribute from...
commit-queue@webkit.org [Wed, 20 Feb 2013 15:24:26 +0000 (15:24 +0000)]
[BlackBerry] Read "data-blackberry-text-selection-handle-position" attribute from element
https://bugs.webkit.org/show_bug.cgi?id=110235

Patch by Yongxin Dai <yodai@rim.com> on 2013-02-20
Reviewed by Yong Li.

PR #257207.

Read "data-blackberry-text-selection-handle-position" attribute from element and pass it along
with notifySelectionDetailsChanged(). If "data-blackberry-text-selection-handle-position" attribute
is specified in the element, the selection handle is always flipped to the required position.
along with selected text within element.

Reviewed Internally by Mike Fenton.

* Api/WebPageClient.h:
* WebKitSupport/DOMSupport.cpp:
(BlackBerry::WebKit::DOMSupport::selectionContainerElement):
(DOMSupport):
(BlackBerry::WebKit::DOMSupport::elementHandlePositionAttribute):
* WebKitSupport/DOMSupport.h:
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::requestedSelectionHandlePosition):
(WebKit):
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
* WebKitSupport/SelectionHandler.h:
(SelectionHandler):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143461 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] Fix usage of HitTestRequest::RequestType
commit-queue@webkit.org [Wed, 20 Feb 2013 15:04:51 +0000 (15:04 +0000)]
[BlackBerry] Fix usage of HitTestRequest::RequestType
https://bugs.webkit.org/show_bug.cgi?id=110342

Patch by Alberto Garcia <albgarcia@rim.com> on 2013-02-20
Reviewed by Carlos Garcia Campos.

Rename HitTestResult::* -> HitTestRequest::*
This was introduced by mistake in r142977.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::hitTestResult):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143460 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 20 Feb 2013 14:24:57 +0000 (14:24 +0000)]
[EFL] Unreviewed gardening.

* platform/efl/TestExpectations: Marked touch event emulation test as failing.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143458 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[chromium] move most of the remaining mocks to TestRunner library
jochen@chromium.org [Wed, 20 Feb 2013 14:10:05 +0000 (14:10 +0000)]
[chromium] move most of the remaining mocks to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=110217

Reviewed by Nico Weber.

While most of the functionality provided by these mocks is also
available in the content module, there is no straight forward way to
inject the mock results required for layout tests.

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebKit):
(WebTestRunner):
(WebTestRunner::WebTestProxy::geolocationClient):
(WebTestRunner::WebTestProxy::speechInputController):
(WebTestRunner::WebTestProxy::speechRecognizer):
(WebTestRunner::WebTestProxy::deviceOrientationClient):
(WebTestRunner::WebTestProxy::requestPointerLock):
(WebTestRunner::WebTestProxy::requestPointerUnlock):
(WebTestRunner::WebTestProxy::isPointerLocked):
* DumpRenderTree/chromium/TestRunner/src/MockWebSpeechInputController.cpp: Renamed from Tools/DumpRenderTree/chromium/MockWebSpeechInputController.cpp.
(WebTestRunner::MockWebSpeechInputController::MockWebSpeechInputController):
(WebTestRunner):
(WebTestRunner::MockWebSpeechInputController::~MockWebSpeechInputController):
(WebTestRunner::MockWebSpeechInputController::setDelegate):
(WebTestRunner::MockWebSpeechInputController::addMockRecognitionResult):
(WebTestRunner::MockWebSpeechInputController::setDumpRect):
(WebTestRunner::MockWebSpeechInputController::clearResults):
(WebTestRunner::MockWebSpeechInputController::startRecognition):
(WebTestRunner::MockWebSpeechInputController::cancelRecognition):
(WebTestRunner::MockWebSpeechInputController::stopRecording):
(WebTestRunner::MockWebSpeechInputController::speechTaskFired):
(WebTestRunner::MockWebSpeechInputController::SpeechTask::SpeechTask):
(WebTestRunner::MockWebSpeechInputController::SpeechTask::stop):
(WebTestRunner::MockWebSpeechInputController::SpeechTask::runIfValid):
* DumpRenderTree/chromium/TestRunner/src/MockWebSpeechInputController.h: Renamed from Tools/DumpRenderTree/chromium/MockWebSpeechInputController.h.
(WebKit):
(WebTestRunner):
(MockWebSpeechInputController):
(WebTestRunner::MockWebSpeechInputController::taskList):
(SpeechTask):
* DumpRenderTree/chromium/TestRunner/src/MockWebSpeechRecognizer.cpp: Renamed from Tools/DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp.
(WebTestRunner::MockWebSpeechRecognizer::MockWebSpeechRecognizer):
(WebTestRunner):
(WebTestRunner::MockWebSpeechRecognizer::~MockWebSpeechRecognizer):
(WebTestRunner::MockWebSpeechRecognizer::setDelegate):
(WebTestRunner::MockWebSpeechRecognizer::start):
(WebTestRunner::MockWebSpeechRecognizer::stop):
(WebTestRunner::MockWebSpeechRecognizer::abort):
(WebTestRunner::MockWebSpeechRecognizer::addMockResult):
(WebTestRunner::MockWebSpeechRecognizer::setError):
(WebTestRunner::MockWebSpeechRecognizer::startTaskQueue):
(WebTestRunner::MockWebSpeechRecognizer::clearTaskQueue):
(WebTestRunner::MockWebSpeechRecognizer::StepTask::runIfValid):
* DumpRenderTree/chromium/TestRunner/src/MockWebSpeechRecognizer.h: Renamed from Tools/DumpRenderTree/chromium/MockWebSpeechRecognizer.h.
(WebKit):
(WebTestRunner):
(MockWebSpeechRecognizer):
(WebTestRunner::MockWebSpeechRecognizer::wasAborted):
(WebTestRunner::MockWebSpeechRecognizer::client):
(WebTestRunner::MockWebSpeechRecognizer::handle):
(WebTestRunner::MockWebSpeechRecognizer::taskList):
(Task):
(WebTestRunner::MockWebSpeechRecognizer::Task::Task):
(WebTestRunner::MockWebSpeechRecognizer::Task::~Task):
(StepTask):
(WebTestRunner::MockWebSpeechRecognizer::StepTask::StepTask):
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.cpp:
(WebTestRunner::TestInterfaces::TestInterfaces):
(WebTestRunner::TestInterfaces::windowOpened):
(WebTestRunner):
(WebTestRunner::TestInterfaces::windowClosed):
(WebTestRunner::TestInterfaces::windowList):
* DumpRenderTree/chromium/TestRunner/src/TestInterfaces.h:
(TestInterfaces):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::requestPointerLock):
(WebTestRunner):
(WebTestRunner::TestRunner::requestPointerUnlock):
(WebTestRunner::TestRunner::isPointerLocked):
(WebTestRunner::TestRunner::didAcquirePointerLockInternal):
(WebTestRunner::TestRunner::didNotAcquirePointerLockInternal):
(WebTestRunner::TestRunner::didLosePointerLockInternal):
(WebTestRunner::TestRunner::windowCount):
(WebTestRunner::TestRunner::setMockDeviceOrientation):
(WebTestRunner::TestRunner::numberOfPendingGeolocationPermissionRequests):
(WebTestRunner::TestRunner::setGeolocationPermission):
(WebTestRunner::TestRunner::setMockGeolocationPosition):
(WebTestRunner::TestRunner::setMockGeolocationPositionUnavailableError):
(WebTestRunner::TestRunner::addMockSpeechInputResult):
(WebTestRunner::TestRunner::setMockSpeechInputDumpRect):
(WebTestRunner::TestRunner::addMockSpeechRecognitionResult):
(WebTestRunner::TestRunner::setMockSpeechRecognitionError):
(WebTestRunner::TestRunner::wasMockSpeechRecognitionAborted):
(WebTestRunner::TestRunner::didAcquirePointerLock):
(WebTestRunner::TestRunner::didNotAcquirePointerLock):
(WebTestRunner::TestRunner::didLosePointerLock):
(WebTestRunner::TestRunner::setPointerLockWillRespondAsynchronously):
(WebTestRunner::TestRunner::setPointerLockWillFailSynchronously):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(WebTestRunner):
(TestRunner):
(HostMethodTask):
(WebTestRunner::TestRunner::HostMethodTask::HostMethodTask):
(WebTestRunner::TestRunner::HostMethodTask::runIfValid):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::~WebTestProxyBase):
(WebTestRunner::WebTestProxyBase::setInterfaces):
(WebTestRunner::WebTestProxyBase::setDelegate):
(WebTestRunner::WebTestProxyBase::reset):
(WebTestRunner::WebTestProxyBase::captureTree):
(WebTestRunner::WebTestProxyBase::geolocationClientMock):
(WebTestRunner):
(WebTestRunner::WebTestProxyBase::deviceOrientationClientMock):
(WebTestRunner::WebTestProxyBase::speechInputControllerMock):
(WebTestRunner::WebTestProxyBase::speechRecognizerMock):
(WebTestRunner::WebTestProxyBase::geolocationClient):
(WebTestRunner::WebTestProxyBase::speechInputController):
(WebTestRunner::WebTestProxyBase::speechRecognizer):
(WebTestRunner::WebTestProxyBase::deviceOrientationClient):
(WebTestRunner::WebTestProxyBase::requestPointerLock):
(WebTestRunner::WebTestProxyBase::requestPointerUnlock):
(WebTestRunner::WebTestProxyBase::isPointerLocked):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::reset):
* DumpRenderTree/chromium/WebViewHost.h:
(WebKit):
(WebViewHost):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143457 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Unreviewed. Correcting gardening after r143436.
zarvai@inf.u-szeged.hu [Wed, 20 Feb 2013 13:42:20 +0000 (13:42 +0000)]
[Qt] Unreviewed. Correcting gardening after r143436.

* platform/qt/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143456 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: fix for frontend closure compile errors.
loislo@chromium.org [Wed, 20 Feb 2013 13:40:19 +0000 (13:40 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143455 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoClear SVGPathSeg role on removal.
fmalita@chromium.org [Wed, 20 Feb 2013 13:38:02 +0000 (13:38 +0000)]
Clear SVGPathSeg role on removal.
https://bugs.webkit.org/show_bug.cgi?id=110058

Reviewed by Dirk Schulze.

Source/WebCore:

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):

LayoutTests:

* svg/dom/SVGPathSegList-crash-expected.txt: Added.
* svg/dom/SVGPathSegList-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143454 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r143434.
commit-queue@webkit.org [Wed, 20 Feb 2013 12:45:58 +0000 (12:45 +0000)]
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).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-20

Source/WebCore:

* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):

LayoutTests:

* fast/forms/file/file-vertical-padding-border-expected.html: Removed.
* fast/forms/file/file-vertical-padding-border.html: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143453 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Make debug builds possible on 32bit Linux
abecsi@webkit.org [Wed, 20 Feb 2013 12:36:45 +0000 (12:36 +0000)]
[Qt] Make debug builds possible on 32bit Linux
https://bugs.webkit.org/show_bug.cgi?id=110231

Reviewed by Tor Arne Vestbø.

Use the stabs format for debug builds to make the object files
a bit smaller so that they can be linked on a 32bit system.

* qmake/mkspecs/features/unix/default_post.prf:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143452 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: Make UISourceCode.path() an array of path segments.
vsevik@chromium.org [Wed, 20 Feb 2013 12:33:20 +0000 (12:33 +0000)]
Web Inspector: Make UISourceCode.path() an array of path segments.
https://bugs.webkit.org/show_bug.cgi?id=110229

Reviewed by Pavel Feldman.

Source/WebCore:

* 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):

LayoutTests:

* inspector/workspace-mapping.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143451 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, update expectation for chromium gardening.
toyoshim@chromium.org [Wed, 20 Feb 2013 12:17:24 +0000 (12:17 +0000)]
Unreviewed, update expectation for chromium gardening.
https://bugs.webkit.org/show_bug.cgi?id=110324

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143450 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: fix message for non-existent domain warning
yurys@chromium.org [Wed, 20 Feb 2013 12:15:51 +0000 (12:15 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143449 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: Move workspace specific code from FileMapping to workspace.
vsevik@chromium.org [Wed, 20 Feb 2013 12:06:43 +0000 (12:06 +0000)]
Web Inspector: Move workspace specific code from FileMapping to workspace.
https://bugs.webkit.org/show_bug.cgi?id=110219

Reviewed by Pavel Feldman.

Source/WebCore:

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:

LayoutTests:

* http/tests/inspector/compiler-script-mapping.html:
* http/tests/inspector/workspace-test.js:
(initialize_WorkspaceTest.InspectorTest.createWorkspace):
* inspector/debugger/network-uisourcecode-provider.html:
* inspector/file-mapping-expected.txt:
* inspector/file-mapping.html:
* inspector/file-system-mapping-expected.txt:
* inspector/file-system-mapping.html:
* inspector/file-system-project.html:
* inspector/workspace-mapping-expected.txt: Added.
* inspector/workspace-mapping.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143448 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed. Add myself to watch lists.
toyoshim@chromium.org [Wed, 20 Feb 2013 11:48:18 +0000 (11:48 +0000)]
Unreviewed. Add myself to watch lists.

* Scripts/webkitpy/common/config/committers.py:
* Scripts/webkitpy/common/config/watchlist:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143447 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed BlackBerry build fix.
carlosgc@webkit.org [Wed, 20 Feb 2013 11:25:16 +0000 (11:25 +0000)]
Unreviewed BlackBerry build fix.

WebPage::download was renamed in the header by mistake to
convertMainResourceLoadToDownload in r137845.

* Api/WebPage.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143446 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 20 Feb 2013 11:18:46 +0000 (11:18 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Adding failure expectations for tests added in r143395, r143420 and r143439.
* platform/gtk/fast/js/global-constructors-expected.txt: Rebaselining after r143386.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143445 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL][WK2] Port EwkPopupMenuItem to the C API
ch.dumez@sisa.samsung.com [Wed, 20 Feb 2013 11:08:29 +0000 (11:08 +0000)]
[EFL][WK2] Port EwkPopupMenuItem to the C API
https://bugs.webkit.org/show_bug.cgi?id=108798

Reviewed by Kenneth Rohde Christiansen.

Make use of the new WKPopupItem C API inside EwkPopupMenuItem to remove
dependency on internal WebPopupItem type. Eina shared string members
are now lazily initialized to make the object cheaper to construct.

* UIProcess/API/efl/ewk_popup_menu.cpp:
(EwkPopupMenu::EwkPopupMenu):
* UIProcess/API/efl/ewk_popup_menu_item.cpp:
(EwkPopupMenuItem::EwkPopupMenuItem):
(EwkPopupMenuItem::type):
(EwkPopupMenuItem::textDirection):
(EwkPopupMenuItem::text):
(EwkPopupMenuItem::tooltipText):
(EwkPopupMenuItem::accessibilityText):
(EwkPopupMenuItem::hasTextDirectionOverride):
(EwkPopupMenuItem::isEnabled):
(EwkPopupMenuItem::isLabel):
(EwkPopupMenuItem::isSelected):
* UIProcess/API/efl/ewk_popup_menu_item_private.h:
(EwkPopupMenuItem::create):
(EwkPopupMenuItem):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143444 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: Introduce SecurityOriginAdded and SecurityOriginRemoved events into...
apavlov@chromium.org [Wed, 20 Feb 2013 11:01:27 +0000 (11:01 +0000)]
Web Inspector: Introduce SecurityOriginAdded and SecurityOriginRemoved events into ResourceTreeModel
https://bugs.webkit.org/show_bug.cgi?id=110232

Reviewed by Vsevolod Vlasov.

Source/WebCore:

* 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):

LayoutTests:

* http/tests/inspector/resource-tree/resource-tree-events-expected.txt:
* http/tests/inspector/resource-tree/resource-tree-events.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143443 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 20 Feb 2013 10:01:33 +0000 (10:01 +0000)]
[EFL] Unreviewed gardening.

* platform/efl/TestExpectations: Marked new failing ref test svg/as-background-image/tiled-background-image.html.
* platform/efl/fast/js/global-constructors-expected.txt: Rebaselined, MutationObserver constructor now found.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143442 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[v8] ScriptValue has dangerous copy semantics
commit-queue@webkit.org [Wed, 20 Feb 2013 09:58:37 +0000 (09:58 +0000)]
[v8] ScriptValue has dangerous copy semantics
https://bugs.webkit.org/show_bug.cgi?id=110206

Patch by Dan Carney <dcarney@google.com> on 2013-02-20
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143441 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: highlight undefined word in JavaScript
commit-queue@webkit.org [Wed, 20 Feb 2013 09:44:37 +0000 (09:44 +0000)]
Web Inspector: highlight undefined word in JavaScript
https://bugs.webkit.org/show_bug.cgi?id=109585

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-20
Reviewed by Vsevolod Vlasov.

Source/WebCore:

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):

LayoutTests:

Enhance layout test to verify highlighting of global object value properties.

* inspector/syntax-highlight-javascript-expected.txt:
* inspector/syntax-highlight-javascript.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143440 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUse EventPathWalker rather than parentNode() to normalize event targets in EventHandler.
mkwst@chromium.org [Wed, 20 Feb 2013 09:43:11 +0000 (09:43 +0000)]
Use EventPathWalker rather than parentNode() to normalize event targets in EventHandler.
https://bugs.webkit.org/show_bug.cgi?id=110037

Reviewed by Ryosuke Niwa.

Source/WebCore:

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().

LayoutTests:

* fast/dom/shadow/resources/event-dispatching.js:
(scrollMouseWheel):
(addEventListeners):
    Add MouseWheel, Drag, and Touch support to the event-dispatching
    tests in Shadow DOM.
* fast/dom/shadow/shadow-dom-event-dispatching-distributed-text-node.html:
* fast/dom/shadow/shadow-dom-event-dispatching-text-node-in-shadow-root.html:
    Scroll the mouse wheel, drag a bit, and touch before leaving the
    text node, and record the generated events.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143439 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: [Regression] Search in ProfilesPanel is broken
vsevik@chromium.org [Wed, 20 Feb 2013 09:24:00 +0000 (09:24 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143438 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: View.markAsRoot should never be invoked on attached view.
eustas@chromium.org [Wed, 20 Feb 2013 09:21:09 +0000 (09:21 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Unreviewed gardening.
zarvai@inf.u-szeged.hu [Wed, 20 Feb 2013 09:17:34 +0000 (09:17 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/TestExpectations:
* platform/qt/fast/js/global-constructors-expected.txt: Rebaseline after r143420.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143436 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Qt] Unreviewed gardenning. Unskip now passing tests.
kadam@inf.u-szeged.hu [Wed, 20 Feb 2013 09:06:08 +0000 (09:06 +0000)]
[Qt] Unreviewed gardenning. Unskip now passing tests.
https://bugs.webkit.org/show_bug.cgi?id=99306

* platform/qt-5.0-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143435 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFile upload control doesn't apply CSS vertical padding or border to file name
commit-queue@webkit.org [Wed, 20 Feb 2013 08:10:10 +0000 (08:10 +0000)]
File upload control doesn't apply CSS vertical padding or border to file name
https://bugs.webkit.org/show_bug.cgi?id=109011

Patch by Nils Barth <nbarth@google.com> on 2013-02-20
Reviewed by Hajime Morrita.

Source/WebCore:

Test: fast/forms/file/file-vertical-padding-border.html

* rendering/RenderFileUploadControl.cpp:
    Add borderTop() and paddingTop() when computing position.
(WebCore::RenderFileUploadControl::paintObject):

LayoutTests:

* fast/forms/file/file-vertical-padding-border.html: Added.
* fast/forms/file/file-vertical-padding-border-expected.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143434 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[EFL] Mark fast/regions/seamless-iframe-flowed-into-regions.html failure
commit-queue@webkit.org [Wed, 20 Feb 2013 07:42:09 +0000 (07:42 +0000)]
[EFL] Mark fast/regions/seamless-iframe-flowed-into-regions.html failure
https://bugs.webkit.org/show_bug.cgi?id=110283

Unreviewed. This test is added by r143256 and it is failing.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2013-02-19

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFew methods in WebGLRenderingContext.idl have incorrect signatures
aandrey@chromium.org [Wed, 20 Feb 2013 06:54:23 +0000 (06:54 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143432 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r143393.
commit-queue@webkit.org [Wed, 20 Feb 2013 06:14:19 +0000 (06:14 +0000)]
Unreviewed, rolling out r143393.
http://trac.webkit.org/changeset/143393
https://bugs.webkit.org/show_bug.cgi?id=110302

the converted reftest fails in chromium mac 10.6 and 10.7
(Requested by toyoshim on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-19

* fast/flexbox/box-orient-button.html:
* fast/flexbox/resources/box-orient-button.js:
* fast/invalid/residual-style-expected.html: Removed.
* fast/invalid/residual-style.html:
* platform/chromium-android/fast/invalid/residual-style-expected.png: Added.
* platform/chromium-android/fast/invalid/residual-style-expected.txt: Added.
* platform/chromium-linux/fast/invalid/residual-style-expected.png: Added.
* platform/chromium-linux/fast/invalid/residual-style-expected.txt: Added.
* platform/chromium-mac-lion/fast/invalid/residual-style-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/invalid/residual-style-expected.png: Added.
* platform/chromium-mac/fast/invalid/residual-style-expected.png: Added.
* platform/chromium-mac/fast/invalid/residual-style-expected.txt: Added.
* platform/chromium-win/fast/invalid/residual-style-expected.png: Added.
* platform/chromium-win/fast/invalid/residual-style-expected.txt: Added.
* platform/efl/fast/invalid/residual-style-expected.png: Added.
* platform/efl/fast/invalid/residual-style-expected.txt: Added.
* platform/gtk/fast/invalid/residual-style-expected.png: Added.
* platform/gtk/fast/invalid/residual-style-expected.txt: Added.
* platform/mac/fast/invalid/residual-style-expected.png: Added.
* platform/mac/fast/invalid/residual-style-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143431 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, uninteresting change to test a theory about bad dependency handling.
mrowe@apple.com [Wed, 20 Feb 2013 06:02:17 +0000 (06:02 +0000)]
Unreviewed, uninteresting change to test a theory about bad dependency handling.

* API/JSStringRefCF.cpp:
(JSStringCreateWithCFString): Remove an unnecessary else clause.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143430 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r143338.
commit-queue@webkit.org [Wed, 20 Feb 2013 05:57:29 +0000 (05:57 +0000)]
Unreviewed, rolling out r143338.
http://trac.webkit.org/changeset/143338
https://bugs.webkit.org/show_bug.cgi?id=110301

False alarm, no need to export the symbol (Requested by
aandrey on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-19

* WebKit.vcproj/WebKitExports.def.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143429 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoClarify isInWindow vs. isVisible path through to RenderLayerCompositor
timothy_horton@apple.com [Wed, 20 Feb 2013 05:53:02 +0000 (05:53 +0000)]
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-win$

* 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.

* WebView/WebView.mm:
(-[WebView viewWillMoveToWindow:]):
(-[WebView viewDidMoveToWindow]):
Use Page::setIsInWindow in addition to willMoveOffscreen/didMoveOnscreen.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setIsInWindow):
Use Page::setIsInWindow in addition to willMoveOffscreen/didMoveOnscreen.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143428 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoWeb Inspector: Cleanup and add JSDocs to SuggestBox
eustas@chromium.org [Wed, 20 Feb 2013 05:24:35 +0000 (05:24 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143427 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoCalculate EventPath in EventDispatcher's constructor.
hayato@chromium.org [Wed, 20 Feb 2013 03:05:32 +0000 (03:05 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143426 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRemove warning from run-bindings-tests
jsbell@chromium.org [Wed, 20 Feb 2013 02:49:15 +0000 (02:49 +0000)]
Remove warning from run-bindings-tests
https://bugs.webkit.org/show_bug.cgi?id=110285

Reviewed by Kentaro Hara.

Since wkrev.com/139331 run-bindings-tests has been harmlessly emitting
"Unknown option: idlattributesfile". That option was removed from
bindings/scripts/preprocess-idls.pl but was still being passed by
the test script. Remove it.

* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_supplemental_dependency): Remove unused arg.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143425 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r143400.
commit-queue@webkit.org [Wed, 20 Feb 2013 02:46:28 +0000 (02:46 +0000)]
Unreviewed, rolling out r143400.
http://trac.webkit.org/changeset/143400
https://bugs.webkit.org/show_bug.cgi?id=110290

breaks everything (instacrash launching Safari) (Requested by
thorton on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-19

* wtf/FastMalloc.cpp:
(WTF::internalEntropyValue):
(WTF):
(WTF::TCMalloc_Central_FreeList::Populate):
(WTF::TCMalloc_ThreadCache::Allocate):
(WTF::TCMalloc_ThreadCache::Deallocate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143424 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix TileCache tile size when zoomed on slow-scrolling site
simon.fraser@apple.com [Wed, 20 Feb 2013 02:28:34 +0000 (02:28 +0000)]
Fix TileCache tile size when zoomed on slow-scrolling site
https://bugs.webkit.org/show_bug.cgi?id=110289

Source/WebCore:

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):

LayoutTests:

Reviewed by Tim Horton.

Test that dumps tile coverage in a slow-scrolling, zoomed page.

* platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRename AncestorChainWalker.
hayato@chromium.org [Wed, 20 Feb 2013 02:27:30 +0000 (02:27 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143422 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSnapshotted plugin label should not be selectable
dino@apple.com [Wed, 20 Feb 2013 01:59:23 +0000 (01:59 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143421 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[CSS Exclusions] Enable shape-inside support for ellipses
hmuller@adobe.com [Wed, 20 Feb 2013 01:56:15 +0000 (01:56 +0000)]
[CSS Exclusions] Enable shape-inside support for ellipses
https://bugs.webkit.org/show_bug.cgi?id=109868

Reviewed by Dirk Schulze.

Source/WebCore:

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.

LayoutTests:

Added a test for ellipse shape-inside values.

* fast/exclusions/shape-inside/shape-inside-ellipse-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-ellipse.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143420 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago'round' not implemented in border-image
commit-queue@webkit.org [Wed, 20 Feb 2013 01:46:14 +0000 (01:46 +0000)]
'round' not implemented in border-image
https://bugs.webkit.org/show_bug.cgi?id=14185

Patch by Uday Kiran <udaykiran@motorola.com> on 2013-02-19
Reviewed by David Hyatt.

Source/WebCore:

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.

LayoutTests:

Added test for 'round' keyword of border-image-repeat CSS property
http://dev.w3.org/csswg/css3-background/#border-image-repeat

* fast/borders/border-image-02.html: Added.
* platform/chromium-linux/fast/borders/border-image-02-expected.png: Added.
* platform/chromium/TestExpectations:
* platform/chromium/fast/borders/border-image-02-expected.txt: Added.
* platform/efl/TestExpectations:
* platform/gtk/fast/borders/border-image-02-expected.png: Added.
* platform/gtk/fast/borders/border-image-02-expected.txt: Added.
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143419 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoAllow UI clients to handle vertical wheel events.
commit-queue@webkit.org [Wed, 20 Feb 2013 01:42:47 +0000 (01:42 +0000)]
Allow UI clients to handle vertical wheel events.
https://bugs.webkit.org/show_bug.cgi?id=110006

Patch by Conrad Shultz <conrad_shultz@apple.com> on 2013-02-19
Reviewed by Tim Horton.

Source/WebCore:

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().

Source/WebKit2:

Add API to allow clients to selectively control rubber-banding at vertical page extrema.

* UIProcess/API/C/WKPage.cpp:
(WKPageRubberBandsAtBottom):
Proxy for the corresponding function in WebCore::Page.
(WKPageSetRubberBandsAtBottom):
Ditto.
(WKPageRubberBandsAtTop):
Ditto.
(WKPageSetRubberBandsAtTop):
Ditto.

* UIProcess/API/C/WKPage.h:
Declare new API.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
Initialize new member variables.
(WebKit::WebPageProxy::setRubberBandsAtBottom):
New function; dispatches a matching message to the WebKit::WebPage.
(WebKit::WebPageProxy::setRubberBandsAtTop):
Ditto.

* UIProcess/WebPageProxy.h:
(WebPageProxy):
Declare new API.
(WebKit::WebPageProxy::rubberBandsAtBottom):
New accessor function.
(WebKit::WebPageProxy::rubberBandsAtTop):
Ditto.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setRubberBandsAtBottom):
New function; call the matching function on the associated WebCore::Page.
(WebKit::WebPage::setRubberBandsAtTop):
Ditto.

* WebProcess/WebPage/WebPage.h:
(WebPage):
Declare new rubber-banding API.

* WebProcess/WebPage/WebPage.messages.in:
Declare new rubber-banding API.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143418 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoRubber-banding should not affect the visibleRect of the TileCache
simon.fraser@apple.com [Wed, 20 Feb 2013 01:29:39 +0000 (01:29 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143417 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, force file to recompile to fix win build.
tony@chromium.org [Wed, 20 Feb 2013 01:24:49 +0000 (01:24 +0000)]
Unreviewed, force file to recompile to fix win build.

* WebView.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143416 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix crash in preloading scanning base tags with no href attribute for background...
tonyg@chromium.org [Wed, 20 Feb 2013 01:20:48 +0000 (01:20 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, include exports for VS2010 as well.
tony@chromium.org [Wed, 20 Feb 2013 01:18:24 +0000 (01:18 +0000)]
Unreviewed, include exports for VS2010 as well.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143414 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoIntroducing AbstractSQLTransaction and AbstractSQLTransactionBackend.
mark.lam@apple.com [Wed, 20 Feb 2013 00:48:25 +0000 (00:48 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143412 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSilence some analyzer warnings
oliver@apple.com [Wed, 20 Feb 2013 00:47:52 +0000 (00:47 +0000)]
Silence some analyzer warnings
https://bugs.webkit.org/show_bug.cgi?id=110281

Reviewed by Mark Hahnenberg.

The static analyzer believes that callerCodeBlock can be null,
based on other code performing null tests.  This should not
ever be the case, but we'll add RELEASE_ASSERTs to make it
obvious if we're ever wrong.

* interpreter/Interpreter.cpp:
(JSC::getCallerInfo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoChange computeStickyPositionConstraints to use LayoutBoxExtent for margins
eae@chromium.org [Wed, 20 Feb 2013 00:45:40 +0000 (00:45 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143410 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, fix the Windows build after r143398.
tony@chromium.org [Wed, 20 Feb 2013 00:45:09 +0000 (00:45 +0000)]
Unreviewed, fix the Windows build after r143398.
Add new setters to the export list.

* WebKit.vcproj/WebKitExports.def.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143409 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDon't force everything to be blinded in debug builds
oliver@apple.com [Wed, 20 Feb 2013 00:42:22 +0000 (00:42 +0000)]
Don't force everything to be blinded in debug builds
https://bugs.webkit.org/show_bug.cgi?id=110279

Reviewed by Mark Hahnenberg.

Switch to an explicit flag for indicating that we want
every constant to be blinded.

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::shouldBlind):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143408 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoDisable ASSERT(!hasInsertionPoint()) for background parser
tonyg@chromium.org [Wed, 20 Feb 2013 00:35:51 +0000 (00:35 +0000)]
Disable ASSERT(!hasInsertionPoint()) for background parser
https://bugs.webkit.org/show_bug.cgi?id=110251

Reviewed by Adam Barth.

The background parser crashes about 10 layout tests by hitting ASSERT(!hasInsertionPoint()).
Now, finish() is the thing that closes the HTMLInputStream which removes the insertion point.
In these tests, a document.open() calls insert() which clears the HTMLInputStream which causes
there to be an insertion point again.

With the main thread parser, insert() is called before finish() so the ASSERT passes.
However, with the threaded parser, finish() is called before insert(), so we fail the ASSERT.

This patch disables the ASSERT for the background parser because m_input isn't really relevant.
This causes us to pass the tests. However, there is a risk that now hasInsertionPoint() may be incorrect
and Document has a non-debug branch that tests hasInsertionPoint().

No new tests because covered by existing tests.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::prepareToStopParsing):
(WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143407 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed. Add myself to watch lists.
esprehn@chromium.org [Wed, 20 Feb 2013 00:34:16 +0000 (00:34 +0000)]
Unreviewed. Add myself to watch lists.

* Scripts/webkitpy/common/config/committers.py:
* Scripts/webkitpy/common/config/watchlist:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143406 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, corrected primary email.
hmuller@adobe.com [Wed, 20 Feb 2013 00:26:45 +0000 (00:26 +0000)]
Unreviewed, corrected primary email.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143405 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoSeparate constraining for overhang from fixed-position zooming behavior in scrollOffs...
simon.fraser@apple.com [Wed, 20 Feb 2013 00:25:06 +0000 (00:25 +0000)]
Separate constraining for overhang from fixed-position zooming behavior in scrollOffsetForFixedPosition()
https://bugs.webkit.org/show_bug.cgi?id=110267

Reviewed by Beth Dakin.

The static scrollOffsetForFixedPosition() function in ScrollingCoordinator did two things;
it constrained the scroll position when rubber-banding, and applied the special scaling for
fixed position when zoomed.

Separate these out so that we can use the rubber-banding constrained elsewhere.

* page/FrameView.cpp:
(WebCore::FrameView::scrollOffsetForFixedPosition): The static function is here now.
* page/FrameView.h:
* page/scrolling/ScrollingCoordinator.cpp: Code moved to FrameView.
* page/scrolling/ScrollingCoordinator.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition): scrollOffsetForFixedPosition()
is now on FrameView.
* platform/ScrollableArea.cpp:
(WebCore::constrainedScrollPosition): Helper to constrain one axis for overhang.
(WebCore::ScrollableArea::constrainScrollPositionForOverhang): Static function that
can be called by FrameView::scrollOffsetForFixedPosition().
* platform/ScrollableArea.h: Static function constrainScrollPositionForOverhang()
so we can call it from another thread. Also a member fuction of the same name, which takes
the scrollPosition as input (so we can feed it a layer position in a later patch).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143404 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoUnreviewed, rolling out r143382 and r143401.
enne@google.com [Wed, 20 Feb 2013 00:20:29 +0000 (00:20 +0000)]
Unreviewed, rolling out r143382 and r143401.
http://trac.webkit.org/changeset/143382
http://trac.webkit.org/changeset/143401
https://bugs.webkit.org/show_bug.cgi?id=106457

Breaks Chromium win/mac canary compilation

Source/Platform:

* chromium/public/Platform.h:

Source/WebKit/chromium:

* public/platform/WebKitPlatformSupport.h:
(WebKit):
(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::idbFactory):
(WebKit::WebKitPlatformSupport::~WebKitPlatformSupport):
* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::IDBFactoryBackendProxy):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143403 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix checkThatTokensAreSafeToSendToAnotherThread() now that the preload scanner is...
tonyg@chromium.org [Wed, 20 Feb 2013 00:15:23 +0000 (00:15 +0000)]
Fix checkThatTokensAreSafeToSendToAnotherThread() now that the preload scanner is enabled
https://bugs.webkit.org/show_bug.cgi?id=110258

Reviewed by Adam Barth.

We were hitting this ASSERT on numerous tests with the background parser enabled. This copy fixes the assertion.

No new tests becuase covered by existing tests.

* html/parser/HTMLResourcePreloader.h:
(WebCore::PreloadRequest::setCharset):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143402 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Move WebKitPlatformSupport declaration to Platform.h
pilgrim@chromium.org [Wed, 20 Feb 2013 00:14:25 +0000 (00:14 +0000)]
[Chromium] Move WebKitPlatformSupport declaration to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=110262

Reviewed by Adam Barth.

In preparation for removing WebKitPlatformSupport.h entirely (once
downstream references to that file have been updated). Part of a
larger refactoring series; see tracking bug 82948.

Source/Platform:

* chromium/public/Platform.h:
(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::~WebKitPlatformSupport):
(WebKit):

Source/WebKit/chromium:

* public/platform/WebKitPlatformSupport.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143401 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMoar hardening
oliver@apple.com [Wed, 20 Feb 2013 00:13:26 +0000 (00:13 +0000)]
Moar hardening
https://bugs.webkit.org/show_bug.cgi?id=110275

Reviewed by Anders Carlsson.

We now poison objects when they get freed, and verify that
any object that is being freed is not poisoned.  If the
object looks like it's poisoned we validate the freelist,
and ensure the object is not already present.  If it is
we crash.

On allocation, we ensure that the object being allocated
is poisoned, then clear the poisoning fields.

* wtf/FastMalloc.cpp:
(WTF::internalEntropyValue):
(WTF):
(WTF::freedObjectStartPoison):
(WTF::freedObjectEndPoison):
(TCMalloc_ThreadCache_FreeList):
(WTF::TCMalloc_ThreadCache_FreeList::Validate):
(WTF::TCMalloc_Central_FreeList::Populate):
(WTF::TCMalloc_ThreadCache::Allocate):
(WTF::TCMalloc_ThreadCache::Deallocate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143400 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix typo: inititatorFor->initiatorFor
tonyg@chromium.org [Tue, 19 Feb 2013 23:58:25 +0000 (23:58 +0000)]
Fix typo: inititatorFor->initiatorFor
https://bugs.webkit.org/show_bug.cgi?id=110260

Reviewed by Adam Barth.

No new tests because no changed functionality.

* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::initiatorFor):
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
* html/parser/HTMLPreloadScanner.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143399 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoConvert 3 settings to use Settings.in
tony@chromium.org [Tue, 19 Feb 2013 23:38:15 +0000 (23:38 +0000)]
Convert 3 settings to use Settings.in
https://bugs.webkit.org/show_bug.cgi?id=109875

Reviewed by Ryosuke Niwa.

Source/WebCore:

Convert mediaEnabled, applicationChromeMode and DOMPasteAllowed to
use Settings.in. They previously had inconsistently named setters.

No new tests, this is a refactoring.

* Source/WebCore/WebCore.exp.in: Remove symbols that are now inlined from exports.
* Source/WebCore/WebCore.order: Remove symbols that no longer exist.
* dom/make_names.pl:
(printConstructorInterior): Rename isMediaEnabled to mediaEnabled.
(printWrapperFunctions): Rename isMediaEnabled to mediaEnabled.
* editing/EditorCommand.cpp:
(WebCore::supportedPaste): Rename isDOMPasteAllowed to DOMPasteAllowed.
* page/Settings.cpp:
(WebCore::Settings::Settings): Remove custom code.
* page/Settings.h:
(Settings): Remove custom code.
* page/Settings.in: Add entries for mediaEnabled, applicationChromeMode and DOMPasteAllowed.
* page/make_settings.pl:
(setterFunctionName): Expand uppercase rules to include DOM.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::isDefault): Rename inApplicationChromeMode to applicationChromeMode.
* rendering/RenderThemeWin.cpp:
(WebCore::documentIsInApplicationChromeMode): Rename inApplicationChromeMode to applicationChromeMode.

Source/WebKit/efl:

* ewk/ewk_view.cpp:
(_ewk_view_priv_new): Rename isDOMPasteAllowed to DOMPasteAllowed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[CSS Grid Layout] Refactor the code in preparation of auto placement support
jchaffraix@webkit.org [Tue, 19 Feb 2013 23:34:33 +0000 (23:34 +0000)]
[CSS Grid Layout] Refactor the code in preparation of auto placement support
https://bugs.webkit.org/show_bug.cgi?id=110244

Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/css-grid-layout/grid-auto-flow-resolution.html

In order to support auto placement, we need to iterate over the grid items with
auto row / column several times. This changes makes us do that in a very simple,
not-yet-conformant way. While touching this code, the distinction between grid-auto-flow
none and row / column was better drawn (and enforced).

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::resolveGridPositionFromStyle):
Made it illegal to call resolveGridPositionFromStyle if the grid track is auto and
grid-auto-flow is not none. This would catch bad use of the function.

(WebCore::RenderGrid::maximumIndexInDirection):
Updated to bail out if the grid track is auto. Also improved the comment.

(WebCore::RenderGrid::placeItemsOnGrid):
Updated the function to do several iterations. Also handled the grid-auto-flow: none
case differently as it shouldn't need the extra iteration(s).

LayoutTests:

* fast/css-grid-layout/grid-auto-flow-resolution-expected.txt: Added.
* fast/css-grid-layout/grid-auto-flow-resolution.html: Added.
* fast/css-grid-layout/implicit-position-dynamic-change.html:
* fast/css-grid-layout/resources/grid.css:
(.autoRowAutoColumn):
(.firstRowAutoColumn):
(.secondRowAutoColumn):
(.thirdRowAutoColumn):
(.autoRowFirstColumn):
(.autoRowSecondColumn):
(.autoRowThirdColumn):
Added these helper classes, some will be used in a follow-up patch.

(.sizedToGridArea):
Hoisted this class into the common style.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoStorageAreaProxy should know its quota
andersca@apple.com [Tue, 19 Feb 2013 23:31:58 +0000 (23:31 +0000)]
StorageAreaProxy should know its quota
https://bugs.webkit.org/show_bug.cgi?id=110268

Reviewed by Sam Weinig.

Begin stubbing out StorageAreaProxy::setItem and add some quota member variables.

* WebProcess/Storage/StorageAreaProxy.cpp:
(WebKit::StorageAreaProxy::StorageAreaProxy):
(WebKit::StorageAreaProxy::setItem):
* WebProcess/Storage/StorageAreaProxy.h:
(StorageAreaProxy):
* WebProcess/Storage/StorageNamespaceProxy.cpp:
(WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
(WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
* WebProcess/Storage/StorageNamespaceProxy.h:
(WebKit::StorageNamespaceProxy::quota):
(StorageNamespaceProxy):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143396 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[New Multicolumn] REGRESSION: RenderMultiColumnSets broken by the RenderRegion -...
hyatt@apple.com [Tue, 19 Feb 2013 23:23:39 +0000 (23:23 +0000)]
[New Multicolumn] REGRESSION: RenderMultiColumnSets broken by the RenderRegion -> RenderBlock subclassing.
https://bugs.webkit.org/show_bug.cgi?id=110239.

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/multicol/newmulticol/column-rules-fixed-height.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::columnRectAt):
Make sure the columnGap() in the old multicolumn code is always expressed as a LayoutUnit. This was the
one place where it was still an int.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
Rework the painting of flow thread portions to account for the fact that regions paint at an integral
translation. This means you have to construct clipping around that integral destination. Subpixel layout
regions did not clip correctly as a result of this issue.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::columnRectAt):
Fix the same bug with columnGap() that the old column code has, i.e., one spot where it was an int.

(WebCore::RenderMultiColumnSet::paintObject):
RenderMultiColumnSet should be using paintObject and not paint and it needs to check for visibility
and phases now that it is a RenderBlock subclass.

(WebCore::RenderMultiColumnSet::paintColumnRules):
Fix the bug that Opera guys fixed in the old multi-column code. They didn't patch the new code, so this
takes care of that.

* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
Change to use paintObject instead of paint.

LayoutTests:

* fast/multicol/newmulticol: Added.
* fast/multicol/newmulticol/column-rules-fixed-height-expected.html: Added.
* fast/multicol/newmulticol/column-rules-fixed-height.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143395 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix indentation of Opcode.h
fpizlo@apple.com [Tue, 19 Feb 2013 23:21:06 +0000 (23:21 +0000)]
Fix indentation of Opcode.h

Rubber stamped by Mark Hahnenberg.

* bytecode/Opcode.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoConvert residual-style.html test to a reftest (and fix typos)
commit-queue@webkit.org [Tue, 19 Feb 2013 23:20:37 +0000 (23:20 +0000)]
Convert residual-style.html test to a reftest (and fix typos)
https://bugs.webkit.org/show_bug.cgi?id=109981

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-02-19
Reviewed by Darin Adler.

* fast/flexbox/box-orient-button.html: clsas->class
* fast/flexbox/resources/box-orient-button.js: DTR->DRT
* fast/invalid/residual-style-expected.html: Added. New reftest
version. Note that some lines are red, which is
https://bugs.webkit.org/show_bug.cgi?id=109984
* fast/invalid/residual-style.html: Add missing semicolon in <style>.
Also close a few more <font> tags, so that the descriptive text is
in black as it should be.

* platform/chromium-android/fast/invalid/residual-style-expected.png: Removed.
* platform/chromium-android/fast/invalid/residual-style-expected.txt: Removed.
* platform/chromium-linux/fast/invalid/residual-style-expected.png: Removed.
* platform/chromium-linux/fast/invalid/residual-style-expected.txt: Removed.
* platform/chromium-mac-lion/fast/invalid/residual-style-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/invalid/residual-style-expected.png: Removed.
* platform/chromium-mac/fast/invalid/residual-style-expected.png: Removed.
* platform/chromium-mac/fast/invalid/residual-style-expected.txt: Removed.
* platform/chromium-win/fast/invalid/residual-style-expected.png: Removed.
* platform/chromium-win/fast/invalid/residual-style-expected.txt: Removed.
* platform/efl/fast/invalid/residual-style-expected.png: Removed.
* platform/efl/fast/invalid/residual-style-expected.txt: Removed.
* platform/gtk/fast/invalid/residual-style-expected.png: Removed.
* platform/gtk/fast/invalid/residual-style-expected.txt: Removed.
* platform/mac/fast/invalid/residual-style-expected.png: Removed.
* platform/mac/fast/invalid/residual-style-expected.txt: Removed.
Removed old expectation files.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143393 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoMoved PolymorphicAccessStructureList into its own file.
fpizlo@apple.com [Tue, 19 Feb 2013 23:19:25 +0000 (23:19 +0000)]
Moved PolymorphicAccessStructureList into its own file.

Rubber stamped by Mark Hahnenberg.

* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/Instruction.h:
(JSC):
* bytecode/PolymorphicAccessStructureList.h: Added.
(JSC):
(PolymorphicAccessStructureList):
(PolymorphicStubInfo):
(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::PolymorphicStubInfo):
(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
(JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
(JSC::PolymorphicAccessStructureList::visitWeak):
* bytecode/StructureStubInfo.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143392 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[BlackBerry] Appropriately handle word wrapping in SpellingHandler
nghanavatian@rim.com [Tue, 19 Feb 2013 23:15:42 +0000 (23:15 +0000)]
[BlackBerry] Appropriately handle word wrapping in SpellingHandler
https://bugs.webkit.org/show_bug.cgi?id=110253

Reviewed by Rob Buis.

PR286001
Since we traverse through text by visual lines instead of blocks, word wrapping causes some
bad behavior. Changing the way we traverse text to jump by words instead of lines. This will
mean it takes longer to finish spellchecking, but the removal of any loops allows webkit
processing to continue. This gives priority to user actions while still completing a large
paragraph in a reasonable amount of time.

Internally reviewed by Mike Fenton

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
* WebKitSupport/SpellingHandler.cpp:
(BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
(BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
(BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
(BlackBerry::WebKit::SpellingHandler::startOfNextWord):
(WebKit):
(BlackBerry::WebKit::SpellingHandler::incrementByWord):
(BlackBerry::WebKit::SpellingHandler::doesWordWrap):
* WebKitSupport/SpellingHandler.h:
(SpellingHandler):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143391 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix indentation of Instruction.h
fpizlo@apple.com [Tue, 19 Feb 2013 23:10:35 +0000 (23:10 +0000)]
Fix indentation of Instruction.h

Rubber stamped by Mark Hahnenberg.

* bytecode/Instruction.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143390 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years agoFix 'slice' aspect ratio calculation
pdr@google.com [Tue, 19 Feb 2013 23:04:34 +0000 (23:04 +0000)]
Fix 'slice' aspect ratio calculation
https://bugs.webkit.org/show_bug.cgi?id=99984

Patch by Branimir Lambov <blambov@google.com> on 2013-02-19
Reviewed by Dirk Schulze.

Source/WebCore:

Previously the calculation for the 'slice' aspect ratio would incorrectly calculate the
source rect location based on the destination rect offset. This caused our source rect to be
incorrect, and sometimes render outside the visible area completely. After this patch
our implementation matches the implementation of both Gecko and Presto.

The relevant spec section:
http://www.w3.org/TR/SVG/single-page.html#coords-PreserveAspectRatioAttribute

Tests: svg/as-image/image-preserveAspectRatio-all.svg
       svg/filters/feImage-preserveAspectRatio-all.svg

* svg/SVGPreserveAspectRatio.cpp:
(WebCore::SVGPreserveAspectRatio::transformRect):

LayoutTests:

* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* svg/as-image/image-preserveAspectRatio-all-expected.png: Added.
* svg/as-image/image-preserveAspectRatio-all-expected.txt: Added.
* svg/as-image/image-preserveAspectRatio-all.svg: Added.
* svg/filters/feImage-preserveAspectRatio-all-expected.png: Added.
* svg/filters/feImage-preserveAspectRatio-all-expected.txt: Added.
* svg/filters/feImage-preserveAspectRatio-all.svg: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8 years ago[Chromium] Test Expectations to reflect flakey calendar tests.
schenney@chromium.org [Tue, 19 Feb 2013 23:03:15 +0000 (23:03 +0000)]
[Chromium] Test Expectations to reflect flakey calendar tests.
https://bugs.webkit.org/show_bug.cgi?id=107508

Unreviewed test expectations.

* platform/chromium/TestExpectations: Re-added all the flakey calendar tests.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143388 268f45cc-cd09-0410-ab3c-d52691b4dbfc