Extended desktop mode for Exosphere with non-ARC clients |
||||||
Issue descriptionExosphere with non-ARC clients is functional in extended desktop mode, but has a few issues: 1. DCHECK due to duplicate observers in ARC IME service 2. Resized windows show up on the primary display 3. Popup windows show up on the primary display 4. New windows show up on the primary display 5. Invisible cursor on secondary displays This is a prerequisite for extended desktop mode in ARC.
,
Jul 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9e7453454c6698e8a407d48ff041a3c9b79c8544 commit 9e7453454c6698e8a407d48ff041a3c9b79c8544 Author: domlaskowski <domlaskowski@chromium.org> Date: Tue Jul 26 17:34:28 2016 exo: Fix invisible cursor on secondary displays The cursor location in display coordinates was being compared with and updated from the mouse location in screen coordinates. BUG= 631136 TEST=Pointer is visible in weston-terminal on secondary display. TEST=Pointer is still visible in ARC. Review-Url: https://codereview.chromium.org/2177423002 Cr-Commit-Position: refs/heads/master@{#407844} [modify] https://crrev.com/9e7453454c6698e8a407d48ff041a3c9b79c8544/components/exo/pointer.cc
,
Jul 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8b69fb4d6a4ced6df9c967a092a4f5b575333374 commit 8b69fb4d6a4ced6df9c967a092a4f5b575333374 Author: domlaskowski <domlaskowski@chromium.org> Date: Tue Jul 26 20:30:10 2016 ARC: Avoid duplicate observers in IME service Root windows share the same FocusClient in Ash, but the ARC IME service registers one FocusClient observer per root window. BUG= 631136 TEST=Dragging an Exo window to a secondary display does not DCHECK. TEST=Typing into ARC apps using a French keyboard still works. Review-Url: https://codereview.chromium.org/2179903002 Cr-Commit-Position: refs/heads/master@{#407900} [modify] https://crrev.com/8b69fb4d6a4ced6df9c967a092a4f5b575333374/components/arc/ime/arc_ime_service.cc [modify] https://crrev.com/8b69fb4d6a4ced6df9c967a092a4f5b575333374/components/arc/ime/arc_ime_service.h
,
Jul 29 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9ae6cfed8f37fe4438e00126995dc863c03dd294 commit 9ae6cfed8f37fe4438e00126995dc863c03dd294 Author: domlaskowski <domlaskowski@chromium.org> Date: Fri Jul 29 00:46:33 2016 exo: Convert initial bounds to screen coordinates Since the initial bounds of a ShellSurface were relative to the root window, pop-up windows (e.g. context menus in weston-terminal) whose parents are on a secondary display would appear on the primary display. BUG= 631136 TEST=Drag weston-terminal to secondary display and right-click. TEST=ARC apps can still be dragged and maximized. Review-Url: https://codereview.chromium.org/2175373003 Cr-Commit-Position: refs/heads/master@{#408535} [modify] https://crrev.com/9ae6cfed8f37fe4438e00126995dc863c03dd294/components/exo/display.cc [modify] https://crrev.com/9ae6cfed8f37fe4438e00126995dc863c03dd294/components/exo/shell_surface.cc
,
Aug 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8effe9a13cf037ffc7ededa776607665340e1d83 commit 8effe9a13cf037ffc7ededa776607665340e1d83 Author: domlaskowski <domlaskowski@chromium.org> Date: Mon Aug 01 20:25:32 2016 exo: Set widget parent to target root window Windows created by the active window on a secondary display would appear on the primary display instead of the same display. BUG= 631136 TEST=weston-terminal: Right-click > Open Terminal on secondary display. TEST=Opening windows in ARC apps still works. Review-Url: https://codereview.chromium.org/2179243002 Cr-Commit-Position: refs/heads/master@{#409042} [modify] https://crrev.com/8effe9a13cf037ffc7ededa776607665340e1d83/components/exo/shell_surface.cc
,
Aug 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ee97bde5e7f990c2714e3486b60b9a62c1871c92 commit ee97bde5e7f990c2714e3486b60b9a62c1871c92 Author: domlaskowski <domlaskowski@chromium.org> Date: Wed Aug 03 00:28:51 2016 Revert of exo: Convert initial bounds to screen coordinates (patchset #1 id:1 of https://codereview.chromium.org/2175373003/ ) Reason for revert: Breaks overview mode for ARC windows. Original issue's description: > exo: Convert initial bounds to screen coordinates > > Since the initial bounds of a ShellSurface were relative to the root > window, pop-up windows (e.g. context menus in weston-terminal) whose > parents are on a secondary display would appear on the primary display. > > BUG= 631136 > TEST=Drag weston-terminal to secondary display and right-click. > TEST=ARC apps can still be dragged and maximized. > > Committed: https://crrev.com/9ae6cfed8f37fe4438e00126995dc863c03dd294 > Cr-Commit-Position: refs/heads/master@{#408535} TBR=reveman@chromium.org,oshima@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= 631136 Review-Url: https://codereview.chromium.org/2202713005 Cr-Commit-Position: refs/heads/master@{#409399} [modify] https://crrev.com/ee97bde5e7f990c2714e3486b60b9a62c1871c92/components/exo/display.cc [modify] https://crrev.com/ee97bde5e7f990c2714e3486b60b9a62c1871c92/components/exo/shell_surface.cc
,
Aug 23 2016
Issue 639951 has been merged into this issue.
,
Aug 31 2016
,
Nov 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/24078fe2e32b15d2a2aacc9785f92d2c5da0d3c4 commit 24078fe2e32b15d2a2aacc9785f92d2c5da0d3c4 Author: domlaskowski <domlaskowski@chromium.org> Date: Thu Nov 03 23:11:59 2016 exo: Fix widget positioning for pop-ups Since the initial bounds of a ShellSurface were relative to the root window, pop-up windows (e.g. context menus in weston-terminal) whose parents are on a secondary display would appear on the primary display. In addition, the initial bounds were not taken into consideration when updating the widget bounds. BUG= 631136 TEST=Drag weston-terminal to secondary display and right-click. TEST=No regression for ARC windows. Review-Url: https://codereview.chromium.org/2467173002 Cr-Commit-Position: refs/heads/master@{#429720} [modify] https://crrev.com/24078fe2e32b15d2a2aacc9785f92d2c5da0d3c4/components/exo/display.cc [modify] https://crrev.com/24078fe2e32b15d2a2aacc9785f92d2c5da0d3c4/components/exo/shell_surface.cc [modify] https://crrev.com/24078fe2e32b15d2a2aacc9785f92d2c5da0d3c4/components/exo/shell_surface_unittest.cc
,
Jun 1 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ba20af04ad131e2fc7b8fd4142cffd7461057d5b commit ba20af04ad131e2fc7b8fd4142cffd7461057d5b Author: domlaskowski <domlaskowski@chromium.org> Date: Thu Jun 01 18:12:15 2017 exo: Fix multi-display hardware cursor This CL fixes crashes in extended desktop mode caused by incorrect parenting of the cursor surface, as well as cases where the cursor was captured with an incorrect transform or hotspot: 1) The mouse enters a display with a different DSF or UI scale. 2) The internal display is not the primary display. 3) The display is rotated. It also adds a TODO for an accessibility regression. BUG= 631136 BUG= 642894 TEST=caroline: Cursor parenting and scaling is correct for each display. TEST=caroline: Cursor on rotated displays has correct orientation. Review-Url: https://codereview.chromium.org/2780623002 Cr-Commit-Position: refs/heads/master@{#476353} [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge_unittest.cc [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/components/exo/pointer.cc [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/components/exo/pointer.h [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/components/exo/shell_surface.cc [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/components/exo/wm_helper.cc [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/components/exo/wm_helper.h [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/components/exo/wm_helper_ash.cc [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/components/exo/wm_helper_ash.h [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/components/exo/wm_helper_mus.cc [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/components/exo/wm_helper_mus.h [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/ui/aura/client/cursor_client.h [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/ui/aura/client/cursor_client_observer.h [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/ui/aura/test/test_cursor_client.cc [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/ui/aura/test/test_cursor_client.h [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/ui/wm/core/cursor_manager.cc [modify] https://crrev.com/ba20af04ad131e2fc7b8fd4142cffd7461057d5b/ui/wm/core/cursor_manager.h
,
Jun 1 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fa6afade49688205eb70ba3329a23c91080cf53a commit fa6afade49688205eb70ba3329a23c91080cf53a Author: domlaskowski <domlaskowski@chromium.org> Date: Thu Jun 01 19:00:35 2017 exo: Fix cursor scale when crossing displays While dragging, the cursor was locked, so CursorClient::SetCursor calls were collapsed into a single call at the end of the drag. When crossing displays with different densities, the cursor scale was incorrect until the window was dropped. This CL removes cursor locking to prevent the OnCursorDisplayChanged update from being postponed. BUG= 631136 BUG= 642894 TEST=caroline: Cursor scale is correct while dragging across displays. Review-Url: https://codereview.chromium.org/2812663002 Cr-Commit-Position: refs/heads/master@{#476375} [modify] https://crrev.com/fa6afade49688205eb70ba3329a23c91080cf53a/components/exo/shell_surface.cc
,
Jun 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e0a90e7641fe7a24179747861292ef199dae85e5 commit e0a90e7641fe7a24179747861292ef199dae85e5 Author: domlaskowski <domlaskowski@chromium.org> Date: Thu Jun 08 20:38:20 2017 [M60] exo: Fix multi-display hardware cursor This CL fixes crashes in extended desktop mode caused by incorrect parenting of the cursor surface, as well as cases where the cursor was captured with an incorrect transform or hotspot: 1) The mouse enters a display with a different DSF or UI scale. 2) The internal display is not the primary display. 3) The display is rotated. It also adds a TODO for an accessibility regression. TBR=reveman@chromium.org NOTRY=true NOPRESUBMIT=true BUG= 631136 BUG= 642894 TEST=caroline: Cursor parenting and scaling is correct for each display. TEST=caroline: Cursor on rotated displays has correct orientation. Review-Url: https://codereview.chromium.org/2780623002 Cr-Original-Commit-Position: refs/heads/master@{#476353} Review-Url: https://codereview.chromium.org/2924873008 Cr-Commit-Position: refs/branch-heads/3112@{#263} Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897} [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge_unittest.cc [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/components/exo/pointer.cc [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/components/exo/pointer.h [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/components/exo/shell_surface.cc [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/components/exo/wm_helper.cc [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/components/exo/wm_helper.h [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/components/exo/wm_helper_ash.cc [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/components/exo/wm_helper_ash.h [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/components/exo/wm_helper_mus.cc [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/components/exo/wm_helper_mus.h [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/ui/aura/client/cursor_client.h [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/ui/aura/client/cursor_client_observer.h [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/ui/aura/test/test_cursor_client.cc [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/ui/aura/test/test_cursor_client.h [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/ui/wm/core/cursor_manager.cc [modify] https://crrev.com/e0a90e7641fe7a24179747861292ef199dae85e5/ui/wm/core/cursor_manager.h
,
Jun 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f9f0ccb6c9db27cea6caca0c6e7e323e0994e710 commit f9f0ccb6c9db27cea6caca0c6e7e323e0994e710 Author: domlaskowski <domlaskowski@chromium.org> Date: Thu Jun 08 20:46:40 2017 [M60] exo: Fix cursor scale when crossing displays While dragging, the cursor was locked, so CursorClient::SetCursor calls were collapsed into a single call at the end of the drag. When crossing displays with different densities, the cursor scale was incorrect until the window was dropped. This CL removes cursor locking to prevent the OnCursorDisplayChanged update from being postponed. TBR=reveman@chromium.org NOTRY=true NOPRESUBMIT=true BUG= 631136 BUG= 642894 TEST=caroline: Cursor scale is correct while dragging across displays. Review-Url: https://codereview.chromium.org/2812663002 Cr-Original-Commit-Position: refs/heads/master@{#476375} Review-Url: https://codereview.chromium.org/2931963002 Cr-Commit-Position: refs/branch-heads/3112@{#265} Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897} [modify] https://crrev.com/f9f0ccb6c9db27cea6caca0c6e7e323e0994e710/components/exo/shell_surface.cc
,
Sep 18 2017
,
Jan 22 2018
,
Jan 23 2018
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by bugdroid1@chromium.org
, Jul 26 2016