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

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

Issue 61823008: Introduce separate client and init path for single-threaded cc (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 bea8b07d386b5ab5c95626fd4ae3f2047ba846eb..9d728ccb2359b11e63da301c5a11934be851d120 100644
--- a/content/renderer/gpu/render_widget_compositor.cc
+++ b/content/renderer/gpu/render_widget_compositor.cc
@@ -307,7 +307,7 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create(
}
#endif
- if (!compositor->initialize(settings))
+ if (!compositor->Initialize(settings))
return scoped_ptr<RenderWidgetCompositor>();
return compositor.Pass();
@@ -413,11 +413,16 @@ bool RenderWidgetCompositor::ScheduleMicroBenchmark(
return layer_tree_host_->ScheduleMicroBenchmark(name, value.Pass(), callback);
}
-bool RenderWidgetCompositor::initialize(cc::LayerTreeSettings settings) {
+bool RenderWidgetCompositor::Initialize(cc::LayerTreeSettings settings) {
scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy =
RenderThreadImpl::current()->compositor_message_loop_proxy();
- layer_tree_host_ = cc::LayerTreeHost::Create(
- this, NULL, settings, compositor_message_loop_proxy);
+ if (compositor_message_loop_proxy.get()) {
+ layer_tree_host_ = cc::LayerTreeHost::CreateThreaded(
+ this, NULL, settings, compositor_message_loop_proxy);
+ } else {
+ layer_tree_host_ = cc::LayerTreeHost::CreateSingleThreaded(
+ this, this, NULL, settings);
+ }
return layer_tree_host_;
}
@@ -638,16 +643,16 @@ void RenderWidgetCompositor::DidCompleteSwapBuffers() {
widget_->didCompleteSwapBuffers();
}
-void RenderWidgetCompositor::ScheduleComposite() {
- if (!suppress_schedule_composite_)
- widget_->scheduleComposite();
-}
-
scoped_refptr<cc::ContextProvider>
RenderWidgetCompositor::OffscreenContextProvider() {
return RenderThreadImpl::current()->OffscreenCompositorContextProvider();
}
+void RenderWidgetCompositor::ScheduleComposite() {
+ if (!suppress_schedule_composite_)
+ widget_->scheduleComposite();
+}
+
void RenderWidgetCompositor::RateLimitSharedMainThreadContext() {
cc::ContextProvider* provider =
RenderThreadImpl::current()->SharedMainThreadContextProvider().get();
« no previous file with comments | « content/renderer/gpu/render_widget_compositor.h ('k') | content/test/web_layer_tree_view_impl_for_testing.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698