summaryrefslogtreecommitdiffstats
path: root/athena/main
diff options
context:
space:
mode:
authoroshima <oshima@chromium.org>2014-09-12 18:11:07 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-13 01:17:42 +0000
commit9eea82dadf7749b42d09d8f423db99cab2a01a72 (patch)
treed16cf82ce19ebf30b9fc2b9ee8d74569454a4f18 /athena/main
parentb4f6892dcee61f2831e2cfd49f4afd07120022e6 (diff)
downloadchromium_src-9eea82dadf7749b42d09d8f423db99cab2a01a72.zip
chromium_src-9eea82dadf7749b42d09d8f423db99cab2a01a72.tar.gz
chromium_src-9eea82dadf7749b42d09d8f423db99cab2a01a72.tar.bz2
Run athena on device
Added CHECKs in static methods in ash::Shell/RootWindowController to identify the chrome code accessing ash BUG=410444 TBR=sky@chromium.org TEST=tested on Pixel Review URL: https://codereview.chromium.org/549453005 Cr-Commit-Position: refs/heads/master@{#294717}
Diffstat (limited to 'athena/main')
-rw-r--r--athena/main/athena_launcher.cc19
1 files changed, 15 insertions, 4 deletions
diff --git a/athena/main/athena_launcher.cc b/athena/main/athena_launcher.cc
index a553997..e85975d 100644
--- a/athena/main/athena_launcher.cc
+++ b/athena/main/athena_launcher.cc
@@ -44,6 +44,12 @@ DECLARE_WINDOW_PROPERTY_TYPE(athena::AthenaEnvState*);
namespace athena {
+namespace {
+
+bool session_started = false;
+
+} // namespace
+
class VirtualKeyboardObserver;
// Athena's env state.
@@ -131,6 +137,8 @@ void StartAthenaSessionWithContext(content::BrowserContext* context) {
void StartAthenaSession(athena::ActivityFactory* activity_factory,
athena::AppModelBuilder* app_model_builder) {
+ DCHECK(!session_started);
+ session_started = true;
athena::HomeCard::Create(app_model_builder);
athena::ActivityManager::Create();
athena::ResourceManager::Create();
@@ -138,10 +146,13 @@ void StartAthenaSession(athena::ActivityFactory* activity_factory,
}
void ShutdownAthena() {
- athena::ActivityFactory::Shutdown();
- athena::ResourceManager::Shutdown();
- athena::ActivityManager::Shutdown();
- athena::HomeCard::Shutdown();
+ if (session_started) {
+ athena::ActivityFactory::Shutdown();
+ athena::ResourceManager::Shutdown();
+ athena::ActivityManager::Shutdown();
+ athena::HomeCard::Shutdown();
+ session_started = false;
+ }
athena::AppRegistry::ShutDown();
athena::WindowManager::Shutdown();
athena::SystemUI::Shutdown();