WebKit-https.git
7 years ago[V8] Simplify GCEpilogueVisitor along the same lines as GCPrologueVisitor
abarth@webkit.org [Wed, 24 Oct 2012 00:58:41 +0000 (00:58 +0000)]
[V8] Simplify GCEpilogueVisitor along the same lines as GCPrologueVisitor
https://bugs.webkit.org/show_bug.cgi?id=100157

Reviewed by Eric Seidel.

This patch removes the traits template parameter from GCEpilogueVisitor
and makes it mirror GCPrologueVisitor again.

* bindings/v8/V8GCController.cpp:
(WebCore):
(ActiveDOMObjectEpilogueVisitor):
(WebCore::ActiveDOMObjectEpilogueVisitor::ActiveDOMObjectEpilogueVisitor):
(WebCore::ActiveDOMObjectEpilogueVisitor::visitDOMWrapper):
(WebCore::V8GCController::majorGCEpilogue):

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

7 years agoRemove deprecatedSend
andersca@apple.com [Wed, 24 Oct 2012 00:51:20 +0000 (00:51 +0000)]
Remove deprecatedSend
https://bugs.webkit.org/show_bug.cgi?id=100127

Reviewed by Andreas Kling.

deprecatedSend is no longer used anywhere, remove it.

* Platform/CoreIPC/Connection.h:
(Connection):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):

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

7 years agoContext menu generated from touch gestures on textareas has
commit-queue@webkit.org [Wed, 24 Oct 2012 00:26:16 +0000 (00:26 +0000)]
Context menu generated from touch gestures on textareas has
context of the cursor position instead of the position where the event occurs.
https://bugs.webkit.org/show_bug.cgi?id=99520

Patch by Varun Jain <varunjain@chromium.org> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Send a synthetic mouse down event for context menu-summoning-gesture events so
that textareas can correctly set cursors before receiving the context menu event.

Test: fast/events/touch/gesture/right-click-gestures-set-cursor-at-correct-position.html

* page/EventHandler.cpp:
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::handleGestureTwoFingerTap):
(WebCore):
(WebCore::EventHandler::sendContextMenuEventForGesture):
* page/EventHandler.h:
(EventHandler):

Source/WebKit/chromium:

Send a synthetic mouse down event for context menu-summoning-gesture events so
that textareas can correctly set cursors before receiving the context menu event.
Also in this change, WebInputEvent::GestureTwoFingerTap now follows the same
code path as WebInputEvent::GestureLongPress, hence fixing this bug for both gestures.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):

LayoutTests:

Send a synthetic mouse down event for context menu-summoning-gesture events so that
textareas can correctly set cursors before receiving the context menu event.

* fast/events/touch/gesture/right-click-gestures-set-cursor-at-correct-position.html: Added.
* platform/chromium/fast/events/touch/gesture/right-click-gestures-set-cursor-at-correct-position-expected.txt: Added.

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

7 years ago[WebKit2 API] Add properties to get textRects from a WKDOMRange or WKDOMNode
aestes@apple.com [Tue, 23 Oct 2012 23:44:53 +0000 (23:44 +0000)]
[WebKit2 API] Add properties to get textRects from a WKDOMRange or WKDOMNode
https://bugs.webkit.org/show_bug.cgi?id=100162

Reviewed by Sam Weinig.

Source/WebCore:

* WebCore.exp.in: Exported symbols needed by WebKit2.
* bindings/objc/DOM.mm:
(-[DOMNode textRects]): Moved some logic into Node::textRects()
(everything but the call to updateLayoutIgnorePendingStylesheets()).
* dom/Node.cpp:
(WebCore::Node::textRects):
* dom/Node.h:

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
* WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
(WebKit::toNSArray): Added a helper function to convert a Vector of IntRects to an NSArray.
* WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
* WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
(-[WKDOMNode textRects]):
* WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
* WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange textRects]):

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

7 years ago[V8] Remove unused function from DOM wrapper visitor
abarth@webkit.org [Tue, 23 Oct 2012 23:41:39 +0000 (23:41 +0000)]
[V8] Remove unused function from DOM wrapper visitor
https://bugs.webkit.org/show_bug.cgi?id=100163

Reviewed by Eric Seidel.

No one overrides these virtual functions. They were added in
http://trac.webkit.org/changeset/73491, but we don't use them in the GC
controller anymore.

* bindings/v8/V8DOMMap.h:
(WebCore::WeakReferenceMap::visit):

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

7 years agoClear m_mediaSource reference when the MediaSource is closed
commit-queue@webkit.org [Tue, 23 Oct 2012 23:15:21 +0000 (23:15 +0000)]
Clear m_mediaSource reference when the MediaSource is closed
https://bugs.webkit.org/show_bug.cgi?id=100047

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-10-23
Reviewed by Eric Carlson.

The m_mediaSource object shouldn't be accessed after the object
transitions to closed so this change simply clears the reference
when that transition happens.

No new tests because the change isn't visible to JavaScript.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource): Removed a closed transition that is actually dead code.
(WebCore::HTMLMediaElement::setSourceState): Clear the m_mediaSource reference on closed transition.

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

7 years ago[BlackBerry] Cache TouchDown HitTestResult to avoid calling RenderLayer::hitTest...
commit-queue@webkit.org [Tue, 23 Oct 2012 23:10:50 +0000 (23:10 +0000)]
[BlackBerry] Cache TouchDown HitTestResult to avoid calling RenderLayer::hitTest unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=99649

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-10-23
Reviewed by George Staikos.

Random latency before scroll starts on sites like http://pintrest.com
Internal PR225398

The chief problem here is the all the hit testing that we do for
touch events and simulated mouse events. If the render tree is dirty
hit tests can take a long time in Document::recalcStyle(). Masking
the flags that force style recalculations will make them fast, at the
expense that they might be happening on stale data.

Since we are only using these hit tests to look for event handlers -
we're not actually modifying anything, it is better to skip the
Document::recalcStyle() and save ourselves tons of time.

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPage::touchEvent):
(BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
(BlackBerry::WebKit::WebPagePrivate::postponeDocumentStyleRecalc):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::resumeDocumentStyleRecalc):
(BlackBerry::WebKit::WebPagePrivate::hitTestResult):
(BlackBerry::WebKit::WebPagePrivate::clearCachedHitTestResult):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebKitSupport/FatFingers.cpp:
(BlackBerry::WebKit::FatFingers::findBestPoint):
(BlackBerry::WebKit::FatFingers::getRelevantInfoFromCachedHitTest):
* WebKitSupport/FatFingers.h:
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

7 years agoThe rest of the baselines have landed! Should green the Mac bots for MathML after...
leviw@chromium.org [Tue, 23 Oct 2012 22:46:22 +0000 (22:46 +0000)]
The rest of the baselines have landed! Should green the Mac bots for MathML after r132264.

* platform/chromium-mac-lion/mathml: Added.
* platform/chromium-mac-lion/mathml/presentation: Added.
* platform/chromium-mac-lion/mathml/presentation/attributes-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/fenced-mi-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/fractions-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/fractions-vertical-alignment-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/mo-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/mo-stretch-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/mroot-pref-width-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/over-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/roots-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/row-alignment-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/row-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/style-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/sub-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/subsup-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/subsup-expected.txt: Added.
* platform/chromium-mac-lion/mathml/presentation/sup-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/tables-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/tokenElements-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/under-expected.png: Added.
* platform/chromium-mac-lion/mathml/presentation/underover-expected.png: Added.
* platform/chromium-mac-lion/mathml/xHeight-expected.png: Added.
* platform/chromium-mac/mathml: Added.
* platform/chromium-mac/mathml/presentation: Added.
* platform/chromium-mac/mathml/presentation/attributes-expected.png: Added.
* platform/chromium-mac/mathml/presentation/fenced-expected.png: Added.
* platform/chromium-mac/mathml/presentation/fenced-mi-expected.png: Added.
* platform/chromium-mac/mathml/presentation/fractions-expected.png: Added.
* platform/chromium-mac/mathml/presentation/fractions-vertical-alignment-expected.png: Added.
* platform/chromium-mac/mathml/presentation/mo-expected.png: Added.
* platform/chromium-mac/mathml/presentation/mo-stretch-expected.png: Added.
* platform/chromium-mac/mathml/presentation/mroot-pref-width-expected.png: Added.
* platform/chromium-mac/mathml/presentation/over-expected.png: Added.
* platform/chromium-mac/mathml/presentation/roots-expected.png: Added.
* platform/chromium-mac/mathml/presentation/row-alignment-expected.png: Added.
* platform/chromium-mac/mathml/presentation/row-expected.png: Added.
* platform/chromium-mac/mathml/presentation/style-expected.png: Added.
* platform/chromium-mac/mathml/presentation/sub-expected.png: Added.
* platform/chromium-mac/mathml/presentation/subsup-expected.png: Added.
* platform/chromium-mac/mathml/presentation/subsup-expected.txt: Added.
* platform/chromium-mac/mathml/presentation/sup-expected.png: Added.
* platform/chromium-mac/mathml/presentation/tables-expected.png: Added.
* platform/chromium-mac/mathml/presentation/tokenElements-expected.png: Added.
* platform/chromium-mac/mathml/presentation/under-expected.png: Added.
* platform/chromium-mac/mathml/presentation/underover-expected.png: Added.
* platform/chromium-mac/mathml/xHeight-expected.png: Added.

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

7 years agoUnreviewed gardening. Updating expectations after r132264.
leviw@chromium.org [Tue, 23 Oct 2012 22:36:29 +0000 (22:36 +0000)]
Unreviewed gardening. Updating expectations after r132264.

* platform/chromium-mac-snowleopard/mathml: Added.
* platform/chromium-mac-snowleopard/mathml/presentation: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/attributes-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/attributes-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/fenced-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/fenced-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/fenced-mi-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/fenced-mi-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/fractions-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/fractions-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/fractions-vertical-alignment-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/fractions-vertical-alignment-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/mo-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/mo-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/mo-stretch-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/mo-stretch-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/mroot-pref-width-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/mroot-pref-width-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/over-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/over-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/roots-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/roots-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/row-alignment-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/row-alignment-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/row-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/row-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/style-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/style-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/sub-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/sub-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/subsup-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/subsup-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/sup-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/sup-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/tables-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/tables-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/tokenElements-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/tokenElements-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/under-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/under-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/underover-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/presentation/underover-expected.txt: Added.
* platform/chromium-mac-snowleopard/mathml/xHeight-expected.png: Added.
* platform/chromium-mac-snowleopard/mathml/xHeight-expected.txt: Added.

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

7 years agoAllow tests to run with a tile cache, and optionally dump the tile cache via layerTre...
simon.fraser@apple.com [Tue, 23 Oct 2012 22:22:11 +0000 (22:22 +0000)]
Allow tests to run with a tile cache, and optionally dump the tile cache via layerTreeAsText()
https://bugs.webkit.org/show_bug.cgi?id=100159

Reviewed by Tim Horton.

Source/WebCore:

Add a LAYER_TREE_INCLUDES_PAGE_TILE_CACHE flag for layerTreeAsText(), and plumb it
through to GraphicsLayerCA, which dumps the TiledBacking tile coverage rect.

Test: platform/mac/tiled-drawing/use-tiled-drawing.html

* page/Frame.h:
* platform/graphics/GraphicsLayer.cpp:
(showGraphicsLayerTree):
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::tiledBacking):
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::tiledBacking):
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
* platform/graphics/ca/GraphicsLayerCA.h:
(GraphicsLayerCA):
* platform/graphics/ca/mac/TileCache.h:
(WebCore::TileCache::tileCoverageRect):
(TileCache):
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::computeTileCoverageRect):
(WebCore::TileCache::revalidateTiles):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText):
* testing/Internals.cpp:
(WebCore::Internals::layerTreeAsText):
* testing/Internals.h:
* testing/Internals.idl:

Tools:

Make WebKitTestRunner use a WKView with a tile cache for tests run in a directory
whose path includes "tiled-drawing". It does this by passing around a WKDictionary
of options, and if the current PlatformWebView doesn't support those options, it will
create a new one.

* WebKitTestRunner/PlatformWebView.h:
(PlatformWebView): Add a WKDictionaryRef options dictionary argument.
(WTR::PlatformWebView::viewSupportsOptions): Returns true if the view
supports the options in the WKDictionaryRef.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Call createWebViewWithOptions() with
no options in the normal case.
(WTR::TestController::createWebViewWithOptions): Moved code into this fuction
so we can call it in two places.
(WTR::TestController::ensureViewSupportsOptions): If the current view
doesn't support the given options, throw it away and makea  new one that does.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::shouldUseTiledDrawing): Return true if the directory contains "tiled-drawing".
(WTR::updateTiledDrawingForCurrentTest): Tell the TestController to check whether
the view supports the given options. No-op for non-Mac platforms.
(WTR::TestInvocation::invoke): Call updateTiledDrawingForCurrentTest().
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::PlatformWebView): New constructor parameter.
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::PlatformWebView):  New constructor parameter.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(-[TestRunnerWKView initWithFrame:contextRef:pageGroupRef:useTiledDrawing:]):
(-[TestRunnerWKView _shouldUseTiledDrawingArea]): Subclass the WKView so we can return
a custom value from this method.
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/qt/PlatformWebViewQt.cpp:
(WTR::PlatformWebView::PlatformWebView): New constructor parameter.
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::PlatformWebView): New constructor parameter.

LayoutTests:

A new test that dumps tile cache data for a large page.

* platform/mac/tiled-drawing/use-tiled-drawing-expected.txt: Added.
* platform/mac/tiled-drawing/use-tiled-drawing.html: Added.

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

7 years agoCoordinated Graphics: Enable threaded/IPC animations
noam.rosenthal@nokia.com [Tue, 23 Oct 2012 22:19:37 +0000 (22:19 +0000)]
Coordinated Graphics: Enable threaded/IPC animations
https://bugs.webkit.org/show_bug.cgi?id=93146

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Add enablers to TextureMapper and GraphicsLayerAnimation so that they could be used
across processes with IPC. Added some public accessors to GraphicsLayerAnimation,
and allowed a GraphicsLayerTextureMapper to receive a full list of animations.

Covered by existing animation and compositing tests.

* platform/graphics/GraphicsLayerAnimation.cpp:
(WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
    Initialize the animation with the startTime instead of the offset.

(WebCore::GraphicsLayerAnimations::getActiveAnimations):
* platform/graphics/GraphicsLayerAnimation.h:
(WebCore::GraphicsLayerAnimation::setState):
    Allow setting the pause time as well.

(WebCore::GraphicsLayerAnimation::boxSize):
(WebCore::GraphicsLayerAnimation::startTime):
(WebCore::GraphicsLayerAnimation::pauseTime):
(WebCore::GraphicsLayerAnimation::animation):
(WebCore::GraphicsLayerAnimation::keyframes):
(WebCore::GraphicsLayerAnimation::listsMatch):
(WebCore::GraphicsLayerAnimations::size):
(WebCore::GraphicsLayerAnimations::animations):
    Add public accessors to GraphicsLayerAnimation properties.

(GraphicsLayerAnimation):
(GraphicsLayerAnimations):
* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::addAnimation):
(WebCore::GraphicsLayerTextureMapper::setAnimations):
    Allow replacing the entire list of animations.

