[Qt] WebGL content is incomplete when using multiple canvas
https://bugs.webkit.org/show_bug.cgi?id=106313

While we are using double buffering for WebGL,
we do not use a drawable that implements a mechanism
for swapping buffers.
Therefore we have to make sure that all GL commands
have been executed properly before copying the texture
onto the GraphicsSurface.

Reviewed by Simon Hausmann.

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed: A trivial fix for WebFrameTest.DivAutoZoomParamsTest after r139177.

* tests/WebFrameTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: cannot undock inspector when window size is too small
https://bugs.webkit.org/show_bug.cgi?id=106054

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-01-09
Reviewed by Pavel Feldman.

Consider dockingUnavailable flag only when dockSide is in undocked
state.

* inspector/front-end/DockController.js:
(WebInspector.DockController.prototype._updateUI.get document):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][EFL][WK2] Remove redundant device pixel ratio adjustment from PageViewportController
https://bugs.webkit.org/show_bug.cgi?id=106355

Reviewed by Kenneth Rohde Christiansen.

Since r137597 Qt uses the device pixel ratio of the underlying
platform window as the device pixel ratio in WebCore.
The tiles are rendered with the effective scale (scale adjusted with
the device scale factor) and the projection matrix is also adjusted
with the device pixel ratio when painting.
As a result we can follow the same approach as QtQuick and all the
coordinates in PageViewportController need to be in device independent
pixels (UI pixels) thus we do no longer need to adjust with the device
pixel ratio when calculating the viewport attributes.
This simplifies the logic significantly and increases robustness,
but does not allow to set a custom device pixel ratio different from
the factor of the underlying platform (eg. for testing purposes).
This patch is conceptually a follow-up of r137597 and fixes layout
and canvas size on retina display.

* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::innerBoundedViewportScale):
(WebKit::PageViewportController::outerBoundedViewportScale):
(WebKit::PageViewportController::pixelAlignedFloatPoint):
(WebKit::PageViewportController::boundContentsPosition):
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::pageTransitionViewportReady):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::visibleContentsSize):
(WebKit::PageViewportController::applyScaleAfterRenderingContents):
(WebKit::PageViewportController::updateMinimumScaleToFit):
* UIProcess/PageViewportController.h:
(WebKit::PageViewportController::currentContentsScale):
(PageViewportController):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::updateViewportSize):
Adjust the viewport size with the device pixel ratio to keep previous
behaviour.
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::focusEditableArea):
(WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
* UIProcess/qt/QtWebPageSGNode.cpp:
(WebKit::ContentsSGNode::clipRect):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendViewportAttributesChanged):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed EFL gardening.

Skipping failing tests after r139141, r139145.

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Skia] Implement GraphicsContext::fillRoundedRect() using SkCanvas::drawRRect()
https://bugs.webkit.org/show_bug.cgi?id=106366

Reviewed by Stephen White.

Source/WebCore:

Skia provides rounded-rect primitives, so we can avoid degrading fillRoundedRect() to
drawPath().

Due to subtle pixel differences (not visually noticeable), switching from drawPath() to
drawRRect() requires rebaselining some of the existing results.

No new tests: coverage provided by existing tests.

* platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContext::fillRoundedRect):
* platform/graphics/skia/PlatformContextSkia.h:
(WebCore::PlatformContextSkia::drawRRect):
(WebCore):

LayoutTests:

* platform/chromium-linux/compositing/video/video-controls-layer-creation-expected.png:
* platform/chromium-linux/fast/backgrounds/background-leakage-expected.png:
* platform/chromium-linux/fast/backgrounds/background-leakage-transforms-expected.png:
* platform/chromium-linux/fast/borders/border-radius-split-inline-expected.png:
* platform/chromium-linux/fast/borders/borderRadiusAllStylesAllCorners-expected.png:
* platform/chromium-linux/fast/borders/borderRadiusDouble03-expected.png:
* platform/chromium-linux/fast/borders/borderRadiusGroove02-expected.png:
* platform/chromium-linux/fast/borders/borderRadiusInset01-expected.png:
* platform/chromium-linux/fast/box-shadow/basic-shadows-expected.png:
* platform/chromium-linux/fast/box-shadow/box-shadow-clipped-slices-expected.png:
* platform/chromium-linux/fast/box-shadow/spread-expected.png:
* platform/chromium-linux/fast/css/box-shadow-and-border-radius-expected.png:
* platform/chromium-linux/fast/css/shadow-multiple-expected.png:
* platform/chromium-linux/fast/css/text-input-with-webkit-border-radius-expected.png:
* platform/chromium-linux/fast/hidpi/video-controls-in-hidpi-expected.png:
* platform/chromium-linux/fast/layers/video-layer-expected.png:
* platform/chromium-linux/fast/regions/full-screen-video-from-region-expected.png:
* platform/chromium-linux/fast/repaint/shadow-multiple-horizontal-expected.png:
* platform/chromium-linux/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
* platform/chromium-linux/fast/repaint/shadow-multiple-strict-vertical-expected.png:
* platform/chromium-linux/fast/repaint/shadow-multiple-vertical-expected.png:
* platform/chromium-linux/fast/transforms/shadows-expected.png:
* platform/chromium-linux/fullscreen/full-screen-stacking-context-expected.png:
* platform/chromium-linux/http/tests/media/video-buffered-range-contains-currentTime-expected.png:
* platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/background-color-applied-to-rounded-inline-element-expected.png:
* platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.png:
* platform/chromium-linux/ietestcenter/css3/bordersbackgrounds/border-radius-style-005-expected.png:
* platform/chromium-linux/media/audio-controls-rendering-expected.png:
* platform/chromium-linux/media/audio-repaint-expected.png:
* platform/chromium-linux/media/controls-after-reload-expected.png:
* platform/chromium-linux/media/controls-layout-direction-expected.png:
* platform/chromium-linux/media/controls-strict-expected.png:
* platform/chromium-linux/media/controls-styling-expected.png:
* platform/chromium-linux/media/controls-styling-strict-expected.png:
* platform/chromium-linux/media/controls-without-preload-expected.png:
* platform/chromium-linux/media/media-controls-clone-expected.png:
* platform/chromium-linux/media/media-document-audio-repaint-expected.png:
* platform/chromium-linux/media/video-controls-rendering-expected.png:
* platform/chromium-linux/media/video-display-toggle-expected.png:
* platform/chromium-linux/media/video-empty-source-expected.png:
* platform/chromium-linux/media/video-no-audio-expected.png:
* platform/chromium-linux/media/video-playing-and-pause-expected.png:
* platform/chromium-linux/media/video-zoom-controls-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
* platform/chromium-linux/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.png:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/video/video-controls-layer-creation-expected.png: Added.
* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 1/N
https://bugs.webkit.org/show_bug.cgi?id=106445

Reviewed by Vsevolod Vlasov.

The patch has almost mechanical changes.

* bindings/v8/V8Binding.cpp:
* bindings/v8/V8ValueCache.cpp:
(WTF):
(WebCore::StringCache::reportMemoryUsage):
(WebCore):
* dom/Document.cpp:
(WebCore::Document::reportMemoryUsage):
* dom/DocumentStyleSheetCollection.cpp:
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
* dom/ElementRareData.cpp:
(WebCore::ElementRareData::reportMemoryUsage):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::reportMemoryUsage):
* page/Frame.cpp:
(WebCore::Frame::reportMemoryUsage):
* page/Page.cpp:
(WebCore::Page::reportMemoryUsage):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::reportMemoryUsage):
* platform/network/FormData.cpp:
(WebCore::FormData::reportMemoryUsage):
(WebCore):
(WebCore::FormDataElement::reportMemoryUsage):
* platform/network/FormData.h:
(FormDataElement):
* rendering/RenderView.cpp:
(WebCore::RenderView::reportMemoryUsage):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::reportMemoryUsage):

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