From 284837daa07b29d6a63a748544a90b1f5842ac5c Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Mon, 10 Sep 2012 19:10:20 +0200 Subject: Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d (http://svn.webkit.org/repository/webkit/trunk@128073) New snapshot --- Tools/DumpRenderTree/chromium/WebViewHost.cpp | 50 +++++++++++++++++++-------- 1 file changed, 36 insertions(+), 14 deletions(-) (limited to 'Tools/DumpRenderTree/chromium/WebViewHost.cpp') diff --git a/Tools/DumpRenderTree/chromium/WebViewHost.cpp b/Tools/DumpRenderTree/chromium/WebViewHost.cpp index 62ee93891..55e4d84f8 100644 --- a/Tools/DumpRenderTree/chromium/WebViewHost.cpp +++ b/Tools/DumpRenderTree/chromium/WebViewHost.cpp @@ -39,14 +39,12 @@ #include "TestNavigationController.h" #include "TestShell.h" #include "TestWebPlugin.h" -#include "platform/WebCString.h" #include "WebConsoleMessage.h" #include "WebContextMenuData.h" #include "WebDOMMessageEvent.h" #include "WebDataSource.h" #include "WebDeviceOrientationClientMock.h" #include "WebDocument.h" -#include "platform/WebDragData.h" #include "WebElement.h" #include "WebFrame.h" #include "WebGeolocationClientMock.h" @@ -60,22 +58,26 @@ #include "WebPopupType.h" #include "WebPrintParams.h" #include "WebRange.h" -#include "platform/WebRect.h" #include "WebScreenInfo.h" -#include "platform/WebSerializedScriptValue.h" -#include "platform/WebSize.h" #include "WebStorageNamespace.h" #include "WebTextCheckingCompletion.h" #include "WebTextCheckingResult.h" #include "WebUserMediaClientMock.h" -#include "platform/WebThread.h" -#include "platform/WebURLRequest.h" -#include "platform/WebURLResponse.h" #include "WebView.h" +#include "WebViewHostOutputSurface.h" #include "WebWindowFeatures.h" +#include "platform/WebSerializedScriptValue.h" #include "skia/ext/platform_canvas.h" #include "webkit/support/test_media_stream_client.h" #include "webkit/support/webkit_support.h" +#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -285,11 +287,11 @@ WebStorageNamespace* WebViewHost::createSessionStorageNamespace(unsigned quota) return webkit_support::CreateSessionStorageNamespace(quota); } -WebKit::WebGraphicsContext3D* WebViewHost::createGraphicsContext3D(const WebKit::WebGraphicsContext3D::Attributes& attributes) +WebKit::WebCompositorOutputSurface* WebViewHost::createOutputSurface() { if (!webView()) return 0; - return webkit_support::CreateGraphicsContext3D(attributes, webView()); + return new WebKit::WebViewHostOutputSurface(adoptPtr(webkit_support::CreateGraphicsContext3D(WebKit::WebGraphicsContext3D::Attributes(), webView()))); } void WebViewHost::didAddMessageToConsole(const WebConsoleMessage& message, const WebString& sourceName, unsigned sourceLine) @@ -862,9 +864,8 @@ bool WebViewHost::requestPointerLock() case PointerLockWillSucceed: postDelayedTask(new HostMethodTask(this, &WebViewHost::didAcquirePointerLock), 0); return true; - case PointerLockWillFailAsync: + case PointerLockWillRespondAsync: ASSERT(!m_pointerLocked); - postDelayedTask(new HostMethodTask(this, &WebViewHost::didNotAcquirePointerLock), 0); return true; case PointerLockWillFailSync: ASSERT(!m_pointerLocked); @@ -889,6 +890,9 @@ void WebViewHost::didAcquirePointerLock() { m_pointerLocked = true; webWidget()->didAcquirePointerLock(); + + // Reset planned result to default. + m_pointerLockPlannedResult = PointerLockWillSucceed; } void WebViewHost::didNotAcquirePointerLock() @@ -896,6 +900,9 @@ void WebViewHost::didNotAcquirePointerLock() ASSERT(!m_pointerLocked); m_pointerLocked = false; webWidget()->didNotAcquirePointerLock(); + + // Reset planned result to default. + m_pointerLockPlannedResult = PointerLockWillSucceed; } void WebViewHost::didLosePointerLock() @@ -1769,6 +1776,12 @@ void WebViewHost::setPendingExtraData(PassOwnPtr extraData) m_pendingExtraData = extraData; } +void WebViewHost::setDeviceScaleFactor(float deviceScaleFactor) +{ + webView()->setDeviceScaleFactor(deviceScaleFactor); + discardBackingStore(); +} + void WebViewHost::setGamepadData(const WebGamepads& pads) { webkit_support::SetGamepadData(pads); @@ -1834,7 +1847,13 @@ void WebViewHost::paintRect(const WebRect& rect) ASSERT(!m_isPainting); ASSERT(canvas()); m_isPainting = true; - webWidget()->paint(canvas(), rect); + float deviceScaleFactor = webView()->deviceScaleFactor(); + int scaledX = static_cast(static_cast(rect.x) * deviceScaleFactor); + int scaledY = static_cast(static_cast(rect.y) * deviceScaleFactor); + int scaledWidth = static_cast(ceil(static_cast(rect.width) * deviceScaleFactor)); + int scaledHeight = static_cast(ceil(static_cast(rect.height) * deviceScaleFactor)); + WebRect deviceRect(scaledX, scaledY, scaledWidth, scaledHeight); + webWidget()->paint(canvas(), deviceRect); m_isPainting = false; } @@ -1904,8 +1923,11 @@ SkCanvas* WebViewHost::canvas() if (m_canvas) return m_canvas.get(); WebSize widgetSize = webWidget()->size(); + float deviceScaleFactor = webView()->deviceScaleFactor(); + int scaledWidth = static_cast(ceil(static_cast(widgetSize.width) * deviceScaleFactor)); + int scaledHeight = static_cast(ceil(static_cast(widgetSize.height) * deviceScaleFactor)); resetScrollRect(); - m_canvas = adoptPtr(skia::CreateBitmapCanvas(widgetSize.width, widgetSize.height, true)); + m_canvas = adoptPtr(skia::CreateBitmapCanvas(scaledWidth, scaledHeight, true)); return m_canvas.get(); } -- cgit v1.2.1