(WebCore):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::applyAnimationsRecursively):
(WebCore):
* platform/graphics/texmap/TextureMapperLayer.h:
(TextureMapperLayer):

Source/WebKit2:

Re-enable UI-process animations for Coordinated-Graphics/TextureMapper.
- Added an argument coder for GraphicsLayerAnimations.
- Allow LayerTreeCoordinator to manage the animations per layer with the proxy,
  as opposed to applying the animation values in the web process as before.
- LayerTreeRenderer now calls updateViewport() after painting when an animation is active.

To overcome the problem we've had in the past with synchronizing UI-side and web-side
animations, we now lock the animations in the UI process when a frame starts rendering,
and unlock it when the frame finishes rendering, or if after the layout there is no visible
changes pending on the screen.

* Scripts/webkit2/messages.py:
(headers_for_type):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC):
(CoreIPC::encodeTimingFunction):
(CoreIPC::decodeTimingFunction):
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
(WebCore):
    Added argument coders for GraphicsLayerAnimations.

* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::setLayerAnimations):
(WebKit::LayerTreeCoordinatorProxy::setAnimationsLocked):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
    Added an option to sync the layer's animations, and also to lock/unlock animations.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
    Sync animations if they're not locked, and call updateViewport() if we have animations.

(WebKit::LayerTreeRenderer::flushLayerChanges):
(WebKit::LayerTreeRenderer::setLayerAnimations):
(WebKit::LayerTreeRenderer::setAnimationsLocked):

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::didChangeAnimations):
(WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
(WebCore::CoordinatedGraphicsLayer::addAnimation):
(WebCore::CoordinatedGraphicsLayer::pauseAnimation):
(WebCore::CoordinatedGraphicsLayer::removeAnimation):
(WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
(WebCore):
    Pass the animation info to the UI process instead of applying it in the web process.

(WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
    Compute whether a layer tree might have sync issues or flickers if rendered while
    background animations are ongoing.

(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
(WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
    Don't allow progressive tiling for layers with animations.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(WebCore):
(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::lockAnimations):
(WebKit):
(WebKit::LayerTreeCoordinator::unlockAnimations):
(WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
(WebKit::LayerTreeCoordinator::setLayerAnimations):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):

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

7 years agoChange setTargetValueAtTime() to setTargetAtTime()
crogers@google.com [Tue, 23 Oct 2012 22:11:31 +0000 (22:11 +0000)]
Change setTargetValueAtTime() to setTargetAtTime()
https://bugs.webkit.org/show_bug.cgi?id=100153

Reviewed by Adam Barth.

Source/WebCore:

The AudioParam method name has changed due to Web Audio API spec review.
Keep legacy support for the old name.

Test: webaudio/audioparam-setTargetAtTime.html

* Modules/webaudio/AudioParam.h:
(WebCore::AudioParam::setTargetAtTime):
* Modules/webaudio/AudioParam.idl:
* Modules/webaudio/AudioParamTimeline.cpp:
(WebCore::AudioParamTimeline::setTargetAtTime):
(WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
* Modules/webaudio/AudioParamTimeline.h:
(AudioParamTimeline):

LayoutTests:

* webaudio/audioparam-setTargetAtTime-expected.txt: Renamed from LayoutTests/webaudio/audioparam-setTargetValueAtTime-expected.txt.
* webaudio/audioparam-setTargetAtTime.html: Renamed from LayoutTests/webaudio/audioparam-setTargetValueAtTime.html.
* webaudio/resources/audioparam-testing.js:

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

7 years agoAdd measurePageLoadTime function to PerfTestRunner
zoltan@webkit.org [Tue, 23 Oct 2012 22:03:55 +0000 (22:03 +0000)]
Add measurePageLoadTime function to PerfTestRunner
https://bugs.webkit.org/show_bug.cgi?id=100029

Reviewed by Ryosuke Niwa.

Adopt chunk based loading logic from html5-full-render.html into measurePageLoadTime function,
this is needed to measure the performance and the memory consumption of the PageLoadTests as
we do it for all other performancetests.

* Parser/html5-full-render.html: Move the behavior to runner.js.
* resources/runner.js:
(.): Add measurePageLoadTime function.

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

7 years ago[Mac] Remove extraneous conversion to String->NSString
benjamin@webkit.org [Tue, 23 Oct 2012 22:02:46 +0000 (22:02 +0000)]
[Mac] Remove extraneous conversion to String->NSString
https://bugs.webkit.org/show_bug.cgi?id=100044

Reviewed by Darin Adler.

Improve some unfortunate use of String->NSString.

* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postPlatformNotification): The variable macNotification is ultimately
needed as NSString, and all its value are or can be NSString.
Convert the last 3 char* values to NSString literal and use NSString* all the way.

* loader/mac/LoaderNSURLExtras.h:
* loader/mac/LoaderNSURLExtras.mm:
(suggestedFilenameWithMIMEType):
We converted the String to NSString to pass to suggestedFilenameWithMIMEType. There is no need
for the string to be a NSSTring there, we can leave it in its original type.

The case checking for a nil MIMEType was dead code because the implicit conversion never returns nil.

* platform/mac/DragImageMac.mm:
(WebCore::createDragImageForLink):
Use String's nsStringNilIfEmpty().

* platform/mac/HTMLConverter.mm:
(-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
Fix the coding style. Do the conversion to NSString only when needed.

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

7 years ago[Win] Popup menus positioning needs to take multiple monitors into account.
roger_fong@apple.com [Tue, 23 Oct 2012 21:49:53 +0000 (21:49 +0000)]
[Win] Popup menus positioning needs to take multiple monitors into account.
https://bugs.webkit.org/show_bug.cgi?id=100158

Reviewed by Timothy Horton.

Add screen.x() to repositioning check to account for position of current monitor.

* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::calculatePositionAndSize):

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

7 years ago[CSS Shaders] Set FilterOperations on GraphicsLayer after the program of CSS Shaders...
commit-queue@webkit.org [Tue, 23 Oct 2012 21:45:47 +0000 (21:45 +0000)]
[CSS Shaders] Set FilterOperations on GraphicsLayer after the program of CSS Shaders is loaded.
https://bugs.webkit.org/show_bug.cgi?id=99908

Patch by Huang Dongsung <luxtella@company100.net> on 2012-10-23
Reviewed by Dean Jackson.

CSS Shaders can not render anything until the program is loaded. If there is
partial loaded shaders program, whole FilterOperations chain can not render
anything. It occurs a flash. So We have to wait until the program is loaded, to
prevent a flash as RenderLayerBacking::updateImageContents() waits until an
image is fully loaded.

No new tests, CSS Shaders on Accelerated Compositing are not activated yet.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateFilters):

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

7 years agoGenerated should not be supported for things with a shadow
commit-queue@webkit.org [Tue, 23 Oct 2012 21:40:44 +0000 (21:40 +0000)]
Generated should not be supported for things with a shadow
https://bugs.webkit.org/show_bug.cgi?id=98836

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-10-23
Reviewed by Dimitri Glazkov.

Source/WebCore:

As far as CSS is concerned inputs and things with shadow content inside
shouldn't support pseudo elements like :before, :after or :first-letter.
Neither Gecko or Presto supports it, and we only accidentally supported
it.

Until the spec tells us what to do we should disable support. This is
also neccesary because the new generated content implementation doesn't
support shadows.

Test: fast/forms/pseudo-elements.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter):
* rendering/RenderListBox.h: Added missing canHaveGeneratedChildren() that returns false.
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::updateBeforeAfterContent):

LayoutTests:

Change all pseudos on <input> tests to be ref tests and clean up the tests.
They now make sure we don't support generated content on things with a shadow.
Also added another test for the other form control types to ensure they don't
support pseudos either.

* fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.txt: Removed.
* fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements.html:
* fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.html: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.txt: Removed.
* fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements.html:
* fast/forms/pseudo-elements-expected.html: Added.
* fast/forms/pseudo-elements.html: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.html: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.txt: Removed.
* fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html:
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.html: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.txt: Removed.
* fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements.html:
* platform/chromium-linux/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-linux/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-mac/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-mac/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-mac/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-win/fast/forms/date-multiple-fields/date-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-win/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.png: Removed.
* platform/chromium-win/fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements-expected.png: Removed.

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

7 years ago[CSS Shaders] Implement overlay, color-dodge, color-burn, hard-light, soft-light...
commit-queue@webkit.org [Tue, 23 Oct 2012 21:34:56 +0000 (21:34 +0000)]
[CSS Shaders] Implement overlay, color-dodge, color-burn, hard-light, soft-light blend modes.
https://bugs.webkit.org/show_bug.cgi?id=98504

Patch by Huang Dongsung <luxtella@company100.net> on 2012-10-23
Reviewed by Dean Jackson.

Source/WebCore:

Add expressions for the aforementioned blend modes. The expressions are lifted
directly from the CSS Compositing and Blending spec [1]. WebKit adds these
blending expressions to the author's shader.

[1]: https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnormal

Test: css3/filters/custom/custom-filter-blend-modes.html

* platform/graphics/filters/CustomFilterValidatedProgram.cpp:
(WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
(WebCore::CustomFilterValidatedProgram::blendFunctionString):

LayoutTests:

Update the test for the aforementioned blend modes.

* css3/filters/custom/custom-filter-blend-modes-expected.html:
* css3/filters/custom/custom-filter-blend-modes.html:

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

7 years ago[CSS Shaders] Implement all composite operators except destination and lighter.
commit-queue@webkit.org [Tue, 23 Oct 2012 21:31:29 +0000 (21:31 +0000)]
[CSS Shaders] Implement all composite operators except destination and lighter.
https://bugs.webkit.org/show_bug.cgi?id=97859

Patch by Huang Dongsung <luxtella@company100.net> on 2012-10-23
Reviewed by Dean Jackson.

Source/WebCore:

Add expressions for all composite operators except destination and
lighter. The expressions are lifted directly from the CSS Compositing
and Blending spec [1]. WebKit adds these compositing expressions to the
author's shader.

[1]: https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#advancedcompositing

Test: css3/filters/custom/custom-filter-composite-operators.html

* platform/graphics/filters/CustomFilterCompiledProgram.cpp:
(WebCore::CustomFilterCompiledProgram::initializeParameterLocations):
    Remove ASSERTION checking if glGetUniformLocation returns negative,
    because ASSERTION can fail with clear and copy composite operations.
    Clear and copy composite operations do not need "css_u_texture"
    representing the DOM element texture. If the driver compiler is
    smart, "css_u_texture" is not regarded as an active uniform, so
    glGetuniformLocation returns -1. glGetAttribLocation ditto.
* platform/graphics/filters/CustomFilterValidatedProgram.cpp:
(WebCore::CustomFilterValidatedProgram::compiledProgram):
    Move the above ASSERTION in CustomFilterCompiledProgram to here.
    ASSERTION checks if m_samplerLocation is not -1 when the author
    shader needs an input texture.
(WebCore::CustomFilterValidatedProgram::needsInputTexture):
(WebCore):
(WebCore::CustomFilterValidatedProgram::compositeFunctionString):
* platform/graphics/filters/CustomFilterValidatedProgram.h:
(CustomFilterValidatedProgram):

LayoutTests:

Add test to check that the DOM element texture composites correctly with the css_MixColor
variable from the author's shader for each composite operator.

* css3/filters/custom/custom-filter-composite-operators-expected.png: Added.
* css3/filters/custom/custom-filter-composite-operators-expected.txt: Added.
* css3/filters/custom/custom-filter-composite-operators.html: Added.

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

7 years ago[CSS Shaders] Changing the blend mode in CSS doesn't update the custom filter rendering
commit-queue@webkit.org [Tue, 23 Oct 2012 21:24:09 +0000 (21:24 +0000)]
[CSS Shaders] Changing the blend mode in CSS doesn't update the custom filter rendering
https://bugs.webkit.org/show_bug.cgi?id=99887

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-10-23
Reviewed by Dirk Schulze.

Source/WebCore:

Before this patch, WebKit would not recompute an element's style when just its custom filter
blend mode changed.

For example, suppose an element initially has the style:
-webkit-filter: custom(none mix(url(shader.fs) multiply source-atop));

Then, we change the blend mode from "multiply" to "normal":
-webkit-filter: custom(none mix(url(shader.fs) normal source-atop));

WebKit now detects this change and recomputes the style.

CustomFilterProgram now has an equals operator that considers the program type and the mix
settings. The mix settings contain the blend mode.

Test: css3/filters/custom/custom-filter-change-blend-mode.html

* platform/graphics/filters/CustomFilterProgram.cpp:
(WebCore::CustomFilterProgram::operator==):
    Previously, the equals operator was pure virtual in CustomFilterProgram. Now,
    CustomFilterProgram implements it and compares the program type and mix settings, if
    appropriate.
(WebCore):
* platform/graphics/filters/CustomFilterProgram.h:
* platform/graphics/filters/CustomFilterProgramInfo.cpp:
(WebCore::CustomFilterProgramInfo::hash):
    Refactor a repeated condition into a boolean to improve readability.
(WebCore::CustomFilterProgramInfo::operator==):
    Refactor repeated conditions to improve readability. Reorder the conditions so the less
    expensive ones occur first.
* rendering/style/StyleCustomFilterProgram.h:
(WebCore::StyleCustomFilterProgram::operator==):
    Call the base class's equals operator.

LayoutTests:

Add a test that resolves a custom filter's style with the "multiply" blend mode and then
changes the blend mode to "normal". The test makes sure not to change any other parameters
besides the blend mode, since the other parameters can trigger style recalculations on their
own.

* css3/filters/custom/custom-filter-change-blend-mode-expected.html: Added.
* css3/filters/custom/custom-filter-change-blend-mode.html: Added.

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

7 years ago[WebGL] conformance/textures/texture-size.html is failing on Apple Mountain Lion
roger_fong@apple.com [Tue, 23 Oct 2012 21:21:10 +0000 (21:21 +0000)]
[WebGL] conformance/textures/texture-size.html is failing on Apple Mountain Lion
https://bugs.webkit.org/show_bug.cgi?id=94041

Reviewed by Dean Jackson.

When binding a texture to GL_TEXTURE_2D when GL_ACTIVE_TEXTURE is 0, we set m_boundTexture0 to the texture unit.
However when we delete the texture, we need to be setting m_boundTexture0 to 0.
Otherwise when we draw to the screen we bind m_boundTexture0 in the prepareTexture() method and since the associated texture
has already been deleted we end up in an error state.

Tested using Khronos WebGL conformance suite:
conformance/textures/texture-size.html

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::deleteTexture):

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

7 years ago[MathML] Symbol font uses greek letters for roman ones on linux and Windows
dbarton@mathscribe.com [Tue, 23 Oct 2012 21:14:10 +0000 (21:14 +0000)]
[MathML] Symbol font uses greek letters for roman ones on linux and Windows
https://bugs.webkit.org/show_bug.cgi?id=99921

Reviewed by Eric Seidel.

Source/WebCore:

For parts of stretched parentheses and brackets, mathml.css currently uses the Symbol font,
which on linux and Windows has greek letters at roman code points. To fix this, we switch
to the STIXSizeOneSym font when available. However, this can cause vertical gaps between
glyph parts, because of hard-coded constants in RenderMathMLOperator.cpp. We eliminate all
these constants. We also shift glyphs upward by 1px and truncate them to avoid the gaps.

Tested by existing tests, and one test added to LayoutTests/mathml/presentation/mo.xhtml.

* css/mathml.css:
(math, mfenced > *):
    - Set font-family for mn, mi, etc.
(mo, mfenced):
    - Set font-family for mo and anonymous operators, including extension glyphs for
      stretched operators like parentheses and brackets.
(math):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore):
    - Change 0x23d0 to 0x23aa for STIX & Cambria Math fonts.
(WebCore::RenderMathMLOperator::glyphHeightForCharacter):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createStackableStyle):
    - Eliminate unused lineHeight and topRelative parameters, and the hard-coded font size
      of 14.
