| Index: ash/display/mirror_window_controller.cc
|
| diff --git a/ash/display/mirror_window_controller.cc b/ash/display/mirror_window_controller.cc
|
| index 529353713927e4d2679d91091c911f79fad74d6d..fc88b79dd7ae837bf94c7e9aabcf56e0b261999a 100644
|
| --- a/ash/display/mirror_window_controller.cc
|
| +++ b/ash/display/mirror_window_controller.cc
|
| @@ -120,6 +120,14 @@ class NoneCaptureClient : public aura::client::CaptureClient {
|
| DISALLOW_COPY_AND_ASSIGN(NoneCaptureClient);
|
| };
|
|
|
| +DisplayManager::MultiDisplayMode GetCurrentMultiDisplayMode() {
|
| + DisplayManager* display_manager = Shell::GetInstance()->display_manager();
|
| + return display_manager->IsInUnifiedMode()
|
| + ? DisplayManager::UNIFIED
|
| + : (display_manager->IsInMirrorMode() ? DisplayManager::MIRRORING
|
| + : DisplayManager::EXTENDED);
|
| +}
|
| +
|
| } // namespace
|
|
|
| struct MirrorWindowController::MirroringHostInfo {
|
| @@ -153,6 +161,8 @@ void MirrorWindowController::UpdateWindow(
|
| const DisplayInfo& source_display_info =
|
| display_manager->GetDisplayInfo(primary.id());
|
|
|
| + multi_display_mode_ = GetCurrentMultiDisplayMode();
|
| +
|
| gfx::Point mirroring_origin;
|
| for (const DisplayInfo& display_info : display_info_list) {
|
| if (mirroring_host_info_map_.find(display_info.id()) ==
|
| @@ -268,13 +278,7 @@ void MirrorWindowController::UpdateWindow() {
|
| }
|
|
|
| void MirrorWindowController::CloseIfNotNecessary() {
|
| - DisplayManager* display_manager = Shell::GetInstance()->display_manager();
|
| -
|
| - DisplayManager::MultiDisplayMode new_mode =
|
| - display_manager->IsInUnifiedMode()
|
| - ? DisplayManager::UNIFIED
|
| - : (display_manager->IsInMirrorMode() ? DisplayManager::MIRRORING
|
| - : DisplayManager::EXTENDED);
|
| + DisplayManager::MultiDisplayMode new_mode = GetCurrentMultiDisplayMode();
|
| if (multi_display_mode_ != new_mode)
|
| Close(true);
|
| multi_display_mode_ = new_mode;
|
|
|