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

Unified Diff: content/browser/aura/image_transport_factory.cc

Issue 21052007: aura: Clean up compositor initialization/destruction. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cleanupcompositor: Fix dominance 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
Index: content/browser/aura/image_transport_factory.cc
diff --git a/content/browser/aura/image_transport_factory.cc b/content/browser/aura/image_transport_factory.cc
index 2e92dd05111c9285ad8cbb21f72a322918f31987..de09e8391bbe2a5ccc73c9250a4eff7907130e4e 100644
--- a/content/browser/aura/image_transport_factory.cc
+++ b/content/browser/aura/image_transport_factory.cc
@@ -8,7 +8,12 @@
#include "content/browser/aura/gpu_process_transport_factory.h"
#include "content/browser/aura/no_transport_image_transport_factory.h"
#include "content/public/common/content_switches.h"
-#include "ui/compositor/compositor_setup.h"
+#include "ui/compositor/compositor.h"
+#include "ui/compositor/compositor_switches.h"
+
+#if defined(OS_CHROMEOS)
+#include "base/chromeos/chromeos_version.h"
+#endif
namespace content {
@@ -16,15 +21,34 @@ namespace {
ImageTransportFactory* g_factory;
}
+
+static bool UseTestContextAndTransportFactory() {
+#if defined(OS_CHROMEOS)
+ // If the test is running on the chromeos envrionment (such as
+ // device or vm bots), always use real contexts.
+ if (base::chromeos::IsRunningOnChromeOS())
+ return false;
+#endif
+
+ // Only used if the enable command line flag is used.
+ CommandLine* command_line = CommandLine::ForCurrentProcess();
+ if (!command_line->HasSwitch(switches::kTestCompositor))
+ return false;
+
+ // The disable command line flag preempts the enable flag.
+ if (!command_line->HasSwitch(switches::kDisableTestCompositor))
+ return true;
+
+ return false;
+}
+
// static
void ImageTransportFactory::Initialize() {
- CommandLine* command_line = CommandLine::ForCurrentProcess();
- if (command_line->HasSwitch(switches::kTestCompositor)) {
- ui::SetupTestCompositor();
- }
- if (ui::IsTestCompositorEnabled()) {
- g_factory = new NoTransportImageTransportFactory(
- new ui::TestContextFactory);
+ bool use_test_contexts = UseTestContextAndTransportFactory();
+
+ if (use_test_contexts) {
sky 2013/08/05 16:50:58 nit: no need for local variable here.
danakj 2013/08/05 16:53:34 Done.
+ g_factory =
+ new NoTransportImageTransportFactory(new ui::TestContextFactory);
} else {
g_factory = new GpuProcessTransportFactory;
}

Powered by Google App Engine
This is Rietveld 408576698