diff options
author | mukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-11 05:48:28 +0000 |
---|---|---|
committer | mukai@chromium.org <mukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-11 05:48:28 +0000 |
commit | 144b9a99017cf47dd44a729bd860801cae0b4633 (patch) | |
tree | 155381bba73a9197083a1a6bf5a84d9f56eba49a /ash | |
parent | 2f05248d6e284bef29fc8f68802a39b450f9f757 (diff) | |
download | chromium_src-144b9a99017cf47dd44a729bd860801cae0b4633.zip chromium_src-144b9a99017cf47dd44a729bd860801cae0b4633.tar.gz chromium_src-144b9a99017cf47dd44a729bd860801cae0b4633.tar.bz2 |
Replaces display error dialog by notifications.
Notification would be good enough, more consistent with existing
display notifications, and much simpler.
BUG=None
R=oshima@chromium.org
TBR=jamescook@chromium.org
Review URL: https://chromiumcodereview.appspot.com/18269005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211028 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/ash.gyp | 12 | ||||
-rw-r--r-- | ash/display/display_error_dialog.cc | 136 | ||||
-rw-r--r-- | ash/display/display_error_dialog.h | 90 | ||||
-rw-r--r-- | ash/display/display_error_dialog_unittest.cc | 132 | ||||
-rw-r--r-- | ash/display/display_error_observer.cc | 89 | ||||
-rw-r--r-- | ash/display/display_error_observer.h | 39 | ||||
-rw-r--r-- | ash/display/display_error_observer_unittest.cc | 85 | ||||
-rw-r--r-- | ash/display/output_configurator_animation.cc | 1 | ||||
-rw-r--r-- | ash/shell.cc | 2 |
9 files changed, 220 insertions, 366 deletions
diff --git a/ash/ash.gyp b/ash/ash.gyp index 05929ce..b63f9d9f 100644 --- a/ash/ash.gyp +++ b/ash/ash.gyp @@ -88,8 +88,8 @@ 'display/display_change_observer_x11.h', 'display/display_controller.cc', 'display/display_controller.h', - 'display/display_error_dialog.cc', - 'display/display_error_dialog.h', + 'display/display_error_observer.cc', + 'display/display_error_observer.h', 'display/display_info.h', 'display/display_info.cc', 'display/display_layout.h', @@ -559,8 +559,8 @@ }, { # else: chromeos!=1 'sources/': [ ['exclude', '/chromeos/'], - ['exclude', 'display/display_error_dialog.cc'], - ['exclude', 'display/display_error_dialog.h'], + ['exclude', 'display/display_error_observer.cc'], + ['exclude', 'display/display_error_observer.h'], ['exclude', 'display/output_configurator_animation.cc'], ['exclude', 'display/output_configurator_animation.h'], ], @@ -669,7 +669,7 @@ 'desktop_background/wallpaper_resizer_unittest.cc', 'dip_unittest.cc', 'display/display_controller_unittest.cc', - 'display/display_error_dialog_unittest.cc', + 'display/display_error_observer_unittest.cc', 'display/display_info_unittest.cc', 'display/display_manager_unittest.cc', 'display/mirror_window_controller_unittest.cc', @@ -799,7 +799,7 @@ }], ['chromeos!=1', { 'sources/': [ - ['exclude', 'display/display_error_dialog_unittest.cc'], + ['exclude', 'display/display_error_observer_unittest.cc'], ], }, { # chromeos==1 'dependencies': [ diff --git a/ash/display/display_error_dialog.cc b/ash/display/display_error_dialog.cc deleted file mode 100644 index b5bda17..0000000 --- a/ash/display/display_error_dialog.cc +++ /dev/null @@ -1,136 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "ash/display/display_error_dialog.h" - -#include "ash/screen_ash.h" -#include "ash/shell.h" -#include "grit/ash_strings.h" -#include "ui/aura/root_window.h" -#include "ui/aura/window.h" -#include "ui/base/l10n/l10n_util.h" -#include "ui/base/ui_base_types.h" -#include "ui/gfx/display.h" -#include "ui/gfx/screen.h" -#include "ui/views/border.h" -#include "ui/views/controls/label.h" -#include "ui/views/widget/widget.h" - -namespace ash { -namespace internal { -namespace { - -// The width of the area to show the error message. -const int kDialogMessageWidthPixel = 300; - -// The margin width from the error message to the edge of the dialog. -const int kDialogMessageMarginWidthPixel = 5; - -} // namespace - -// static -DisplayErrorDialog* DisplayErrorDialog::ShowDialog( - chromeos::OutputState new_state) { - gfx::Screen* screen = Shell::GetScreen(); - const gfx::Display& target_display = - (screen->GetNumDisplays() > 1) ? - ScreenAsh::GetSecondaryDisplay() : screen->GetPrimaryDisplay(); - - DisplayErrorDialog* dialog = new DisplayErrorDialog(new_state); - views::Widget* widget = new views::Widget; - views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); - params.delegate = dialog; - // Makes |widget| belong to the target display. Size and location are - // fixed by CenterWindow() below. - params.bounds = target_display.bounds(); - DisplayController* display_controller = - Shell::GetInstance()->display_controller(); - params.context = - display_controller->GetRootWindowForDisplayId(target_display.id()); - params.keep_on_top = true; - widget->Init(params); - - widget->GetNativeView()->SetName("DisplayErrorDialog"); - widget->CenterWindow(widget->GetRootView()->GetPreferredSize()); - widget->Show(); - return dialog; -} - -void DisplayErrorDialog::UpdateMessageForState( - chromeos::OutputState new_state) { - int message_id = (new_state == chromeos::STATE_DUAL_MIRROR) ? - IDS_ASH_DISPLAY_FAILURE_ON_MIRRORING : - IDS_ASH_DISPLAY_FAILURE_ON_NON_MIRRORING; - label_->SetText(l10n_util::GetStringUTF16(message_id)); - label_->SizeToFit(kDialogMessageWidthPixel); - Layout(); - SchedulePaint(); -} - -DisplayErrorDialog::DisplayErrorDialog(chromeos::OutputState new_state) { - Shell::GetInstance()->display_controller()->AddObserver(this); - label_ = new views::Label(); - AddChildView(label_); - - label_->SetMultiLine(true); - label_->SetHorizontalAlignment(gfx::ALIGN_LEFT); - label_->set_border(views::Border::CreateEmptyBorder( - kDialogMessageMarginWidthPixel, - kDialogMessageMarginWidthPixel, - kDialogMessageMarginWidthPixel, - kDialogMessageMarginWidthPixel)); - - UpdateMessageForState(new_state); -} - -DisplayErrorDialog::~DisplayErrorDialog() { - Shell::GetInstance()->display_controller()->RemoveObserver(this); -} - -int DisplayErrorDialog::GetDialogButtons() const { - return ui::DIALOG_BUTTON_OK; -} - -ui::ModalType DisplayErrorDialog::GetModalType() const { - return ui::MODAL_TYPE_NONE; -} - -gfx::Size DisplayErrorDialog::GetPreferredSize() { - return label_->GetPreferredSize(); -} - -void DisplayErrorDialog::OnDisplayConfigurationChanging() { - GetWidget()->Close(); -} - -DisplayErrorObserver::DisplayErrorObserver() - : dialog_(NULL) { -} - -DisplayErrorObserver::~DisplayErrorObserver() { - DCHECK(!dialog_); -} - -void DisplayErrorObserver::OnDisplayModeChangeFailed( - chromeos::OutputState new_state) { - if (dialog_) { - DCHECK(dialog_->GetWidget()); - dialog_->UpdateMessageForState(new_state); - dialog_->GetWidget()->StackAtTop(); - dialog_->GetWidget()->Activate(); - } else { - dialog_ = DisplayErrorDialog::ShowDialog(new_state); - dialog_->GetWidget()->AddObserver(this); - } -} - -void DisplayErrorObserver::OnWidgetClosing(views::Widget* widget) { - DCHECK(dialog_); - DCHECK_EQ(dialog_->GetWidget(), widget); - widget->RemoveObserver(this); - dialog_ = NULL; -} - -} // namespace internal -} // namespace ash diff --git a/ash/display/display_error_dialog.h b/ash/display/display_error_dialog.h deleted file mode 100644 index 541adc3..0000000 --- a/ash/display/display_error_dialog.h +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef ASH_DISPLAY_DISPLAY_ERROR_DIALOG_H_ -#define ASH_DISPLAY_DISPLAY_ERROR_DIALOG_H_ - -#include "ash/ash_export.h" -#include "ash/display/display_controller.h" -#include "base/compiler_specific.h" -#include "chromeos/display/output_configurator.h" -#include "ui/views/widget/widget_observer.h" -#include "ui/views/window/dialog_delegate.h" - -namespace aura { -class RootWindow; -} // namespace aura - -namespace gfx { -class Display; -class Size; -} // namespace gfx - -namespace views { -class Label; -} // namespace views - -namespace ash { -namespace internal { - -// Dialog used to show an error messages when unable to change the display -// configuration to mirroring. -class ASH_EXPORT DisplayErrorDialog : public views::DialogDelegateView, - public ash::DisplayController::Observer { - public: - // Shows the error dialog for |failed_new_state| and returns it. - static DisplayErrorDialog* ShowDialog(chromeos::OutputState failed_new_state); - - // Update the error message for |failed_new_state|. - void UpdateMessageForState(chromeos::OutputState failed_new_state); - - private: - explicit DisplayErrorDialog(chromeos::OutputState failed_new_state); - virtual ~DisplayErrorDialog(); - - // views::DialogDelegate overrides: - virtual int GetDialogButtons() const OVERRIDE; - - // views::WidgetDelegate overrides:: - virtual ui::ModalType GetModalType() const OVERRIDE; - - // views::View overrides: - virtual gfx::Size GetPreferredSize() OVERRIDE; - - // ash::DisplayController::Observer overrides: - virtual void OnDisplayConfigurationChanging() OVERRIDE; - - views::Label* label_; - - DISALLOW_COPY_AND_ASSIGN(DisplayErrorDialog); -}; - -// The class to observe the output failures and shows the error dialog when -// necessary. -class ASH_EXPORT DisplayErrorObserver - : public chromeos::OutputConfigurator::Observer, - public views::WidgetObserver { - public: - DisplayErrorObserver(); - virtual ~DisplayErrorObserver(); - - const DisplayErrorDialog* dialog() const { return dialog_; } - - // chromeos::OutputConfigurator::Observer overrides: - virtual void OnDisplayModeChangeFailed( - chromeos::OutputState failed_new_state) OVERRIDE; - - // views::WidgetObserver overrides: - virtual void OnWidgetClosing(views::Widget* widget) OVERRIDE; - - private: - DisplayErrorDialog* dialog_; - - DISALLOW_COPY_AND_ASSIGN(DisplayErrorObserver); -}; - -} // namespace internal -} // namespace ash - -#endif // ASH_DISPLAY_DISPLAY_ERROR_DIALOG_H_ diff --git a/ash/display/display_error_dialog_unittest.cc b/ash/display/display_error_dialog_unittest.cc deleted file mode 100644 index 9bd81e4..0000000 --- a/ash/display/display_error_dialog_unittest.cc +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright (c) 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "ash/display/display_error_dialog.h" - -#include "ash/shell.h" -#include "ash/test/ash_test_base.h" -#include "grit/ash_strings.h" -#include "ui/aura/window.h" -#include "ui/base/l10n/l10n_util.h" -#include "ui/views/controls/label.h" -#include "ui/views/view.h" -#include "ui/views/widget/widget.h" - -namespace ash { -namespace internal { -namespace { - -class DisplayErrorDialogTest : public test::AshTestBase { - protected: - DisplayErrorDialogTest() { - } - - virtual ~DisplayErrorDialogTest() { - } - - virtual void SetUp() OVERRIDE { - test::AshTestBase::SetUp(); - observer_.reset(new DisplayErrorObserver()); - } - - virtual void TearDown() OVERRIDE { - if (observer_->dialog()) { - views::Widget* widget = - const_cast<DisplayErrorDialog*>(observer_->dialog())->GetWidget(); - widget->CloseNow(); - } - observer_.reset(); - test::AshTestBase::TearDown(); - } - - DisplayErrorObserver* observer() { return observer_.get(); } - - const base::string16& GetMessageContents(const DisplayErrorDialog* dialog) { - const views::Label* label = static_cast<const views::Label*>( - static_cast<const views::View*>(dialog)->child_at(0)); - return label->text(); - } - - private: - scoped_ptr<DisplayErrorObserver> observer_; - - DISALLOW_COPY_AND_ASSIGN(DisplayErrorDialogTest); -}; - -} - -// The test cases in this file usually check if the showing dialog doesn't -// cause any crashes, and the code doesn't cause any memory leaks. -TEST_F(DisplayErrorDialogTest, Normal) { - if (!SupportsMultipleDisplays()) - return; - - UpdateDisplay("200x200,300x300"); - DisplayErrorDialog* dialog = - DisplayErrorDialog::ShowDialog(chromeos::STATE_DUAL_MIRROR); - EXPECT_TRUE(dialog); - EXPECT_TRUE(dialog->GetWidget()->IsVisible()); - EXPECT_EQ(l10n_util::GetStringUTF16(IDS_ASH_DISPLAY_FAILURE_ON_MIRRORING), - GetMessageContents(dialog)); - EXPECT_EQ(Shell::GetAllRootWindows()[1], - dialog->GetWidget()->GetNativeView()->GetRootWindow()); -} - -TEST_F(DisplayErrorDialogTest, CallTwice) { - if (!SupportsMultipleDisplays()) - return; - - UpdateDisplay("200x200,300x300"); - observer()->OnDisplayModeChangeFailed(chromeos::STATE_DUAL_MIRROR); - const DisplayErrorDialog* dialog = observer()->dialog(); - EXPECT_TRUE(dialog); - - observer()->OnDisplayModeChangeFailed(chromeos::STATE_DUAL_MIRROR); - EXPECT_EQ(dialog, observer()->dialog()); -} - -TEST_F(DisplayErrorDialogTest, CallWithDifferentState) { - if (!SupportsMultipleDisplays()) - return; - - UpdateDisplay("200x200,300x300"); - observer()->OnDisplayModeChangeFailed(chromeos::STATE_DUAL_MIRROR); - const DisplayErrorDialog* dialog = observer()->dialog(); - EXPECT_TRUE(dialog); - EXPECT_EQ(l10n_util::GetStringUTF16(IDS_ASH_DISPLAY_FAILURE_ON_MIRRORING), - GetMessageContents(dialog)); - - observer()->OnDisplayModeChangeFailed(chromeos::STATE_DUAL_EXTENDED); - EXPECT_EQ(dialog, observer()->dialog()); - EXPECT_EQ(l10n_util::GetStringUTF16(IDS_ASH_DISPLAY_FAILURE_ON_NON_MIRRORING), - GetMessageContents(dialog)); -} - -TEST_F(DisplayErrorDialogTest, SingleDisplay) { - UpdateDisplay("200x200"); - DisplayErrorDialog* dialog = - DisplayErrorDialog::ShowDialog(chromeos::STATE_DUAL_MIRROR); - EXPECT_TRUE(dialog); - EXPECT_TRUE(dialog->GetWidget()->IsVisible()); - EXPECT_EQ(Shell::GetInstance()->GetPrimaryRootWindow(), - dialog->GetWidget()->GetNativeView()->GetRootWindow()); -} - -TEST_F(DisplayErrorDialogTest, DisplayDisconnected) { - if (!SupportsMultipleDisplays()) - return; - - UpdateDisplay("200x200,300x300"); - observer()->OnDisplayModeChangeFailed(chromeos::STATE_DUAL_MIRROR); - EXPECT_TRUE(observer()->dialog()); - - UpdateDisplay("200x200"); - // Disconnection will close the dialog but we have to run all pending tasks - // to make the effect of the close. - RunAllPendingInMessageLoop(); - EXPECT_FALSE(observer()->dialog()); -} - -} // namespace internal -} // namespace ash diff --git a/ash/display/display_error_observer.cc b/ash/display/display_error_observer.cc new file mode 100644 index 0000000..d4080a2 --- /dev/null +++ b/ash/display/display_error_observer.cc @@ -0,0 +1,89 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ash/display/display_error_observer.h" + +#include "grit/ash_resources.h" +#include "grit/ash_strings.h" +#include "ui/base/l10n/l10n_util.h" +#include "ui/base/resource/resource_bundle.h" +#include "ui/message_center/message_center.h" +#include "ui/message_center/notification.h" +#include "ui/message_center/notification_delegate.h" +#include "ui/message_center/notification_list.h" + +using message_center::Notification; + +namespace ash { +namespace internal { +namespace { + +const char kDisplayErrorNotificationId[] = "chrome://settings/display/error"; + +class DisplayErrorNotificationDelegate + : public message_center::NotificationDelegate { + public: + DisplayErrorNotificationDelegate() {} + + // message_center::NotificationDelegate overrides: + virtual void Display() OVERRIDE {} + virtual void Error() OVERRIDE {} + virtual void Close(bool by_user) OVERRIDE {} + virtual bool HasClickedListener() OVERRIDE { return false; } + virtual void Click() OVERRIDE { } + + protected: + virtual ~DisplayErrorNotificationDelegate() {} + + private: + DISALLOW_COPY_AND_ASSIGN(DisplayErrorNotificationDelegate); +}; + +} // namespace + +DisplayErrorObserver::DisplayErrorObserver() { +} + +DisplayErrorObserver::~DisplayErrorObserver() { +} + +void DisplayErrorObserver::OnDisplayModeChangeFailed( + chromeos::OutputState new_state) { + // Always remove the notification to make sure the notification appears + // as a popup in any situation. + message_center::MessageCenter::Get()->RemoveNotification( + kDisplayErrorNotificationId, false /* by_user */); + + int message_id = (new_state == chromeos::STATE_DUAL_MIRROR) ? + IDS_ASH_DISPLAY_FAILURE_ON_MIRRORING : + IDS_ASH_DISPLAY_FAILURE_ON_NON_MIRRORING; + + ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); + scoped_ptr<Notification> notification(new Notification( + message_center::NOTIFICATION_TYPE_SIMPLE, + kDisplayErrorNotificationId, + l10n_util::GetStringUTF16(message_id), + base::string16(), // message + bundle.GetImageNamed(IDR_AURA_UBER_TRAY_DISPLAY), + base::string16(), // display_source + std::string(), // extension_id + message_center::RichNotificationData(), + new DisplayErrorNotificationDelegate())); + message_center::MessageCenter::Get()->AddNotification(notification.Pass()); +} + +string16 DisplayErrorObserver::GetTitleOfDisplayErrorNotificationForTest() { + message_center::NotificationList::Notifications notifications = + message_center::MessageCenter::Get()->GetNotifications(); + for (message_center::NotificationList::Notifications::const_iterator iter = + notifications.begin(); iter != notifications.end(); ++iter) { + if ((*iter)->id() == kDisplayErrorNotificationId) + return (*iter)->title(); + } + + return base::string16(); +} + +} // namespace internal +} // namespace ash diff --git a/ash/display/display_error_observer.h b/ash/display/display_error_observer.h new file mode 100644 index 0000000..5cba904 --- /dev/null +++ b/ash/display/display_error_observer.h @@ -0,0 +1,39 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef ASH_DISPLAY_DISPLAY_ERROR_OBSERVER_H_ +#define ASH_DISPLAY_DISPLAY_ERROR_OBSERVER_H_ + +#include "ash/ash_export.h" +#include "base/compiler_specific.h" +#include "base/strings/string16.h" +#include "chromeos/display/output_configurator.h" + +namespace ash { +namespace internal { + +// The class to observe the output failures and shows the error dialog when +// necessary. +class ASH_EXPORT DisplayErrorObserver + : public chromeos::OutputConfigurator::Observer { + public: + DisplayErrorObserver(); + virtual ~DisplayErrorObserver(); + + // chromeos::OutputConfigurator::Observer overrides: + virtual void OnDisplayModeChangeFailed( + chromeos::OutputState failed_new_state) OVERRIDE; + + private: + friend class DisplayErrorObserverTest; + + base::string16 GetTitleOfDisplayErrorNotificationForTest(); + + DISALLOW_COPY_AND_ASSIGN(DisplayErrorObserver); +}; + +} // namespace internal +} // namespace ash + +#endif // ASH_DISPLAY_DISPLAY_ERROR_OBSERVER_H_ diff --git a/ash/display/display_error_observer_unittest.cc b/ash/display/display_error_observer_unittest.cc new file mode 100644 index 0000000..abe4907 --- /dev/null +++ b/ash/display/display_error_observer_unittest.cc @@ -0,0 +1,85 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ash/display/display_error_observer.h" + +#include "ash/shell.h" +#include "ash/test/ash_test_base.h" +#include "grit/ash_strings.h" +#include "ui/aura/window.h" +#include "ui/base/l10n/l10n_util.h" +#include "ui/views/controls/label.h" +#include "ui/views/view.h" +#include "ui/views/widget/widget.h" + +namespace ash { +namespace internal { + +class DisplayErrorObserverTest : public test::AshTestBase { + protected: + DisplayErrorObserverTest() { + } + + virtual ~DisplayErrorObserverTest() { + } + + virtual void SetUp() OVERRIDE { + test::AshTestBase::SetUp(); + observer_.reset(new DisplayErrorObserver()); + } + + protected: + DisplayErrorObserver* observer() { return observer_.get(); } + + base::string16 GetMessageContents() { + return observer_->GetTitleOfDisplayErrorNotificationForTest(); + } + + private: + scoped_ptr<DisplayErrorObserver> observer_; + + DISALLOW_COPY_AND_ASSIGN(DisplayErrorObserverTest); +}; + +TEST_F(DisplayErrorObserverTest, Normal) { + if (!SupportsMultipleDisplays()) + return; + + UpdateDisplay("200x200,300x300"); + observer()->OnDisplayModeChangeFailed(chromeos::STATE_DUAL_MIRROR); + EXPECT_EQ(l10n_util::GetStringUTF16(IDS_ASH_DISPLAY_FAILURE_ON_MIRRORING), + GetMessageContents()); +} + +TEST_F(DisplayErrorObserverTest, CallTwice) { + if (!SupportsMultipleDisplays()) + return; + + UpdateDisplay("200x200,300x300"); + observer()->OnDisplayModeChangeFailed(chromeos::STATE_DUAL_MIRROR); + base::string16 message = GetMessageContents(); + EXPECT_FALSE(message.empty()); + + observer()->OnDisplayModeChangeFailed(chromeos::STATE_DUAL_MIRROR); + base::string16 message2 = GetMessageContents(); + EXPECT_FALSE(message2.empty()); + EXPECT_EQ(message, message2); +} + +TEST_F(DisplayErrorObserverTest, CallWithDifferentState) { + if (!SupportsMultipleDisplays()) + return; + + UpdateDisplay("200x200,300x300"); + observer()->OnDisplayModeChangeFailed(chromeos::STATE_DUAL_MIRROR); + EXPECT_EQ(l10n_util::GetStringUTF16(IDS_ASH_DISPLAY_FAILURE_ON_MIRRORING), + GetMessageContents()); + + observer()->OnDisplayModeChangeFailed(chromeos::STATE_DUAL_EXTENDED); + EXPECT_EQ(l10n_util::GetStringUTF16(IDS_ASH_DISPLAY_FAILURE_ON_NON_MIRRORING), + GetMessageContents()); +} + +} // namespace internal +} // namespace ash diff --git a/ash/display/output_configurator_animation.cc b/ash/display/output_configurator_animation.cc index d58d9a5..6161bef 100644 --- a/ash/display/output_configurator_animation.cc +++ b/ash/display/output_configurator_animation.cc @@ -4,7 +4,6 @@ #include "ash/display/output_configurator_animation.h" -#include "ash/display/display_error_dialog.h" #include "ash/shell.h" #include "ash/shell_window_ids.h" #include "base/bind.h" diff --git a/ash/shell.cc b/ash/shell.cc index 8d3b3bb..a53fc5c 100644 --- a/ash/shell.cc +++ b/ash/shell.cc @@ -110,7 +110,7 @@ #if defined(USE_X11) #include "ash/ash_constants.h" #include "ash/display/display_change_observer_x11.h" -#include "ash/display/display_error_dialog.h" +#include "ash/display/display_error_observer.h" #include "ash/display/output_configurator_animation.h" #include "base/chromeos/chromeos_version.h" #include "base/message_loop/message_pump_aurax11.h" |