From e195e58974ff3290a193f11e43bda970a17fc45f Mon Sep 17 00:00:00 2001 From: "jamesr@chromium.org" Date: Fri, 8 Mar 2013 01:32:59 +0000 Subject: Add implementation of WebWidgetClient::initializeLayerTreeView() This adds an implementation of WebWidgetClient::initializeLayerTreeView() that takes no parameters. The WLTV::Settings parameter is already ignored and we have (and have to have) API surface to set the root layer so that parameter isn't all that helpful. This has to land and roll before https://bugs.webkit.org/show_bug.cgi?id=111632. After that lands and rolls back into chromium, the 3-param implementation of content::RenderWidget::initializeLayerTreeView() can be removed. R=enne@chromium.org Review URL: https://chromiumcodereview.appspot.com/12472015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186840 0039d316-1c4b-4281-b951-d872f2087c98 --- content/renderer/gpu/render_widget_compositor.cc | 3 +-- content/renderer/gpu/render_widget_compositor.h | 4 +--- content/renderer/render_widget.cc | 17 +++++++++++------ content/renderer/render_widget.h | 6 ++++-- 4 files changed, 17 insertions(+), 13 deletions(-) diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc index e054885..123956f 100644 --- a/content/renderer/gpu/render_widget_compositor.cc +++ b/content/renderer/gpu/render_widget_compositor.cc @@ -79,8 +79,7 @@ bool GetSwitchValueAsFloat( // static scoped_ptr RenderWidgetCompositor::Create( - RenderWidget* widget, - WebKit::WebLayerTreeView::Settings web_settings) { + RenderWidget* widget) { scoped_ptr compositor( new RenderWidgetCompositor(widget)); diff --git a/content/renderer/gpu/render_widget_compositor.h b/content/renderer/gpu/render_widget_compositor.h index c047082..bb0750c 100644 --- a/content/renderer/gpu/render_widget_compositor.h +++ b/content/renderer/gpu/render_widget_compositor.h @@ -26,9 +26,7 @@ class RenderWidgetCompositor : public WebKit::WebLayerTreeView, public: // Attempt to construct and initialize a compositor instance for the widget // with the given settings. Returns NULL if initialization fails. - static scoped_ptr Create( - RenderWidget* widget, - WebKit::WebLayerTreeView::Settings settings); + static scoped_ptr Create(RenderWidget* widget); virtual ~RenderWidgetCompositor(); diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc index 1efc33c..7ab8dc1 100644 --- a/content/renderer/render_widget.cc +++ b/content/renderer/render_widget.cc @@ -1362,20 +1362,25 @@ void RenderWidget::didDeactivateCompositor() { webwidget_->enterForceCompositingMode(false); } -void RenderWidget::initializeLayerTreeView( - WebKit::WebLayerTreeViewClient* client, - const WebKit::WebLayer& root_layer, - const WebKit::WebLayerTreeView::Settings& settings) { - compositor_ = RenderWidgetCompositor::Create(this, settings); +void RenderWidget::initializeLayerTreeView() { + compositor_ = RenderWidgetCompositor::Create(this); if (!compositor_) return; - compositor_->setRootLayer(root_layer); compositor_->setViewportSize(size_, physical_backing_size_); if (init_complete_) compositor_->setSurfaceReady(); } +void RenderWidget::initializeLayerTreeView( + WebKit::WebLayerTreeViewClient* client, + const WebKit::WebLayer& root_layer, + const WebKit::WebLayerTreeView::Settings& settings) { + initializeLayerTreeView(); + if (compositor_) + compositor_->setRootLayer(root_layer); +} + WebKit::WebLayerTreeView* RenderWidget::layerTreeView() { return compositor_.get(); } diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h index d063800..1cf9832 100644 --- a/content/renderer/render_widget.h +++ b/content/renderer/render_widget.h @@ -44,10 +44,11 @@ class SyncMessage; namespace WebKit { class WebGestureEvent; class WebInputEvent; +class WebLayerTreeViewClient; class WebMouseEvent; -struct WebRenderingStatsImpl; -struct WebPoint; class WebTouchEvent; +struct WebPoint; +struct WebRenderingStatsImpl; } namespace cc { class OutputSurface; } @@ -125,6 +126,7 @@ class CONTENT_EXPORT RenderWidget virtual void didAutoResize(const WebKit::WebSize& new_size); virtual void didActivateCompositor(int input_handler_identifier); virtual void didDeactivateCompositor(); + virtual void initializeLayerTreeView(); virtual void initializeLayerTreeView( WebKit::WebLayerTreeViewClient* client, const WebKit::WebLayer& root_layer, -- cgit v1.1