Title: [144398] trunk/Tools
- Revision
- 144398
- Author
- [email protected]
- Date
- 2013-02-28 16:50:37 -0800 (Thu, 28 Feb 2013)
Log Message
[chromium] Use DumpRenderTree-specific interface for DRT's compositor embedding
https://bugs.webkit.org/show_bug.cgi?id=111017
Reviewed by Adam Barth.
This decouples DumpRenderTree from WebLayerTreeViewClient.
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHostDRTLayerTreeViewClient):
(WebViewHostDRTLayerTreeViewClient::WebViewHostDRTLayerTreeViewClient):
(WebViewHostDRTLayerTreeViewClient::~WebViewHostDRTLayerTreeViewClient):
(WebViewHostDRTLayerTreeViewClient::Layout):
(WebViewHostDRTLayerTreeViewClient::ScheduleComposite):
(WebViewHost::initializeLayerTreeView):
* DumpRenderTree/chromium/WebViewHost.h:
(webkit_support):
(WebViewHost):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (144397 => 144398)
--- trunk/Tools/ChangeLog 2013-03-01 00:47:10 UTC (rev 144397)
+++ trunk/Tools/ChangeLog 2013-03-01 00:50:37 UTC (rev 144398)
@@ -1,3 +1,23 @@
+2013-02-27 James Robinson <[email protected]>
+
+ [chromium] Use DumpRenderTree-specific interface for DRT's compositor embedding
+ https://bugs.webkit.org/show_bug.cgi?id=111017
+
+ Reviewed by Adam Barth.
+
+ This decouples DumpRenderTree from WebLayerTreeViewClient.
+
+ * DumpRenderTree/chromium/WebViewHost.cpp:
+ (WebViewHostDRTLayerTreeViewClient):
+ (WebViewHostDRTLayerTreeViewClient::WebViewHostDRTLayerTreeViewClient):
+ (WebViewHostDRTLayerTreeViewClient::~WebViewHostDRTLayerTreeViewClient):
+ (WebViewHostDRTLayerTreeViewClient::Layout):
+ (WebViewHostDRTLayerTreeViewClient::ScheduleComposite):
+ (WebViewHost::initializeLayerTreeView):
+ * DumpRenderTree/chromium/WebViewHost.h:
+ (webkit_support):
+ (WebViewHost):
+
2013-02-28 Ryuan Choi <[email protected]>
Unreviewed, add my secondary email address to the list.
Modified: trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h (144397 => 144398)
--- trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h 2013-03-01 00:47:10 UTC (rev 144397)
+++ trunk/Tools/DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h 2013-03-01 00:50:37 UTC (rev 144398)
@@ -108,6 +108,8 @@
void setLogConsoleOutput(bool enabled);
+ void scheduleComposite();
+
#if WEBTESTRUNNER_IMPLEMENTATION
void display();
void displayInvalidatedRegion();
@@ -125,7 +127,6 @@
void didInvalidateRect(const WebKit::WebRect&);
void didScrollRect(int, int, const WebKit::WebRect&);
- void scheduleComposite();
void scheduleAnimation();
void setWindowRect(const WebKit::WebRect&);
void show(WebKit::WebNavigationPolicy);
@@ -251,11 +252,6 @@
WebTestProxyBase::didScrollRect(dx, dy, clipRect);
Base::didScrollRect(dx, dy, clipRect);
}
- virtual void scheduleComposite()
- {
- WebTestProxyBase::scheduleComposite();
- Base::scheduleComposite();
- }
virtual void scheduleAnimation()
{
WebTestProxyBase::scheduleAnimation();
Modified: trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp (144397 => 144398)
--- trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp 2013-03-01 00:47:10 UTC (rev 144397)
+++ trunk/Tools/DumpRenderTree/chromium/WebViewHost.cpp 2013-03-01 00:50:37 UTC (rev 144398)
@@ -262,12 +262,26 @@
setWindowRect(WebRect(0, 0, newSize.width, newSize.height));
}
+class WebViewHostDRTLayerTreeViewClient : public webkit_support::DRTLayerTreeViewClient {
+public:
+ explicit WebViewHostDRTLayerTreeViewClient(WebViewHost* host)
+ : m_host(host) { }
+ virtual ~WebViewHostDRTLayerTreeViewClient() { }
+
+ virtual void Layout() { m_host->webView()->layout(); }
+ virtual void ScheduleComposite() { m_host->proxy()->scheduleComposite(); }
+
+private:
+ WebViewHost* m_host;
+};
+
void WebViewHost::initializeLayerTreeView(WebLayerTreeViewClient* client, const WebLayer& rootLayer, const WebLayerTreeView::Settings& settings)
{
+ m_layerTreeViewClient = adoptPtr(new WebViewHostDRTLayerTreeViewClient(this));
if (m_shell->softwareCompositingEnabled())
- m_layerTreeView = adoptPtr(webkit_support::CreateLayerTreeViewSoftware(client));
+ m_layerTreeView = adoptPtr(webkit_support::CreateLayerTreeViewSoftware(m_layerTreeViewClient.get()));
else
- m_layerTreeView = adoptPtr(webkit_support::CreateLayerTreeView3d(client));
+ m_layerTreeView = adoptPtr(webkit_support::CreateLayerTreeView3d(m_layerTreeViewClient.get()));
ASSERT(m_layerTreeView);
m_layerTreeView->setRootLayer(rootLayer);
Modified: trunk/Tools/DumpRenderTree/chromium/WebViewHost.h (144397 => 144398)
--- trunk/Tools/DumpRenderTree/chromium/WebViewHost.h 2013-03-01 00:47:10 UTC (rev 144397)
+++ trunk/Tools/DumpRenderTree/chromium/WebViewHost.h 2013-03-01 00:50:37 UTC (rev 144398)
@@ -58,6 +58,7 @@
}
namespace webkit_support {
+class DRTLayerTreeViewClient;
class MediaStreamUtil;
class TestMediaStreamClient;
}
@@ -278,6 +279,7 @@
WebTestRunner::WebTaskList m_taskList;
Vector<WebKit::WebWidget*> m_popupmenus;
+ OwnPtr<webkit_support::DRTLayerTreeViewClient> m_layerTreeViewClient;
OwnPtr<WebKit::WebLayerTreeView> m_layerTreeView;
};
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes