WebKit-https.git
8 years agoUnreviewed, rolling out r126076, r126099, and r126106.
commit-queue@webkit.org [Tue, 21 Aug 2012 17:34:49 +0000 (17:34 +0000)]
Unreviewed, rolling out r126076, r126099, and r126106.
http://trac.webkit.org/changeset/126076
http://trac.webkit.org/changeset/126099
http://trac.webkit.org/changeset/126106
https://bugs.webkit.org/show_bug.cgi?id=94614

Caused crashes during compositor shutdown in Aura builds of
Chromium (Requested by kbr_google on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-21

Source/Platform:

* chromium/public/WebContentLayer.h:
(WebCore):
(WebKit):
(WebContentLayer):
(WebKit::WebContentLayer::WebContentLayer):
(WebKit::WebContentLayer::operator=):
* chromium/public/WebExternalTextureLayer.h:
(WebCore):
(WebExternalTextureLayer):
(WebKit::WebExternalTextureLayer::WebExternalTextureLayer):
(WebKit::WebExternalTextureLayer::~WebExternalTextureLayer):
* chromium/public/WebIOSurfaceLayer.h:
(WebCore):
(WebIOSurfaceLayer):
(WebKit::WebIOSurfaceLayer::WebIOSurfaceLayer):
* chromium/public/WebImageLayer.h:
(WebCore):
(WebImageLayer):
(WebKit::WebImageLayer::WebImageLayer):
* chromium/public/WebLayer.h:
(WebKit):
(WebLayer):
(WebKit::WebLayer::WebLayer):
(WebKit::WebLayer::~WebLayer):
(WebKit::WebLayer::operator=):
(WebKit::WebLayer::isNull):
(WebKit::WebLayer::to):
(WebKit::WebLayer::toConst):
(WebKit::WebLayer::unwrap):
(WebKit::WebLayer::constUnwrap):
(WebKit::operator==):
(WebKit::operator!=):
* chromium/public/WebScrollableLayer.h: Copied from Source/Platform/chromium/public/WebScrollbarLayer.h.
(WebKit):
(WebScrollableLayer):
(WebKit::WebScrollableLayer::WebScrollableLayer):
(WebKit::WebScrollableLayer::~WebScrollableLayer):
(WebKit::WebScrollableLayer::operator=):
* chromium/public/WebScrollbarLayer.h:
(WebCore):
(WebKit::WebScrollbarLayer::WebScrollbarLayer):
(WebKit::WebScrollbarLayer::operator=):
(WebScrollbarLayer):
* chromium/public/WebSolidColorLayer.h:
(WebKit):
(WebSolidColorLayer):
* chromium/public/WebVideoLayer.h:
(WebCore):
(WebVideoLayer):
(WebKit::WebVideoLayer::WebVideoLayer):

Source/WebCore:

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::scrollLayer):
(ScrollingCoordinatorPrivate):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::prepareForDraw):
(WebCore::Canvas2DLayerBridge::layer):
(WebCore::Canvas2DLayerBridge::contextAcquired):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::layer):
(DrawingBufferPrivate):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::willBeDestroyed):
(WebCore):
(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::removeFromParent):
(WebCore::GraphicsLayerChromium::setSize):
(WebCore::GraphicsLayerChromium::clearBackgroundColor):
(WebCore::GraphicsLayerChromium::setContentsOpaque):
(WebCore::GraphicsLayerChromium::setFilters):
(WebCore::GraphicsLayerChromium::setBackgroundFilters):
(WebCore::GraphicsLayerChromium::setMaskLayer):
(WebCore::GraphicsLayerChromium::setBackfaceVisibility):
(WebCore::GraphicsLayerChromium::setOpacity):
(WebCore::GraphicsLayerChromium::setReplicatedByLayer):
(WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::pauseAnimation):
(WebCore::GraphicsLayerChromium::removeAnimation):
(WebCore::GraphicsLayerChromium::suspendAnimations):
(WebCore::GraphicsLayerChromium::resumeAnimations):
(WebCore::GraphicsLayerChromium::addLinkHighlight):
(WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::primaryLayer):
(WebCore::GraphicsLayerChromium::platformLayer):
(WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
(WebCore::GraphicsLayerChromium::setDebugBorder):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::updateLayerPosition):
(WebCore::GraphicsLayerChromium::updateLayerSize):
(WebCore::GraphicsLayerChromium::updateAnchorPoint):
(WebCore::GraphicsLayerChromium::updateTransform):
(WebCore::GraphicsLayerChromium::updateChildrenTransform):
(WebCore::GraphicsLayerChromium::updateMasksToBounds):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
(WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
(WebCore::GraphicsLayerChromium::updateContentsRect):
(WebCore::GraphicsLayerChromium::updateContentsScale):
(WebCore::GraphicsLayerChromium::setupContentsLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore::GraphicsLayerChromium::hasContentsLayer):
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::contentsLayer):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::rootLayer):
* platform/graphics/chromium/LayerChromium.h:

Source/WebKit/chromium:

* WebKit.gypi:
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
(WebKit::NonCompositedContentHost::setScrollLayer):
(WebKit::NonCompositedContentHost::setViewport):
(WebKit::NonCompositedContentHost::scrollLayer):
* src/NonCompositedContentHost.h:
* src/WebContentLayer.cpp: Renamed from Source/WebKit/chromium/src/WebVideoLayerImpl.cpp.
(WebKit):
(WebKit::WebContentLayer::create):
(WebKit::WebContentLayer::clearClient):
(WebKit::WebContentLayer::setDoubleSided):
(WebKit::WebContentLayer::setContentsScale):
(WebKit::WebContentLayer::setUseLCDText):
(WebKit::WebContentLayer::setDrawCheckerboardForMissingTiles):
(WebKit::WebContentLayer::WebContentLayer):
(WebKit::WebContentLayer::operator=):
(WebKit::WebContentLayer::operator PassRefPtr<ContentLayerChromium>):
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::create):
(WebKit::WebContentLayerImpl::WebContentLayerImpl):
(WebKit::WebContentLayerImpl::~WebContentLayerImpl):
(WebKit::WebContentLayerImpl::paintContents):
* src/WebContentLayerImpl.h:
(WebContentLayerImpl):
* src/WebExternalTextureLayer.cpp: Renamed from Source/WebKit/chromium/src/WebExternalTextureLayerImpl.cpp.
(WebKit):
(WebTextureUpdaterImpl):
(WebKit::WebTextureUpdaterImpl::WebTextureUpdaterImpl):
(WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayer::create):
(WebKit::WebExternalTextureLayer::clearClient):
(WebKit::WebExternalTextureLayer::setTextureId):
(WebKit::WebExternalTextureLayer::setFlipped):
(WebKit::WebExternalTextureLayer::setUVRect):
(WebKit::WebExternalTextureLayer::setOpaque):
(WebKit::WebExternalTextureLayer::setPremultipliedAlpha):
(WebKit::WebExternalTextureLayer::willModifyTexture):
(WebKit::WebExternalTextureLayer::setRateLimitContext):
(WebKit::WebExternalTextureLayer::WebExternalTextureLayer):
* src/WebExternalTextureLayerImpl.h: Removed.
* src/WebIOSurfaceLayer.cpp: Renamed from Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp.
(WebKit):
(WebKit::WebIOSurfaceLayer::create):
(WebKit::WebIOSurfaceLayer::setIOSurfaceProperties):
(WebKit::WebIOSurfaceLayer::WebIOSurfaceLayer):
* src/WebIOSurfaceLayerImpl.h: Removed.
* src/WebImageLayer.cpp: Renamed from Source/WebKit/chromium/src/WebImageLayerImpl.h.
(WebKit):
(WebKit::WebImageLayer::create):
(WebKit::WebImageLayer::WebImageLayer):
(WebKit::WebImageLayer::setBitmap):
* src/WebLayer.cpp: Added.
(WebKit):
(WebKit::WebLayer::create):
(WebKit::WebLayer::reset):
(WebKit::WebLayer::assign):
(WebKit::WebLayer::equals):
(WebKit::WebLayer::invalidateRect):
(WebKit::WebLayer::invalidate):
(WebKit::WebLayer::addChild):
(WebKit::WebLayer::insertChild):
(WebKit::WebLayer::replaceChild):
(WebKit::WebLayer::setChildren):
(WebKit::WebLayer::removeFromParent):
(WebKit::WebLayer::removeAllChildren):
(WebKit::WebLayer::setAnchorPoint):
(WebKit::WebLayer::anchorPoint):
(WebKit::WebLayer::setAnchorPointZ):
(WebKit::WebLayer::anchorPointZ):
(WebKit::WebLayer::setBounds):
(WebKit::WebLayer::bounds):
(WebKit::WebLayer::setMasksToBounds):
(WebKit::WebLayer::masksToBounds):
(WebKit::WebLayer::setMaskLayer):
(WebKit::WebLayer::setReplicaLayer):
(WebKit::WebLayer::setOpacity):
(WebKit::WebLayer::opacity):
(WebKit::WebLayer::setOpaque):
(WebKit::WebLayer::opaque):
(WebKit::WebLayer::setPosition):
(WebKit::WebLayer::position):
(WebKit::WebLayer::setSublayerTransform):
(WebKit::WebLayer::sublayerTransform):
(WebKit::WebLayer::setTransform):
(WebKit::WebLayer::transform):
(WebKit::WebLayer::setDrawsContent):
(WebKit::WebLayer::drawsContent):
(WebKit::WebLayer::setPreserves3D):
(WebKit::WebLayer::setUseParentBackfaceVisibility):
(WebKit::WebLayer::setBackgroundColor):
(WebKit::WebLayer::setFilters):
(WebKit::WebLayer::setBackgroundFilters):
(WebKit::WebLayer::setDebugBorderColor):
(WebKit::WebLayer::setDebugBorderWidth):
(WebKit::WebLayer::setDebugName):
(WebKit::WebLayer::setAnimationDelegate):
(WebKit::WebLayer::addAnimation):
(WebKit::WebLayer::removeAnimation):
(WebKit::WebLayer::pauseAnimation):
(WebKit::WebLayer::suspendAnimations):
(WebKit::WebLayer::resumeAnimations):
(WebKit::WebLayer::hasActiveAnimation):
(WebKit::WebLayer::transferAnimationsTo):
(WebKit::WebLayer::setForceRenderSurface):
(WebKit::WebLayer::clearRenderSurface):
(WebKit::WebLayer::WebLayer):
(WebKit::WebLayer::operator=):
(WebKit::WebLayer::operator PassRefPtr<LayerChromium>):
* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::create):
(WebKit::WebLayerImpl::WebLayerImpl):
(WebKit::WebLayerImpl::~WebLayerImpl):
* src/WebLayerImpl.h:
(WebLayerImpl):
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::setRootLayer):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::create):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
(WebKit::WebMediaPlayerClientImpl::repaint):
(WebKit::WebMediaPlayerClientImpl::setOpaque):
(WebKit::WebMediaPlayerClientImpl::platformLayer):
(WebKit::WebMediaPlayerClientImpl::acceleratedRenderingInUse):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setBackingTextureId):
(WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
(WebKit::WebPluginContainerImpl::commitBackingTexture):
(WebKit::WebPluginContainerImpl::setOpaque):
(WebKit::WebPluginContainerImpl::platformLayer):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):
* src/WebScrollableLayer.cpp: Renamed from Source/WebKit/chromium/src/WebImageLayerImpl.cpp.
(WebKit):
(WebKit::WebScrollableLayer::setScrollPosition):
(WebKit::WebScrollableLayer::setScrollable):
(WebKit::WebScrollableLayer::setHaveWheelEventHandlers):
(WebKit::WebScrollableLayer::setShouldScrollOnMainThread):
(WebKit::WebScrollableLayer::setNonFastScrollableRegion):
(WebKit::WebScrollableLayer::setIsContainerForFixedPositionLayers):
(WebKit::WebScrollableLayer::setFixedToContainerLayer):
* src/WebScrollbarLayer.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp.
(WebKit):
(WebKit::WebScrollbarLayer::setScrollLayer):
(WebKit::WebScrollbarLayer::create):
(WebKit::WebScrollbarLayer::WebScrollbarLayer):
(WebKit::WebScrollbarLayer::operator=):
(WebKit::WebScrollbarLayer::operator PassRefPtr<ScrollbarLayerChromium>):
* src/WebScrollbarLayerImpl.h: Removed.
* src/WebSolidColorLayer.cpp: Copied from Source/Platform/chromium/public/WebSolidColorLayer.h.
(WebKit):
(WebKit::WebSolidColorLayer::create):
(WebKit::WebSolidColorLayer::WebSolidColorLayer):
(WebKit::WebSolidColorLayer::setBackgroundColor):
* src/WebSolidColorLayerImpl.cpp:
(WebKit::WebSolidColorLayerImpl::create):
(WebKit::WebSolidColorLayerImpl::WebSolidColorLayerImpl):
* src/WebSolidColorLayerImpl.h:
(WebSolidColorLayerImpl):
* src/WebVideoLayer.cpp: Renamed from Source/WebKit/chromium/src/WebVideoLayerImpl.h.
(WebKit):
(WebKit::WebVideoLayer::create):
(WebKit::WebVideoLayer::WebVideoLayer):
(WebKit::WebVideoLayer::active):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setRootGraphicsLayer):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit):
* src/WebViewImpl.h:
* tests/ImageLayerChromiumTest.cpp:
(WebCore::TEST):
* tests/WebLayerTest.cpp:
* tests/WebLayerTreeViewTest.cpp:

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

8 years agoWeb Inspector: do not use window's eval in InjectedScript
pfeldman@chromium.org [Tue, 21 Aug 2012 17:03:12 +0000 (17:03 +0000)]
Web Inspector: do not use window's eval in InjectedScript
https://bugs.webkit.org/show_bug.cgi?id=94610

Reviewed by Yury Semikhatsky.

Source/WebCore:

Otherwise, inspector does not work when eval is overriden.

Test: inspector/console/console-eval-fake.html

* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::evaluate):
(WebCore):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::V8InjectedScriptHost::evaluateCallback):
(WebCore):
* inspector/InjectedScriptHost.idl:
* inspector/InjectedScriptSource.js:
(.):

LayoutTests:

* inspector/console/console-eval-fake-expected.txt: Added.
* inspector/console/console-eval-fake.html: Added.

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

