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

Unified Diff: ui/compositor/compositor.h

Issue 21052007: aura: Clean up compositor initialization/destruction. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cleanupcompositor: UseRealGLBindings for CompositingRWHVBrowserTests on win_rel Created 7 years, 4 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
« no previous file with comments | « ui/aura/test/test_suite.cc ('k') | ui/compositor/compositor.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/compositor/compositor.h
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
index c8689b179b2ce914ebbc283fa1e69f7360e9b618..92cdd7194f80c7991e9b5c60e8d796ad8934a0f5 100644
--- a/ui/compositor/compositor.h
+++ b/ui/compositor/compositor.h
@@ -99,6 +99,10 @@ class COMPOSITOR_EXPORT ContextFactory {
// Destroys per-compositor data.
virtual void RemoveCompositor(Compositor* compositor) = 0;
+
+ // When true, the factory uses test contexts that do not do real GL
+ // operations.
+ virtual bool DoesCreateTestContexts() = 0;
};
// The default factory that creates in-process contexts.
@@ -123,6 +127,7 @@ class COMPOSITOR_EXPORT DefaultContextFactory : public ContextFactory {
virtual scoped_refptr<cc::ContextProvider>
OffscreenContextProviderForCompositorThread() OVERRIDE;
virtual void RemoveCompositor(Compositor* compositor) OVERRIDE;
+ virtual bool DoesCreateTestContexts() OVERRIDE;
bool Initialize();
@@ -161,6 +166,7 @@ class COMPOSITOR_EXPORT TestContextFactory : public ContextFactory {
virtual scoped_refptr<cc::ContextProvider>
OffscreenContextProviderForCompositorThread() OVERRIDE;
virtual void RemoveCompositor(Compositor* compositor) OVERRIDE;
+ virtual bool DoesCreateTestContexts() OVERRIDE;
private:
scoped_refptr<ContextProviderFromContextFactory>
@@ -290,6 +296,14 @@ class COMPOSITOR_EXPORT Compositor
gfx::AcceleratedWidget widget);
virtual ~Compositor();
+ // Set up the compositor ContextFactory for a test environment. Unit tests
+ // that do not have a full content environment need to call this before
+ // initializing the Compositor.
+ // Some tests expect pixel output, and they should pass false for
+ // |allow_test_contexts|. Most unit tests should pass true. Once this has been
+ // called, the Initialize() and Terminate() methods should be used as normal.
+ static void InitializeContextFactoryForTests(bool allow_test_contexts);
+
static void Initialize();
static bool WasInitializedWithThread();
static scoped_refptr<base::MessageLoopProxy> GetCompositorMessageLoop();
« no previous file with comments | « ui/aura/test/test_suite.cc ('k') | ui/compositor/compositor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698