diff options
author | oshima <oshima@chromium.org> | 2014-09-12 18:11:07 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-13 01:17:42 +0000 |
commit | 9eea82dadf7749b42d09d8f423db99cab2a01a72 (patch) | |
tree | d16cf82ce19ebf30b9fc2b9ee8d74569454a4f18 /athena/main | |
parent | b4f6892dcee61f2831e2cfd49f4afd07120022e6 (diff) | |
download | chromium_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.cc | 19 |
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(); |