8 years ago[BlackBerry] Accelerated In-Region Scrolling does not render correctly on rotation
tonikitoo@webkit.org [Tue, 21 Aug 2012 17:02:59 +0000 (17:02 +0000)]
[BlackBerry] Accelerated In-Region Scrolling does not render correctly on rotation
https://bugs.webkit.org/show_bug.cgi?id=94608
PR #194754

Reviewed by Goerge Staikos.
Patch by Antonio Gomes <agomes@rim.com>

When one translates/scrolls a HW accelerated scrollable layer, it makes use of
the OVERRIDE mechanism. Suppose the following scenario:

- In landscape, the overflow menu is scrollable. Then the user scrolls it so
that is has scroll position of 0, -100.
- when he rotates to portrait, the menus fit well to the available space but it
still has the OVERRIDE set, so it keeps the layer translated at 0, -100.

Fix is simple: clear the override when we stop scrolling a HW accelerated layer,
when we destroy the objects.

* WebKitSupport/InRegionScrollableArea.cpp:
(BlackBerry::WebKit::InRegionScrollableArea::~InRegionScrollableArea):

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

8 years ago[BlackBerry] Properly notify WebKit when Client stops in-region scrolling
tonikitoo@webkit.org [Tue, 21 Aug 2012 17:02:28 +0000 (17:02 +0000)]
[BlackBerry] Properly notify WebKit when Client stops in-region scrolling
https://bugs.webkit.org/show_bug.cgi?id=94603
PR #195813

Reviewed by Goerge Staikos.
Patch by Antonio Gomes <agomes@rim.com>

Simplify the API to get a notification of when a in-region
scrolling has finished.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):
Removed an unneeded parameter.
(BlackBerry::WebKit::WebPage::notifyInRegionScrollStopped):
Ditto.
* Api/WebPage.h:
* Api/WebPage_p.h:
(WebPagePrivate):

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

8 years agoImplement JSDOMWindow*::allowsAccessFrom* in terms of BindingSecurity
abarth@webkit.org [Tue, 21 Aug 2012 16:54:26 +0000 (16:54 +0000)]
Implement JSDOMWindow*::allowsAccessFrom* in terms of BindingSecurity
https://bugs.webkit.org/show_bug.cgi?id=93407

Reviewed by Eric Seidel.

Source/WebCore:

This patch removes allowsAccessFrom and implements the security checks
in terms of shouldAllowAccessToDOMWindow directly.

* bindings/generic/BindingSecurity.cpp:
(WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
(WebCore):
* bindings/generic/BindingSecurity.h:
(BindingSecurity):
* bindings/js/JSDOMBinding.cpp:
(WebCore::shouldAllowAccessToFrame):
(WebCore):
(WebCore::shouldAllowAccessToDOMWindow):
* bindings/js/JSDOMBinding.h:
(WebCore):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::shouldAllowAccessFrom):
(WebCore):
* bindings/js/JSDOMWindowBase.h:
(JSDOMWindowBase):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::deleteProperty):
(WebCore::JSDOMWindow::getPropertyNames):
(WebCore::JSDOMWindow::getOwnPropertyNames):
(WebCore::JSDOMWindow::defineOwnProperty):
(WebCore::JSDOMWindow::setLocation):
* bindings/js/JSDOMWindowCustom.h:
* bindings/js/JSInjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::canAccessInspectedWindow):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject _isSafeScript]):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertyDescriptorBody):
(GenerateImplementation):

LayoutTests:

These test results are now more similar (although not identical) to the
results for the V8 bindings.

* http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt:
* http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt:
* http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt:
* http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt:
* http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt:
* http/tests/security/listener/xss-window-onclick-shortcut-expected.txt:

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

8 years ago<rdar://problem/12104508> TextIterator takes O(n^2) to iterate over n empty blocks
mitz@apple.com [Tue, 21 Aug 2012 16:43:56 +0000 (16:43 +0000)]
<rdar://problem/12104508> TextIterator takes O(n^2) to iterate over n empty blocks
https://bugs.webkit.org/show_bug.cgi?id=94429

Reviewed by Sam Weinig.

No new tests, because behavior is unchanged.

* editing/TextIterator.cpp:
(WebCore::TextIterator::shouldRepresentNodeOffsetZero): Enhanced the check for nodes that
cannot contain VisiblePosition to also check for zero-height blocks.

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

8 years agoWKTR doesn't implement dumpWillCacheResponse().
beidson@apple.com [Tue, 21 Aug 2012 16:40:12 +0000 (16:40 +0000)]
WKTR doesn't implement dumpWillCacheResponse().
https://bugs.webkit.org/show_bug.cgi?id=94607

Unreviewed (Bot gardening)

* platform/wk2/Skipped: Skip http/tests/misc/willCacheResponse-delegate-callback.html

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

8 years agoWeb Inspector: break on exceptions decoration was lost, restoring.
pfeldman@chromium.org [Tue, 21 Aug 2012 16:32:36 +0000 (16:32 +0000)]
Web Inspector: break on exceptions decoration was lost, restoring.

Not reviewed - a follow up to 126012.

* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged.get switch):
(WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged):

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

8 years agoUnreviewed, rolling out r126146.
ossy@webkit.org [Tue, 21 Aug 2012 16:21:26 +0000 (16:21 +0000)]
Unreviewed, rolling out r126146.
http://trac.webkit.org/changeset/126146
https://bugs.webkit.org/show_bug.cgi?id=94606

It made all tests assert (Requested by Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-21

Source/WebCore:

* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::prototypeForSignalsAndSlots):
(JSC::Bindings::QtRuntimeMethod::call):
(JSC::Bindings::QtRuntimeMethod::jsObjectRef):
(JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
* bridge/qt/qt_runtime.h:
(QtRuntimeMethod):

Source/WebKit/qt:

* tests/qobjectbridge/tst_qobjectbridge.cpp:
(tst_QObjectBridge::objectDeleted):
(tst_QObjectBridge::introspectQtMethods_data):
(tst_QObjectBridge::introspectQtMethods):

LayoutTests:

* platform/qt/Skipped:

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

8 years agoMathML tests need rebaselining on Mac.
beidson@apple.com [Tue, 21 Aug 2012 16:17:01 +0000 (16:17 +0000)]
MathML tests need rebaselining on Mac.
https://bugs.webkit.org/show_bug.cgi?id=94393

Reviewed by Dan Bernstein.

* platform/mac/mathml/presentation/attributes-expected.txt:
* platform/mac/mathml/presentation/fenced-mi-expected.txt:
* platform/mac/mathml/presentation/fractions-expected.txt:
* platform/mac/mathml/presentation/mo-expected.txt:
* platform/mac/mathml/presentation/over-expected.txt:
* platform/mac/mathml/presentation/roots-expected.txt:
* platform/mac/mathml/presentation/row-expected.txt:
* platform/mac/mathml/presentation/sub-expected.txt:
* platform/mac/mathml/presentation/tokenElements-expected.txt:
* platform/mac/mathml/presentation/underover-expected.txt:

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

8 years agoUnreviewed, rolling out r126150.
commit-queue@webkit.org [Tue, 21 Aug 2012 15:25:47 +0000 (15:25 +0000)]
Unreviewed, rolling out r126150.
http://trac.webkit.org/changeset/126150
https://bugs.webkit.org/show_bug.cgi?id=94605

Breaks 73 layout tests on chromium.webkit builder (Requested
by pfeldman on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-21

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/V8Binding.cpp:
(StringTraits):
(WebCore):
(WebCore::v8StringToWebCoreString):
(WebCore::int32ToWebCoreStringFast):
(WebCore::int32ToWebCoreString):
* bindings/v8/V8Binding.h:
(WebCore):
(V8ParameterBase):
(WebCore::V8ParameterBase::operator String):
(WebCore::V8ParameterBase::operator AtomicString):
(WebCore::V8ParameterBase::V8ParameterBase):
(WebCore::V8ParameterBase::prepareBase):
(WebCore::V8ParameterBase::object):
(WebCore::V8ParameterBase::setString):
(WebCore::V8ParameterBase::toString):
(WebCore::::prepare):
* bindings/v8/V8StringResource.cpp: Removed.
* bindings/v8/V8StringResource.h: Removed.

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

8 years agomedia/media-document-audio-repaint.html is racy
philn@webkit.org [Tue, 21 Aug 2012 15:15:32 +0000 (15:15 +0000)]
media/media-document-audio-repaint.html is racy
https://bugs.webkit.org/show_bug.cgi?id=94454

Reviewed by Eric Carlson.

* media/media-document-audio-repaint.html: Don't rely on the play
event. Trigger the display and seek upon receipt of the pause event.

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

8 years agoEarly returns in MediaPlayer setters
philn@webkit.org [Tue, 21 Aug 2012 15:12:43 +0000 (15:12 +0000)]
Early returns in MediaPlayer setters
https://bugs.webkit.org/show_bug.cgi?id=87304

Calls to the MediaPlayerPrivate implementation can be avoided if
the value to set and the current value are equal.

Reviewed by Eric Carlson.

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::loadWithNextMediaEngine): Once a new
MediaPlayerPrivate has been created propagate the playback rate
value to it, as it is done for some other attributes like preload
or preservePitch.
(WebCore::MediaPlayer::setVolume): Perform action only if current
and new values differ.
(WebCore::MediaPlayer::setMuted): Ditto.
(WebCore::MediaPlayer::setPreservesPitch): Ditto.
(WebCore::MediaPlayer::setSize): Ditto.
(WebCore::MediaPlayer::setVisible): Ditto.
(WebCore::MediaPlayer::setPreload): Ditto.

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

8 years agoWeb Inspector: NMI: OwnPtr<T> was counted as RefPtr<T>
loislo@chromium.org [Tue, 21 Aug 2012 14:50:54 +0000 (14:50 +0000)]
Web Inspector: NMI: OwnPtr<T> was counted as RefPtr<T>
https://bugs.webkit.org/show_bug.cgi?id=94599

Reviewed by Yury Semikhatsky.

* dom/MemoryInstrumentation.h:
(WebCore::MemoryObjectInfo::MemoryObjectInfo):
(WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
(WebCore::MemoryInstrumentation::addObjectImpl):

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

8 years agoBuild fix for WinCE after r115348.
paroga@webkit.org [Tue, 21 Aug 2012 13:44:29 +0000 (13:44 +0000)]
Build fix for WinCE after r115348.

* Source/cmake/OptionsWindows.cmake: Removed duplicated WEBKIT_OPTION_DEFAULT_PORT_VALUE().

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

8 years agoWeb Inspector: NMI: rename addMember for strings and KURL to addInstrumentedMember.
loislo@chromium.org [Tue, 21 Aug 2012 13:41:00 +0000 (13:41 +0000)]
Web Inspector: NMI: rename addMember for strings and KURL to addInstrumentedMember.
https://bugs.webkit.org/show_bug.cgi?id=94580

Reviewed by Yury Semikhatsky.

Drive by fix: immutable ElementAttrybuteData uses the same trick with placement new as in StylePropertySet.

Source/WebCore:

* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
* css/CSSCharsetRule.cpp:
(WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::reportDescendantMemoryUsage):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::reportMemoryUsage):
* css/CSSValue.cpp:
(WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
* css/CSSVariableValue.h:
(WebCore::CSSVariableValue::reportDescendantMemoryUsage):
* css/FontFeatureValue.cpp:
(WebCore::FontFeatureValue::reportDescendantMemoryUsage):
* css/MediaQuery.cpp:
(WebCore::MediaQuery::reportMemoryUsage):
* css/MediaQueryExp.cpp:
(WebCore::MediaQueryExp::reportMemoryUsage):
* css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::reportDescendantMemoryUsage):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::reportMemoryUsage):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::StyleKeyframe::reportMemoryUsage):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
* css/WebKitCSSSVGDocumentValue.cpp:
(WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
* dom/Attribute.h:
(WebCore::Attribute::reportMemoryUsage):
* dom/CharacterData.cpp:
(WebCore::CharacterData::reportMemoryUsage):
* dom/Document.cpp:
(WebCore::Document::reportMemoryUsage):
* dom/ElementAttributeData.cpp:
(WebCore::immutableElementAttributeDataSize):
(WebCore):
(WebCore::ElementAttributeData::createImmutable):
(WebCore::ElementAttributeData::reportMemoryUsage):
* dom/Event.cpp:
(WebCore::Event::reportMemoryUsage):
* dom/MemoryInstrumentation.cpp:
(WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
* dom/MemoryInstrumentation.h:
(MemoryInstrumentation):
* dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::reportMemoryUsage):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::reportMemoryUsage):
* loader/SubstituteData.cpp:
(WebCore::SubstituteData::reportMemoryUsage):
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::reportMemoryUsage):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::reportMemoryUsage):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::reportMemoryUsage):
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::reportMemoryUsage):
* loader/cache/CachedShader.cpp:
(WebCore::CachedShader::reportMemoryUsage):
* loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::reportMemoryUsage):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::reportMemoryUsage):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::reportMemoryUsage):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::reportMemoryUsage):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::reportMemoryUsage):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::reportMemoryUsage):
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::reportDescendantMemoryUsage):

Source/WebKit/chromium:

* tests/MemoryInstrumentationTest.cpp:
(WebCore::TEST):
(WebCore):

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

8 years agoBuild fix for COMPILER(MSVC) && !CPU(X86) after r126023.
paroga@webkit.org [Tue, 21 Aug 2012 13:22:38 +0000 (13:22 +0000)]
Build fix for COMPILER(MSVC) && !CPU(X86) after r126023.

* wtf/MathExtras.h:
(lrint):

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

8 years ago[GTK] Add destroy notify for register_uri_scheme
carlosgc@webkit.org [Tue, 21 Aug 2012 12:50:18 +0000 (12:50 +0000)]
[GTK] Add destroy notify for register_uri_scheme
https://bugs.webkit.org/show_bug.cgi?id=94315

Reviewed by Philippe Normand.

For introspection to work correctly, a destroy notify needs to be
added to register_uri_scheme so that bindings know when to
finalize the user_data.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_register_uri_scheme):
(webkitWebContextReceivedURIRequest):
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:

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

8 years agoFix range-hit-test-with-padding.html by removing unnecessary part.
keishi@webkit.org [Tue, 21 Aug 2012 11:03:50 +0000 (11:03 +0000)]
Fix range-hit-test-with-padding.html by removing unnecessary part.

Unreviewed.

* fast/forms/range/range-hit-test-with-padding.html:

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

8 years ago[V8] Move String related code in V8Binding to a separate file
haraken@chromium.org [Tue, 21 Aug 2012 10:22:54 +0000 (10:22 +0000)]
[V8] Move String related code in V8Binding to a separate file
https://bugs.webkit.org/show_bug.cgi?id=94571

