summaryrefslogtreecommitdiffstats
path: root/ash/display/display_controller.cc
diff options
context:
space:
mode:
authormukai <mukai@chromium.org>2014-09-17 18:11:29 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-18 01:11:36 +0000
commit09b22227690266514b67e19303bedf863115d234 (patch)
treeb7859fcdf5401f562418fdcf9d096a414342f3f0 /ash/display/display_controller.cc
parentf5734c582fe21ae562ebc8f3bb7a41410bd25ec9 (diff)
downloadchromium_src-09b22227690266514b67e19303bedf863115d234.zip
chromium_src-09b22227690266514b67e19303bedf863115d234.tar.gz
chromium_src-09b22227690266514b67e19303bedf863115d234.tar.bz2
Do not handle the large cursor window when non-desktop is closed.
As is described in the comment, the large cursor window is always in the main root window when software mirroring mode. Therefore, when the non-desktop display is closed, UpdateDisplay() doesn't need to be called, because it's not in the closing desktop. BUG=412910 R=oshima@chromium.org TEST=manually && ash_unittests Review URL: https://codereview.chromium.org/549933004 Cr-Commit-Position: refs/heads/master@{#295391}
Diffstat (limited to 'ash/display/display_controller.cc')
-rw-r--r--ash/display/display_controller.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/ash/display/display_controller.cc b/ash/display/display_controller.cc
index 0105f4c..e16ffca 100644
--- a/ash/display/display_controller.cc
+++ b/ash/display/display_controller.cc
@@ -669,7 +669,12 @@ void DisplayController::CreateOrUpdateNonDesktopDisplay(
void DisplayController::CloseNonDesktopDisplay() {
mirror_window_controller_->Close();
- cursor_window_controller_->UpdateContainer();
+ // If cursor_compositing is enabled for large cursor, the cursor window is
+ // always on the desktop display (the visible cursor on the non-desktop
+ // display is drawn through compositor mirroring). Therefore, it's unnecessary
+ // to handle the cursor_window at all. See: http://crbug.com/412910
+ if (!cursor_window_controller_->is_cursor_compositing_enabled())
+ cursor_window_controller_->UpdateContainer();
}
void DisplayController::PreDisplayConfigurationChange(bool clear_focus) {