(WebCore::RenderMathMLOperator::createGlyph):
    - Eliminate unused lineHeight and topRelative parameters.
* rendering/mathml/RenderMathMLOperator.h:
(RenderMathMLOperator):

Tools:

Enable the STIXSizeOneSym font for testing.

* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
* WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
(WTR::allowedFontFamilySet):

LayoutTests:

* mathml/presentation/mo.xhtml:
* platform/chromium/TestExpectations:
* platform/chromium/mathml/presentation/attributes-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/attributes-expected.txt:
* platform/chromium/mathml/presentation/fenced-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/fenced-expected.txt:
* platform/chromium/mathml/presentation/fenced-mi-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/fenced-mi-expected.txt:
* platform/chromium/mathml/presentation/fractions-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/fractions-expected.txt:
* platform/chromium/mathml/presentation/fractions-vertical-alignment-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/chromium/mathml/presentation/mo-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/mo-expected.txt:
* platform/chromium/mathml/presentation/mo-stretch-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/mo-stretch-expected.txt:
* platform/chromium/mathml/presentation/mroot-pref-width-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/mroot-pref-width-expected.txt:
* platform/chromium/mathml/presentation/over-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/over-expected.txt:
* platform/chromium/mathml/presentation/roots-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/roots-expected.txt:
* platform/chromium/mathml/presentation/row-alignment-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/row-alignment-expected.txt:
* platform/chromium/mathml/presentation/row-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/row-expected.txt:
* platform/chromium/mathml/presentation/style-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/style-expected.txt:
* platform/chromium/mathml/presentation/sub-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/sub-expected.txt:
* platform/chromium/mathml/presentation/subsup-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/subsup-expected.txt:
* platform/chromium/mathml/presentation/sup-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/sup-expected.txt:
* platform/chromium/mathml/presentation/tables-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/tables-expected.txt:
* platform/chromium/mathml/presentation/tokenElements-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/tokenElements-expected.txt:
* platform/chromium/mathml/presentation/under-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/under-expected.txt:
* platform/chromium/mathml/presentation/underover-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/presentation/underover-expected.txt:
* platform/chromium/mathml/xHeight-expected.png: Modified property svn:mime-type.
* platform/chromium/mathml/xHeight-expected.txt:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

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

7 years agoUnreviewed gardening. Properly skipping http/tests/xmlhttprequest/timeout/xmlhttprequ...
leviw@chromium.org [Tue, 23 Oct 2012 21:11:03 +0000 (21:11 +0000)]
Unreviewed gardening. Properly skipping http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout*
tests, as was the author's intention.

* platform/chromium/TestExpectations:

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

7 years ago[chromium] Chromium window build system does not rebuild correctly when enabling...
tony@chromium.org [Tue, 23 Oct 2012 21:09:54 +0000 (21:09 +0000)]
[chromium] Chromium window build system does not rebuild correctly when enabling/disabling a feature
https://bugs.webkit.org/show_bug.cgi?id=38926

Reviewed by Eric Seidel.

Remove hack for clobbering build when features.gypi changes. Now that
Chromium requires VS2010 or newer, this bug has gone away.

* Scripts/update-webkit:

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

7 years agoWTFURL: Implement KURL::setPort()
benjamin@webkit.org [Tue, 23 Oct 2012 21:09:45 +0000 (21:09 +0000)]
WTFURL: Implement KURL::setPort()
https://bugs.webkit.org/show_bug.cgi?id=99898

Reviewed by Adam Barth.

Source/WebCore:

* platform/KURLWTFURL.cpp:
(WebCore::KURL::setPort):

Source/WTF:

Add an efficient implementation for remplacing the port component
in an URL. This will be the base for replacing other components
efficiently.

The testing is covered by fast/dom/HTMLAnchorElement/set-href-attribute-port.html

* wtf/url/api/ParsedURL.cpp:
(WTF::generateNewSpecWithPort):
(WTF::replacePortWithString):
(WTF::ParsedURL::replacePort):
* wtf/url/api/ParsedURL.h:
(ParsedURL):

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

7 years agoIn the open-source jpeg decoder, read image orientation from the exif data
thakis@chromium.org [Tue, 23 Oct 2012 21:05:32 +0000 (21:05 +0000)]
In the open-source jpeg decoder, read image orientation from the exif data
https://bugs.webkit.org/show_bug.cgi?id=100144

Reviewed by Eric Seidel.

This will be used to implement the shouldRespectImageOrientation
setting (see bug 19688). Currently this isn't hooked up anywhere, so
it has no observable effect for now.

Once it's hooked up, it will be tested by
fast/images/exif-orientation.html

* platform/graphics/BitmapImage.h:
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::orientation):
(ImageDecoder):
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::readUint16):
(WebCore):
(WebCore::readUint32):
(WebCore::checkExifHeader):
(WebCore::readImageOrientation):
(WebCore::JPEGImageReader::JPEGImageReader):
(WebCore::JPEGImageReader::decode):
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
(WebCore::JPEGImageDecoder::setOrientation):

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

7 years agoFix thread safety issue in AudioParamTimeline
crogers@google.com [Tue, 23 Oct 2012 21:02:54 +0000 (21:02 +0000)]
Fix thread safety issue in AudioParamTimeline
https://bugs.webkit.org/show_bug.cgi?id=100154

Reviewed by Kenneth Russell.

Add appropriate locking in AudioParamTimeline::valueForContextTime()

* Modules/webaudio/AudioParamTimeline.cpp:
(WebCore::AudioParamTimeline::valueForContextTime):

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

7 years agoIndexedDB: refactor backend to use IDB*Metadata
alecflett@chromium.org [Tue, 23 Oct 2012 20:25:54 +0000 (20:25 +0000)]
IndexedDB: refactor backend to use IDB*Metadata
https://bugs.webkit.org/show_bug.cgi?id=100055

Reviewed by Tony Chang.

Source/WebCore:

This further encapsulates the static data in
IDBObjectStoreBackendImpl and IDBIndexBackendImp into their
respective IDB*Metadata structs, in preparation for
https://bugs.webkit.org/show_bug.cgi?id=99774.

No new tests as this is purely a refactor.

* Modules/indexeddb/IDBBackingStore.h:
(IDBBackingStore):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::loadObjectStores):
* Modules/indexeddb/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::metadata):
* Modules/indexeddb/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::create):
(WebCore::IDBIndexBackendImpl::id):
(WebCore::IDBIndexBackendImpl::setId):
(WebCore::IDBIndexBackendImpl::hasValidId):
(WebCore::IDBIndexBackendImpl::name):
(WebCore::IDBIndexBackendImpl::keyPath):
(WebCore::IDBIndexBackendImpl::unique):
(WebCore::IDBIndexBackendImpl::multiEntry):
(IDBIndexBackendImpl):
* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::getObjectStores):
(WebCore::IDBLevelDBBackingStore::getIndexes):
* Modules/indexeddb/IDBLevelDBBackingStore.h:
(IDBLevelDBBackingStore):
* Modules/indexeddb/IDBMetadata.h:
(WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::metadata):
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::create):
(WebCore::IDBObjectStoreBackendImpl::id):
(WebCore::IDBObjectStoreBackendImpl::setId):
(WebCore::IDBObjectStoreBackendImpl::name):
(WebCore::IDBObjectStoreBackendImpl::keyPath):
(WebCore::IDBObjectStoreBackendImpl::autoIncrement):
(IDBObjectStoreBackendImpl):

Source/WebKit/chromium:

Update tests to reflect refactoring.

* tests/IDBDatabaseBackendTest.cpp:
* tests/IDBFakeBackingStore.h:

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

7 years agoBasicShapePolygon::path takes width instead of height for boundary calculation
krit@webkit.org [Tue, 23 Oct 2012 20:17:34 +0000 (20:17 +0000)]
BasicShapePolygon::path takes width instead of height for boundary calculation
https://bugs.webkit.org/show_bug.cgi?id=99919

Reviewed by Darin Adler.

Source/WebCore:

The 'y' parameters of polygon were calculated by the with of the bounding box of the object.
This caused problems on percentage values for point positions.
Changed it to the height of the bounding box.

Test: css3/masking/clip-path-polygon-percentage.html

* rendering/style/BasicShapes.cpp:
(WebCore::BasicShapePolygon::path):

LayoutTests:

Test that the correct relation is used for calculating point position of an polygon.

* css3/masking/clip-path-polygon-percentage-expected.html: Added.
* css3/masking/clip-path-polygon-percentage.html: Added.

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

7 years ago[Chromium] Add CHROMIUM_texture_from_image extension support.
commit-queue@webkit.org [Tue, 23 Oct 2012 19:44:03 +0000 (19:44 +0000)]
[Chromium] Add CHROMIUM_texture_from_image extension support.
https://bugs.webkit.org/show_bug.cgi?id=99894

Patch by David Reveman <reveman@chromium.org> on 2012-10-23
Reviewed by James Robinson.

Add bindTexImage2DCHROMIUM and releaseTexImage2DCHROMIUM prototypes to
WebGraphicsContext3D.h.

* chromium/public/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::bindTexImage2DCHROMIUM):
(WebKit::WebGraphicsContext3D::releaseTexImage2DCHROMIUM):

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

7 years ago[chromium] Roll chromium DEPS r163297:163557
senorblanco@chromium.org [Tue, 23 Oct 2012 19:14:28 +0000 (19:14 +0000)]
[chromium] Roll chromium DEPS r163297:163557
https://bugs.webkit.org/show_bug.cgi?id=100146

Reviewed by Adrienne Walker.

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

7 years agoRemove remaining fast/innerHTML pixel test baselines after r131960.
dpranke@chromium.org [Tue, 23 Oct 2012 19:12:16 +0000 (19:12 +0000)]
Remove remaining fast/innerHTML pixel test baselines after r131960.

Unreviewed, expectations change.

* platform/chromium-linux/fast/innerHTML/002-expected.png: Removed.
* platform/chromium-linux/fast/innerHTML/003-expected.png: Removed.
* platform/chromium-linux/fast/innerHTML/006-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/innerHTML/001-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/innerHTML/002-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/innerHTML/003-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/innerHTML/006-expected.png: Removed.
* platform/chromium-mac/fast/innerHTML/001-expected.png: Removed.
* platform/chromium-mac/fast/innerHTML/002-expected.png: Removed.
* platform/chromium-mac/fast/innerHTML/003-expected.png: Removed.
* platform/chromium-mac/fast/innerHTML/006-expected.png: Removed.
* platform/chromium-win/fast/innerHTML/001-expected.png: Removed.
* platform/chromium-win/fast/innerHTML/001-expected.txt: Removed.
* platform/chromium-win/fast/innerHTML/002-expected.txt: Removed.
* platform/chromium-win/fast/innerHTML/003-expected.txt: Removed.
* platform/chromium-win/fast/innerHTML/006-expected.txt: Removed.
* platform/efl/fast/innerHTML/001-expected.txt: Removed.
* platform/efl/fast/innerHTML/002-expected.txt: Removed.
* platform/efl/fast/innerHTML/003-expected.txt: Removed.
* platform/efl/fast/innerHTML/006-expected.txt: Removed.
* platform/gtk/fast/innerHTML/001-expected.txt: Removed.
* platform/gtk/fast/innerHTML/002-expected.txt: Removed.
* platform/gtk/fast/innerHTML/003-expected.txt: Removed.
* platform/gtk/fast/innerHTML/006-expected.txt: Removed.
* platform/gtk/fast/innerHTML/innerHTML-iframe-expected.txt: Removed.
* platform/mac/fast/innerHTML/001-expected.txt: Removed.
* platform/mac/fast/innerHTML/002-expected.txt: Removed.
* platform/mac/fast/innerHTML/003-expected.txt: Removed.
* platform/mac/fast/innerHTML/006-expected.txt: Removed.
* platform/qt/fast/innerHTML/001-expected.txt: Removed.
* platform/qt/fast/innerHTML/002-expected.txt: Removed.
* platform/qt/fast/innerHTML/003-expected.txt: Removed.
* platform/qt/fast/innerHTML/006-expected.txt: Removed.

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

7 years agoAdd timeout support to XMLHttpRequest
dominik.rottsches@intel.com [Tue, 23 Oct 2012 18:49:20 +0000 (18:49 +0000)]
Add timeout support to XMLHttpRequest
https://bugs.webkit.org/show_bug.cgi?id=74802

Reviewed by Nate Chapin.

Source/WebCore:

An implementation of XHR2 timeouts by using ResourceRequest's setTimeoutInterval.
This made several changes necessary in CachedResource and SubresourceLoader in order
to distinguish and forward the timeout case from there.

The case of late updates to the timeout property, changing the timeout value after send()
is not supported yet and handled separately in bug 98156.

XHR2 timeout tests were initially written by Mozilla's Alex Vincent's. He granted
permission to reuse them under PD/BSD license
in https://bugzilla.mozilla.org/show_bug.cgi?id=525816#c86 - big thanks!
I adapted them for W3C testharness.js and split them into groups with shorter test running time
so that they can be used as WebKit layout tests.