Reviewed by Adam Barth.

This patch moves V8Parameter, V8ParameterBase and String related code
in V8Binding to a separate file.

No tests. No change in behavior.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/V8Binding.cpp:
* bindings/v8/V8Binding.h:
* bindings/v8/V8StringResource.cpp: Added.
* bindings/v8/V8StringResource.h: Added.
(WebCore):

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

8 years ago[Qt] Gardening. Skip new failing tests.
ossy@webkit.org [Tue, 21 Aug 2012 09:50:12 +0000 (09:50 +0000)]
[Qt] Gardening. Skip new failing tests.

Reviewed Csaba Osztrogonác.

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-08-21

* platform/qt/Skipped:

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

8 years agoUnreviewed. Rolled DEPS.
peter@chromium.org [Tue, 21 Aug 2012 09:49:38 +0000 (09:49 +0000)]
Unreviewed.  Rolled DEPS.

* DEPS:

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

8 years agoSource/WebKit2: Unreviewed build fix for newer Qt 5: QT += qmltest does not imply...
hausmann@webkit.org [Tue, 21 Aug 2012 08:54:32 +0000 (08:54 +0000)]
Source/WebKit2: Unreviewed build fix for newer Qt 5: QT += qmltest does not imply QT += testlib anymore, but
the code here needs QSignalSpy from QTestLib

* UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
* UIProcess/API/qt/tests/qmltests/WebView.pro:

Tools: Unreviewed build fix for newer Qt 5: The meaning of private_includes changed to be fully
self-contained. The module name is not appended automatically anymore.

* qmake/qt_webkit.pri:

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

8 years ago[Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
hausmann@webkit.org [Tue, 21 Aug 2012 08:54:02 +0000 (08:54 +0000)]
[Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
https://bugs.webkit.org/show_bug.cgi?id=93897

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Before r125428 run-time methods (wrapped signals, slots or invokable functions) were subclasses of
JSInternalFunction and therefore real function objects in the JavaScript sense. r125428 changed them
to be just callable objects, but they did not have Function.prototype as prototype anymore for example
nor was their name correct (resulting in a layout test failure).

This patch changes run-time methods back to being real function objects that have a correct name and
have Function.prototype in their prototype change

The objects returned by JSObjectMakeFunctionWithCallbackInjected are light-weight internal function objects
that do not support JSObject{Set/Get}Private. Therefore we inject our own prototype right before the
Function.prototype prototype, which uses private data to store a pointer to our C++ QtRuntimeMethod object.
This complicates the retrieval of the pointer to that instance slightly, which is why this patch introduces
the toRuntimeMethod convenience function that looks up our prototype first and does a check for type-safety.

At the same time the patch removes the length properties from the run-time method itself as well as connect/disconnect.
The length property on a function signifies the number of arguments, but in all three cases that number is
actually variable, because of overloading. That is why we choose not to expose it in the first place.

* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::prototypeForSignalsAndSlots):
(JSC::Bindings::QtRuntimeMethod::call):
(JSC::Bindings::QtRuntimeMethod::jsObjectRef):
(JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
(Bindings):
(JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
* bridge/qt/qt_runtime.h:
(QtRuntimeMethod): Remove unused member variables.

Source/WebKit/qt:

Fixed some test expectations.

* tests/qobjectbridge/tst_qobjectbridge.cpp:
(tst_QObjectBridge::objectDeleted): Since runtime methods are real function objects again, we
can go back to testing Function.prototype.call, as it was done before r125428.
(tst_QObjectBridge::introspectQtMethods_data): Removed tests for the length property.
(tst_QObjectBridge::introspectQtMethods): Changed test expectation of the properties of
run-time methods back to being non-configurable, as before r125428.

LayoutTests:

* platform/qt/Skipped: Unskip test that is now passing.

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 21 Aug 2012 08:28:39 +0000 (08:28 +0000)]
Unreviewed GTK gardening.

fast/js/random-array-gc-stress.html has started to flakily crash in
release builds as well, so expanding the expectation.

The fast/forms/range/range-hit-test-with-padding.html test has been
failing since introduced in 126132. Adding a text expectation.

Marking one more frame flattening test as flaky.

Skipping two calendar picker tests. The feature is currently unsupported
and the tests take half a minute to run, so it's not really worth it.

* platform/gtk/TestExpectations:

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

8 years agoAdd another interesting test that used to fire a different ASSERT before we fixed...
cevans@google.com [Tue, 21 Aug 2012 08:12:42 +0000 (08:12 +0000)]
Add another interesting test that used to fire a different ASSERT before we fixed https://bugs.webkit.org/show_bug.cgi?id=36427:
ASSERT(parents.size() >= depth + 1)
https://bugs.webkit.org/show_bug.cgi?id=84793

Reviewed by Abhishek Arya.

* fast/xpath/xpath-detached-import-assert-expected.txt: Added.
* fast/xpath/xpath-detached-import-assert.html: Added.

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

8 years agoQuick build fix for the build fix ;(
hausmann@webkit.org [Tue, 21 Aug 2012 08:06:18 +0000 (08:06 +0000)]
Quick build fix for the build fix ;(

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

8 years agoUnreviewed build fix for newer Qt 5 versions: QVariant::WidgetStar has been removed,
hausmann@webkit.org [Tue, 21 Aug 2012 08:04:24 +0000 (08:04 +0000)]
Unreviewed build fix for newer Qt 5 versions: QVariant::WidgetStar has been removed,
but fortunately QMetaType has a much more powerful function available for us to use.

Thanks to Jedrzej Nowacki for the hint :)

* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertQVariantToValue):

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

8 years ago[V8] Remove String::New() from V8 binding (Part 1)
haraken@chromium.org [Tue, 21 Aug 2012 07:33:09 +0000 (07:33 +0000)]
[V8] Remove String::New() from V8 binding (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=94574

Reviewed by Adam Barth.

Currently, V8 binding mixes String::New(), String::NewSymbol() and v8String().
String::New() should be replaced with String::NewSymbol() or v8String(),
depending on use cases:

- If it is a symbol (e.g. attribute name, constant string, etc),
String::NewSymbol() should be used. Cache of created symbols is managed by V8.

- If it is not a symbol, v8String() should be used. Cache of created strings
is managed by V8 binding (i.e. StringCache class).

This patch replaces String::New() for symbols with String::NewSymbol().

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNamedConstructorCallback):
(GenerateNonStandardFunction):
(GenerateImplementation):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::ConfigureV8Float64ArrayTemplate):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::ConfigureV8TestEventTargetTemplate):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::ConfigureV8TestInterfaceTemplate):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::installPerContextProperties):
* bindings/v8/V8DOMConfiguration.cpp:
(WebCore::V8DOMConfiguration::batchConfigureConstants):
(WebCore::V8DOMConfiguration::batchConfigureCallbacks):
(WebCore::V8DOMConfiguration::configureTemplate):
* bindings/v8/V8DOMConfiguration.h:
(WebCore::V8DOMConfiguration::configureAttribute):

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

8 years agoUnreviewed, rolling out r126028.
loislo@chromium.org [Tue, 21 Aug 2012 07:24:05 +0000 (07:24 +0000)]
Unreviewed, rolling out r126028.
http://trac.webkit.org/changeset/126028
https://bugs.webkit.org/show_bug.cgi?id=94576

it broke compilation on apple webkit win. (Requested by loislo
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-21

* inspector/CodeGeneratorInspector.py:
* inspector/InjectedScriptWebGLModule.cpp:
(WebCore::InjectedScriptWebGLModule::captureFrame):
* inspector/InjectedScriptWebGLModule.h:
(InjectedScriptWebGLModule):
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorWebGLAgent.cpp:
(WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
* inspector/InspectorWebGLAgent.h:
(WebCore):
(WebCore::InspectorWebGLAgent::create):
(InspectorWebGLAgent):

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

8 years agoWeb Inspector: NMI: wrong size was reported for immutable StylePropertySet
loislo@chromium.org [Tue, 21 Aug 2012 07:17:53 +0000 (07:17 +0000)]
Web Inspector: NMI: wrong size was reported for immutable StylePropertySet
https://bugs.webkit.org/show_bug.cgi?id=94489

Reviewed by Yury Semikhatsky.

Immutable StylePropertySet is created via placement new.
The rest of the allocated buffer is used as an array of CSSProperty.
This means that we don't need to report m_properties member but have to report actual size of the buffer
used for both, the object and CSSProperty array.

* css/StylePropertySet.cpp:
(WebCore::immutableStylePropertySetSize):
(WebCore):
(WebCore::StylePropertySet::createImmutable):
(WebCore::StylePropertySet::reportMemoryUsage):
* dom/MemoryInstrumentation.h:
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCore::MemoryClassInfo::MemoryClassInfo):

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

8 years ago[Chromium-Android] Add stop_when_done parameter to ChromiumAndroidDriver.run_test()
wangxianzhu@chromium.org [Tue, 21 Aug 2012 06:50:57 +0000 (06:50 +0000)]
[Chromium-Android] Add stop_when_done parameter to ChromiumAndroidDriver.run_test()
https://bugs.webkit.org/show_bug.cgi?id=94558

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidDriver.run_test):

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

8 years ago[V8] Move handleOutOfMemory() from V8Proxy to V8Binding
haraken@chromium.org [Tue, 21 Aug 2012 06:50:42 +0000 (06:50 +0000)]
[V8] Move handleOutOfMemory() from V8Proxy to V8Binding
https://bugs.webkit.org/show_bug.cgi?id=94563

Reviewed by Adam Barth.

To kill V8Proxy, this patch moves handleOutOfMemory() from V8Proxy to V8Binding.

No tests. No change in behavior.

* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::invokeEventHandler):
* bindings/v8/V8Binding.cpp:
(WebCore::handleOutOfMemory):
(WebCore):
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::runScript):

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

8 years agoInsertionShouldCallDidNotifyDescendantInsertions should be merged to InsertionShouldC...
morrita@google.com [Tue, 21 Aug 2012 06:49:27 +0000 (06:49 +0000)]
InsertionShouldCallDidNotifyDescendantInsertions should be merged to InsertionShouldCallDidNotifySubtreeInsertions
https://bugs.webkit.org/show_bug.cgi?id=94570

Reviewed by Ryosuke Niwa.

Node::didNotifySubtreeInsertions() and Node::didNotifyDescendantInsertions() are used for similar purpose and
we could unify them to the safer one, which is didNotifySubtreeInsertions().

This change replaces the last didNotifyDescendantInsertions() implementation in HTMLBodyElement with didNotifySubtreeInsertions()
then eliminates related code which is no longer used.

No new tests. Covered by existing tests.

* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
* dom/Node.h: Removed didNotifyDescendantInsertions() stub and InsertionShouldCallDidNotifyDescendantInsertions enum value.
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::insertedInto):
(WebCore::HTMLBodyElement::didNotifySubtreeInsertions): morphed from didNotifyDescendantInsertions()
* html/HTMLBodyElement.h:
(HTMLBodyElement):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::insertedInto): Remove useless InsertionShouldCallDidNotifyDescendantInsertions return statement.

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

8 years agoCleanup TestExpectationParser.parse
rniwa@webkit.org [Tue, 21 Aug 2012 05:56:44 +0000 (05:56 +0000)]
Cleanup TestExpectationParser.parse
https://bugs.webkit.org/show_bug.cgi?id=94545

Reviewed by Dirk Pranke.

Refactor TestExpectations to simplify the code.

* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser.parse): Merged _tokenize_list.
(TestExpectationParser._parse_line): Removed the call to _check_modifiers_against_expectations
since the check is now done in _parser_modifiers.
(TestExpectationParser._parse_modifiers): Merged _check_modifiers_against_expectations.
(TestExpectationParser._tokenize_line): Renamed from _tokenize.
(TestExpectationParser._split_space_separated): No longer calls lower() on all modifiers.
This is done on a local variable in _parse_modifiers, preserving the original case.
(TestExpectations.remove_rebaselined_tests.without_rebaseline_modifier): Check the existence
of 'rebaseline' against parsed modifiers.
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(TestExpectationParserTests._tokenize):
(TestExpectationParserTests.test_tokenize_valid_with_comment): Preserves case.
(TestExpectationParserTests.test_tokenize_valid_with_multiple_modifiers): Ditto.
(TestExpectationSerializerTests._tokenize):
(TestExpectationSerializerTests.assert_list_round_trip): Call parse since _tokenize_list has
been merged into parse.
* Scripts/webkitpy/tool/commands/queries_unittest.py:
(PrintExpectationsTest.test_csv): Preserves the case.

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

8 years agoReduce GradientAttributes object size
commit-queue@webkit.org [Tue, 21 Aug 2012 05:45:36 +0000 (05:45 +0000)]
Reduce GradientAttributes object size
https://bugs.webkit.org/show_bug.cgi?id=86151

Patch by Rob Buis <rbuis@rim.com> on 2012-08-20
Reviewed by Eric Seidel.

This reduces GradientAttributes in memory size by 8 bytes on my 64-bit system. It also
reduces the size of RenderSVGResourceLinearGradient and RenderSVGResourceRadialGradient.

* svg/GradientAttributes.h:
(WebCore::GradientAttributes::spreadMethod):
(WebCore::GradientAttributes::gradientUnits):
(GradientAttributes):
(WebCore):
(SameSizeAsGradientAttributes):

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

8 years ago[jhbuild] EFL now runs jhbuild update for every build
commit-queue@webkit.org [Tue, 21 Aug 2012 05:01:06 +0000 (05:01 +0000)]
[jhbuild] EFL now runs jhbuild update for every build
https://bugs.webkit.org/show_bug.cgi?id=94267

Patch by Gustavo Noronha Silva <gns@gnome.org> on 2012-08-20
Reviewed by Martin Robinson.

Try to fix WinCE build by returning the empty string instead of
env when no jhbuild infrastructure is found.

* Scripts/webkitdirs.pm:
(jhbuildWrapperPrefixIfNeeded):

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

8 years agoClicking input type=range with padding or border sets wrong value
keishi@webkit.org [Tue, 21 Aug 2012 04:27:27 +0000 (04:27 +0000)]
Clicking input type=range with padding or border sets wrong value
https://bugs.webkit.org/show_bug.cgi?id=94473

Reviewed by Kent Tamura.

Source/WebCore:

We should take the padding and border width into account when calculating the value from the mouse location.

Test: fast/forms/range/range-hit-test-with-padding.html

