Index: ash/shell.cc |
diff --git a/ash/shell.cc b/ash/shell.cc |
index 7c36c8ef48c7c5490940813466a39ebad3366d2d..ebe4fe940c8236ce26fe309aa5df4313ff3df58c 100644 |
--- a/ash/shell.cc |
+++ b/ash/shell.cc |
@@ -120,9 +120,9 @@ |
#include "ash/accelerators/magnifier_key_scroller.h" |
#include "ash/accelerators/spoken_feedback_toggler.h" |
#include "ash/ash_constants.h" |
-#include "ash/display/display_animator.h" |
#include "ash/display/display_change_observer_chromeos.h" |
#include "ash/display/display_color_manager_chromeos.h" |
+#include "ash/display/display_configuration_controller.h" |
#include "ash/display/display_error_observer_chromeos.h" |
#include "ash/display/projecting_observer_chromeos.h" |
#include "ash/display/resolution_notification_controller.h" |
@@ -811,11 +811,10 @@ Shell::~Shell() { |
keyboard::KeyboardController::ResetInstance(nullptr); |
#if defined(OS_CHROMEOS) |
+ display_configuration_controller_.reset(); |
display_color_manager_.reset(); |
if (display_change_observer_) |
display_configurator_->RemoveObserver(display_change_observer_.get()); |
- if (display_animator_) |
- display_configurator_->RemoveObserver(display_animator_.get()); |
if (display_error_observer_) |
display_configurator_->RemoveObserver(display_error_observer_.get()); |
if (projecting_observer_) { |
@@ -839,8 +838,6 @@ void Shell::Init(const ShellInitParams& init_params) { |
bool display_initialized = display_manager_->InitFromCommandLine(); |
#if defined(OS_CHROMEOS) |
display_configurator_->Init(!gpu_support_->IsPanelFittingDisabled()); |
- display_animator_.reset(new DisplayAnimator()); |
- display_configurator_->AddObserver(display_animator_.get()); |
// The DBusThreadManager must outlive this Shell. See the DCHECK in ~Shell. |
chromeos::DBusThreadManager* dbus_thread_manager = |
@@ -865,7 +862,12 @@ void Shell::Init(const ShellInitParams& init_params) { |
} |
display_color_manager_.reset( |
new DisplayColorManager(display_configurator_.get(), blocking_pool_)); |
+ |
+ display_configuration_controller_.reset(new DisplayConfigurationController( |
+ display_configurator_.get(), display_manager_.get(), |
+ window_tree_host_manager_.get())); |
#endif // defined(OS_CHROMEOS) |
+ |
if (!display_initialized) |
display_manager_->InitDefaultDisplay(); |