Tests: http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-aborted.html
       http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-abortedonmain.html
       http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-overridesexpires.html
       http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-simple.html
       http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-synconmain.html
       http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-twice.html
       http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-aborted.html
       http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-overridesexpires.html
       http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-simple.html
       http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-synconworker.html
       http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-twice.html

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::notifyFinished): Forward information about timeout case.
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didFail): Distinguish timeout case when informing client.
* loader/cache/CachedResource.h: Distinguishing timeout case for errors.
(WebCore::CachedResource::errorOccurred):
(WebCore::CachedResource::loadFailedOrCanceled):
(WebCore::CachedResource::timedOut):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::XMLHttpRequest): Initializing m_timeout value to zero.
(WebCore::XMLHttpRequest::setTimeout): Setter function, possibly raising JS exception.
(WebCore):
(WebCore::XMLHttpRequest::open): Open call may raise exception for synchronous requests when timeout value is set.
(WebCore::XMLHttpRequest::createRequest): Assigning timeout value to ResourceRequest.
(WebCore::XMLHttpRequest::didFail): Handling timeout case separately.
(WebCore::XMLHttpRequest::didTimeout): Timeout case state transisition and event firing as spec'ed.
* xml/XMLHttpRequest.h: New event listener, member and callback for handling timeout.
(WebCore::XMLHttpRequest::timeout):
(XMLHttpRequest):
* xml/XMLHttpRequest.idl: New event listener and property added.
* xml/XMLHttpRequestException.cpp:
* xml/XMLHttpRequestException.h: Added an exception value for the timeout case.

LayoutTests:

XHR2 timeout tests were initially written by Mozilla's Alex Vincent's. He granted
permission to reuse them under PD/BSD license
in https://bugzilla.mozilla.org/show_bug.cgi?id=525816#c86 - big thanks!
I adapted them for W3C testharness.js and split them into groups with shorter test running time
so that they can be used as WebKit layout tests. Each individual test should
complete in less than 20 seconds.

The case of late updates to the timeout property, changing the timeout value after send()
is not supported yet and handled separately in bug 98156. Tests that are testing this feature
are commented out until this bug is tackled.

The suffix of the html test filename matches the groups in xmlhttprequest-timeout.js which contains
all tests that are run. The result of assertions is reported back to testharness.js.

For example, the "overrides" group is currently not run yet since all tests in that group are cases
of late updates, see above. Once late updates are supported we can add a file
xmlhttprequest-timeout-overrides.html to run them.

* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-aborted-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-aborted.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-abortedonmain-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-abortedonmain.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-overridesexpires-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-overridesexpires.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-runner.js: Added. Distinguishes which group of tests to run based on filename suffix.
(testResultCallbackHandler.return):
(groupFromLocation):
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-simple-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-simple.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-synconmain-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-synconmain.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-twice-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-twice.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-aborted-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-aborted.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-overridesexpires-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-overridesexpires.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-simple-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-simple.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-synconworker-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-synconworker.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-twice-expected.txt: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-worker-twice.html: Added.
* http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js: Added. Contains test cases for all individual test html files.
(message): Wrapper for postMessage in worker and document context case.
(is),
(ok): Assertion functions.
(RequestTracker): Class for variations of the regular timeout case.
(RequestTracker.prototype.startXHR.handleEvent):
(RequestTracker.prototype.startXHR):
(RequestTracker.prototype.getMessage):
(RequestTracker.prototype.handleEvent):
(AbortedRequest): Class for testing timeout event vs. abort events.
(AbortedRequest.prototype.startXHR.handleEvent):
(AbortedRequest.prototype.startXHR.abortReq):
(AbortedRequest.prototype.startXHR.else):
(AbortedRequest.prototype.startXHR):
(AbortedRequest.prototype.noEventsFired):
(AbortedRequest.prototype.getMessage):
(AbortedRequest.prototype.handleEvent):
(SyncRequestSettingTimeoutAfterOpen.startXHR),
(SyncRequestSettingTimeoutBeforeOpen.startXHR): Test classes for synchronous XHR cases.
(TestCounter.testComplete),
(TestCounter.next): Used for cycling through tests.
* platform/chromium/TestExpectations: Skipping XHR timeout cases since setTimeoutInterval is not supported in Chromium's HTTP stack.
* platform/gtk/TestExpectations: Marking XHR timeout cases as slow in order to run them with a longer test timeout threshold.
* platform/qt/TestExpectations: Skipping XHR timeout cases since setTimeoutInterval is not supported in Chromium's HTTP stack.

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

7 years agoUnreviewed gardening. css3/filters/blur-filter-page-scroll-self.html is crashing
leviw@chromium.org [Tue, 23 Oct 2012 18:45:13 +0000 (18:45 +0000)]
Unreviewed gardening. css3/filters/blur-filter-page-scroll-self.html is crashing
now as well as generating incorrect image results :(

* platform/chromium/TestExpectations:

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

7 years ago[WIN7] Skip fast/media/mq-resolution.html.
commit-queue@webkit.org [Tue, 23 Oct 2012 18:29:32 +0000 (18:29 +0000)]
[WIN7] Skip fast/media/mq-resolution.html.
https://bugs.webkit.org/show_bug.cgi?id=100143.

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

The feature is not yet implemented.

* platform/win/TestExpectations:

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

7 years agoPossible assertion hit in WebCore::HTMLSelectElement::updateListBoxSelection()
commit-queue@webkit.org [Tue, 23 Oct 2012 18:22:18 +0000 (18:22 +0000)]
Possible assertion hit in WebCore::HTMLSelectElement::updateListBoxSelection()
https://bugs.webkit.org/show_bug.cgi?id=99967

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-23
Reviewed by Tony Chang.

Source/WebCore:

Fix assertion hit in WebCore::HTMLSelectElement::updateListBoxSelection() when
pressing the left mouse button outside a multiselect and then moving the cursor
over the multiselect element while holding the button down.

The issue is that the HTMLSelectElement handler for the mouse move event does
not check if there is a selection before trying to extend the selection.

Test: fast/dom/HTMLSelectElement/select-selectedIndex-noAnchorIndex-crash.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):

LayoutTests:

Added layout test to reproduce an assertion hit in
WebCore::HTMLSelectElement::updateListBoxSelection() when pressing the left
button outside a multiselect and then moving the mouse over the multiselect
element while holding the button down.

* fast/dom/HTMLSelectElement/select-selectedIndex-noAnchorIndex-crash-expected.txt: Added.
* fast/dom/HTMLSelectElement/select-selectedIndex-noAnchorIndex-crash.html: Added.

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

7 years ago[V8] ScriptWrappable should hold the wrapper handle directly (Dromaeo/dom-modify...
abarth@webkit.org [Tue, 23 Oct 2012 18:14:22 +0000 (18:14 +0000)]
[V8] ScriptWrappable should hold the wrapper handle directly (Dromaeo/dom-modify and dom-traverse get ~2.5% faster)
https://bugs.webkit.org/show_bug.cgi?id=97974

Reviewed by Eric Seidel.

Previously, we stored a pointer to a handle to a wrapper in Node. That
is an extra layer of indirection that slows down finding the wrapper
for the node. A handle is just a pointer, so we might as we just store
the handle in the Node directly. That speeds up dom-modify and
dom-traverse by about 2.5%.

This change also lets us get rid of the ChunkedTable we were using to
store all the wrappers because they're now stored in the Nodes
directly.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/v8/IntrusiveDOMWrapperMap.h:
(WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
(WebCore::IntrusiveDOMWrapperMap::get):
(WebCore::IntrusiveDOMWrapperMap::set):
(WebCore::IntrusiveDOMWrapperMap::contains):
(WebCore::IntrusiveDOMWrapperMap::visit):
(WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
(WebCore::IntrusiveDOMWrapperMap::clear):
* bindings/v8/ScriptWrappable.h:
(WebCore::ScriptWrappable::ScriptWrappable):
(WebCore::ScriptWrappable::wrapper):
(WebCore::ScriptWrappable::setWrapper):
(WebCore::ScriptWrappable::disposeWrapper):
(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):

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

7 years agoRegression(r132143): Assertion hit in JSC::Interpreter::StackPolicy::StackPolicy...
commit-queue@webkit.org [Tue, 23 Oct 2012 17:58:25 +0000 (17:58 +0000)]
Regression(r132143): Assertion hit in JSC::Interpreter::StackPolicy::StackPolicy(JSC::Interpreter&, const WTF::StackBounds&)
https://bugs.webkit.org/show_bug.cgi?id=100109

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

Fix possible integer overflow in StackPolicy constructor by
using size_t type instead of int for stack sizes. The value
returned by StackBounds::size() is of type size_t but was
assigned to an int, which may overflow.

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

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

7 years ago[V8] Replace SetGlobalGCPrologueCallback() with AddGCPrologueCallback()
haraken@chromium.org [Tue, 23 Oct 2012 17:57:10 +0000 (17:57 +0000)]
[V8] Replace SetGlobalGCPrologueCallback() with AddGCPrologueCallback()
https://bugs.webkit.org/show_bug.cgi?id=100140

Reviewed by Adam Barth.

SetGlobalGCPrologueCallback() and SetGlobalGCEpilogueCallback()
are deprecated (See http://code.google.com/codesearch#OAMlx_jo-ck/src/v8/include/v8.h&exact_package=chromium&q=v8.h&type=cs&l=3149)
Instead we should use AddGCPrologueCallback()
and AddGCEpilogueCallback().

No tests. No change in behavior.

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::initializeV8IfNeeded):
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::gcPrologue):
(WebCore):
(WebCore::V8GCController::minorGCPrologue):
(WebCore::V8GCController::majorGCPrologue):
(WebCore::V8GCController::gcEpilogue):
(WebCore::V8GCController::minorGCEpilogue):
(WebCore::V8GCController::majorGCEpilogue):
* bindings/v8/V8GCController.h:
(V8GCController):
* bindings/v8/WorkerContextExecutionProxy.cpp:
(WebCore::WorkerContextExecutionProxy::initIsolate):

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

7 years ago[V8] Enumerate Nodes via the V8 heap rather than via a list in WebCore
abarth@webkit.org [Tue, 23 Oct 2012 17:34:37 +0000 (17:34 +0000)]
[V8] Enumerate Nodes via the V8 heap rather than via a list in WebCore
https://bugs.webkit.org/show_bug.cgi?id=100033

Reviewed by Eric Seidel.

This patch changes how we enumerate nodes during garbage collection.
After this patch, we use V8's list of open handles to enumerate node
wrappers rather than using a separate list that we maintain in WebCore
for this purpose. A future patch will remove the list in WebCore for a
DOM performance gain.

* bindings/js/ScriptProfiler.h:
(WebCore):
(WebCore::ScriptProfiler::visitNodeWrappers):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateToV8Converters):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/v8/IntrusiveDOMWrapperMap.h:
(WebCore::IntrusiveDOMWrapperMap::set):
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::visitNodeWrappers):
* bindings/v8/ScriptProfiler.h:
(WebCore):
(ScriptProfiler):
* bindings/v8/V8DOMMap.cpp:
(WebCore::NodeWrapperVisitor::~NodeWrapperVisitor):
(WebCore):
(WebCore::visitAllDOMNodes):
* bindings/v8/V8DOMMap.h:
(WebCore):
(NodeWrapperVisitor):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
(WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode):
* bindings/v8/V8GCController.cpp:
(WebCore::NodeVisitor::visitNodeWrapper):
(WebCore::V8GCController::gcPrologue):
(WebCore::V8GCController::gcEpilogue):
* inspector/BindingVisitors.h:
(WebCore::WrappedNodeVisitor::~WrappedNodeVisitor):
* inspector/InspectorMemoryAgent.cpp:
(WebCore):

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

7 years ago[chromium] remove the const qualifier from WebTestDelegate::printMessage
jochen@chromium.org [Tue, 23 Oct 2012 17:25:36 +0000 (17:25 +0000)]
[chromium] remove the const qualifier from WebTestDelegate::printMessage
https://bugs.webkit.org/show_bug.cgi?id=100082

Reviewed by Adam Barth.

There's no reason the method should be const, and indeed for
content_shell we want to send an IPC which is a non-const operation.

* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestDelegate):
* DumpRenderTree/chromium/TestRunner/src/TestDelegate.h:
(TestDelegate):
* DumpRenderTree/chromium/TestRunner/src/WebTestInterfaces.cpp:
(WebTestInterfaces::Internal):
(WebTestRunner::WebTestInterfaces::Internal::printMessage):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::printMessage):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

7 years ago[BlackBerry] Make selection in search input box not overlap cancel button
rwlbuis@webkit.org [Tue, 23 Oct 2012 17:12:47 +0000 (17:12 +0000)]
[BlackBerry] Make selection in search input box not overlap cancel button
https://bugs.webkit.org/show_bug.cgi?id=100130

Reviewed by Antonio Gomes.

This ensures that even when selection is active, the user can still press 'cancel'.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::boundingBoxForInputField):

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

7 years agoWeb Inspector: paint rectangles are incorrectly shown in case subframes are present
caseq@chromium.org [Tue, 23 Oct 2012 17:06:01 +0000 (17:06 +0000)]
Web Inspector: paint rectangles are incorrectly shown in case subframes are present
https://bugs.webkit.org/show_bug.cgi?id=99849

Reviewed by Pavel Feldman.

Move GraphicsContext and paint rectangle from willPaint() to didPaint(), so we don't have
to store them as a state of InspectorPageAgent

* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willPaintImpl):
(WebCore::InspectorInstrumentation::didPaintImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willPaint):
(WebCore::InspectorInstrumentation::didPaint):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didPaint):
* inspector/InspectorPageAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willPaint):
(WebCore::InspectorTimelineAgent::didPaint):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* inspector/TimelineRecordFactory.cpp:
* inspector/TimelineRecordFactory.h:
(TimelineRecordFactory):
* page/FrameView.cpp:
(WebCore::FrameView::paintContents):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):

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

7 years agoWeb Inspector: array grouping does not work for arrays with exactly 10000 elements.
pfeldman@chromium.org [Tue, 23 Oct 2012 17:04:39 +0000 (17:04 +0000)]
Web Inspector: array grouping does not work for arrays with exactly 10000 elements.
https://bugs.webkit.org/show_bug.cgi?id=100131

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Using ceil() - 1 instead of floor() in bucket size calculation.

* inspector/front-end/ObjectPropertiesSection.js:

LayoutTests:

* inspector/console/console-big-array-expected.txt:
* inspector/console/console-big-array.html:

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

7 years agoThe order of resolving distribution in tree composition is wrong.
shinyak@chromium.org [Tue, 23 Oct 2012 16:39:05 +0000 (16:39 +0000)]
The order of resolving distribution in tree composition is wrong.
https://bugs.webkit.org/show_bug.cgi?id=99552

Reviewed by Dimitri Glazkov.

Source/WebCore:

According to the current ShadowDOM spec, we have to resolve <content> first, then resolve <shadow>.
However, the order of resolution is now the mixed tree order of <content> and <shadow>.