* html/shadow/SliderThumbElement.cpp:
(WebCore::sliderTrackElementOf):
(WebCore):
(WebCore::SliderThumbElement::setPositionFromPoint):
* html/shadow/SliderThumbElement.h:
(WebCore):

LayoutTests:

* fast/forms/range/range-hit-test-with-padding-expected.txt: Added.
* fast/forms/range/range-hit-test-with-padding.html: Added.

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

8 years agoload event shouldn't fired during node insertion traversals.
morrita@google.com [Tue, 21 Aug 2012 04:21:28 +0000 (04:21 +0000)]
load event shouldn't fired during node insertion traversals.
https://bugs.webkit.org/show_bug.cgi?id=94447

Reviewed by Ryosuke Niwa.

Source/WebCore:

HTMLFrameElementBase::didNotifyDescendantInsertions() with empty @src
can trigger a load event during ChildNodeInsertionNotifier
traversal, whose handler can make DOM tree state inconsistent.

This change introduces a post traversal hook,
didNotifySubtreeInsertions(), for the insertion traversal and
replaces the problematic didNotifyDescendantInsertions() with it.

Since didNotifySubtreeInsertions() is invoked after the traversal,
it is safe for event handlers to mutate the tree.

Test: fast/frames/iframe-onload-and-domnodeinserted.html

* dom/ContainerNodeAlgorithms.h:
(ChildNodeInsertionNotifier): Added a post subtree notification.
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notify):
* dom/Node.h:
(WebCore::Node::didNotifySubtreeInsertions): Newly added.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::insertedInto): Now returns InsertionShouldCallDidNotifySubtreeInsertions
(WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Replaced didNotifyDescendantInsertions()
* html/HTMLFrameElementBase.h:
(HTMLFrameElementBase):

LayoutTests:

* fast/frames/iframe-onload-and-domnodeinserted-expected.txt: Added.
* fast/frames/iframe-onload-and-domnodeinserted.html: Added.

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

8 years agoRegression(r126127): Build break on multiple platforms
shinyak@chromium.org [Tue, 21 Aug 2012 03:57:42 +0000 (03:57 +0000)]
Regression(r126127): Build break on multiple platforms
https://bugs.webkit.org/show_bug.cgi?id=94568

Reviewed by Hajime Morita.

Notation::cloneNode should also have ExceptionCode. We add it in this patch.

No new tests, no change in behavior.

* dom/Notation.cpp:
(WebCore::Notation::cloneNode):
* dom/Notation.h:
(Notation):

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

8 years agoFix broken non-JIT build.
commit-queue@webkit.org [Tue, 21 Aug 2012 03:52:40 +0000 (03:52 +0000)]
Fix broken non-JIT build.
https://bugs.webkit.org/show_bug.cgi?id=94564.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-20
Reviewed by Filip Pizlo.

Added some UNUSED_PARAM() macros to make the compiler happy.

* runtime/Executable.cpp:
(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):

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

8 years ago[BlackBerry] Select popup shows blank content when its option tags contain '\' characters
commit-queue@webkit.org [Tue, 21 Aug 2012 03:38:53 +0000 (03:38 +0000)]
[BlackBerry] Select popup shows blank content when its option tags contain '\' characters
https://bugs.webkit.org/show_bug.cgi?id=94321

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2012-08-20
Reviewed by George Staikos.

PR 194224

When the SelectPopupClient generates HTML, if there is a character '\' in the select options'
description, we should escape it to avoid the character being interpreted as an escape character.

* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::generateHTML):

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

8 years agoShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
shinyak@chromium.org [Tue, 21 Aug 2012 03:22:06 +0000 (03:22 +0000)]
ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
https://bugs.webkit.org/show_bug.cgi?id=91704

Reviewed by Dimitri Glazkov.

Source/WebCore:

According to the spec, ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception. The existing implementation
returned null object instead.

We change the cloneNode() interface so that we can throw an exception from cloneNode().

Test: fast/dom/shadow/shadowroot-clonenode.html

* dom/Attr.cpp:
(WebCore::Attr::cloneNode):
* dom/Attr.h:
* dom/CDATASection.cpp:
(WebCore::CDATASection::cloneNode):
* dom/CDATASection.h:
(CDATASection):
* dom/Comment.cpp:
(WebCore::Comment::cloneNode):
* dom/Comment.h:
(Comment):
* dom/Document.cpp:
(WebCore::Document::cloneNode):
* dom/Document.h:
(Document):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::cloneNode):
* dom/DocumentFragment.h:
(DocumentFragment):
* dom/DocumentType.cpp:
(WebCore::DocumentType::cloneNode):
* dom/DocumentType.h:
(DocumentType):
* dom/Element.cpp:
(WebCore::Element::cloneNode):
* dom/Element.h:
(Element):
* dom/EntityReference.cpp:
(WebCore::EntityReference::cloneNode):
* dom/EntityReference.h:
(EntityReference):
* dom/Node.h:
(Node):
(WebCore::Node::cloneNode):
* dom/Node.idl:
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::cloneNode):
* dom/ProcessingInstruction.h:
(ProcessingInstruction):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::cloneNode):
* dom/ShadowRoot.h:
(ShadowRoot):
* dom/Text.cpp:
(WebCore::Text::cloneNode):
* dom/Text.h:
(Text):

LayoutTests:

* fast/dom/shadow/shadowroot-clonenode-expected.txt: Added.
* fast/dom/shadow/shadowroot-clonenode.html: Added.

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

8 years ago[Chromium-win] Use native digits in parsing/formatting dates in the textfield part...
tkent@chromium.org [Tue, 21 Aug 2012 03:04:46 +0000 (03:04 +0000)]
[Chromium-win] Use native digits in parsing/formatting dates in the textfield part of input[type=date]
https://bugs.webkit.org/show_bug.cgi?id=94281

Reviewed by Hajime Morita.

Source/WebCore:

Tests: Add some cases to Source/WebKit/chromium/tests/LocaleWinTest.cpp

* platform/text/LocaleWin.cpp:
(WebCore::LocaleWin::isLocalizedDigit): A helper for parseNumber(). This
return true if the specified character is one of native digits.
(WebCore::LocaleWin::parseNumber):
Try to parse ASCII digits, then try to parse native digtis. This
becomes a member of LocaleWin because it uses
convertFromLocalizedNumber().
(WebCore::LocaleWin::appendNumber): Apply convertToLocalizedNumber().
(WebCore::LocaleWin::appendTwoDigitsNumber): ditto.
(WebCore::LocaleWin::appendFourDigitsNumber): ditto.
* platform/text/LocaleWin.h:
(LocaleWin):
- Make some static functions member functions of LocaleWin.
- Add isLocalizedDigit().

Source/WebKit/chromium:

* tests/LocaleWinTest.cpp:
(TEST_F): Added formatting and parsing tests for Persian locale to check
native digit behavior.

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

8 years agoAdd a watcher for WTF changes
benjamin@webkit.org [Tue, 21 Aug 2012 02:59:22 +0000 (02:59 +0000)]
Add a watcher for WTF changes

Unreviewed.

Add myself as a watcher for changes in WTF.

* Scripts/webkitpy/common/config/watchlist:

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

8 years agoUnreviewed Chromium gardening. Improved how a few test
kbr@google.com [Tue, 21 Aug 2012 02:49:22 +0000 (02:49 +0000)]
Unreviewed Chromium gardening. Improved how a few test
expectations were merged together in r126117.

* platform/chromium/TestExpectations:

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

8 years agoRename collectGarbageIfNecessary() to hintForCollectGarbage()
haraken@chromium.org [Tue, 21 Aug 2012 02:47:21 +0000 (02:47 +0000)]
Rename collectGarbageIfNecessary() to hintForCollectGarbage()
https://bugs.webkit.org/show_bug.cgi?id=94455

Reviewed by Adam Barth.

This is a follow-up patch for r126098.

collectGarbage() always collects garbage. collectGarbageIfNecessary() just sends
an idle notification to V8, which is just a hint for V8 to trigger GC.
To clarify the difference, this patch renames collectGarbageIfNecessary()
to hintForCollectGarbage().

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::clearForClose):
(WebCore::ScriptController::clearForNavigation):
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::hintForCollectGarbage):
* bindings/v8/V8GCController.h:
(V8GCController):

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

8 years ago[chromium] Texture layer should not generate zero textureId quads
commit-queue@webkit.org [Tue, 21 Aug 2012 02:35:33 +0000 (02:35 +0000)]
[chromium] Texture layer should not generate zero textureId quads
https://bugs.webkit.org/show_bug.cgi?id=94550

Patch by Alexandre Elias <aelias@google.com> on 2012-08-20
Reviewed by Adrienne Walker.

After a context loss, CCTextureLayerImpl would clear its textureId
but continued to produce external resources and quads with the zero
textureid.  Add early returns so that CCTextureLayerImpl becomes
inert after a context loss.

Added assertion in read lock so that dontUseOldResourcesAfterLostContext
test catches the problem.

* platform/graphics/chromium/cc/CCResourceProvider.h:
(WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
* platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
(WebCore::CCTextureLayerImpl::willDraw):
(WebCore::CCTextureLayerImpl::appendQuads):
(WebCore::CCTextureLayerImpl::didDraw):
(WebCore::CCTextureLayerImpl::didLoseContext):

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

8 years ago[Chromium] Make the popup positioning code testable
tkent@chromium.org [Tue, 21 Aug 2012 02:33:47 +0000 (02:33 +0000)]
[Chromium] Make the popup positioning code testable
https://bugs.webkit.org/show_bug.cgi?id=94086

Reviewed by Hajime Morita.

Source/WebCore:

Introduce PopupContent interface in order to make a mock.

* platform/chromium/PopupContainer.cpp:
(WebCore::PopupContainer::layoutAndCalculateWidgetRectInternal):
 - Make it a member of PopupContainer to avoid namespace pollution.
 - Use PopupContent interface.
 - Make the code clearer.
* platform/chromium/PopupContainer.h:
(PopupContainer): Expose layoutAndCalculateWidgetRectInternal.

* platform/chromium/PopupListBox.cpp:
(WebCore::PopupListBox::popupContentHeight): Added.
* platform/chromium/PopupListBox.h:
(PopupContent): Added.
(PopupListBox): Inherit PopupContent.
(WebCore::PopupListBox::~PopupListBox):
Make this virtual because this class has some virtual functions.

Source/WebKit/chromium:

* WebKit.gypi: Add PopupContainerTest.cpp.
* tests/PopupContainerTest.cpp: Added.
(MockPopupContent):
(calculatePosition):
(TEST):

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

8 years agoXSSAuditor too tolerant of injected data: URLs from other "hostless" schemes.
tsepez@chromium.org [Tue, 21 Aug 2012 02:11:02 +0000 (02:11 +0000)]
XSSAuditor too tolerant of injected data: URLs from other "hostless" schemes.
https://bugs.webkit.org/show_bug.cgi?id=94547

Reviewed by Adam Barth.

Source/WebCore:

Check that there is a host before making same-host tests.

Test: fast/frames/xss-auditor-handles-file-urls.html

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::eraseAttributeIfInjected):
(WebCore::XSSAuditor::isLikelySafeResource):
* html/parser/XSSAuditor.h:

LayoutTests:

* fast/frames/resources/static-xss-vector.html: Added.
* fast/frames/xss-auditor-handles-file-urls-expected.txt: Added.
* fast/frames/xss-auditor-handles-file-urls.html: Added.

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

8 years agoRemoved dead code from a very old iteration of CSS counters.
commit-queue@webkit.org [Tue, 21 Aug 2012 02:03:27 +0000 (02:03 +0000)]
Removed dead code from a very old iteration of CSS counters.
https://bugs.webkit.org/show_bug.cgi?id=94539

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-08-20
Reviewed by Eric Seidel.

Remove two unused shorts that were on StyleRareNonInheritedData that are no longer used.

No tests, this just removes dead code.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

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

8 years agoFix inspector with variables enabled and enable inspector variables tests by default.
macpherson@chromium.org [Tue, 21 Aug 2012 02:00:42 +0000 (02:00 +0000)]
Fix inspector with variables enabled and enable inspector variables tests by default.
https://bugs.webkit.org/show_bug.cgi?id=94296

Reviewed by Hajime Morita.

Source/WebCore:

Change from using getPropertyName static function to CSSProperty::cssName(), which can resolve variables if needed.

Covered by inspector/styles/variables.

* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::item):

LayoutTests:

Fix paths to included javascript and enable tests by default on Chromium port.

* inspector/styles/variables/css-variables.html:
* platform/chromium/TestExpectations:

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

8 years agoUnreviewed. Fixed lint errors in TestExpectations after r126110.
kbr@google.com [Tue, 21 Aug 2012 01:59:26 +0000 (01:59 +0000)]
Unreviewed. Fixed lint errors in TestExpectations after r126110.

* platform/chromium/TestExpectations:

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

8 years agoCancel the outstanding vibration pattern if the pattern is 0 or an empty list
commit-queue@webkit.org [Tue, 21 Aug 2012 01:50:14 +0000 (01:50 +0000)]
Cancel the outstanding vibration pattern if the pattern is 0 or an empty list
https://bugs.webkit.org/show_bug.cgi?id=94085

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-20
Reviewed by Kentaro Hara.

vibrate() method to stop the device from vibrating is getting called before the
vibration is in effect. Hence, it is failing to cancel the pre-existing instance
of processing vibration patterns.

This patch cancel the pre-existing instance of the processing vibration patterns
always when the vibrate() method called with pattern 0 or an empty list.

No new tests since there is no return value in the Vibration API to test this
particular case. Existing test fast/dom/navigator-vibration.html covers testing of
the Vibration API.

* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::vibrate):

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

8 years ago[Chromium] Fix warnings on Windows builds
commit-queue@webkit.org [Tue, 21 Aug 2012 01:28:23 +0000 (01:28 +0000)]
[Chromium] Fix warnings on Windows builds
https://bugs.webkit.org/show_bug.cgi?id=94543

Patch by Scott Graham <scottmg@chromium.org> on 2012-08-20
Reviewed by Adrienne Walker.

* tests/CCMathUtilTest.cpp:

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

8 years agoAllow MutationEvents to be enabled/disabled per context
adamk@chromium.org [Tue, 21 Aug 2012 01:14:51 +0000 (01:14 +0000)]
Allow MutationEvents to be enabled/disabled per context
https://bugs.webkit.org/show_bug.cgi?id=94016

Reviewed by Ojan Vafai.

Source/WebCore:

Chromium wants to be able to turn MutationEvents off for some
Documents (e.g., for Apps V2). This patch makes the firing (and the
constructor on DOMWindow) of MutationEvents a per-context feature, with
the default being enabled.

No functional change (since the feature defaults to enabled).
It's not clear to me that there's a way to test this in DRT without
adding a special hook for this one feature. It will be tested in
Chromium once it's implemented in Chromium.

* dom/ContextFeatures.cpp:
(WebCore::ContextFeatures::mutationEventsEnabled): Add new method,
with the default being enabled.
* dom/ContextFeatures.h:
* dom/Document.cpp:
(WebCore::Document::addMutationEventListenerTypeIfEnabled): Add new
method that checks the ContextFeature flag before adding the passed-in
listener type.
(WebCore::Document::addListenerTypeIfNeeded): Call the new method
instead of addListenerType for MutationEvent types.
* dom/Document.h:
(WebCore::Document::addListenerType): Make private to avoid anyone
outside Document from enabling MutationEvent listeners. All callers
must go through addListenerTypeIfNeeded.

Source/WebKit/chromium:

Add Chromium/WebKit API for enabling/disabling MutationEvents via
WebPermissionClient.

* public/WebPermissionClient.h:
(WebPermissionClient):
(WebKit::WebPermissionClient::allowMutationEvents):
* src/ContextFeaturesClientImpl.cpp:
(WebKit::ContextFeaturesClientImpl::askIfIsEnabled):

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

8 years agoUnreviewed, rolling out r126095.
kbr@google.com [Tue, 21 Aug 2012 01:00:48 +0000 (01:00 +0000)]
Unreviewed, rolling out r126095.
http://trac.webkit.org/changeset/126095
https://bugs.webkit.org/show_bug.cgi?id=94555

Breaks compilation of downstream WebWidget::paint
implementations (Requested by jamesr on #webkit).

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

* public/WebWidget.h:
(WebKit::WebWidget::paint):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::paint):
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::paint):
* src/WebPopupMenuImpl.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::paint):
* src/WebViewImpl.h:
(WebViewImpl):

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

8 years ago[Sub-pixel Layout] Block selection gap repainting can leave one pixel gaps
leviw@chromium.org [Tue, 21 Aug 2012 00:59:37 +0000 (00:59 +0000)]
[Sub-pixel Layout] Block selection gap repainting can leave one pixel gaps
https://bugs.webkit.org/show_bug.cgi?id=94526

Reviewed by Eric Seidel.

Source/WebCore:

Reverting RenderLayer's m_blockSelectionGapsBounds to be an IntRect and applying enclosingIntRect to the
gapRects added to the bounds. Previously, we'd end multiple block gaps and pixel snap the result, which
can yield results one pixel off in width and height.

Covered by existing tests. This undoes some of the rebaselining from when sub-pixel was enabled for Chromium.

* rendering/RenderLayer.cpp:
* rendering/RenderLayer.h:

LayoutTests:

Correcting pixel gap repainting reverts a bunch of chromium expectations to their pre-sub-pixel layout
versions. This largely triggers 1-pixel image diffs in input fields.

* platform/chromium-mac/editing/input/caret-at-the-edge-of-input-expected.png:
* platform/chromium-mac/editing/inserting/before-after-input-element-expected.png:
* platform/chromium-mac/editing/pasteboard/4806874-expected.png:
* platform/chromium-mac/editing/pasteboard/drop-text-without-selection-expected.png:
* platform/chromium-mac/editing/pasteboard/input-field-1-expected.png:
* platform/chromium-mac/editing/selection/3690703-2-expected.png:
* platform/chromium-mac/editing/selection/3690703-expected.png:
* platform/chromium-mac/editing/selection/3690719-expected.png:
* platform/chromium-mac/editing/selection/4895428-3-expected.png:
* platform/chromium-mac/editing/selection/4975120-expected.png:
* platform/chromium-mac/editing/selection/drag-select-1-expected.png:
* platform/chromium-mac/editing/selection/select-across-readonly-input-1-expected.png:
* platform/chromium-mac/editing/selection/select-across-readonly-input-2-expected.png:
* platform/chromium-mac/editing/selection/select-across-readonly-input-3-expected.png:
* platform/chromium-mac/editing/selection/select-across-readonly-input-4-expected.png:
* platform/chromium-mac/editing/selection/select-across-readonly-input-5-expected.png:
* platform/chromium-mac/editing/selection/select-from-textfield-outwards-expected.png:
* platform/chromium-mac/fast/block/margin-collapse/103-expected.png:
* platform/chromium-mac/fast/css/input-search-padding-expected.png:
* platform/chromium-mac/fast/css/line-height-determined-by-primary-font-expected.png:
* platform/chromium-mac/fast/css/line-height-expected.png:
* platform/chromium-mac/fast/css/square-button-appearance-expected.png:
* platform/chromium-mac/fast/css/text-overflow-input-expected.png:
* platform/chromium-mac/fast/dom/isindex-001-expected.png:
* platform/chromium-mac/fast/dom/isindex-002-expected.png:
* platform/chromium-mac/fast/events/autoscroll-expected.png:
* platform/chromium-mac/fast/events/context-no-deselect-expected.png:
* platform/chromium-mac/fast/forms/basic-buttons-expected.png:
* platform/chromium-mac/fast/forms/basic-inputs-expected.png:
* platform/chromium-mac/fast/forms/box-shadow-override-expected.png:
* platform/chromium-mac/fast/forms/button-sizes-expected.png:
* platform/chromium-mac/fast/forms/color/input-appearance-color-expected.png:
* platform/chromium-mac/fast/forms/date/date-appearance-expected.png:
* platform/chromium-mac/fast/forms/encoding-test-expected.png:
* platform/chromium-mac/fast/forms/fieldset-align-expected.png:
* platform/chromium-mac/fast/forms/floating-textfield-relayout-expected.png:
* platform/chromium-mac/fast/forms/form-element-geometry-expected.png:
* platform/chromium-mac/fast/forms/input-align-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-default-bkcolor-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-disabled-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-focus-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-height-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-preventDefault-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-readonly-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-selection-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-visibility-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-width-expected.png:
* platform/chromium-mac/fast/forms/input-baseline-expected.png:
* platform/chromium-mac/fast/forms/input-disabled-color-expected.png:
* platform/chromium-mac/fast/forms/input-double-click-selection-gap-bug-expected.png:
* platform/chromium-mac/fast/forms/input-field-text-truncated-expected.png:
* platform/chromium-mac/fast/forms/input-placeholder-paint-order-expected.png:
* platform/chromium-mac/fast/forms/input-placeholder-visibility-1-expected.png:
* platform/chromium-mac/fast/forms/input-placeholder-visibility-3-expected.png:
* platform/chromium-mac/fast/forms/input-readonly-autoscroll-expected.png:
* platform/chromium-mac/fast/forms/input-readonly-dimmed-expected.png:
* platform/chromium-mac/fast/forms/input-readonly-empty-expected.png:
* platform/chromium-mac/fast/forms/input-spaces-expected.png:
* platform/chromium-mac/fast/forms/input-table-expected.png:
* platform/chromium-mac/fast/forms/input-text-click-inside-expected.png:
* platform/chromium-mac/fast/forms/input-text-click-outside-expected.png:
* platform/chromium-mac/fast/forms/input-text-double-click-expected.png:
* platform/chromium-mac/fast/forms/input-text-drag-down-expected.png:
* platform/chromium-mac/fast/forms/input-text-option-delete-expected.png:
* platform/chromium-mac/fast/forms/input-text-scroll-left-on-blur-expected.png:
* platform/chromium-mac/fast/forms/input-text-self-emptying-click-expected.png:
* platform/chromium-mac/fast/forms/input-text-word-wrap-expected.png:
* platform/chromium-mac/fast/forms/input-type-text-min-width-expected.png:
* platform/chromium-mac/fast/forms/input-value-expected.png:
* platform/chromium-mac/fast/forms/input-width-expected.png:
* platform/chromium-mac/fast/forms/minWidthPercent-expected.png:
* platform/chromium-mac/fast/forms/number/number-appearance-rtl-expected.png:
* platform/chromium-mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.png:
* platform/chromium-mac/fast/forms/number/number-appearance-spinbutton-layer-expected.png:
* platform/chromium-mac/fast/forms/placeholder-position-expected.png:
* platform/chromium-mac/fast/forms/placeholder-pseudo-style-expected.png:
* platform/chromium-mac/fast/forms/plaintext-mode-2-expected.png:
* platform/chromium-mac/fast/forms/tabbing-input-iframe-expected.png:
* platform/chromium-mac/fast/forms/text-style-color-expected.png:
* platform/chromium-mac/fast/forms/textfield-focus-ring-expected.png:
* platform/chromium-mac/fast/forms/textfield-overflow-expected.png:
* platform/chromium-mac/fast/forms/validation-message-appearance-expected.png:
* platform/chromium-mac/fast/forms/visual-hebrew-text-field-expected.png:
* platform/chromium-mac/fast/frames/take-focus-from-iframe-expected.png:
* platform/chromium-mac/fast/html/details-no-summary4-expected.png:
* platform/chromium-mac/fast/html/details-open-javascript-expected.png:
* platform/chromium-mac/fast/html/details-open2-expected.png:
* platform/chromium-mac/fast/html/details-open4-expected.png:
* platform/chromium-mac/fast/lists/dynamic-marker-crash-expected.png:
* platform/chromium-mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png:
* platform/chromium-mac/fast/repaint/subtree-root-skipped-expected.png:
* platform/chromium-mac/fast/replaced/replaced-breaking-expected.png:
* platform/chromium-mac/fast/replaced/replaced-breaking-mixture-expected.png:
* platform/chromium-mac/fast/replaced/width100percent-textfield-expected.png:
* platform/chromium-mac/fast/speech/input-appearance-numberandspeech-expected.png:
* platform/chromium-mac/fast/speech/input-appearance-speechbutton-expected.png:
* platform/chromium-mac/fast/speech/speech-bidi-rendering-expected.png:
* platform/chromium-mac/fast/table/003-expected.png:
* platform/chromium-mac/fast/table/colspanMinWidth-expected.png:
* platform/chromium-mac/fast/table/spanOverlapRepaint-expected.png:
* platform/chromium-mac/fast/table/text-field-baseline-expected.png:
* platform/chromium-mac/fast/text/textIteratorNilRenderer-expected.png:
* platform/chromium-mac/fast/transforms/transformed-focused-text-input-expected.png:
* platform/chromium-mac/plugins/mouse-click-plugin-clears-selection-expected.png:
* platform/chromium-mac/svg/custom/inline-svg-in-xhtml-expected.png:
* platform/chromium-mac/svg/hixie/mixed/003-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/45621-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug1188-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug12384-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug18359-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug24200-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug2479-2-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug2479-3-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug28928-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug4382-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug4527-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug46368-1-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug46368-2-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug51037-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug55545-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug59354-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug7342-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug96334-expected.png:
* platform/chromium-mac/tables/mozilla/dom/tableDom-expected.png:
* platform/chromium-mac/tables/mozilla/other/move_row-expected.png:
* platform/chromium-mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png:
* platform/chromium/TestExpectations:

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

8 years ago[V8] Move instrumentedCallFunction() from V8Proxy to ScriptController
haraken@chromium.org [Tue, 21 Aug 2012 00:52:47 +0000 (00:52 +0000)]
[V8] Move instrumentedCallFunction() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94456

Reviewed by Adam Barth.

To kill V8Proxy, this patch moves instrumentedCallFunction() from V8Proxy
to ScriptController. Also this patch renames instrumentedCallFunction()
to callFunctionWithInstrumentation(), for consistency with callFunction().

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::callFunction):
(WebCore):
(WebCore::handleMaxRecursionDepthExceeded):
(WebCore::resourceInfo):
(WebCore::resourceString):
(WebCore::ScriptController::callFunctionWithInstrumentation):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/ScriptFunctionCall.cpp:
(WebCore::ScriptCallback::call):
* bindings/v8/V8Callback.cpp:
(WebCore::invokeCallback):
* bindings/v8/V8NodeFilterCondition.cpp:
(WebCore::V8NodeFilterCondition::acceptNode):
* bindings/v8/V8Proxy.cpp:
(WebCore):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/V8WindowErrorHandler.cpp:
(WebCore::V8WindowErrorHandler::callListenerFunction):
* bindings/v8/custom/V8CustomXPathNSResolver.cpp:
(WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):

Source/WebKit/chromium:

* src/WebDevToolsFrontendImpl.cpp:
(WebKit::WebDevToolsFrontendImpl::dispatchOnInspectorFrontend):

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

8 years agosetMockGeolocationPosition not defined in WKTR
beidson@apple.com [Tue, 21 Aug 2012 00:50:54 +0000 (00:50 +0000)]
setMockGeolocationPosition not defined in WKTR
https://bugs.webkit.org/show_bug.cgi?id=94554

Unreviewed (bot gardening)

* platform/wk2/Skipped:

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

8 years agoNever notify of insertedIntoTree during document destruction.
commit-queue@webkit.org [Tue, 21 Aug 2012 00:45:17 +0000 (00:45 +0000)]
Never notify of insertedIntoTree during document destruction.
https://bugs.webkit.org/show_bug.cgi?id=94535

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-08-20
Reviewed by Eric Seidel.

Never notify of insertedIntoTree during document destruction. Previously since we
avoid notifying of willBeRemovedFromTree it's possible we could have gotten several
insertedIntoTree notifications without ever being told we were removed.

No tests needed since this just closes holes related to future code.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::appendChildNode): Never call insertedIntoTree during document destruction.
(WebCore::RenderObjectChildList::insertChildNode): Same.
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::attachRegion): Removed unneeded document destruction check.

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

8 years ago[chromium] Initialize GraphicsLayerChromium::m_contentsLayerId when setting contents...
jamesr@google.com [Tue, 21 Aug 2012 00:37:07 +0000 (00:37 +0000)]
[chromium] Initialize GraphicsLayerChromium::m_contentsLayerId when setting contents layer
https://bugs.webkit.org/show_bug.cgi?id=94552

Reviewed by Kenneth Russell.

Set it or it don't work good.

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setupContentsLayer):

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

8 years agoSource/WebCore: parse CSS attribute -webkit-blend-mode
krit@webkit.org [Tue, 21 Aug 2012 00:35:27 +0000 (00:35 +0000)]
Source/WebCore: parse CSS attribute -webkit-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=94024

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-08-20
Reviewed by Dirk Schulze.

Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/

