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

Unified Diff: content/browser/android/in_process/synchronous_compositor_impl.cc

Issue 16235005: Add ContextProvider overrides to SynchronousCompositorFactory (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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/browser/android/in_process/synchronous_compositor_impl.cc
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.cc b/content/browser/android/in_process/synchronous_compositor_impl.cc
index 4b70c9b455256ea72c1591beb3dc358d60782cc5..3ebe4a0363c7c20466beca4532e26e6d241d4440 100644
--- a/content/browser/android/in_process/synchronous_compositor_impl.cc
+++ b/content/browser/android/in_process/synchronous_compositor_impl.cc
@@ -11,6 +11,7 @@
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/renderer/android/synchronous_compositor_factory.h"
+#include "webkit/common/gpu/context_provider_in_process.h"
namespace content {
@@ -49,6 +50,25 @@ class SynchronousCompositorFactoryImpl : public SynchronousCompositorFactory {
new SynchronousCompositorOutputSurface(routing_id));
return output_surface.PassAs<cc::OutputSurface>();
}
+
+ virtual scoped_refptr<cc::ContextProvider>
+ OffscreenContextProviderForMainThread() OVERRIDE {
+ // Synchronous compositor does not support main thread context yet.
+ return scoped_refptr<cc::ContextProvider>();
+ }
+
+ virtual scoped_refptr<cc::ContextProvider>
+ OffscreenContextProviderForCompositorThread() OVERRIDE {
+ if (!offscreen_context_for_compositor_thread_ ||
+ offscreen_context_for_compositor_thread_->DestroyedOnMainThread()) {
+ offscreen_context_for_compositor_thread_ =
+ webkit::gpu::ContextProviderInProcess::Create();
+ }
+ return offscreen_context_for_compositor_thread_;
+ }
+
+ private:
+ scoped_refptr<cc::ContextProvider> offscreen_context_for_compositor_thread_;
};
base::LazyInstance<SynchronousCompositorFactoryImpl>::Leaky g_factory =

Powered by Google App Engine
This is Rietveld 408576698