Test: fast/dom/shadow/content-reprojection-order.html

* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::distribute): We should resolve <content> before <shadow>.
Only the first active shadow insertion point can select the rest of contents.
* html/shadow/HTMLContentElement.h:
(HTMLContentElement):
* html/shadow/HTMLShadowElement.cpp:
* html/shadow/HTMLShadowElement.h:
(WebCore::isHTMLShadowElement):
(WebCore):
(WebCore::toHTMLShadowElement):
* html/shadow/InsertionPoint.h:
(InsertionPoint): We don't need doesSelectFromHostChildren() anymore.

LayoutTests:

We also fix the existing wrong test.

* fast/dom/shadow/content-reprojection-order-expected.html: Added.
* fast/dom/shadow/content-reprojection-order.html: Added.
* fast/dom/shadow/shadow-element-rendering-single.html:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 23 Oct 2012 16:33:00 +0000 (16:33 +0000)]
Unreviewed GTK gardening.

Adding failure expectation for fast/media/mq-resolution.html, it relies
on the Resolution Media Query feature being enabled.
Adding a proper bug modifier for fast/files/workers/worker-apply-blob-url-to-xhr.html.

* platform/gtk/TestExpectations:

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

7 years ago[Qt][WK2] Add preference for enabling scroll animators
allan.jensen@digia.com [Tue, 23 Oct 2012 16:32:39 +0000 (16:32 +0000)]
[Qt][WK2] Add preference for enabling scroll animators
https://bugs.webkit.org/show_bug.cgi?id=100124

Reviewed by Jocelyn Turcotte.

Expose the ScollAnimatorEnabled setting in QWebPreferences.

* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferences::scrollAnimatorEnabled):
(QWebPreferences::setScrollAnimatorEnabled):
* UIProcess/API/qt/qwebpreferences_p.h:
* UIProcess/API/qt/qwebpreferences_p_p.h:

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

7 years agoWeb Inspector: Move UISourceCode creation out of mappings to workspace.
vsevik@chromium.org [Tue, 23 Oct 2012 16:25:11 +0000 (16:25 +0000)]
Web Inspector: Move UISourceCode creation out of mappings to workspace.
https://bugs.webkit.org/show_bug.cgi?id=100092

Reviewed by Pavel Feldman.

Source/WebCore:

Moved uiSourceCode constructor calls out of mappings to workspace.

* inspector/front-end/CompilerScriptMapping.js:
* inspector/front-end/NetworkUISourceCodeProvider.js:
(WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource):
(WebInspector.NetworkUISourceCodeProvider.prototype._addUISourceCode):
* inspector/front-end/ResourceScriptMapping.js:
(WebInspector.ResourceScriptMapping.prototype._deleteOriginalUISourceCodeForScripts):
(WebInspector.ResourceScriptMapping.prototype._deleteTemporaryUISourceCodeForScripts):
(WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
(WebInspector.ResourceScriptMapping.prototype._createUISourceCode):
(WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode):
(WebInspector.ResourceScriptMapping.prototype._getOrCreateOriginalUISourceCode):
* inspector/front-end/SASSSourceMapping.js:
(_bindUISourceCode):
* inspector/front-end/ScriptSnippetModel.js:
(WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
(WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
* inspector/front-end/Workspace.js:
(WebInspector.Project.prototype.addUISourceCode):
(WebInspector.Project.prototype.removeUISourceCode):
(WebInspector.Workspace.prototype.addTemporaryUISourceCode):
(WebInspector.Workspace.prototype.removeTemporaryUISourceCode):

LayoutTests:

* http/tests/inspector/workspace-test.js:
(initialize_WorkspaceTest.InspectorTest.addMockUISourceCodeToWorkspace):
* inspector/debugger/resource-script-mapping-expected.txt:
* inspector/debugger/scripts-panel.html:

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

7 years agoRemove unnecessary m_layoutDelta[XY]Saturated initialization
eae@chromium.org [Tue, 23 Oct 2012 16:22:45 +0000 (16:22 +0000)]
Remove unnecessary m_layoutDelta[XY]Saturated initialization
https://bugs.webkit.org/show_bug.cgi?id=100018

Reviewed by Julien Chaffraix.

Remove unnecessary initialization from LayoutState constructor
added in r132105.

No new tests, no change in functionality.

* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):

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

7 years ago[Texmap] Fix drawTextureRectangleARB after r131485.
zeno.albisser@digia.com [Tue, 23 Oct 2012 16:18:56 +0000 (16:18 +0000)]
[Texmap] Fix drawTextureRectangleARB after r131485.
https://bugs.webkit.org/show_bug.cgi?id=100133

Consistently rename u_textureSize to u_samplerSize.

Reviewed by Noam Rosenthal.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::drawTextureRectangleARB):
* platform/graphics/texmap/TextureMapperShaderManager.cpp:
(WebCore::getShaderSpec):
* platform/graphics/texmap/TextureMapperShaderManager.h:
(TextureMapperShaderProgram):

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

7 years agoSource/WebCore: Web Inspector: 'data:' URLs should be properly trimmed for readability.
mkwst@chromium.org [Tue, 23 Oct 2012 16:09:41 +0000 (16:09 +0000)]
Source/WebCore: Web Inspector: 'data:' URLs should be properly trimmed for readability.
https://bugs.webkit.org/show_bug.cgi?id=100083

Reviewed by Pavel Feldman.

We recently landed a patch to trim the middle out of long URLs in
console messages in order to improve readability. That patch didn't
effect 'data:' URLs, as they didn't match the regex in the linkifier.
This patch ensures that 'data:' URLs are properly trimmed down to
size.

This problem came to light while resolving a different, smaller issue:
'image/jpg' wasn't whitelisted as an image MIME type. That trivial fix
is included in this patch.

Test: http/tests/inspector/network/image-as-text-loading-data-url.html

* inspector/front-end/NetworkManager.js:
(WebInspector.NetworkManager):
    Adds 'image/jpg' as a valid image type.
* inspector/front-end/ResourceUtils.js:
(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
    Supports 'data:' URLs in the linkifier's regex.

LayoutTests: Web Inspector: MIME type errors should truncate long URLs.
https://bugs.webkit.org/show_bug.cgi?id=100083

Reviewed by Pavel Feldman.

* http/tests/inspector/network/image-as-text-loading-data-url-expected.txt: Added.
* http/tests/inspector/network/image-as-text-loading-data-url.html: Added.

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

7 years agoWeb Inspector: Floated anchor element sometimes overlaps following content.
mkwst@chromium.org [Tue, 23 Oct 2012 16:07:37 +0000 (16:07 +0000)]
Web Inspector: Floated anchor element sometimes overlaps following content.
https://bugs.webkit.org/show_bug.cgi?id=100105

Reviewed by Pavel Feldman.

This patch ensures that each console message clears the
potentially-overlapping floated anchor element.

* inspector/front-end/inspector.css:
(#console-prompt):
(.console-message, .console-user-command):
    Clear the float, and flip the border from the bottom of the
    message to the top. Do the same for the prompt.
(.console-message:first-child):
    Ensure that the first message doesn't have a top border.

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

7 years agoWeb Inspector: Crash when adding a keyframes rule in the Styles pane
apavlov@chromium.org [Tue, 23 Oct 2012 15:57:30 +0000 (15:57 +0000)]
Web Inspector: Crash when adding a keyframes rule in the Styles pane
https://bugs.webkit.org/show_bug.cgi?id=99826

Reviewed by Pavel Feldman.

Source/WebCore:

The client-supplied selector text is first parsed to make sure it results in a valid style rule selector.

Test: inspector/styles/add-new-rule-invalid-selector.html

* inspector/InspectorStyleSheet.cpp:
(WebCore::createCSSParser):
(WebCore):
(WebCore::InspectorStyle::setPropertyText):
(WebCore::checkStyleRuleSelector):
(WebCore::InspectorStyleSheet::addRule):
(WebCore::InspectorStyleSheet::ensureSourceData):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):

LayoutTests:

* inspector/styles/add-new-rule-invalid-selector-expected.txt: Added.
* inspector/styles/add-new-rule-invalid-selector.html: Added.

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

7 years ago[EFL][WK2] Use the port independent PageViewportController
commit-queue@webkit.org [Tue, 23 Oct 2012 15:44:21 +0000 (15:44 +0000)]
[EFL][WK2] Use the port independent PageViewportController
https://bugs.webkit.org/show_bug.cgi?id=99850

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Take PageViewportController into use, and rely on it to calculate
scroll position and zoom level.
With this patch, we can do intra page navigation and use the scrollwheel
to scroll, when WTF_USE_TILED_BACKING_STORE and all related flags are enabled.

* CMakeLists.txt:
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::didChangeViewportProperties):
(WebKit::PageClientImpl::pageDidRequestScroll):
(WebKit::PageClientImpl::didChangeContentsSize):
(WebKit):
(WebKit::PageClientImpl::didRenderFrame):
(WebKit::PageClientImpl::pageTransitionViewportReady):
* UIProcess/API/efl/PageClientImpl.h:
(WebKit):
(PageClientImpl):
(WebKit::PageClientImpl::setPageViewportController):
* UIProcess/API/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::display):
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
(WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
(WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
(WebKit::PageViewportControllerClientEfl::setViewportPosition):
(WebKit::PageViewportControllerClientEfl::setContentsScale):
(WebKit::PageViewportControllerClientEfl::didResumeContent):
(WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
(WebKit::PageViewportControllerClientEfl::setController):
* UIProcess/API/efl/PageViewportControllerClientEfl.h:
(WebKit::PageViewportControllerClientEfl::scaleFactor):
(WebKit::PageViewportControllerClientEfl::scrollPosition):
(PageViewportControllerClientEfl):
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(mapToWebContent):
(_ewk_view_smart_mouse_wheel):
(_ewk_view_smart_mouse_down):
(_ewk_view_smart_mouse_up):
(_ewk_view_smart_mouse_move):
(_ewk_view_initialize):
(ewk_view_load_committed):
(ewk_view_feed_touch_event):
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
* UIProcess/PageClient.h:
(PageClient):
* UIProcess/PageViewportController.cpp:
* UIProcess/PageViewportController.h:
* UIProcess/WebPageProxy.cpp:
(WebKit):
(WebKit::WebPageProxy::pageTransitionViewportReady):
(WebKit::WebPageProxy::didRenderFrame):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
* UIProcess/efl/PageLoadClientEfl.cpp:
(WebKit):
(WebKit::PageLoadClientEfl::didCommitLoadForFrame):
(WebKit::PageLoadClientEfl::PageLoadClientEfl):
* UIProcess/efl/PageLoadClientEfl.h:
(PageLoadClientEfl):
* UIProcess/qt/WebPageProxyQt.cpp:
(WebKit):
(WebKit::WebPageProxy::setUserScripts):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCompletePageTransition):

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

7 years agoAdd support for resolution media query
kenneth@webkit.org [Tue, 23 Oct 2012 15:15:43 +0000 (15:15 +0000)]
Add support for resolution media query
https://bugs.webkit.org/show_bug.cgi?id=99077

Reviewed by Antti Koivisto.

.:

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

    Add support for the RESOLUTION_MEDIA_QUERY feature flag.

* Source/autotools/symbols.filter:

    Export the WebCore::Settings setting.

Source/WebCore:

Add support for 'resolution' media query feature.

Background info:
http://www.w3.org/blog/CSS/2012/06/14/unprefix-webkit-device-pixel-ratio

Related spec links:
http://www.w3.org/TR/css3-mediaqueries/#resolution (recommendation)
http://www.w3.org/TR/css3-values/#resolution (candidate recommentation)

Add infrastructure to make it testable.

Test: fast/media/mq-resolution.html

* css/CSSParser.cpp:
(WebCore::CSSParser::validUnit):
(WebCore::CSSParser::createPrimitiveNumericValue):
(WebCore::CSSParser::parseValidPrimitive):
(WebCore::CSSParser::detectNumberToken):
* css/CSSParser.h:
* css/CSSPrimitiveValue.cpp:
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::unitCategory):
(WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
(WebCore::CSSPrimitiveValue::customCssText):
(WebCore::CSSPrimitiveValue::cloneForCSSOM):
* css/CSSPrimitiveValue.h:

    Enable dpi, dpcm and dppx units when RESOLUTION_MEDIA_QUERY
    is enabled.

* WebCore.exp.in:

    Export the WebCore::Settings setting.

* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isDotsPerInch):
(WebCore::CSSPrimitiveValue::isDotsPerPixel):
(WebCore::CSSPrimitiveValue::isDotsPerCentimeter):
(CSSPrimitiveValue):

    Add function for checking the recently added density types.

* css/MediaFeatureNames.h:
(MediaFeatureNames):

    Add support for resolution, min-resolution and max-resolution.

* css/MediaQueryEvaluator.cpp:
(WebCore::compareResolution): Add methods for comparing resolutions.
(WebCore):
(WebCore::resolutionMediaFeatureEval):
(WebCore::min_resolutionMediaFeatureEval):
(WebCore::max_resolutionMediaFeatureEval):

    Implement the resolution method evaluation.

* css/MediaQueryExp.cpp:
(WebCore::featureWithValidPositiveDensity):
(WebCore):
(WebCore::featureWithoutValue):
(WebCore::MediaQueryExp::MediaQueryExp):

    Hook up resolution with the right pre-checks.

       * page/Screen.cpp:
(WebCore::Screen::horizontalDPI):
(WebCore::Screen::verticalDPI):

    Check whether an override exists, and if so, uses it.
    If not calculate the value given the device scale factor.

* page/Settings.cpp:
(WebCore::Settings::setResolutionOverride):
(WebCore):
* page/Settings.h:
(Settings):
(WebCore::Settings::resolutionOverride):

    Add a resolution override to settings.

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setResolutionOverride):
(WebCore):
* testing/InternalSettings.h:
(Backup):
(InternalSettings):
* testing/InternalSettings.idl:

    Add a new setResolutionOverride method to internals.settings.

Source/WebKit/chromium:

Add support for the RESOLUTION_MEDIA_QUERY feature flag.

* features.gypi:

Source/WebKit/mac:

Add support for the RESOLUTION_MEDIA_QUERY feature flag.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* win/WebKit2.def:

    Add exports for the WebCore::Settings setting.

* Configurations/FeatureDefines.xcconfig:

    Add support for the RESOLUTION_MEDIA_QUERY feature flag.

Tools:

Add support for the RESOLUTION_MEDIA_QUERY feature flag.

* Scripts/webkitperl/FeatureList.pm:
* qmake/mkspecs/features/features.pri:

LayoutTests:

Test (resolution: x) media query to ensure compliance
with spec plus proposed dppx values.

* fast/media/mq-resolution-expected.txt: Added.
* fast/media/mq-resolution.html: Added.