Tests: css3/compositing/blend-mode-property-parsing-invalid.html
       css3/compositing/blend-mode-property-parsing.html
       css3/compositing/blend-mode-property.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore):
(WebCore::RenderLayerBacking::updateLayerBlendMode):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::setBlendMode):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

LayoutTests: parse CSS attribute -webkit-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=94024

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-08-20
Reviewed by Dirk Schulze.

Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/

* css3/compositing: Added.
* css3/compositing/blend-mode-property-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-invalid-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-invalid.html: Added.
* css3/compositing/blend-mode-property-parsing.html: Added.
* css3/compositing/blend-mode-property.html: Added.
* css3/compositing/script-tests: Added.
* css3/compositing/script-tests/blend-mode-property-parsing-invalid.js: Added.
(testInvalidFilterRule):
* css3/compositing/script-tests/blend-mode-property-parsing.js: Added.
(jsWrapperClass):
(shouldBeType):
(testFilterRule):
* css3/compositing/script-tests/blend-mode-property.js: Added.
* platform/chromium/css3/compositing/blend-mode-property-expected.txt : Added.
* platform/chromium/css3/compositing/blend-mode-property-parsing-expected.txt : Added.

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

8 years ago[EFL] Move jhbuild dependencies based on SVN to tarballs
commit-queue@webkit.org [Tue, 21 Aug 2012 00:32:09 +0000 (00:32 +0000)]
[EFL] Move jhbuild dependencies based on SVN to tarballs
https://bugs.webkit.org/show_bug.cgi?id=90374

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Moved all the dependencies based on SVN to tarballs taken from a
equivalent snapshot from the official git mirror. This will make
update-webkitefl not dependent on network connection after the first
run. The bots will not fail if EFL SVN server in unreachable.
The reason why git mirror is not used directly is to minimize the
total size of source code we need to download.

* efl/jhbuild.modules:

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

8 years ago[V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
haraken@chromium.org [Tue, 21 Aug 2012 00:31:09 +0000 (00:31 +0000)]
[V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
https://bugs.webkit.org/show_bug.cgi?id=94460

Reviewed by Adam Barth.

To kill V8Proxy, we move retrieve{Window,Frame,PerContextData}()
from V8Proxy to V8Binding. Also, this patch renames these methods as follows:

- retrieveWindow() -> toDOMWindow()
- retrieveFrame() -> toFrameIfNotDetached()
- retrievePerContextData() -> perContextDataForCurrentWorld()

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/BindingState.cpp:
(WebCore::activeDOMWindow):
(WebCore::firstDOMWindow):
(WebCore::activeFrame):
(WebCore::firstFrame):
(WebCore::currentFrame):
(WebCore::currentDocument):
* bindings/v8/PageScriptDebugServer.cpp:
(WebCore::retrieveFrameWithGlobalObjectCheck):
(WebCore::PageScriptDebugServer::getDebugListenerForContext):
(WebCore::PageScriptDebugServer::runMessageLoopOnPause):
* bindings/v8/V8Binding.cpp:
(WebCore::retrieveWindow):
(WebCore):
(WebCore::retrieveFrame):
(WebCore::retrievePerContextData):
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::constructorForType):
* bindings/v8/V8NPUtils.cpp:
(WebCore::convertV8ObjectToNPVariant):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::handleOutOfMemory):
(WebCore::V8Proxy::context):
(WebCore::V8Proxy::matchesCurrentContext):
* bindings/v8/V8Proxy.h:
(V8Proxy):

Source/WebKit/chromium:

* src/WebBindings.cpp:
(WebKit::makeIntArrayImpl):
(WebKit::makeStringArrayImpl):
* src/WebFrameImpl.cpp:
(WebKit::WebFrame::frameForContext):

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

8 years ago[BLACKBERRY] Add notification if an element does not have touch move or mouse move...
commit-queue@webkit.org [Tue, 21 Aug 2012 00:20:43 +0000 (00:20 +0000)]
[BLACKBERRY] Add notification if an element does not have touch move or mouse move handlers.
https://bugs.webkit.org/show_bug.cgi?id=94529

Patch by Genevieve Mak <gmak@rim.com> on 2012-08-20
Reviewed by George Staikos.

Send a notification to the client if the fat finger element does
not have a mouse move or touch move handler or if it is empty.
PR #177701

Reviewed Internally By Mike Lattanzio and Antonio Gomes.

* Api/WebPageClient.h:
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

8 years agoLots of "error, test and reference image have different properties" in pixel test...
simon.fraser@apple.com [Tue, 21 Aug 2012 00:16:41 +0000 (00:16 +0000)]
Lots of "error, test and reference image have different properties" in pixel test output
https://bugs.webkit.org/show_bug.cgi?id=92578

Reviewed by Dirk Pranke.

Improve ImageDiff's error reporting when test result image and expected image
differ in their properties.

* DumpRenderTree/cg/ImageDiffCG.cpp:

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

8 years agoYank an unneccessary if added in r125810.
inferno@chromium.org [Tue, 21 Aug 2012 00:09:47 +0000 (00:09 +0000)]
Yank an unneccessary if added in r125810.
https://bugs.webkit.org/show_bug.cgi?id=85804

Reviewed by Levi Weintraub.

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

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

8 years ago[chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsL...
jamesr@google.com [Tue, 21 Aug 2012 00:06:28 +0000 (00:06 +0000)]
[chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsLayer when setting up a new contents layer
https://bugs.webkit.org/show_bug.cgi?id=94544

Reviewed by Adrienne Walker.

Source/Platform:

Exposes an id so users of the WebLayer API can make identity checks for layers that they do not have ownership
of.

* chromium/public/WebLayer.h:
(WebLayer):

Source/WebCore:

GraphicsLayerChromium only keeps a weak pointer to its m_contentsLayer. When replacing it with a new contents
layer, it may be unsafe to touch the old value. It's also completely unnecessary.

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsTo):
(WebCore::GraphicsLayerChromium::setupContentsLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:

Source/WebKit/chromium:

* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::id):
(WebKit):
* src/WebLayerImpl.h:
(WebLayerImpl):

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

8 years ago[V8] Move collectGarbage() from ScriptController to V8GCController
haraken@chromium.org [Tue, 21 Aug 2012 00:02:03 +0000 (00:02 +0000)]
[V8] Move collectGarbage() from ScriptController to V8GCController
https://bugs.webkit.org/show_bug.cgi?id=94455

Reviewed by Adam Barth.

- This patch moves collectGarbage() from ScriptController to V8GCController.
- This patch makes collectGarbage() a static method.
- This patch removes ScriptController::lowMemoryNotification()
since it is not used at all.

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/ScriptController.cpp:
* bindings/v8/ScriptController.h:
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::collectGarbage):
(WebCore):
* bindings/v8/V8GCController.h:
(V8GCController):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::collectGarbage):

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

8 years agoREGRESSION (125759) fast/forms/file/selected-files-from-history-state.html fails...
beidson@apple.com [Tue, 21 Aug 2012 00:00:13 +0000 (00:00 +0000)]
REGRESSION (125759) fast/forms/file/selected-files-from-history-state.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=94549

Unreviewed (Bot gardening)

* platform/mac-wk2/Skipped:

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

8 years ago[V8] Remove V8Proxy from V8IsolatedContext
haraken@chromium.org [Mon, 20 Aug 2012 23:57:30 +0000 (23:57 +0000)]
[V8] Remove V8Proxy from V8IsolatedContext
https://bugs.webkit.org/show_bug.cgi?id=94450

Reviewed by Adam Barth.

This patch removes dependency on V8Proxy from V8IsolatedContext.

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluateInIsolatedWorld):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
* bindings/v8/V8IsolatedContext.h:
(WebCore):
(V8IsolatedContext):

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

8 years agoWebWidget should be able to paint into a zoomed canvas without aliasing
abarth@webkit.org [Mon, 20 Aug 2012 23:57:24 +0000 (23:57 +0000)]
WebWidget should be able to paint into a zoomed canvas without aliasing
https://bugs.webkit.org/show_bug.cgi?id=92043

Reviewed by James Robinson.

If accelerated compositing is enabled, WebWidget::paint reads back from
the compositor rather than re-painting the widget. That approach works
well if the canvas we're rendering into is at a similar resolution to
the pixels in the compositor, but if the canvas has been scaled (e.g.,
to help the user disambiguate links), then reading back from the
compositor will cause aliasing artifacts.

This patch adds an option to paint to let the embedder request a
software re-rendering of the widget to avoid these aliasing artifacts.

* public/WebWidget.h:
(WebKit::WebWidget::paint):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::paint):
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::paint):
* src/WebPopupMenuImpl.h:
* src/WebViewImpl.cpp:
(WebKit::canvasBackgroundForTransparencey):
(WebKit):
(WebKit::WebViewImpl::paint):
* src/WebViewImpl.h:
(WebViewImpl):

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

8 years agoCanvas drawImage() should draw SVG at the correct scale.
pdr@google.com [Mon, 20 Aug 2012 23:50:23 +0000 (23:50 +0000)]
Canvas drawImage() should draw SVG at the correct scale.
https://bugs.webkit.org/show_bug.cgi?id=94377

Source/WebCore:

Previously, drawing SVG in canvas would render at the incorrect scale
because imageSizeForRenderer did not take into account the page scale.
After this patch, we now incorporate the page scale in
CachedImage::imageSizeForRenderer().

Reviewed by Tim Horton.

Test: svg/as-image/svg-as-image-canvas.html

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):

LayoutTests:

Reviewed by Tim Horton.

* svg/as-image/resources/100px-green-rect.svg: Added.
* svg/as-image/svg-as-image-canvas-expected.html: Added.
* svg/as-image/svg-as-image-canvas.html: Added.

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

8 years agoFixed erroneous line number for LLint frame when throwing exceptions.
commit-queue@webkit.org [Mon, 20 Aug 2012 23:48:00 +0000 (23:48 +0000)]
Fixed erroneous line number for LLint frame when throwing exceptions.
https://bugs.webkit.org/show_bug.cgi?id=94051.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-20
Reviewed by Filip Pizlo.

For LLInt frames, before throwing an exception, adjust the PC from the
return PC back to the call PC if we are indeed at a call site.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::adjustPCIfAtCallSite):
(JSC):
(JSC::CodeBlock::bytecodeOffset):
* bytecode/CodeBlock.h:
(CodeBlock):
* llint/LLIntExceptions.cpp:
(JSC::LLInt::fixupPCforExceptionIfNeeded):
(LLInt):
(JSC::LLInt::interpreterThrowInCaller):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):

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

8 years agoUpdate TestExpectations now that stray ASSERT is fixed in AudioParamTimeline
crogers@google.com [Mon, 20 Aug 2012 23:45:57 +0000 (23:45 +0000)]
Update TestExpectations now that stray ASSERT is fixed in AudioParamTimeline
https://bugs.webkit.org/show_bug.cgi?id=94548

Unreviewed.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed. Roll WebKit chromium DEPS forward.
jamesr@google.com [Mon, 20 Aug 2012 23:43:58 +0000 (23:43 +0000)]
Unreviewed. Roll WebKit chromium DEPS forward.

* DEPS:

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

8 years agoAssertion going back to results.html page from an image diff result
simon.fraser@apple.com [Mon, 20 Aug 2012 23:43:14 +0000 (23:43 +0000)]
Assertion going back to results.html page from an image diff result
https://bugs.webkit.org/show_bug.cgi?id=94143

Reviewed by Adam Barth.

Avoid redundantly setting the DOMWindow on a JSDOMWindow shell in
ScriptCachedFrameData::restore(), as we may have already done this
in ScriptController::clearWindowShell(). This avoids an assertion
on some platforms when going Back to the test results page from
a diff image.

* bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::restore):

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

8 years agoUnsafe vsprintf usage in TestNetscapePlugin
japhet@chromium.org [Mon, 20 Aug 2012 23:39:39 +0000 (23:39 +0000)]
Unsafe vsprintf usage in TestNetscapePlugin
https://bugs.webkit.org/show_bug.cgi?id=94522

Reviewed by Adam Barth.

* DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
(pluginLogWithArguments): Using vsnprintf instead of vsprintf to ensure we don't overflow
    the message buffer.
(testDocumentOpen):
(testWindowOpen):

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

8 years ago[WebGL] OES_vertex_array_object is not correctly un/binding or deleting
dino@apple.com [Mon, 20 Aug 2012 23:33:47 +0000 (23:33 +0000)]
[WebGL] OES_vertex_array_object is not correctly un/binding or deleting
https://bugs.webkit.org/show_bug.cgi?id=94029

Reviewed by Ken Russell.

When the currently bound vertex array is deleted, the specification says that
the default object should be bound in its place. Also, binding a null object
as a vertex array was not actually clearing the bound object at the GL layer.
And lastly, it should not be possible to bind a deleted vertex array.

The test case for this is the public Khronos WebGL conformance suite, in particular:
conformance/extensions/oes-vertex-array-object.html

* html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::deleteVertexArrayOES): Check if the deleted array is
currently bound, and if so, unbind it.
(WebCore::OESVertexArrayObject::bindVertexArrayOES): Make sure never to bind an
array that has been marked as deleted.
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::bindVertexArrayOES): Remove the null check on bind. We
do need to call glBindVertexArrayAPPLE with a null value in order to clear it.

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

8 years ago2d.imageData.object.wrap.html has wrong expectations
commit-queue@webkit.org [Mon, 20 Aug 2012 23:25:29 +0000 (23:25 +0000)]
2d.imageData.object.wrap.html has wrong expectations
https://bugs.webkit.org/show_bug.cgi?id=94089

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Updating and renaming the test to match new version in W3C approved tests.

* canvas/philip/tests/2d.imageData.object.clamp-expected.txt: Renamed from LayoutTests/canvas/philip/tests/2d.imageData.object.wrap-expected.txt.
* canvas/philip/tests/2d.imageData.object.clamp.html: Renamed from LayoutTests/canvas/philip/tests/2d.imageData.object.wrap.html.
* platform/chromium/TestExpectations: Unskipping.
* platform/efl/Skipped: Unskipping.
* platform/gtk/TestExpectations: Unskipping.
* platform/mac/Skipped: Unskipping.
* platform/qt/Skipped: Unskipping.

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

