Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1081)

Unified Diff: content/renderer/gpu/render_widget_compositor.cc

Issue 12226051: Clean up RenderWidget/RenderWidgetCompositor/WebKit interactions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: law of demeter Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/gpu/render_widget_compositor.cc
diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc
index 5534f181578012af8b938bc05a1ab55767faa4e3..a69fe078ba1bf08d28ce05dee44c1e13189f0f72 100644
--- a/content/renderer/gpu/render_widget_compositor.cc
+++ b/content/renderer/gpu/render_widget_compositor.cc
@@ -17,7 +17,6 @@
#include "cc/thread_impl.h"
#include "content/renderer/gpu/compositor_thread.h"
#include "content/renderer/render_thread_impl.h"
-#include "third_party/WebKit/Source/Platform/chromium/public/WebLayerTreeViewClient.h"
#include "third_party/WebKit/Source/Platform/chromium/public/WebSharedGraphicsContext3D.h"
#include "third_party/WebKit/Source/Platform/chromium/public/WebSize.h"
#include "webkit/compositor_bindings/web_layer_impl.h"
@@ -78,10 +77,9 @@ bool GetSwitchValueAsFloat(
// static
scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create(
RenderWidget* widget,
- WebKit::WebLayerTreeViewClient* client,
WebKit::WebLayerTreeView::Settings web_settings) {
- scoped_ptr<RenderWidgetCompositor> comp(
- new RenderWidgetCompositor(widget, client));
+ scoped_ptr<RenderWidgetCompositor> compositor(
+ new RenderWidgetCompositor(widget));
CommandLine* cmd = CommandLine::ForCurrentProcess();
@@ -206,17 +204,15 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create(
settings.solidColorScrollbarThicknessDIP = 3;
#endif
- if (!comp->initialize(settings))
+ if (!compositor->initialize(settings))
return scoped_ptr<RenderWidgetCompositor>();
- return comp.Pass();
+ return compositor.Pass();
}
-RenderWidgetCompositor::RenderWidgetCompositor(
- RenderWidget* widget, WebKit::WebLayerTreeViewClient* client)
+RenderWidgetCompositor::RenderWidgetCompositor(RenderWidget* widget)
: suppress_schedule_composite_(false),
- widget_(widget),
- client_(client) {
+ widget_(widget) {
}
RenderWidgetCompositor::~RenderWidgetCompositor() {}
@@ -234,6 +230,18 @@ void RenderWidgetCompositor::SetSuppressScheduleComposite(bool suppress) {
suppress_schedule_composite_ = suppress;
}
+void RenderWidgetCompositor::Animate(base::TimeTicks time) {
+ layer_tree_host_->updateAnimations(time);
+}
+
+void RenderWidgetCompositor::Composite() {
+ layer_tree_host_->composite();
+}
+
+void RenderWidgetCompositor::GetRenderingStats(cc::RenderingStats* stats) {
+ layer_tree_host_->renderingStats(stats);
+}
+
bool RenderWidgetCompositor::initialize(cc::LayerTreeSettings settings) {
scoped_ptr<cc::Thread> impl_thread;
CompositorThread* compositor_thread =
@@ -335,17 +343,6 @@ bool RenderWidgetCompositor::commitRequested() const {
return layer_tree_host_->commitRequested();
}
-void RenderWidgetCompositor::composite() {
- layer_tree_host_->composite();
-}
-
-void RenderWidgetCompositor::updateAnimations(double frame_begin_time_sec) {
- base::TimeTicks frame_begin_time =
- base::TimeTicks::FromInternalValue(frame_begin_time_sec *
- base::Time::kMicrosecondsPerSecond);
- layer_tree_host_->updateAnimations(frame_begin_time);
-}
-
void RenderWidgetCompositor::didStopFlinging() {
layer_tree_host_->didStopFlinging();
}
@@ -396,36 +393,32 @@ void RenderWidgetCompositor::didBeginFrame() {
widget_->InstrumentDidBeginFrame();
}
-// TODO(jamesr): This should go through WebWidget
void RenderWidgetCompositor::animate(double monotonic_frame_begin_time) {
- client_->updateAnimations(monotonic_frame_begin_time);
+ widget_->webwidget()->animate(monotonic_frame_begin_time);
}
-// Can delete from WebLayerTreeViewClient
void RenderWidgetCompositor::layout() {
widget_->webwidget()->layout();
}
-// TODO(jamesr): This should go through WebWidget
void RenderWidgetCompositor::applyScrollAndScale(gfx::Vector2d scroll_delta,
float page_scale) {
- client_->applyScrollAndScale(scroll_delta, page_scale);
+ widget_->webwidget()->applyScrollAndScale(scroll_delta, page_scale);
}
scoped_ptr<cc::OutputSurface> RenderWidgetCompositor::createOutputSurface() {
return widget_->CreateOutputSurface();
}
-// TODO(jamesr): This should go through WebWidget
void RenderWidgetCompositor::didRecreateOutputSurface(bool success) {
- client_->didRecreateOutputSurface(success);
+ if (!success)
+ widget_->webwidget()->didExitCompositingMode();
}
-// TODO(jamesr): This should go through WebWidget
scoped_ptr<cc::InputHandler> RenderWidgetCompositor::createInputHandler() {
scoped_ptr<cc::InputHandler> ret;
scoped_ptr<WebKit::WebInputHandler> web_handler(
- client_->createInputHandler());
+ widget_->webwidget()->createInputHandler());
if (web_handler)
ret = WebKit::WebToCCInputHandlerAdapter::create(web_handler.Pass());
return ret.Pass();

Powered by Google App Engine
This is Rietveld 408576698