* LayoutTests/platform/mac/TestExpectations:
* LayoutTests/platform/chromium/TestExpectations:

    Skip the test as the ports do not enable CSS Image Resolution.

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

7 years ago[Qt][WK2] Unreviewed gardening.
ossy@webkit.org [Tue, 23 Oct 2012 15:11:03 +0000 (15:11 +0000)]
[Qt][WK2] Unreviewed gardening.

* platform/qt-5.0-wk2/http/tests/navigation/forward-and-cancel-expected.txt:

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

7 years agoAdding myself to commiters.py
bruno.abinader@basyskom.com [Tue, 23 Oct 2012 15:09:02 +0000 (15:09 +0000)]
Adding myself to commiters.py
https://bugs.webkit.org/show_bug.cgi?id=100122

Unreviewed update to commiters.py.

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

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

7 years ago[BlackBerry] Let WebKit manage the SelectionOverlay
anilsson@rim.com [Tue, 23 Oct 2012 14:52:17 +0000 (14:52 +0000)]
[BlackBerry] Let WebKit manage the SelectionOverlay
https://bugs.webkit.org/show_bug.cgi?id=99585

Reviewed by Rob Buis.

The SelectionOverlay was exposed to clients of the BlackBerry::WebKit
API. However, all the information and notifications necessary to manage
the SelectionOverlay are available within WebKit, so the client does
not have to shoulder this responsibility.

Remove WebSelection and all the related plumbing. Now that nobody is
using the class from the user interface thread, remove the message
related code in SelectionOverlay.

Add two calls to SelectionOverlay::hide() that are necessary now that
the client is no longer responsible for hiding it.

RIM PR: 225789

Reviewed internally by Mike Fenton.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
* Api/WebPage.h:
(WebKit):
* Api/WebPage_p.h:
(WebPagePrivate):
* Api/WebSelectionOverlay.h: Removed.
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::cancelSelection): Hide the overlay here, because state is reset and selection mode is no longer active
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged): Also hide overlay here, to go with the call to cancelSelectionVisuals
* WebKitSupport/SelectionOverlay.cpp:
(BlackBerry::WebKit::SelectionOverlay::SelectionOverlay):
* WebKitSupport/SelectionOverlay.h:
(BlackBerry::WebKit::SelectionOverlay::create):
(SelectionOverlay):

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

7 years ago[chromium] Expose setAutomaticallyComputeRasterScale on the WebLayer API
danakj@chromium.org [Tue, 23 Oct 2012 14:51:28 +0000 (14:51 +0000)]
[chromium] Expose setAutomaticallyComputeRasterScale on the WebLayer API
https://bugs.webkit.org/show_bug.cgi?id=100013

Reviewed by James Robinson.

This allows web content to opt-in to having their contentsScale
determined from their CSS transforms, without having this behaviour
unconditionally enabled globally.

Supports http://crbug.com/149943

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

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

7 years ago[Qt] Port QWebPreferences to C++
allan.jensen@digia.com [Tue, 23 Oct 2012 14:49:56 +0000 (14:49 +0000)]
[Qt] Port QWebPreferences to C++
https://bugs.webkit.org/show_bug.cgi?id=100121

Reviewed by Kenneth Rohde Christiansen.

Port all the WebPreference calls to using the direct API instead of going through
the auto-generated C API.

* UIProcess/API/qt/qwebpreferences.cpp:
(QWebPreferencesPrivate::testAttribute):
(QWebPreferencesPrivate::setAttribute):
(QWebPreferencesPrivate::setFontFamily):
(QWebPreferencesPrivate::fontFamily):
(QWebPreferencesPrivate::setFontSize):
(QWebPreferencesPrivate::fontSize):
(QWebPreferencesPrivate::preferences):
* UIProcess/API/qt/qwebpreferences_p_p.h:

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

7 years agoUnreviewed watchlist change to monitor Inspector IDLs.
timothy@apple.com [Tue, 23 Oct 2012 14:41:19 +0000 (14:41 +0000)]
Unreviewed watchlist change to monitor Inspector IDLs.

* Scripts/webkitpy/common/config/watchlist:

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

7 years ago[EFL][WK2] Convert WebEvent's timestamp from millisecond to second.
commit-queue@webkit.org [Tue, 23 Oct 2012 14:32:08 +0000 (14:32 +0000)]
[EFL][WK2] Convert WebEvent's timestamp from millisecond to second.
https://bugs.webkit.org/show_bug.cgi?id=100101

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Convert timestamp to second to create WebEvent from Evas event because
the unit of timestamp from Evas Event is millisecond, but the unit of
timestamp for WebEvent is second.

* Shared/efl/WebEventFactory.cpp:
(WebKit::convertMillisecondToSecond):
(WebKit):
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):

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

7 years ago[BlackBerry] Improve the use of stencil buffer during compositing
commit-queue@webkit.org [Tue, 23 Oct 2012 14:29:18 +0000 (14:29 +0000)]
[BlackBerry] Improve the use of stencil buffer during compositing
https://bugs.webkit.org/show_bug.cgi?id=100020

We always want to scissor so remove the define.
Only turn stenciling on if needed.

Patch by Filip Spacek <fspacek@rim.com> on 2012-10-23
Reviewed by Rob Buis.

Reviewed internally by Arvid Nilsson.

* platform/graphics/blackberry/LayerRenderer.cpp:
(WebCore::LayerRenderer::setViewport):
(WebCore::LayerRenderer::compositeLayers):
(WebCore::LayerRenderer::drawLayersOnSurfaces):
(WebCore::LayerRenderer::compositeLayersRecursive):
(WebCore::LayerRenderer::updateScissorIfNeeded):

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

7 years ago[Qt] Unreviewed holiday gardening to paint the bots green.
ossy@webkit.org [Tue, 23 Oct 2012 14:10:40 +0000 (14:10 +0000)]
[Qt] Unreviewed holiday gardening to paint the bots green.

* platform/qt-5.0-wk2/http/tests/navigation/forward-and-cancel-expected.txt: Added after r132041.
* platform/qt-5.0-wk2/http/tests/navigation/postredirect-frames-expected.txt: Added after r132041.
* platform/qt-5.0-wk2/http/tests/navigation/postredirect-goback2-expected.txt: Added after r132041.
* platform/qt/TestExpectations: Skip new failing tests.

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

7 years ago[EFL][WK2] Make request manager client a C++ class
commit-queue@webkit.org [Tue, 23 Oct 2012 13:52:13 +0000 (13:52 +0000)]
[EFL][WK2] Make request manager client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100093

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Make EFL's request manager client a C++ class and
move URL scheme handling code to it. The new
RequestManagerClientEfl is now in UIProcess/efl
instead of UIProcess/API/efl since it is not
part of the public API.

* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
(Ewk_Context::requestManager):
(ewk_context_url_scheme_register):
* UIProcess/API/efl/ewk_context_private.h:
(WebKit):
(Ewk_Context):
* UIProcess/efl/RequestManagerClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client.cpp.
(WebKit):
(Ewk_Url_Scheme_Handler):
(WebKit::Ewk_Url_Scheme_Handler::Ewk_Url_Scheme_Handler):
(WebKit::toRequestManagerClientEfl):
(WebKit::RequestManagerClientEfl::didReceiveURIRequest):
(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
(WebKit::RequestManagerClientEfl::~RequestManagerClientEfl):
(WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
* UIProcess/efl/RequestManagerClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_request_manager_client_private.h.
(WebKit):
(RequestManagerClientEfl):
(WebKit::RequestManagerClientEfl::create):

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

7 years agoNot reviewed: kick out non-chromium files from WebCore.gypi.
pfeldman@chromium.org [Tue, 23 Oct 2012 13:43:43 +0000 (13:43 +0000)]
Not reviewed: kick out non-chromium files from WebCore.gypi.

* WebCore.gypi:

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

7 years agoUnreviewed. Update NEWS and configure.ac for 1.11.1 release
carlosgc@webkit.org [Tue, 23 Oct 2012 13:40:54 +0000 (13:40 +0000)]
Unreviewed. Update NEWS and configure.ac for 1.11.1 release

.:

* configure.ac: Bump version numbers.

Source/WebKit/gtk:

* NEWS: Added release notes for 1.11.1.

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

7 years agoUnreviewed. Fix make distcheck.
carlosgc@webkit.org [Tue, 23 Oct 2012 13:37:26 +0000 (13:37 +0000)]
Unreviewed. Fix make distcheck.

* GNUmakefile.list.am: Add missing header file.

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

7 years ago[EFL][WK2] ecore_x should be initialised in WebProcess to avoid re-initialization...
commit-queue@webkit.org [Tue, 23 Oct 2012 13:20:02 +0000 (13:20 +0000)]
[EFL][WK2] ecore_x should be initialised in WebProcess to avoid re-initialization by PlatformScreenEfl utilities and systemBeep() function
https://bugs.webkit.org/show_bug.cgi?id=100110

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Removed initialization of ecore_x, since it is initialized when process starts.

test: fast/media/*

* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenDepth):
(WebCore::screenRect):
* platform/efl/SoundEfl.cpp:
(WebCore::systemBeep):

Source/WebKit2:

PlatformScreenEfl functions and systemBeep() depend on ecore_x functionality, therefore,
ecore_x should be initialized when web process starts to avoid re-initialization.

* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl): Initialized ecore_x module.

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

7 years agoAlways parse pasted fragments as HTML even on XHTML pages
adamk@chromium.org [Tue, 23 Oct 2012 13:06:32 +0000 (13:06 +0000)]
Always parse pasted fragments as HTML even on XHTML pages
https://bugs.webkit.org/show_bug.cgi?id=99880

Reviewed by Ojan Vafai.

Source/WebCore:

When pasting HTML into a page, using the XML parser is unlikely
to work correctly, as the contents of the clipboard are unlikely
to be properly-formed XHTML. Thus, for the pasting case, it's always
better to use HTML parsing, which will properly parse either HTML
(which is what's usually in the clipboard) or XHTML (which is
sometimes there as well).

The Mac port previously worked around this problem by falling back to plain text
when parsing failed, but switching to HTML seems like a clear improvement.

This also fixes a crash in Chromium (see http://webkit.org/b/99607
and http://crbug.com/136218); it erroneously assumed that createFragmentFromMarkup()
would never return null. This patch makes that true.

* editing/markup.cpp:
(WebCore::createFragmentFromMarkup): Don't delegate to createContextualFragment:
we already know our context element is safe (i.e., it's <body>),
and we want to force HTML (not XML) parsing.

LayoutTests:

Updated existing tests to match new expected behavior.

* editing/pasteboard/paste-noscript-xhtml-expected.txt: The HTML
parser leaves <script> tags in the DOM when pasting, but removes their
attributes and children, so this is just as safe as the previous
behavior.
* platform/mac/editing/pasteboard/paste-xml-expected.txt: Now that we
use the HTML parser, parsing the paste succeeds and so we insert DOM
instead of plain text. Similar rebaselines may be needed on other
platforms.

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

7 years ago[EFL][WK2] Add support for IMF composition
ryuan.choi@samsung.com [Tue, 23 Oct 2012 12:34:51 +0000 (12:34 +0000)]
[EFL][WK2] Add support for IMF composition
https://bugs.webkit.org/show_bug.cgi?id=89552

Reviewed by Gyuyoung Kim.

.:

* Source/cmake/FindEcore.cmake: Checked Ecore_IMF.

Source/WebKit2:

Implemented basic IMF support.

* PlatformEfl.cmake:
* Shared/NativeWebKeyboardEvent.h:
(NativeWebKeyboardEvent):
(WebKit::NativeWebKeyboardEvent::isFiltered):
Added to determine whether current keyboard event is compositing.
* Shared/efl/NativeWebKeyboardEventEfl.cpp:
(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::updateTextInputState):
Added to change input state.
* UIProcess/API/efl/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/efl/ewk_main.cpp:
(ewk_init): Called ecore_imf_init.
(ewk_shutdown): Called ecore_imf_shutdown.
* UIProcess/API/efl/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::_Ewk_View_Private_Data):
(_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
(_ewk_view_smart_key_down): Modified to send keyboard event to IMF.
(_ewk_view_smart_mouse_up): Modified to reset input method context.
(_ewk_view_preedit_changed): Added to send composition string.
(_ewk_view_commit): Added to send a message that composition is finished.
(_ewk_view_imf_context_create): Added to create Ecore_IMF_Context.
(_ewk_view_imf_context_destroy): Added to destroy Ecore_IMF_Context.
(ewk_view_text_input_state_update): Added to update input state.
* UIProcess/API/efl/ewk_view_private.h:
* UIProcess/PageClient.h: Moved updateTextInputState() to share with EFL port.
(PageClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::editorStateChanged):
Added PLATFORM(EFL) to call updateTextInputState()
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
Added HandleInputMethodKeydown message to determine whether keydown is handled.
* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::handleInputMethodKeydown):
Added to check whether input method handled keydown.
(WebKit::WebPageProxy::confirmComposition): Added to support composition.
(WebKit::WebPageProxy::setComposition): Ditto.
(WebKit::WebPageProxy::cancelComposition): Ditto.
* WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
(WebKit::WebEditorClient::handleInputMethodKeydown):
Added to check whether input method handled keydown.
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in: Added messages to support composition.
* WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::targetFrameForEditing): Referenced from QT port to get focused frame.
(WebKit::WebPage::confirmComposition): Added to support composition.
(WebKit::WebPage::setComposition): Ditto.
(WebKit::WebPage::cancelComposition): Ditto.

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

7 years ago[EFL] Make plugin process debugging easier (PLUGIN_PROCESS_COMMAND_PREFIX)
commit-queue@webkit.org [Tue, 23 Oct 2012 12:33:04 +0000 (12:33 +0000)]
[EFL] Make plugin process debugging easier (PLUGIN_PROCESS_COMMAND_PREFIX)
https://bugs.webkit.org/show_bug.cgi?id=99297

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Add support for PLUGIN_PROCESS_COMMAND_PREFIX environment variable, to allow easier
plugin debugging with e.g.:
$ PLUGIN_PROCESS_COMMAND_PREFIX="xterm gdb --args" MiniBrowser

* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
(WebKit):

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

7 years ago[EFL][WK2] Make Policy client a C++ class
commit-queue@webkit.org [Tue, 23 Oct 2012 12:31:45 +0000 (12:31 +0000)]
[EFL][WK2] Make Policy client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100089

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Make page policy client a C++ class and remove it from API folder.

* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(_ewk_view_initialize):
* UIProcess/efl/PagePolicyClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client.cpp.
(WebKit):
(WebKit::toPagePolicyClientEfl):
(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
(WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
(WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback):
(WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
* UIProcess/efl/PagePolicyClientEfl.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client_private.h.
(WebKit):
(PagePolicyClientEfl):
(WebKit::PagePolicyClientEfl::create):
(WebKit::PagePolicyClientEfl::view):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 23 Oct 2012 12:30:46 +0000 (12:30 +0000)]
Unreviewed GTK gardening.

Fixing failure expectation for fast/sub-pixel/file-upload-control-at-fractional-offset.html,
the test is a reftest so the expectation should be ImageOnlyFailure.

* platform/gtk/TestExpectations:

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

7 years ago[WK2] [WTR] WebKitTestRunner needs testRunner.queueForwardNavigation
commit-queue@webkit.org [Tue, 23 Oct 2012 12:12:50 +0000 (12:12 +0000)]
[WK2] [WTR] WebKitTestRunner needs testRunner.queueForwardNavigation
https://bugs.webkit.org/show_bug.cgi?id=99700

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Tools:

Implemented testRunner.queueForwardNavigation, made little refactoring in Work Queue
to obviate code duplication.

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::queueBackNavigation):
(WTR):
(WTR::InjectedBundle::queueForwardNavigation):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::queueForwardNavigation):
(WTR):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/WorkQueueManager.cpp:
(NavigationItem):
(WTR::NavigationItem::NavigationItem):
(WTR::NavigationItem::invoke):
(WTR):
(WTR::WorkQueueManager::queueBackNavigation):
(WTR::WorkQueueManager::queueForwardNavigation):
* WebKitTestRunner/WorkQueueManager.h:
(WorkQueueManager):

LayoutTests:

Unskipped http/tests/cache/subresource-failover-to-network.html for WK2 ports.

* platform/wk2/TestExpectations:

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

7 years ago[Qt] REGRESSION (r130851): fast/text/word-space-with-kerning.html fails
allan.jensen@digia.com [Tue, 23 Oct 2012 12:10:10 +0000 (12:10 +0000)]
[Qt] REGRESSION (r130851): fast/text/word-space-with-kerning.html fails
https://bugs.webkit.org/show_bug.cgi?id=98876

Reviewed by Simon Hausmann.

Source/WebCore:

Do not add word-spacing for leading space. This matches what simple path font-width does.

Tested by existing tests.

* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::floatWidthForComplexText):

LayoutTests:

Unskip passing word-width tests.

* platform/qt/TestExpectations:

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

7 years agoviewport-128-expected.txt has been removed unexpectedly.
commit-queue@webkit.org [Tue, 23 Oct 2012 12:08:59 +0000 (12:08 +0000)]
viewport-128-expected.txt has been removed unexpectedly.
https://bugs.webkit.org/show_bug.cgi?id=100108

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-10-23
Reviewed by Gyuyoung Kim.

viewport-128-expected.txt has been removed by http://trac.webkit.org/changeset/132186 unexpectedly.

* fast/viewport/viewport-128-expected.txt: Added.

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

7 years ago[EFL][WK2] Make UI client a C++ class
commit-queue@webkit.org [Tue, 23 Oct 2012 11:41:41 +0000 (11:41 +0000)]
[EFL][WK2] Make UI client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100099

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-23
Reviewed by Gyuyoung Kim.

Made page UI client a C++ class and removed it from API directory.

* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(_ewk_view_initialize):
* UIProcess/API/efl/ewk_view_ui_client.cpp: Removed.
* UIProcess/API/efl/ewk_view_ui_client_private.h: Removed.
* UIProcess/efl/PageUIClientEfl.cpp: Added.
(WebKit):
(WebKit::toPageUIClientEfl):
(WebKit::PageUIClientEfl::closePage):
(WebKit::PageUIClientEfl::createNewPage):
(WebKit::PageUIClientEfl::runJavaScriptAlert):
(WebKit::PageUIClientEfl::runJavaScriptConfirm):
(WebKit::PageUIClientEfl::runJavaScriptPrompt):
(WebKit::PageUIClientEfl::showColorPicker):
(WebKit::PageUIClientEfl::hideColorPicker):
(WebKit::PageUIClientEfl::exceededDatabaseQuota):
(WebKit::PageUIClientEfl::focus):
(WebKit::PageUIClientEfl::unfocus):
(WebKit::PageUIClientEfl::takeFocus):
(WebKit::PageUIClientEfl::getWindowFrame):
(WebKit::PageUIClientEfl::setWindowFrame):
(WebKit::PageUIClientEfl::PageUIClientEfl):
* UIProcess/efl/PageUIClientEfl.h: Added.
(WebKit):
(PageUIClientEfl):
(WebKit::PageUIClientEfl::create):

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

7 years agoWeb Inspector: Incorrect resolution of relative URLs containing a scheme in query...
apavlov@chromium.org [Tue, 23 Oct 2012 11:36:16 +0000 (11:36 +0000)]
Web Inspector: Incorrect resolution of relative URLs containing a scheme in query parameters
https://bugs.webkit.org/show_bug.cgi?id=100084

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Use the RFC 3986 grammar for the URL scheme.

* inspector/front-end/ParsedURL.js:
(WebInspector.ParsedURL):

LayoutTests:

* inspector/styles/styles-url-linkify-expected.txt:
* inspector/styles/styles-url-linkify.html:

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

7 years ago[WK2] REGRESSION(r132169): It broke all plugin related test.
kling@webkit.org [Tue, 23 Oct 2012 11:27:20 +0000 (11:27 +0000)]
[WK2] REGRESSION(r132169): It broke all plugin related test.
<http://webkit.org/b/100094>

Unreviewed test fix, make the CoreIPC encode/decode functions for CString match again.

* Platform/CoreIPC/ArgumentCoders.cpp:
(CoreIPC::::encode):

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

7 years ago[EFL][WK2] Make a download client a C++ class
commit-queue@webkit.org [Tue, 23 Oct 2012 10:53:37 +0000 (10:53 +0000)]
[EFL][WK2] Make a download client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100005

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Make EFL's Download client a C++ class and move
the id <-> download mapping from Ewk_Context to
DownloadManagerEfl.

The Download client was also moved to
UIProcess/efl/ instead of UIProcess/API/efl/
since it is not part of the public API.

* PlatformEfl.cmake:
* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest):
* UIProcess/API/efl/ewk_context.cpp:
(Ewk_Context::Ewk_Context):
(Ewk_Context::downloadManager):
* UIProcess/API/efl/ewk_context_download_client_private.h: Removed.
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
* UIProcess/API/efl/ewk_download_job_private.h:
* UIProcess/efl/DownloadManagerEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_context_download_client.cpp.
(WebKit):
(WebKit::toDownloadManagerEfl):
(WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
(WebKit::DownloadManagerEfl::didReceiveResponse):
(WebKit::DownloadManagerEfl::didCreateDestination):
(WebKit::DownloadManagerEfl::didReceiveData):
(WebKit::DownloadManagerEfl::didFail):
(WebKit::DownloadManagerEfl::didCancel):
(WebKit::DownloadManagerEfl::didFinish):
(WebKit::DownloadManagerEfl::DownloadManagerEfl):
(WebKit::DownloadManagerEfl::registerDownload):
(WebKit::DownloadManagerEfl::downloadJob):
(WebKit::DownloadManagerEfl::unregisterDownloadJob):
* UIProcess/efl/DownloadManagerEfl.h: Added.
(WebKit):
(DownloadManagerEfl):
(WebKit::DownloadManagerEfl::create):

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

7 years agoWeb Inspector: Elaborate source panel sidebar context menus.
commit-queue@webkit.org [Tue, 23 Oct 2012 10:45:29 +0000 (10:45 +0000)]
Web Inspector: Elaborate source panel sidebar context menus.
https://bugs.webkit.org/show_bug.cgi?id=99980

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-10-23
Reviewed by Vsevolod Vlasov.

- Watches: add "Add watch expression" item to items and empty element
- Watches: hide "Remove watch expression" from editing prompt context menu
- Watches: add titles to header buttons
- XHR Breakpoints: add "Add Breakpoint" item to items and empty element
- XHR Breakpoints: add "Remove all breakpoints" item to items (when >1)
- XHR Breakpoints: add title to header button
- JS Breakpoints: hide "Remove/(De)Activate breakpoints" when only 1 item present
- JS Breakpoints: add "(De)Activate breakpoints" to empty element context menu

* English.lproj/localizedStrings.js: Added corresponding strings.
* inspector/front-end/BreakpointsSidebarPane.js: Adjusted context menu.
(WebInspector.XHRBreakpointsSidebarPane): Ditto.
* inspector/front-end/ObjectPropertiesSection.js: Added "isEditing()"
* inspector/front-end/WatchExpressionsSidebarPane.js: Adjusted context menu.

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

7 years agoUpdate binding test results for r132194
tkent@chromium.org [Tue, 23 Oct 2012 10:14:30 +0000 (10:14 +0000)]
Update binding test results for r132194
https://bugs.webkit.org/show_bug.cgi?id=100097

* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::V8TestObj::installPerContextProperties):

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

7 years agoWeb Inspector: Sass can only resolve same folder paths
apavlov@chromium.org [Tue, 23 Oct 2012 10:05:33 +0000 (10:05 +0000)]
Web Inspector: Sass can only resolve same folder paths
https://bugs.webkit.org/show_bug.cgi?id=99259

Reviewed by Vsevolod Vlasov.

The actual reason is that the rule source location linkifier tries to linkify a resource (*.scss), which does not exist,
and falls back to just stripping the main page URL prefix from the rule location URL. This change introduces LiveLocations
for CSSRule locations and makes sure they are linkified using uiSourceCode's parsedURL.displayName.

* inspector/front-end/CSSStyleModel.js:
(WebInspector.CSSStyleModel): Introduced LiveLocation management for CSSRules.
(WebInspector.CSSStyleModel.prototype.setSourceMapping):
(WebInspector.CSSStyleModel.prototype._updateLocations):
(WebInspector.CSSStyleModel.prototype.createLiveLocation):
(WebInspector.CSSStyleModel.prototype.updateLocations):
(WebInspector.CSSStyleModel.LiveLocation): A LiveLocation for the CSS domain.
(WebInspector.CSSStyleModel.LiveLocation.prototype.uiLocation):
(WebInspector.CSSStyleModel.LiveLocation.prototype.dispose):
* inspector/front-end/Linkifier.js:
(WebInspector.Linkifier.prototype.linkifyCSSRuleLocation): CSSRule LiveLocation-based link builder.
(WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor): Add a title for anchors.
(WebInspector.Linkifier.DefaultCSSFormatter): Formatter for CSS location links.
(WebInspector.Linkifier.DefaultCSSFormatter.prototype.formatLiveAnchor):
* inspector/front-end/ResourceUtils.js:
(WebInspector.displayNameForURL): Use parsedURL.displayName if uiSourceCode is present for the specified URL.
* inspector/front-end/SASSSourceMapping.js:
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane):
(WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
* inspector/front-end/inspector.html:

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

7 years agoUnreviewed, rolling out r132149.
commit-queue@webkit.org [Tue, 23 Oct 2012 09:58:16 +0000 (09:58 +0000)]
Unreviewed, rolling out r132149.
http://trac.webkit.org/changeset/132149
https://bugs.webkit.org/show_bug.cgi?id=100098

Breaks inspector profiler tests in debug mode. (Requested by
pfeldman1 on #webkit).

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

Source/WebCore:

* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::recalcColumn):
* rendering/FixedTableLayout.cpp:
(WebCore::FixedTableLayout::calcWidthArray):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::styleDidChange):
(WebCore::RenderTableCol::updateFromElement):
(WebCore::RenderTableCol::computePreferredLogicalWidths):
* rendering/RenderTableCol.h:
(RenderTableCol):

LayoutTests:

* fast/table/col-span-change-relayout-expected.txt: Removed.
* fast/table/col-span-change-relayout.html: Removed.

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

7 years agoUnreviewed trivial Qt build fix: Fix build without USE_3D_GRAPHICS
hausmann@webkit.org [Tue, 23 Oct 2012 09:49:56 +0000 (09:49 +0000)]
Unreviewed trivial Qt build fix: Fix build without USE_3D_GRAPHICS

Source/WebCore:

Move the #if USE(GRAPHICS_SURFACE) up to protect the inclusion of
GraphicsContext3D.h to be done only if we use the surface.

* platform/graphics/surfaces/GraphicsSurface.h:

Tools:

Disable USE_GRAPHICS_SURFACE if we don't have USE_3D_GRAPHICS because
GraphicsSurface.h needs GraphicsContext3D.

* qmake/mkspecs/features/features.prf:

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

7 years agoUnreviewed, rolling out r132033.
commit-queue@webkit.org [Tue, 23 Oct 2012 09:47:34 +0000 (09:47 +0000)]
Unreviewed, rolling out r132033.
http://trac.webkit.org/changeset/132033
https://bugs.webkit.org/show_bug.cgi?id=100097

Broke calendar picker (Requested by tkent on #webkit).

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

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

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

7 years agoRemove devicePixelRatio from ViewportAttributes
abecsi@webkit.org [Tue, 23 Oct 2012 09:15:12 +0000 (09:15 +0000)]
Remove devicePixelRatio from ViewportAttributes
https://bugs.webkit.org/show_bug.cgi?id=99845

Reviewed by Adam Barth.

.:

* Source/autotools/symbols.filter: Update symbol.

Source/WebCore:

Since r121555 the devicePixelRatio is not calculated any more
and the scale factor is stored in Page::m_deviceScaleFactor,
thus it can be removed from ViewportAttributes to reduce
redundancy and unnecessary client code.
Use a new parameter in viewport calculation functions using
the visible viewport size (instead of passing the adjusted
viewport size) so that after this change clients do not end
up using the unadjusted viewport size for calculations.

No behavioural change, no new tests needed.

* WebCore.exp.in:
* dom/ViewportArguments.cpp:
(WebCore::computeViewportAttributes):
(WebCore::computeMinimumScaleFactorForContentContained):
Add the devicePixelRatio as a parameter.
(WebCore::restrictMinimumScaleFactorToViewportSize): Ditto.
* dom/ViewportArguments.h:
(ViewportAttributes):
(WebCore):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::configurationForViewport):

Source/WebKit/efl:

* ewk/ewk_view.cpp:
(_ewk_view_viewport_attributes_compute):
Pass the device pixel ratio as a function argument.

Source/WebKit/gtk:

* webkit/webkitviewportattributes.cpp:
(webkitViewportAttributesRecompute):
Pass the device pixel ratio as a function argument.

Source/WebKit/qt:

Pass the device pixel ratio as a function argument to
match the new API.

* Api/qwebpage.cpp:
(QWebPage::viewportAttributesForSize):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::viewportAsText):

Source/WebKit2:

Update PageViewportController and co. to pass the device pixel ratio
as an argument to functions that need to adjust the visible viewport size.

* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):

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

7 years ago[EFL][WK2] Refactor Ewk_Context
commit-queue@webkit.org [Tue, 23 Oct 2012 08:40:53 +0000 (08:40 +0000)]
[EFL][WK2] Refactor Ewk_Context
https://bugs.webkit.org/show_bug.cgi?id=99594

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Ewk_Context is now encapsulated to a C++ class inherited from WTF::RefCounted.
Also the same instance of Ewk_Context is returned for the same instance of
WKContext, so memory leak in ewk_view is also fixed.

* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest):
* UIProcess/API/efl/ewk_context.cpp:
(contextMap):
(Ewk_Context::Ewk_Context):
(Ewk_Context::~Ewk_Context):
(Ewk_Context::create):
(Ewk_Context::defaultContext):
(Ewk_Context::cookieManager):
(Ewk_Context::faviconDatabase):
(Ewk_Context::registerURLScheme):
(Ewk_Context::vibrationProvider):
(Ewk_Context::addVisitedLink):
(Ewk_Context::setCacheModel):
(Ewk_Context::cacheModel):
(ewk_context_ref):
(ewk_context_unref):
(ewk_context_cookie_manager_get):
(ewk_context_favicon_database_get):
(Ewk_Context::wkContext):
(Ewk_Context::addDownloadJob):
(Ewk_Context::downloadJob):
(Ewk_Context::removeDownloadJob):
(Ewk_Context::requestManager):
(Ewk_Context::urlSchemeRequestReceived):
(ewk_context_default_get):
(ewk_context_new):
(ewk_context_new_with_injected_bundle_path):
(ewk_context_url_scheme_register):
(ewk_context_vibration_client_callbacks_set):
(ewk_context_history_callbacks_set):
(ewk_context_visited_link_add):
(ewk_context_cache_model_set):
(ewk_context_cache_model_get):
* UIProcess/API/efl/ewk_context_download_client.cpp:
(decideDestinationWithSuggestedFilename):
(didReceiveResponse):
(didCreateDestination):
(didReceiveData):
(didFail):
(didCancel):
(didFinish):
(ewk_context_download_client_attach):
* UIProcess/API/efl/ewk_context_history_client.cpp:
(getEwkHistoryClient):
(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):
(populateVisitedLinks):
(ewk_context_history_client_attach):
* UIProcess/API/efl/ewk_context_private.h:
(Ewk_Context):
(Ewk_Context::historyClient):
* UIProcess/API/efl/ewk_context_request_manager_client.cpp:
(didReceiveURIRequest):
(ewk_context_request_manager_client_attach):
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(Ewk_View_Private_Data::Ewk_View_Private_Data):
(Ewk_View_Private_Data::~Ewk_View_Private_Data):
(_ewk_view_priv_del):
(_ewk_view_initialize):
(ewk_view_base_add):
(ewk_view_add_with_context):
(ewk_view_context_get):
(ewk_view_update_icon):

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

7 years agoUnreviewed build fix with newer Qt 5.
hausmann@webkit.org [Tue, 23 Oct 2012 08:25:46 +0000 (08:25 +0000)]
Unreviewed build fix with newer Qt 5.

QPlastiqueStyle has been removed, but as pointed out by Jens it's also not
maintained anymore and hence safe to remove. We can do tweaks with the new
fusion style if required.

* WebCoreSupport/QStyleFacadeImp.cpp:
(WebKit::QStyleFacadeImp::paintInnerSpinButton):

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

7 years ago[Qt] Unreviewed holiday gardening.
ossy@webkit.org [Tue, 23 Oct 2012 08:25:39 +0000 (08:25 +0000)]
[Qt] Unreviewed holiday gardening.

* platform/qt/TestExpectations: Skip new tests (and sort) because ENABLE(SHADOW_DOM) is disabled.

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

7 years ago[EFL][WK2] Make page load client a C++ class
commit-queue@webkit.org [Tue, 23 Oct 2012 08:11:54 +0000 (08:11 +0000)]
[EFL][WK2] Make page load client a C++ class
https://bugs.webkit.org/show_bug.cgi?id=100081

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Make page load client a C++ class and move it
up to UIProcess/efl since it is not really part
of the public API.

* PlatformEfl.cmake:
* UIProcess/API/efl/ewk_view.cpp:
(Ewk_View_Private_Data):
(_ewk_view_initialize):
* UIProcess/API/efl/ewk_view_loader_client_private.h: Removed.
* UIProcess/efl/PageLoadClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_view_loader_client.cpp.
(WebKit):
(WebKit::toPageLoadClientEfl):
(WebKit::PageLoadClientEfl::didReceiveTitleForFrame):
(WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
(WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
(WebKit::PageLoadClientEfl::didChangeProgress):
(WebKit::PageLoadClientEfl::didFinishLoadForFrame):
(WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
(WebKit::PageLoadClientEfl::didChangeBackForwardList):
(WebKit::PageLoadClientEfl::didSameDocumentNavigationForFrame):
(WebKit::PageLoadClientEfl::PageLoadClientEfl):
* UIProcess/efl/PageLoadClientEfl.h: Added.
(WebKit):
(PageLoadClientEfl):
(WebKit::PageLoadClientEfl::create):
(WebKit::PageLoadClientEfl::view):

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

7 years agoUnreviewed. Adding myself as committer.
spena@igalia.com [Tue, 23 Oct 2012 08:09:46 +0000 (08:09 +0000)]
Unreviewed. Adding myself as committer.

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

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

7 years agoSupport full month names in DateTimeEditElement, and use them in input[type=month...
tkent@chromium.org [Tue, 23 Oct 2012 08:01:56 +0000 (08:01 +0000)]
Support full month names in DateTimeEditElement, and use them in input[type=month] by default
https://bugs.webkit.org/show_bug.cgi?id=100060

Reviewed by Kentaro Hara.

Source/WebCore:

According to https://plus.google.com/104770450049736549185/posts/4zsoeHoa7SM
no one wants to show abbreviated month names for input[type=month].
This change add support for full month names in DateTimeEditELement, and
LocaleICU and LocaleMac retun month formats with full month names. Note
that LocaleWin::monthFormat returns formats for full month names.

No new tests. Covered by fast/forms/month-multiple-fields/month-multiple-fields-appearance-*.html

* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditBuilder::visitField):
If count is 4, use Localizer::monthLabels or standAloneMonthLabels.
* platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::monthFormat):
Returns a format for full month names.
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::monthFormat): Ditto.

Source/WebKit/chromium:

* tests/LocaleMacTest.cpp:
(TEST_F): Follow LocaleMac::monthFormat change.
* tests/LocalizedDateICUTest.cpp:
(TEST_F): Follow LocaleICU::monthFormat change.

LayoutTests:

Note: Other affected tests are already marked in TestExpectations.

* fast/forms/month-multiple-fields/month-multiple-fields-appearance-l10n.html:
 Add max attributes to show appearance in typical usage.
* platform/chromium-mac/fast/forms/month-multiple-fields/month-multiple-fields-appearance-l10n-expected.png:
Updated.

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

7 years agoViewport errors should be slightly friendlier with regard to ';'.
mkwst@chromium.org [Tue, 23 Oct 2012 07:58:46 +0000 (07:58 +0000)]
Viewport errors should be slightly friendlier with regard to ';'.
https://bugs.webkit.org/show_bug.cgi?id=100003

Reviewed by Adam Barth.

Source/WebCore:

This patch scans viewport values that cause errors for ';'. If found,
a quick message is appended to the error, noting that semicolons are
not valid separators in viewport contents, and that commas would be
the proper substitute.

No functional changes, just a better error message.

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

LayoutTests:

* fast/viewport/viewport-128-expected.txt:
* fast/viewport/viewport-133-expected.txt:
* fast/viewport/viewport-134-expected.txt:
* fast/viewport/viewport-54-expected.txt:
* fast/viewport/viewport-65-expected.txt:
* fast/viewport/viewport-67-expected.txt:
* fast/viewport/viewport-77-expected.txt:
* fast/viewport/viewport-warnings-5-expected.txt:
    Updating tests with new expectations.

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

7 years agoDocking/undocking the Web Inspector does not work correctly in Safari.
timothy@apple.com [Tue, 23 Oct 2012 07:53:54 +0000 (07:53 +0000)]
Docking/undocking the Web Inspector does not work correctly in Safari.

The "docked" and "bottom" strings need quoted instead of being passed as identifiers.

https://bugs.webkit.org/show_bug.cgi?id=100080

Reviewed by Yury Semikhatsky.

* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::setAttachedWindow): Put quotes around the %s.

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

7 years ago[EFL][WK2] Compilation warning in GraphicsContext3DPrivate.cpp when AC is enabled
commit-queue@webkit.org [Tue, 23 Oct 2012 07:26:27 +0000 (07:26 +0000)]
[EFL][WK2] Compilation warning in GraphicsContext3DPrivate.cpp when AC is enabled
https://bugs.webkit.org/show_bug.cgi?id=99723

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-10-23
Reviewed by Kenneth Rohde Christiansen.

Fix compilation warning in GraphicsContext3DPrivate.cpp when AC is
enabled.

No new tests, no change in behavior.

* platform/graphics/efl/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::createSurface):

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

7 years agoWhen blocking localStorage, Firefox throws a security exception on access, and maybe...
commit-queue@webkit.org [Tue, 23 Oct 2012 07:24:08 +0000 (07:24 +0000)]
When blocking localStorage, Firefox throws a security exception on access, and maybe so should we
https://bugs.webkit.org/show_bug.cgi?id=63257

Patch by Dan Carney <dcarney@google.com> on 2012-10-23
Reviewed by Jochen Eisinger.

Source/WebCore:

Throw security exception when local storage is accessed
under certain circumstances to match firefox.

No new tests. Existing tests modified.

* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::canGetItemsForName):
(WebCore::JSStorage::nameGetter):
(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::getOwnPropertyNames):
* bindings/v8/custom/V8StorageCustom.cpp:
(WebCore):
(WebCore::setDOMException):
(WebCore::V8Storage::namedPropertyEnumerator):
(WebCore::storageGetter):
(WebCore::V8Storage::namedPropertyQuery):
(WebCore::storageDeleter):
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):
* storage/Storage.cpp:
* storage/Storage.h:
(WebCore):
(WebCore::Storage::length):
(WebCore::Storage::key):
(WebCore::Storage::getItem):
(WebCore::Storage::setItem):
(WebCore::Storage::removeItem):
(WebCore::Storage::clear):
(WebCore::Storage::contains):
* storage/Storage.idl:
* storage/StorageArea.h:
(StorageArea):
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::canAccessStorage): Checks whether access to storage is a security violation.
(WebCore):
(WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
(WebCore::StorageAreaImpl::length):
(WebCore::StorageAreaImpl::key):
(WebCore::StorageAreaImpl::getItem):
(WebCore::StorageAreaImpl::setItem):
(WebCore::StorageAreaImpl::removeItem):
(WebCore::StorageAreaImpl::clear):
(WebCore::StorageAreaImpl::contains):
* storage/StorageAreaImpl.h:
(StorageAreaImpl):

Source/WebKit/chromium:

Add security check and security check cache.

* src/StorageAreaProxy.cpp:
(WebCore::StorageAreaProxy::StorageAreaProxy):
(WebCore::StorageAreaProxy::length):
(WebCore::StorageAreaProxy::key):
(WebCore::StorageAreaProxy::getItem):
(WebCore::StorageAreaProxy::setItem):
(WebCore::StorageAreaProxy::removeItem):
(WebCore::StorageAreaProxy::clear):
(WebCore::StorageAreaProxy::contains):
(WebCore::StorageAreaProxy::canAccessStorage):
* src/StorageAreaProxy.h:
(StorageAreaProxy):
(WebCore::StorageAreaProxy::canAccessStorage):

LayoutTests:

Adjust tests to handle new exceptions.

* fast/storage/storage-detached-iframe-expected.txt:
* fast/storage/storage-detached-iframe.html:
* platform/chromium/permissionclient/storage-permission-expected.txt:
* platform/chromium/permissionclient/storage-permission.html:

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

7 years agoMake topCallFrame reliable.
mark.lam@apple.com [Tue, 23 Oct 2012 07:12:29 +0000 (07:12 +0000)]
Make topCallFrame reliable.
https://bugs.webkit.org/show_bug.cgi?id=98928.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

- VM entry points and the GC now uses topCallFrame.
- The callerFrame value in CallFrames are now always the previous
  frame on the stack, except for the first frame which has a
  callerFrame of 0 (not counting the HostCallFrameFlag).
  Hence, we can now traverse every frame on the stack all the way
  back to the first frame.
- GlobalExec's will no longer be used as the callerFrame values in
  call frames.
- Added fences and traps for debugging the JSStack in debug builds.

* bytecode/SamplingTool.h:
(SamplingTool):
(JSC::SamplingTool::CallRecord::CallRecord):
* dfg/DFGOperations.cpp:
- Fixed 2 DFG helper functions to flush topCallFrame as expected.
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::prepareForExternalCall):
* interpreter/CallFrame.h:
(JSC::ExecState::callerFrameNoFlags):
(ExecState):
(JSC::ExecState::argIndexForRegister):
(JSC::ExecState::getArgumentUnsafe):
* interpreter/CallFrameClosure.h:
(CallFrameClosure):
* interpreter/Interpreter.cpp:
(JSC):
(JSC::eval):
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::throwException):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::endRepeatCall):
* interpreter/Interpreter.h:
(JSC):
(Interpreter):
* interpreter/JSStack.cpp:
(JSC::JSStack::JSStack):
(JSC::JSStack::gatherConservativeRoots):
(JSC::JSStack::disableErrorStackReserve):
* interpreter/JSStack.h:
(JSC):
(JSStack):
(JSC::JSStack::installFence):
(JSC::JSStack::validateFence):
(JSC::JSStack::installTrapsAfterFrame):
* interpreter/JSStackInlines.h: Added.
(JSC):
(JSC::JSStack::getTopOfFrame):
(JSC::JSStack::getTopOfStack):
(JSC::JSStack::getStartOfFrame):
(JSC::JSStack::pushFrame):
(JSC::JSStack::popFrame):
(JSC::JSStack::generateFenceValue):
(JSC::JSStack::installFence):
(JSC::JSStack::validateFence):
(JSC::JSStack::installTrapsAfterFrame):
* jit/JITStubs.cpp:
(JSC::jitCompileFor):
(JSC::lazyLinkFor):
- Set frame->codeBlock to 0 for both the above because they are called
  with partially intitialized frames (cb uninitialized), but may
  trigger a GC.
(JSC::DEFINE_STUB_FUNCTION):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):

LayoutTests:

- Re-baseline some tests to match the new stack dump results.

* http/tests/inspector/console-resource-errors-expected.txt:
* http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt:
* http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 23 Oct 2012 05:56:53 +0000 (05:56 +0000)]
Unreviewed GTK gardening.

Removing failure for an accessibility test that's already passing.
Updating and adding expectations for subpixel tests to reflect
the current situation.

* platform/gtk/TestExpectations:

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