8 years ago[V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
haraken@chromium.org [Mon, 20 Aug 2012 23:18:17 +0000 (23:18 +0000)]
[V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94459

Reviewed by Adam Barth.

To kill V8Proxy, we can move clearForClose() and
clearForNavigation() from V8Proxy to ScriptController.

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::resetIsolatedWorlds):
(WebCore):
(WebCore::ScriptController::clearForClose):
(WebCore::ScriptController::clearForNavigation):
(WebCore::ScriptController::clearWindowShell):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::~V8Proxy):
(WebCore::V8Proxy::handleOutOfMemory):
* bindings/v8/V8Proxy.h:
(V8Proxy):

Source/WebKit/chromium:

* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::detachedFromParent3):

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

8 years agoCSS Masking and CSS Filters applied in wrong order
krit@webkit.org [Mon, 20 Aug 2012 23:07:21 +0000 (23:07 +0000)]
CSS Masking and CSS Filters applied in wrong order
https://bugs.webkit.org/show_bug.cgi?id=94354

Reviewed by Dean Jackson.

Source/WebCore:

According to the Filter Effects spec, the order should be first filters, then masking and clipping.
Changed the order on applying the different effects in RenderLayer.

Test: css3/filters/filter-mask-clip-order.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents): First filter, then mask and clip the content.

LayoutTests:

The test checks the correct order on applying CSS Masking, Filter Effects and CSS Clipping.
According to the Filter Effects spec, the order should be first filters, then masking and clipping.

* css3/filters/filter-mask-clip-order-expected.html: Added.
* css3/filters/filter-mask-clip-order.html: Added.
* css3/filters/resources/mask.png: Added.

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

8 years ago[V8] Move mainWorldContext() from V8Proxy to ScriptController
haraken@chromium.org [Mon, 20 Aug 2012 22:42:35 +0000 (22:42 +0000)]
[V8] Move mainWorldContext() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94453

Reviewed by Adam Barth.

This patch moves mainWorldContext() from V8Proxy to ScriptController.
In addition, this patch removes dependency on V8Proxy from WorldContextHandle.

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/DOMTransaction.cpp:
(WebCore::DOMTransaction::callFunction):
* bindings/v8/NPV8Object.cpp:
(WebCore::toV8Context):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::mainWorldContext):
(WebCore):
(WebCore::ScriptController::bindToWindowObject):
(WebCore::createScriptObject):
(WebCore::ScriptController::createScriptObjectForPluginElement):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/ScriptState.cpp:
(WebCore::mainWorldScriptState):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::prepareListenerObject):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::context):
(WebCore::toV8Context):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/WorldContextHandle.cpp:
(WebCore::WorldContextHandle::adjustedContext):
* bindings/v8/WorldContextHandle.h:
(WebCore):
(WorldContextHandle):

Source/WebKit/chromium:

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::mainWorldScriptContext):

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

8 years agofast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven...
fpizlo@apple.com [Mon, 20 Aug 2012 22:41:06 +0000 (22:41 +0000)]
fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven-final-object.html on 32-bit
https://bugs.webkit.org/show_bug.cgi?id=94538

Reviewed by Mark Hahnenberg.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):

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

8 years agofast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final...
fpizlo@apple.com [Mon, 20 Aug 2012 22:32:18 +0000 (22:32 +0000)]
fast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.html crashes on 32-bit
https://bugs.webkit.org/show_bug.cgi?id=94026

Reviewed by Mark Hahnenberg.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):

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

8 years agoRemove redundant TOUCH_LISTENER event type
adamk@chromium.org [Mon, 20 Aug 2012 22:24:35 +0000 (22:24 +0000)]
Remove redundant TOUCH_LISTENER event type
https://bugs.webkit.org/show_bug.cgi?id=94524

Reviewed by Ryosuke Niwa.

Source/WebCore:

Code that needs to determine whether there are touch listeners
can instead call Document::touchEventHandlerCount(), added in r107832.
TOUCH_LISTENER didn't fit very well into the hasListenerType() model
anyway, as there's not a 1:1 correspondance between the enum value and
an event.

* dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded): Remove two bits of code:
the bookkeeping for TOUCH_LISTENER, and the notification into
ChromeClient (which is handled by calls to didAddTouchEventHandler in
all the places that call addListenerTypeIfNeeded).
(WebCore::Document::didRemoveTouchEventHandler): Remove bookkeeping for TOUCH_LISTENER.
* dom/Document.h:
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore): Call touchEventHandlerCount instead of hasListenerType.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType): ditto
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent): ditto
* page/Frame.cpp:
(WebCore::Frame::setDocument): ditto
* testing/Internals.cpp: Remove hasTouchEventListener method since its
data source no longer exists.
* testing/Internals.h: ditto
(Internals):
* testing/Internals.idl: ditto

Source/WebKit/chromium:

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setIsAcceptingTouchEvents): Remove
bookkeeping for TOUCH_LISTENER.

LayoutTests:

Removed tests for hasTouchEventListener as they're redundant
with tests for touchEventHandlerCount.

* fast/events/touch/touch-handler-count-expected.txt:
* fast/events/touch/touch-handler-count.html:

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

8 years ago[BlackBerry] Enable XHR Response BLOB
staikos@webkit.org [Mon, 20 Aug 2012 22:23:54 +0000 (22:23 +0000)]
[BlackBerry] Enable XHR Response BLOB
https://bugs.webkit.org/show_bug.cgi?id=94525

Reviewed by Rob Buis.

.:

Add the XHR response blob enable feature to the cmake build system and
enable it for BlackBerry.

* Source/cmake/OptionsBlackBerry.cmake: Add the feature and enable
* Source/cmakeconfig.h.cmake: Add the feature

Tools:

Turn on the XHR response blob feature for the BlackBerry port.

* Scripts/webkitperl/FeatureList.pm: Add the feature and enable it.

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

8 years agoReftest fast/text-autosizing/nested-em-line-height.html needs updating after r126058
kbr@google.com [Mon, 20 Aug 2012 22:22:55 +0000 (22:22 +0000)]
Reftest fast/text-autosizing/nested-em-line-height.html needs updating after r126058
https://bugs.webkit.org/show_bug.cgi?id=94528

Unreviewed Chromium gardening. Narrow test expectation.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed Chromium gardening. Adding suppressions for failing tests.
kbr@google.com [Mon, 20 Aug 2012 22:08:43 +0000 (22:08 +0000)]
Unreviewed Chromium gardening. Adding suppressions for failing tests.

https://bugs.webkit.org/show_bug.cgi?id=94521
https://bugs.webkit.org/show_bug.cgi?id=94528
https://bugs.webkit.org/show_bug.cgi?id=94532

* platform/chromium/TestExpectations:

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

8 years ago[chromium] Change WebLayer from a concrete type to a pure virtual interface
jamesr@google.com [Mon, 20 Aug 2012 21:57:44 +0000 (21:57 +0000)]
[chromium] Change WebLayer from a concrete type to a pure virtual interface
https://bugs.webkit.org/show_bug.cgi?id=94174

Reviewed by Adrienne Walker.

Source/Platform:

This changes WebLayer from a value type to a pure virtual interface and changes Web*Layers from subtypes to
standalone types that have a WebLayer. This better isolates the implementation from the interface and, since
it's not possible to re-wrap an existing layer, makes cleanup explicit instead of requiring the caller to invoke
special cleanup methods before shutdown.

* chromium/public/WebContentLayer.h:
(WebContentLayer):
* chromium/public/WebExternalTextureLayer.h:
(WebExternalTextureLayer):
* chromium/public/WebIOSurfaceLayer.h:
(WebIOSurfaceLayer):
* chromium/public/WebImageLayer.h:
(WebImageLayer):
* chromium/public/WebLayer.h:
(WebKit):
(WebLayer):
(WebKit::WebLayer::~WebLayer):
* chromium/public/WebScrollableLayer.h:
(WebScrollableLayer):
* chromium/public/WebScrollbarLayer.h:
(WebScrollbarLayer):
* chromium/public/WebSolidColorLayer.h:
(WebKit):
(WebSolidColorLayer):
(WebKit::WebSolidColorLayer::~WebSolidColorLayer):
* chromium/public/WebVideoLayer.h:
(WebVideoLayer):

Source/WebCore:

This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
m_transformLayer) and assembles the final layer tree.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
(ScrollingCoordinatorPrivate):
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::scrollLayer):
(WebCore::scrollableLayerForGraphicsLayer):
(WebCore):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::clearLayer):
(AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::prepareForDraw):
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::skCanvas):
(WebCore::Canvas2DLayerBridge::layer):
(WebCore::Canvas2DLayerBridge::contextAcquired):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(WebCore):
(Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::layer):
(DrawingBufferPrivate):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::removeFromParent):
(WebCore::GraphicsLayerChromium::setSize):
(WebCore::GraphicsLayerChromium::clearBackgroundColor):
(WebCore::GraphicsLayerChromium::setContentsOpaque):
(WebCore::GraphicsLayerChromium::setFilters):
(WebCore::GraphicsLayerChromium::setBackgroundFilters):
(WebCore::GraphicsLayerChromium::setMaskLayer):
(WebCore::GraphicsLayerChromium::setBackfaceVisibility):
(WebCore::GraphicsLayerChromium::setOpacity):
(WebCore::GraphicsLayerChromium::setReplicatedByLayer):
(WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::setContentsTo):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::pauseAnimation):
(WebCore::GraphicsLayerChromium::removeAnimation):
(WebCore::GraphicsLayerChromium::suspendAnimations):
(WebCore::GraphicsLayerChromium::resumeAnimations):
(WebCore::GraphicsLayerChromium::addLinkHighlight):
(WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
(WebCore::GraphicsLayerChromium::platformLayer):
(WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
(WebCore::GraphicsLayerChromium::setDebugBorder):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::updateLayerPosition):
(WebCore::GraphicsLayerChromium::updateLayerSize):
(WebCore::GraphicsLayerChromium::updateAnchorPoint):
(WebCore::GraphicsLayerChromium::updateTransform):
(WebCore::GraphicsLayerChromium::updateChildrenTransform):
(WebCore::GraphicsLayerChromium::updateMasksToBounds):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
(WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
(WebCore::GraphicsLayerChromium::updateContentsRect):
(WebCore::GraphicsLayerChromium::updateContentsScale):
(WebCore::GraphicsLayerChromium::setupContentsLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore::GraphicsLayerChromium::hasContentsLayer):
(WebCore::GraphicsLayerChromium::contentLayer):
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::contentsLayer):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::rootLayer):
* platform/graphics/chromium/LayerChromium.h:

Source/WebKit/chromium:

This updates the implementation of the Web*Layer family to the new design and updates callers in WebViewImpl /
NonCompositedContentHost.

