diff options
author | mukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-01 20:56:23 +0000 |
---|---|---|
committer | mukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-01 20:56:23 +0000 |
commit | 18b21b2e9aa6cf49d4ee4556461c028f4d74f0cf (patch) | |
tree | f023a423afa5942d5ff06e5091fc9e98084a999a /ash/shell.cc | |
parent | 7f7c45d5a4a34d36310f41dbe2bfb375056582b4 (diff) | |
download | chromium_src-18b21b2e9aa6cf49d4ee4556461c028f4d74f0cf.zip chromium_src-18b21b2e9aa6cf49d4ee4556461c028f4d74f0cf.tar.gz chromium_src-18b21b2e9aa6cf49d4ee4556461c028f4d74f0cf.tar.bz2 |
Provides more types of errors for display status (2nd)
Note that the text message itself is a placeholder. It has to be replaced
by real sentences.
Previous CL was reverted due to build failures on win aura.
BUG=176011
TBR=jamescook@chromium.org,oshima@chromium.org
TEST=ash_unittests passes on win_aura
Review URL: https://codereview.chromium.org/12387043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185592 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.cc')
-rw-r--r-- | ash/shell.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/ash/shell.cc b/ash/shell.cc index ffa015a..c6965b2 100644 --- a/ash/shell.cc +++ b/ash/shell.cc @@ -106,6 +106,7 @@ #if defined(OS_CHROMEOS) #include "ash/ash_constants.h" #include "ash/display/display_change_observer_x11.h" +#include "ash/display/display_error_dialog.h" #include "ash/display/output_configurator_animation.h" #include "base/chromeos/chromeos_version.h" #include "base/message_pump_aurax11.h" @@ -303,17 +304,19 @@ Shell::~Shell() { // because they might have registered ActivationChangeObserver. activation_controller_.reset(); - DCHECK(instance_ == this); - instance_ = NULL; - #if defined(OS_CHROMEOS) if (display_change_observer_.get()) output_configurator_->RemoveObserver(display_change_observer_.get()); if (output_configurator_animation_.get()) output_configurator_->RemoveObserver(output_configurator_animation_.get()); + if (display_error_observer_.get()) + output_configurator_->RemoveObserver(display_error_observer_.get()); base::MessagePumpAuraX11::Current()->RemoveDispatcherForRootWindow( output_configurator()); #endif // defined(OS_CHROMEOS) + + DCHECK(instance_ == this); + instance_ = NULL; } // static @@ -418,8 +421,10 @@ void Shell::Init() { // observer gets invoked after the root windows are configured. output_configurator_->AddObserver(display_change_observer_.get()); output_configurator_animation_.reset( - new internal::OutputConfiguratorAnimation()), + new internal::OutputConfiguratorAnimation()); + display_error_observer_.reset(new internal::DisplayErrorObserver()); output_configurator_->AddObserver(output_configurator_animation_.get()); + output_configurator_->AddObserver(display_error_observer_.get()); display_change_observer_->OnDisplayModeChanged(); } #endif |