Overview and window switcher handle transients poorly |
|||||
Issue descriptionThis is more evident when using crostini and easy to reproduce. In overview mode we render the transient as part of the parent (makes sense). However, we also add an item for the child that is completely transparent. Window-switcher behaves differently. Each window gets it's own item. That probably doesn't make sense for transients as it's not really possible to switch to a transient parent.
,
May 19 2018
Issue 794853 has been merged into this issue.
,
May 19 2018
sammiequon@, do you have time to look this as overview mode improvement? Thanks. +omrilio@. We might need to define what is the behavior in the Window-switcher.
,
May 21 2018
Can we start by making the behavior consistent? Window-switcher behavior where each window gets an item is confusing but at least better than overview mode where you're getting empty items.
,
Nov 20
,
Nov 20
,
Nov 29
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1c2052ab5f930300f4a5fe2cc1de15a06c64e516 commit 1c2052ab5f930300f4a5fe2cc1de15a06c64e516 Author: Sammie Quon <sammiequon@google.com> Date: Thu Nov 29 01:20:24 2018 wm: Have overview and cycle list share some code. Refactor overview and cycle list code. The should end up showing the same windows, so they should share the same codes if possible. Test: manual Bug: 844829 Change-Id: Ib5f2800f7b0876afcff10cea3bf37f0156e83467 Reviewed-on: https://chromium-review.googlesource.com/c/1344814 Commit-Queue: Sammie Quon <sammiequon@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/heads/master@{#611977} [modify] https://crrev.com/1c2052ab5f930300f4a5fe2cc1de15a06c64e516/ash/wm/mru_window_tracker.cc [modify] https://crrev.com/1c2052ab5f930300f4a5fe2cc1de15a06c64e516/ash/wm/overview/window_selector.cc [modify] https://crrev.com/1c2052ab5f930300f4a5fe2cc1de15a06c64e516/ash/wm/overview/window_selector.h [modify] https://crrev.com/1c2052ab5f930300f4a5fe2cc1de15a06c64e516/ash/wm/overview/window_selector_controller.cc [modify] https://crrev.com/1c2052ab5f930300f4a5fe2cc1de15a06c64e516/ash/wm/window_util.cc [modify] https://crrev.com/1c2052ab5f930300f4a5fe2cc1de15a06c64e516/ash/wm/window_util.h
,
Nov 30
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/171bbc72e48dcc1d89f772554a241240797d1e2e commit 171bbc72e48dcc1d89f772554a241240797d1e2e Author: Sammie Quon <sammiequon@google.com> Date: Fri Nov 30 02:58:54 2018 overview: Do not show windows if their transient root is also shown. Overview will show all windows related by transient on the same thumbnail. Currently we will get blank spaces since the MRU list may contain two windows related by transient, and the transient ancestor or descendant of the most recent window will get transformed onto the transient related windows thumbnail, leaving a blank space. Introduce a function which removes all transient descendants from a given list if their transient root exists in the same list. First usage is overview but may need to extend to alt tab in future. Test: ash_unittests WindowUtilTest.RemoveTransientDescendants Bug: 844829 Change-Id: Ic2f9b476bc353b50a197be8fcf7bb3f2e3d44c49 Reviewed-on: https://chromium-review.googlesource.com/c/1355249 Commit-Queue: Sammie Quon <sammiequon@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#612535} [modify] https://crrev.com/171bbc72e48dcc1d89f772554a241240797d1e2e/ash/wm/overview/scoped_transform_overview_window.cc [modify] https://crrev.com/171bbc72e48dcc1d89f772554a241240797d1e2e/ash/wm/overview/window_selector_controller.cc [modify] https://crrev.com/171bbc72e48dcc1d89f772554a241240797d1e2e/ash/wm/window_transient_descendant_iterator.cc [modify] https://crrev.com/171bbc72e48dcc1d89f772554a241240797d1e2e/ash/wm/window_util.cc [modify] https://crrev.com/171bbc72e48dcc1d89f772554a241240797d1e2e/ash/wm/window_util.h [modify] https://crrev.com/171bbc72e48dcc1d89f772554a241240797d1e2e/ash/wm/window_util_unittest.cc [modify] https://crrev.com/171bbc72e48dcc1d89f772554a241240797d1e2e/ui/wm/core/window_util.cc [modify] https://crrev.com/171bbc72e48dcc1d89f772554a241240797d1e2e/ui/wm/core/window_util.h
,
Dec 6
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b2223fcd994654efd606f02ba4e1ee2f40083415 commit b2223fcd994654efd606f02ba4e1ee2f40083415 Author: Sammie Quon <sammiequon@google.com> Date: Thu Dec 06 01:34:52 2018 wm: Introduce wm::WindowPreviewView. It is a view which takes a window and makes multiple mirror views for each transient descendant of the window. Replace overview, shelf and window cycle mirror views with this, so users can see the transient descendants. Previously they would just disappear. For window cycle, remove from the list of windows windows which are linked together by transients, as wm::WindowPreviewView will handle showing all the transient descendants. Test: manual Bug: 844829 Change-Id: I7b09530d2b387d2724e53da5cfc8c01535c562bd Reviewed-on: https://chromium-review.googlesource.com/c/1357309 Commit-Queue: Sammie Quon <sammiequon@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/heads/master@{#614224} [modify] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/BUILD.gn [modify] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/shelf/window_preview.cc [modify] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/shelf/window_preview.h [modify] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/wm/overview/scoped_transform_overview_window.cc [modify] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/wm/window_cycle_controller.cc [modify] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/wm/window_cycle_list.cc [modify] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/wm/window_mirror_view.cc [add] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/wm/window_preview_view.cc [add] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/wm/window_preview_view.h [add] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/wm/window_preview_view_test_api.cc [add] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/wm/window_preview_view_test_api.h [add] https://crrev.com/b2223fcd994654efd606f02ba4e1ee2f40083415/ash/wm/window_preview_view_unittest.cc
,
Dec 6
,
Dec 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f203aebedb9b1813fed960adb3ecad91c654cafe commit f203aebedb9b1813fed960adb3ecad91c654cafe Author: Sammie Quon <sammiequon@google.com> Date: Thu Dec 13 18:09:35 2018 wm: Fix bug with artificats when using WindowPreviewView. These artificats were caused by some transient children which whose bounds were placed outside of screen when minimized. These children such as StatusBubble are really small and users of WindowPreviewView are usually even smaller than normal window bounds, so just exclude them. Also fix a bug with transient windows transforms not reset in homeLauncherGestureHandler, it was contributing to these artificats too. Test: manual Bug: 844829 Change-Id: Ica69b195dfeb988c75f7b04649d60afe02c6b5bf Reviewed-on: https://chromium-review.googlesource.com/c/1371067 Reviewed-by: Mitsuru Oshima (gardener - slow) <oshima@chromium.org> Commit-Queue: Sammie Quon <sammiequon@chromium.org> Cr-Commit-Position: refs/heads/master@{#616363} [modify] https://crrev.com/f203aebedb9b1813fed960adb3ecad91c654cafe/ash/app_list/home_launcher_gesture_handler.cc [modify] https://crrev.com/f203aebedb9b1813fed960adb3ecad91c654cafe/ash/wm/overview/scoped_transform_overview_window.cc [modify] https://crrev.com/f203aebedb9b1813fed960adb3ecad91c654cafe/ash/wm/window_mirror_view.cc [modify] https://crrev.com/f203aebedb9b1813fed960adb3ecad91c654cafe/ash/wm/window_preview_view.cc |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by reve...@chromium.org
, May 19 2018