* WebKit.gyp:
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
(WebKit::NonCompositedContentHost::setScrollLayer):
(WebKit::NonCompositedContentHost::setViewport):
(WebKit::NonCompositedContentHost::scrollLayer):
* src/NonCompositedContentHost.h:
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayer::create):
(WebKit::WebContentLayerImpl::WebContentLayerImpl):
(WebKit::WebContentLayerImpl::~WebContentLayerImpl):
(WebKit::WebContentLayerImpl::layer):
(WebKit):
(WebKit::WebContentLayerImpl::clearClient):
(WebKit::WebContentLayerImpl::setDoubleSided):
(WebKit::WebContentLayerImpl::setContentsScale):
(WebKit::WebContentLayerImpl::setUseLCDText):
(WebKit::WebContentLayerImpl::setDrawCheckerboardForMissingTiles):
(WebKit::WebContentLayerImpl::paintContents):
* src/WebContentLayerImpl.h:
(WebContentLayerImpl):
* src/WebExternalTextureLayer.cpp: Removed.
* src/WebExternalTextureLayerImpl.cpp: Added.
(WebKit):
(WebKit::WebExternalTextureLayer::create):
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::~WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::layer):
(WebKit::WebExternalTextureLayerImpl::clearClient):
(WebKit::WebExternalTextureLayerImpl::setTextureId):
(WebKit::WebExternalTextureLayerImpl::setFlipped):
(WebKit::WebExternalTextureLayerImpl::setUVRect):
(WebKit::WebExternalTextureLayerImpl::setOpaque):
(WebKit::WebExternalTextureLayerImpl::setPremultipliedAlpha):
(WebKit::WebExternalTextureLayerImpl::willModifyTexture):
(WebKit::WebExternalTextureLayerImpl::setRateLimitContext):
(WebTextureUpdaterImpl):
(WebKit::WebTextureUpdaterImpl::WebTextureUpdaterImpl):
(WebKit::WebExternalTextureLayerImpl::prepareTexture):
(WebKit::WebExternalTextureLayerImpl::context):
* src/WebExternalTextureLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebContentLayer.cpp.
(WebKit):
(WebExternalTextureLayerImpl):
* src/WebIOSurfaceLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebIOSurfaceLayer.cpp.
(WebKit):
(WebKit::WebIOSurfaceLayer::create):
(WebKit::WebIOSurfaceLayerImpl::WebIOSurfaceLayerImpl):
(WebKit::WebIOSurfaceLayerImpl::~WebIOSurfaceLayerImpl):
(WebKit::WebIOSurfaceLayerImpl::setIOSurfaceProperties):
(WebKit::WebIOSurfaceLayerImpl::layer):
* src/WebIOSurfaceLayerImpl.h: Copied from Source/Platform/chromium/public/WebImageLayer.h.
(WebCore):
(WebKit):
(WebIOSurfaceLayerImpl):
* src/WebImageLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebSolidColorLayer.cpp.
(WebKit):
(WebKit::WebImageLayer::create):
(WebKit::WebImageLayerImpl::WebImageLayerImpl):
(WebKit::WebImageLayerImpl::~WebImageLayerImpl):
(WebKit::WebImageLayerImpl::layer):
(WebKit::WebImageLayerImpl::setBitmap):
* src/WebImageLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebImageLayer.cpp.
(WebCore):
(WebKit):
(WebImageLayerImpl):
* src/WebLayer.cpp: Removed.
* src/WebLayerImpl.cpp:
(WebKit::WebLayer::create):
(WebKit::WebLayerImpl::WebLayerImpl):
(WebKit::WebLayerImpl::~WebLayerImpl):
(WebKit):
(WebKit::WebLayerImpl::invalidateRect):
(WebKit::WebLayerImpl::invalidate):
(WebKit::WebLayerImpl::addChild):
(WebKit::WebLayerImpl::insertChild):
(WebKit::WebLayerImpl::replaceChild):
(WebKit::WebLayerImpl::setChildren):
(WebKit::WebLayerImpl::removeFromParent):
(WebKit::WebLayerImpl::removeAllChildren):
(WebKit::WebLayerImpl::setAnchorPoint):
(WebKit::WebLayerImpl::anchorPoint):
(WebKit::WebLayerImpl::setAnchorPointZ):
(WebKit::WebLayerImpl::anchorPointZ):
(WebKit::WebLayerImpl::setBounds):
(WebKit::WebLayerImpl::bounds):
(WebKit::WebLayerImpl::setMasksToBounds):
(WebKit::WebLayerImpl::masksToBounds):
(WebKit::WebLayerImpl::setMaskLayer):
(WebKit::WebLayerImpl::setReplicaLayer):
(WebKit::WebLayerImpl::setOpacity):
(WebKit::WebLayerImpl::opacity):
(WebKit::WebLayerImpl::setOpaque):
(WebKit::WebLayerImpl::opaque):
(WebKit::WebLayerImpl::setPosition):
(WebKit::WebLayerImpl::position):
(WebKit::WebLayerImpl::setSublayerTransform):
(WebKit::WebLayerImpl::sublayerTransform):
(WebKit::WebLayerImpl::setTransform):
(WebKit::WebLayerImpl::transform):
(WebKit::WebLayerImpl::setDrawsContent):
(WebKit::WebLayerImpl::drawsContent):
(WebKit::WebLayerImpl::setPreserves3D):
(WebKit::WebLayerImpl::setUseParentBackfaceVisibility):
(WebKit::WebLayerImpl::setBackgroundColor):
(WebKit::WebLayerImpl::setFilters):
(WebKit::WebLayerImpl::setBackgroundFilters):
(WebKit::WebLayerImpl::setDebugBorderColor):
(WebKit::WebLayerImpl::setDebugBorderWidth):
(WebKit::WebLayerImpl::setDebugName):
(WebKit::WebLayerImpl::setAnimationDelegate):
(WebKit::WebLayerImpl::addAnimation):
(WebKit::WebLayerImpl::removeAnimation):
(WebKit::WebLayerImpl::pauseAnimation):
(WebKit::WebLayerImpl::suspendAnimations):
(WebKit::WebLayerImpl::resumeAnimations):
(WebKit::WebLayerImpl::hasActiveAnimation):
(WebKit::WebLayerImpl::transferAnimationsTo):
(WebKit::WebLayerImpl::setForceRenderSurface):
(WebKit::WebLayerImpl::clearRenderSurface):
(WebKit::WebLayerImpl::setScrollPosition):
(WebKit::WebLayerImpl::setScrollable):
(WebKit::WebLayerImpl::setHaveWheelEventHandlers):
(WebKit::WebLayerImpl::setShouldScrollOnMainThread):
(WebKit::WebLayerImpl::setNonFastScrollableRegion):
(WebKit::WebLayerImpl::setIsContainerForFixedPositionLayers):
(WebKit::WebLayerImpl::setFixedToContainerLayer):
(WebKit::WebLayerImpl::layer):
* src/WebLayerImpl.h:
(WebCore):
(WebLayerImpl):
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::setRootLayer):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::create):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
(WebKit::WebMediaPlayerClientImpl::repaint):
(WebKit::WebMediaPlayerClientImpl::setOpaque):
(WebKit::WebMediaPlayerClientImpl::platformLayer):
(WebKit::WebMediaPlayerClientImpl::acceleratedRenderingInUse):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setBackingTextureId):
(WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
(WebKit::WebPluginContainerImpl::commitBackingTexture):
(WebKit::WebPluginContainerImpl::setOpaque):
(WebKit::WebPluginContainerImpl::platformLayer):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):
* src/WebScrollableLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebScrollableLayer.cpp.
(WebKit):
(WebKit::WebScrollableLayer::setScrollPosition):
(WebKit::WebScrollableLayer::setScrollable):
(WebKit::WebScrollableLayer::setHaveWheelEventHandlers):
(WebKit::WebScrollableLayer::setShouldScrollOnMainThread):
(WebKit::WebScrollableLayer::setNonFastScrollableRegion):
(WebKit::WebScrollableLayer::setIsContainerForFixedPositionLayers):
(WebKit::WebScrollableLayer::setFixedToContainerLayer):
* src/WebScrollbarLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarLayer.cpp.
(WebKit):
(WebKit::WebScrollbarLayer::create):
(WebKit::WebScrollbarLayerImpl::WebScrollbarLayerImpl):
(WebKit::WebScrollbarLayerImpl::~WebScrollbarLayerImpl):
(WebKit::WebScrollbarLayerImpl::layer):
(WebKit::WebScrollbarLayerImpl::setScrollLayer):
* src/WebScrollbarLayerImpl.h: Copied from Source/WebKit/chromium/src/WebSolidColorLayerImpl.h.
(WebCore):
(WebKit):
(WebScrollbarLayerImpl):
* src/WebSolidColorLayerImpl.cpp:
(WebKit::WebSolidColorLayer::create):
(WebKit::WebSolidColorLayerImpl::WebSolidColorLayerImpl):
(WebKit::WebSolidColorLayerImpl::layer):
(WebKit):
(WebKit::WebSolidColorLayerImpl::setBackgroundColor):
* src/WebSolidColorLayerImpl.h:
(WebCore):
(WebKit):
(WebSolidColorLayerImpl):
* src/WebVideoLayerImpl.cpp: Copied from Source/WebKit/chromium/src/WebVideoLayer.cpp.
(WebKit):
(WebKit::WebVideoLayer::create):
(WebKit::WebVideoLayerImpl::WebVideoLayerImpl):
(WebKit::WebVideoLayerImpl::~WebVideoLayerImpl):
(WebKit::WebVideoLayerImpl::layer):
(WebKit::WebVideoLayerImpl::active):
* src/WebVideoLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebVideoLayer.cpp.
(WebCore):
(WebKit):
(WebVideoLayerImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setRootGraphicsLayer):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit):
* src/WebViewImpl.h:
* tests/ImageLayerChromiumTest.cpp:
(WebCore::TEST):
* tests/WebLayerTest.cpp:
* tests/WebLayerTreeViewTest.cpp:

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

8 years ago[chromium] CCMathUtilTest.smallestAngleBetweenVectors unit test failing
shawnsingh@chromium.org [Mon, 20 Aug 2012 21:50:21 +0000 (21:50 +0000)]
[chromium] CCMathUtilTest.smallestAngleBetweenVectors unit test failing
https://bugs.webkit.org/show_bug.cgi?id=94502

Reviewed by Kenneth Russell.

The test needed to use EXPECT_FLOAT_EQ instead of EXPECT_EQ. In
this patch, the test is also re-enabled.

* tests/CCMathUtilTest.cpp:

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

8 years agoMove transformFriendlyBoundingBox out of Range
rniwa@webkit.org [Mon, 20 Aug 2012 21:41:02 +0000 (21:41 +0000)]
Move transformFriendlyBoundingBox out of Range
https://bugs.webkit.org/show_bug.cgi?id=94366

Source/WebCore:

Patch by Leandro Gracia Gil <leandrogracia@chromium.org> on 2012-08-20
Reviewed by Simon Fraser and Ryosuke Niwa.

Bug 93111 introduced a new method in Range called transformFriendlyBoundingBox.
However, this method should not have been added there in order to reduce the
dependencies between Range and the rendering code. This patch moves it to a
static method in RenderObject.

Tests: existing tests, no new feature added by this patch.

* dom/Range.cpp:
* dom/Range.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteBoundingBoxRectForRange):
(WebCore):
* rendering/RenderObject.h:
(RenderObject):

Source/WebKit/chromium:

Patch by Leandro Gracia Gil <leandrogracia@chromium.org> on 2012-08-20
Reviewed by Ryosuke Niwa.

Update the WebKit code that makes use of transformFriendlyBoundingBox.

* src/FindInPageCoordinates.cpp:
(WebKit::findInPageRectFromRange):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::find):
(WebKit::WebFrameImpl::selectFindMatch):

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

8 years agoFix change for timeout detection to not crash if we have no output :)
dpranke@chromium.org [Mon, 20 Aug 2012 21:38:42 +0000 (21:38 +0000)]
Fix change for timeout detection to not crash if we have no output :)
https://bugs.webkit.org/show_bug.cgi?id=94505

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):

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

8 years agoReplace isolate || bidi-override by isolate-override
rniwa@webkit.org [Mon, 20 Aug 2012 21:34:11 +0000 (21:34 +0000)]
Replace isolate || bidi-override by isolate-override
https://bugs.webkit.org/show_bug.cgi?id=89746

Reviewed by Levi Weintraub.

Source/WebCore:

The combination of bidi-isolate and isolate was replaced by a single isolate-override in
http://lists.w3.org/Archives/Public/www-style/2012May/0541.html. The spec. has been updated accordingly:
http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi

To follow the specification change, added -webkit-isolate-override and removed the support for
isolate || bidi-override, simplifying the CSS parser and serializer.

Test: fast/text/bidi-override-isolate.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed. We can just new a CSSPrimitiveValue
constructor now.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added now that unicode-bidi always creates a signle
primitive value instead of a primitive value of css value list.
(WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
* css/CSSValueKeywords.in: Added -webkit-isolate-override
* css/StyleBuilder.cpp:
(WebCore): Removed ApplyPropertyUnicodeBidi since we can use ApplyPropertyDefault now.
(WebCore::StyleBuilder::StyleBuilder): Use ApplyPropertyDefault.
* platform/text/UnicodeBidi.h: Renamed OverrideIsolate to IsolateOverride to match the spec.
(WebCore::isIsolated):
(WebCore::isOverride):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRuns):

LayoutTests:

Rebaseline test expectations. These tests test the new behavior and new property value -webkit-isolate-override.

* fast/css/unicode-bidi-computed-value-expected.txt:
* fast/css/unicode-bidi-computed-value.html:
* fast/text/bidi-override-isolate.html:

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

8 years agoRenderGrid children should always be RenderBoxes
tony@chromium.org [Mon, 20 Aug 2012 21:32:03 +0000 (21:32 +0000)]
RenderGrid children should always be RenderBoxes
https://bugs.webkit.org/show_bug.cgi?id=94305

Reviewed by Abhishek Arya.

Source/WebCore:

During RenderGrid::layout, we assume all the children are RenderBoxes.
When removing children, if the last child is an anonymous block, we don't
want to remove the anonymous block for grids. Ensure this doesn't happen
by adding canCollapseAnonymousBlockChild to RenderBlock (flexboxen and
grid can override this method).

Test: fast/css-grid-layout/should-not-collapse-anonymous-blocks.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild): Check canCollapseAnonymousBlockChild().
* rendering/RenderBlock.h:
(WebCore::RenderBlock::canCollapseAnonymousBlockChild):
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
* rendering/RenderFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
* rendering/RenderGrid.h: canCollapseAnonymousBlockChild returns false.

LayoutTests:

Add test case from fuzzer.

* fast/css-grid-layout/should-not-collapse-anonymous-blocks-expected.txt: Added.
* fast/css-grid-layout/should-not-collapse-anonymous-blocks.html: Added.

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

8 years agotemporarily disable ImageDiff on WK2 ports for ref tests
dpranke@chromium.org [Mon, 20 Aug 2012 21:30:38 +0000 (21:30 +0000)]
temporarily disable ImageDiff on WK2 ports for ref tests
https://bugs.webkit.org/show_bug.cgi?id=94517

Reviewed by Brady Eidson.

ImageDiff appears to be unable to handle the pngs returned from
WebKitTestRunner, so we disable checking images by default
for ref tests on wk2 ports (unless pixel tests is explicitly enabled).

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_output_with_reference):

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

8 years agoUnreviewed, rolling out r126026.
kbr@google.com [Mon, 20 Aug 2012 21:16:51 +0000 (21:16 +0000)]
Unreviewed, rolling out r126026.
http://trac.webkit.org/changeset/126026
https://bugs.webkit.org/show_bug.cgi?id=94449

Caused assertion failure in layout test touchadjustment/context-menu.html

Source/WebCore:

* page/TouchAdjustment.cpp:
(TouchAdjustment):
(WebCore::TouchAdjustment::providesContextMenuItems):
(WebCore::TouchAdjustment::appendSubtargetsForNodeToList):
(WebCore::TouchAdjustment::compileSubtargetList):
(WebCore::findBestClickableCandidate):
(WebCore::findBestContextMenuCandidate):

LayoutTests:

* touchadjustment/context-menu-select-text.html:
* touchadjustment/context-menu-text-subtargets-expected.txt: Removed.
* touchadjustment/context-menu-text-subtargets.html: Removed.
* touchadjustment/resources/touchadjustment.js:

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

8 years ago[BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
commit-queue@webkit.org [Mon, 20 Aug 2012 21:15:36 +0000 (21:15 +0000)]
[BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
https://bugs.webkit.org/show_bug.cgi?id=94514

Patch by Andrew Lo <anlo@rim.com> on 2012-08-20
Reviewed by Rob Buis.

Add wtf::CString definition to fix build break when enabling DEBUG_LAYER_ANIMATION
debug prints. Fix build warnings from prints.

No new tests, non-functional change.

* platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
(WebCore::GraphicsLayerBlackBerry::addAnimation):
(WebCore::GraphicsLayerBlackBerry::pauseAnimation):

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

8 years ago[JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an...
commit-queue@webkit.org [Mon, 20 Aug 2012 21:12:55 +0000 (21:12 +0000)]
[JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported object
https://bugs.webkit.org/show_bug.cgi?id=94493

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-20
Reviewed by Oliver Hunt.

Source/WebCore:

Update JSC implementation for SerializedScriptValue::create() so that
a DataCloneError is thrown when the input value is an unsupported
object. The previous implementation was not throwing any error.

This change is according to the structured clone specification at:
http://www.w3.org/TR/html5/common-dom-interfaces.html#structured-clone

This also matches the corresponding V8 implementation.

Test: fast/events/message-port-multi.html.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::serialize):
(WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
* bindings/js/SerializedScriptValue.h:

LayoutTests:

Add checks for Function, Error and host objects arguments to
MessagePort.postMessage() in fast/events/message-port-multi.html.

According to the structured clone specification, we should throw
a DataCloneError for such input types.

* fast/dom/Window/anonymous-slot-with-changes-expected.txt:
* fast/dom/Window/anonymous-slot-with-changes.html: Update test to expect
an exception when passing a function to postMessage().
* fast/events/message-port-multi-expected.txt: Update expected result
accordingly.
* fast/events/resources/message-port-multi.js:
(testTransfers.try.f1):
* platform/chromium/fast/events/message-port-multi-expected.txt: Removed.
Now identical to global expectation.

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