diff options
author | oshima <oshima@chromium.org> | 2014-09-09 19:44:32 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-10 02:51:16 +0000 |
commit | 13ba9b2b46c0977d30fad57d96da1772c0cf67f1 (patch) | |
tree | 96340ffeaa8171ec1fab918a6df19f30e2c4bf59 /athena/screen | |
parent | 6a4d1490ab6b5146a3dedd469d49a52045ce9194 (diff) | |
download | chromium_src-13ba9b2b46c0977d30fad57d96da1772c0cf67f1.zip chromium_src-13ba9b2b46c0977d30fad57d96da1772c0cf67f1.tar.gz chromium_src-13ba9b2b46c0977d30fad57d96da1772c0cf67f1.tar.bz2 |
Fix crash during shutdown
* keep alive has to be incremented at startup.
* exclude more code that depends on ash.
* create a screen for shutdown
Minor cleanup
* remove all containers when ScreenManager is deleted.
BUG=397167, 401044
TEST=AthenaShutdownTest.Shutdown
Review URL: https://codereview.chromium.org/558823002
Cr-Commit-Position: refs/heads/master@{#294083}
Diffstat (limited to 'athena/screen')
-rw-r--r-- | athena/screen/screen_manager_impl.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/athena/screen/screen_manager_impl.cc b/athena/screen/screen_manager_impl.cc index c8395a7..0b9f67e 100644 --- a/athena/screen/screen_manager_impl.cc +++ b/athena/screen/screen_manager_impl.cc @@ -240,6 +240,13 @@ ScreenManagerImpl::~ScreenManagerImpl() { root_window_->RemovePreTargetHandler(focus_controller); aura::client::SetActivationClient(root_window_, NULL); aura::client::SetFocusClient(root_window_, NULL); + aura::Window::Windows children = root_window_->children(); + // Close All children: + for (aura::Window::Windows::iterator iter = children.begin(); + iter != children.end(); + ++iter) { + delete *iter; + } instance = NULL; } |