summaryrefslogtreecommitdiff
path: root/chromium/ui/aura/env.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/aura/env.cc')
-rw-r--r--chromium/ui/aura/env.cc19
1 files changed, 16 insertions, 3 deletions
diff --git a/chromium/ui/aura/env.cc b/chromium/ui/aura/env.cc
index 148300ca43b..7e82d4e13cd 100644
--- a/chromium/ui/aura/env.cc
+++ b/chromium/ui/aura/env.cc
@@ -4,6 +4,7 @@
#include "ui/aura/env.h"
+#include "base/command_line.h"
#include "base/lazy_instance.h"
#include "base/threading/thread_local.h"
#include "ui/aura/env_observer.h"
@@ -23,6 +24,14 @@ namespace {
base::LazyInstance<base::ThreadLocalPointer<Env> >::Leaky lazy_tls_ptr =
LAZY_INSTANCE_INITIALIZER;
+#if defined(USE_OZONE)
+// Returns true if running inside of mus. Checks for mojo specific flag.
+bool RunningInsideMus() {
+ return base::CommandLine::ForCurrentProcess()->HasSwitch(
+ "primordial-pipe-token");
+}
+#endif
+
} // namespace
////////////////////////////////////////////////////////////////////////////////
@@ -84,12 +93,16 @@ Env::~Env() {
}
void Env::Init(bool create_event_source) {
+ if (!create_event_source)
+ return;
#if defined(USE_OZONE)
// The ozone platform can provide its own event source. So initialize the
- // platform before creating the default event source.
- ui::OzonePlatform::InitializeForUI();
+ // platform before creating the default event source. If running inside mus
+ // let the mus process initialize ozone instead.
+ if (!RunningInsideMus())
+ ui::OzonePlatform::InitializeForUI();
#endif
- if (create_event_source && !ui::PlatformEventSource::GetInstance())
+ if (!ui::PlatformEventSource::GetInstance())
event_source_ = ui::PlatformEventSource::CreateDefault();
}