summaryrefslogtreecommitdiffstats
path: root/ash/shell.cc
diff options
context:
space:
mode:
authormukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-01 20:56:23 +0000
committermukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-01 20:56:23 +0000
commit18b21b2e9aa6cf49d4ee4556461c028f4d74f0cf (patch)
treef023a423afa5942d5ff06e5091fc9e98084a999a /ash/shell.cc
parent7f7c45d5a4a34d36310f41dbe2bfb375056582b4 (diff)
downloadchromium_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.cc13
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