Eng tracking: persistent window bounds in multi displays |
|||||||||||||
Issue descriptionThis is a eng tracking master bug for persistent window bounds in multi displays for these features: Windows/Apps remain in their original place after: (1) disconnecting and reconnecting to external display (2) enabling and disabling mirror display (3) dock mode: closing/reopening laptop lid (4) restarting device For (4), currently only browser window is restored after restarting device. v2 apps like files, android apps are not restored. So (4) will be done later.
,
Jan 29 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fa19cfd35652f798258967e8005efe893bd196fc commit fa19cfd35652f798258967e8005efe893bd196fc Author: Qiang Xu <warx@google.com> Date: Mon Jan 29 19:36:50 2018 cros: add ash-enable-persistent-window-bounds switch changes: Add a switch to make the feature dev behind the flag. Bug: 805046 Test: unit_tests --gtest_filter=AboutFlagsHistogramTest* Change-Id: I1b63060cf6b08557d94447b4a87f9ab07b192e1c Reviewed-on: https://chromium-review.googlesource.com/890633 Reviewed-by: James Cook <jamescook@chromium.org> Reviewed-by: Mark Pearson <mpearson@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/heads/master@{#532546} [modify] https://crrev.com/fa19cfd35652f798258967e8005efe893bd196fc/ash/public/cpp/ash_switches.cc [modify] https://crrev.com/fa19cfd35652f798258967e8005efe893bd196fc/ash/public/cpp/ash_switches.h [modify] https://crrev.com/fa19cfd35652f798258967e8005efe893bd196fc/chrome/browser/about_flags.cc [modify] https://crrev.com/fa19cfd35652f798258967e8005efe893bd196fc/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/fa19cfd35652f798258967e8005efe893bd196fc/chrome/browser/flag_descriptions.h [modify] https://crrev.com/fa19cfd35652f798258967e8005efe893bd196fc/tools/metrics/histograms/enums.xml
,
Jan 30 2018
,
Jan 30 2018
,
Jan 30 2018
,
Jan 31 2018
,
Jan 31 2018
design doc: go/cros-persistent-window-bounds
,
Feb 20 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d77a90c6fd7666852fe326a0b350cb0e132de7d9 commit d77a90c6fd7666852fe326a0b350cb0e132de7d9 Author: Qiang Xu <warx@google.com> Date: Tue Feb 20 19:43:29 2018 cros: restore bounds on Dis{Re}Connect & Off{On} mirror mode changes: - WindowState caches a member for saving PersistentWindowInfo, which is saved on OnWillProcessDisplayChanges() and restored on OnDisplayConfigurationChanged(). - Saving when it hasn't been saved. - Restoring when (1) we have saved persistent info, (2) persistent display id is a valid display currently, (3) persistent display id is not current display id. We could have display position/layout changes, in which case we transform the window accordingly. - Reset saved PersistentWindowInfo each time window bounds have restored or when bounds changed by user. Bug: 805046 Test: ash_unittests --gtest_filter=PersistentWindowControllerTest* Change-Id: I67426ca17f0d25f92284eb690f849bf77bb748be Reviewed-on: https://chromium-review.googlesource.com/893644 Reviewed-by: Mitsuru Oshima (In Tokyo) <oshima@chromium.org> Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/heads/master@{#537849} [modify] https://crrev.com/d77a90c6fd7666852fe326a0b350cb0e132de7d9/ash/BUILD.gn [add] https://crrev.com/d77a90c6fd7666852fe326a0b350cb0e132de7d9/ash/display/persistent_window_controller.cc [add] https://crrev.com/d77a90c6fd7666852fe326a0b350cb0e132de7d9/ash/display/persistent_window_controller.h [add] https://crrev.com/d77a90c6fd7666852fe326a0b350cb0e132de7d9/ash/display/persistent_window_controller_unittest.cc [add] https://crrev.com/d77a90c6fd7666852fe326a0b350cb0e132de7d9/ash/display/persistent_window_info.cc [add] https://crrev.com/d77a90c6fd7666852fe326a0b350cb0e132de7d9/ash/display/persistent_window_info.h [modify] https://crrev.com/d77a90c6fd7666852fe326a0b350cb0e132de7d9/ash/shell.cc [modify] https://crrev.com/d77a90c6fd7666852fe326a0b350cb0e132de7d9/ash/shell.h [modify] https://crrev.com/d77a90c6fd7666852fe326a0b350cb0e132de7d9/ash/wm/window_state.cc [modify] https://crrev.com/d77a90c6fd7666852fe326a0b350cb0e132de7d9/ash/wm/window_state.h
,
Mar 1 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7e111b2d97d512b045819a4afc3edad03ce4e9ea commit 7e111b2d97d512b045819a4afc3edad03ce4e9ea Author: Qiang Xu <warx@google.com> Date: Thu Mar 01 18:30:24 2018 cros: add persistent window mixed mirror mode test case Bug: 805046 Test: covered by tests Change-Id: Iad3ab2364eb5c034e1d78c5160918d9c10fe9c31 Reviewed-on: https://chromium-review.googlesource.com/942345 Commit-Queue: Qiang Xu <warx@google.com> Reviewed-by: Weidong Guo <weidongg@chromium.org> Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Cr-Commit-Position: refs/heads/master@{#540221} [modify] https://crrev.com/7e111b2d97d512b045819a4afc3edad03ce4e9ea/ash/display/persistent_window_controller.cc [modify] https://crrev.com/7e111b2d97d512b045819a4afc3edad03ce4e9ea/ash/display/persistent_window_controller_unittest.cc
,
Mar 1 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2d070936d4fe722404f11eaec78b34e3cf31ba20 commit 2d070936d4fe722404f11eaec78b34e3cf31ba20 Author: Qiang Xu <warx@google.com> Date: Thu Mar 01 23:22:21 2018 cros: record nums of window restored for persistent restore changes: According to the design doc: go/cros-persistent-window-bounds, add UMA for recording the number of windows restored for persistent window restore in multi-display scenario. Bug: 805046 Test: tested on device, checked chrome://histograms and added test coverage Change-Id: I4f8c815c1b88dd605a02b509b27311d567998da1 Reviewed-on: https://chromium-review.googlesource.com/942186 Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Reviewed-by: Mark Pearson <mpearson@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/heads/master@{#540339} [modify] https://crrev.com/2d070936d4fe722404f11eaec78b34e3cf31ba20/ash/display/persistent_window_controller.cc [modify] https://crrev.com/2d070936d4fe722404f11eaec78b34e3cf31ba20/ash/display/persistent_window_controller.h [modify] https://crrev.com/2d070936d4fe722404f11eaec78b34e3cf31ba20/ash/display/persistent_window_controller_unittest.cc [modify] https://crrev.com/2d070936d4fe722404f11eaec78b34e3cf31ba20/tools/metrics/histograms/histograms.xml
,
Mar 5 2018
Merge request for #10 CL
,
Mar 5 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/90621b8d2471b9555ce46ab8ca2561dcc44eb28e commit 90621b8d2471b9555ce46ab8ca2561dcc44eb28e Author: Qiang Xu <warx@google.com> Date: Mon Mar 05 23:25:13 2018 cros: persistent window restores on active user session started changes: Using IsActiveUserSessionStarted instead of IsUserSessionBlocked as IsUserSessionBlocked could contain not ACTIVE state during logging in, which could cause BuildWindowList crash. Bug: 805046 Test: tested on device Change-Id: I13fac4df6a0dd7e531dc30fbc91d6dd80152ee30 Reviewed-on: https://chromium-review.googlesource.com/949666 Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/heads/master@{#540972} [modify] https://crrev.com/90621b8d2471b9555ce46ab8ca2561dcc44eb28e/ash/display/persistent_window_controller.cc
,
Mar 5 2018
Merge request for #10 and #12 CL
,
Mar 6 2018
Your change meets the bar and is auto-approved for M66. Please go ahead and merge the CL to branch 3359 manually. Please contact milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ddc93b384460bfa76c6541894435387cd4ca8b7f commit ddc93b384460bfa76c6541894435387cd4ca8b7f Author: Qiang Xu <warx@google.com> Date: Tue Mar 06 23:53:33 2018 m66 merge: cros: record nums of window restored for persistent restore changes: According to the design doc: go/cros-persistent-window-bounds, add UMA for recording the number of windows restored for persistent window restore in multi-display scenario. TBR=afakhry@chromium.org TBR=mpearson@chromium.org (cherry picked from commit 2d070936d4fe722404f11eaec78b34e3cf31ba20) Bug: 805046 Test: tested on device, checked chrome://histograms and added test coverage Change-Id: I4f8c815c1b88dd605a02b509b27311d567998da1 Reviewed-on: https://chromium-review.googlesource.com/942186 Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Reviewed-by: Mark Pearson <mpearson@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Original-Commit-Position: refs/heads/master@{#540339} Reviewed-on: https://chromium-review.googlesource.com/952295 Reviewed-by: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/branch-heads/3359@{#45} Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276} [modify] https://crrev.com/ddc93b384460bfa76c6541894435387cd4ca8b7f/ash/display/persistent_window_controller.cc [modify] https://crrev.com/ddc93b384460bfa76c6541894435387cd4ca8b7f/ash/display/persistent_window_controller.h [modify] https://crrev.com/ddc93b384460bfa76c6541894435387cd4ca8b7f/ash/display/persistent_window_controller_unittest.cc [modify] https://crrev.com/ddc93b384460bfa76c6541894435387cd4ca8b7f/tools/metrics/histograms/histograms.xml
,
Mar 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/efc03ea46c5b2e9cf66f723c5213d93ef7441a08 commit efc03ea46c5b2e9cf66f723c5213d93ef7441a08 Author: Qiang Xu <warx@google.com> Date: Tue Mar 06 23:56:17 2018 m66 merge: cros: persistent window restores on active user session started changes: Using IsActiveUserSessionStarted instead of IsUserSessionBlocked as IsUserSessionBlocked could contain not ACTIVE state during logging in, which could cause BuildWindowList crash. TBR=afakhry@chromium.org (cherry picked from commit 90621b8d2471b9555ce46ab8ca2561dcc44eb28e) Bug: 805046 Test: tested on device Change-Id: I13fac4df6a0dd7e531dc30fbc91d6dd80152ee30 Reviewed-on: https://chromium-review.googlesource.com/949666 Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Original-Commit-Position: refs/heads/master@{#540972} Reviewed-on: https://chromium-review.googlesource.com/952468 Reviewed-by: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/branch-heads/3359@{#46} Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276} [modify] https://crrev.com/efc03ea46c5b2e9cf66f723c5213d93ef7441a08/ash/display/persistent_window_controller.cc
,
Mar 9 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5dda5e514830c504b8dc4f7dadfe11cfb988d661 commit 5dda5e514830c504b8dc4f7dadfe11cfb988d661 Author: Qiang Xu <warx@google.com> Date: Fri Mar 09 20:51:45 2018 cros: no persistent window restore on swapping primary Changes: OnDisplayConfigurationChanged could not distinguish the case of swapping primary display. We now bind a callback in OnDisplayAdded ( it is called on reconnecting, leaving dock mode, exiting mirror mode) and run the callback in OnDisplayConfigurationChanged. Bug: 805046 Test: tested on device and added test coverage Change-Id: I332c9d368e9df4fc5630317902f2776eab5dc983 Reviewed-on: https://chromium-review.googlesource.com/956928 Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/heads/master@{#542205} [modify] https://crrev.com/5dda5e514830c504b8dc4f7dadfe11cfb988d661/ash/display/persistent_window_controller.cc [modify] https://crrev.com/5dda5e514830c504b8dc4f7dadfe11cfb988d661/ash/display/persistent_window_controller.h [modify] https://crrev.com/5dda5e514830c504b8dc4f7dadfe11cfb988d661/ash/display/persistent_window_controller_unittest.cc
,
Mar 9 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b019c30fc85cc742868b04621ff230040af5b3b9 commit b019c30fc85cc742868b04621ff230040af5b3b9 Author: Qiang Xu <warx@google.com> Date: Fri Mar 09 22:50:23 2018 cros: enable persistent window bounds feature changes: Per crbug.com/740268, we get all launch review YES. Remove behind-flag --ash-enable-persistent-window-bounds switch. Bug: 805046 Test: device test Change-Id: I33dfec4dd97e01c7ba159ab005cfd97cff51e215 Reviewed-on: https://chromium-review.googlesource.com/954067 Reviewed-by: James Cook <jamescook@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/heads/master@{#542267} [modify] https://crrev.com/b019c30fc85cc742868b04621ff230040af5b3b9/ash/display/persistent_window_controller.cc [modify] https://crrev.com/b019c30fc85cc742868b04621ff230040af5b3b9/ash/display/persistent_window_controller_unittest.cc [modify] https://crrev.com/b019c30fc85cc742868b04621ff230040af5b3b9/ash/public/cpp/ash_features.cc [modify] https://crrev.com/b019c30fc85cc742868b04621ff230040af5b3b9/ash/public/cpp/ash_features.h [modify] https://crrev.com/b019c30fc85cc742868b04621ff230040af5b3b9/ash/public/cpp/ash_switches.cc [modify] https://crrev.com/b019c30fc85cc742868b04621ff230040af5b3b9/ash/public/cpp/ash_switches.h [modify] https://crrev.com/b019c30fc85cc742868b04621ff230040af5b3b9/chrome/browser/about_flags.cc [modify] https://crrev.com/b019c30fc85cc742868b04621ff230040af5b3b9/tools/metrics/histograms/enums.xml
,
Mar 9 2018
merge request for #17 and #18. #17 is a bug fix. #18 is enabling the feature on m66.
,
Mar 10 2018
Your change meets the bar and is auto-approved for M66. Please go ahead and merge the CL to branch 3359 manually. Please contact milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 11 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c32b0abfdaffcbaa1d248d0da4f18eb3d2344606 commit c32b0abfdaffcbaa1d248d0da4f18eb3d2344606 Author: Qiang Xu <warx@google.com> Date: Sun Mar 11 21:19:32 2018 m66 merge: cros: no persistent window restore on swapping primary Changes: OnDisplayConfigurationChanged could not distinguish the case of swapping primary display. We now bind a callback in OnDisplayAdded ( it is called on reconnecting, leaving dock mode, exiting mirror mode) and run the callback in OnDisplayConfigurationChanged. TBR=afakhry@chromium.org (cherry picked from commit 5dda5e514830c504b8dc4f7dadfe11cfb988d661) Bug: 805046 Test: tested on device and added test coverage Change-Id: I332c9d368e9df4fc5630317902f2776eab5dc983 Reviewed-on: https://chromium-review.googlesource.com/956928 Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Original-Commit-Position: refs/heads/master@{#542205} Reviewed-on: https://chromium-review.googlesource.com/958290 Reviewed-by: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/branch-heads/3359@{#150} Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276} [modify] https://crrev.com/c32b0abfdaffcbaa1d248d0da4f18eb3d2344606/ash/display/persistent_window_controller.cc [modify] https://crrev.com/c32b0abfdaffcbaa1d248d0da4f18eb3d2344606/ash/display/persistent_window_controller.h [modify] https://crrev.com/c32b0abfdaffcbaa1d248d0da4f18eb3d2344606/ash/display/persistent_window_controller_unittest.cc
,
Mar 11 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/72021dd60d3418d97974014e77a2c66ef8e6b298 commit 72021dd60d3418d97974014e77a2c66ef8e6b298 Author: Qiang Xu <warx@google.com> Date: Sun Mar 11 21:40:09 2018 m66 merge: cros: enable persistent window bounds feature changes: Per crbug.com/740268, we get all launch review YES. Remove behind-flag --ash-enable-persistent-window-bounds switch. TBR=jamescook@chromium.org (cherry picked from commit b019c30fc85cc742868b04621ff230040af5b3b9) Bug: 805046 Test: device test Change-Id: I33dfec4dd97e01c7ba159ab005cfd97cff51e215 Reviewed-on: https://chromium-review.googlesource.com/954067 Reviewed-by: James Cook <jamescook@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Original-Commit-Position: refs/heads/master@{#542267} Reviewed-on: https://chromium-review.googlesource.com/958291 Reviewed-by: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/branch-heads/3359@{#151} Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276} [modify] https://crrev.com/72021dd60d3418d97974014e77a2c66ef8e6b298/ash/display/persistent_window_controller.cc [modify] https://crrev.com/72021dd60d3418d97974014e77a2c66ef8e6b298/ash/display/persistent_window_controller_unittest.cc [modify] https://crrev.com/72021dd60d3418d97974014e77a2c66ef8e6b298/ash/public/cpp/ash_features.cc [modify] https://crrev.com/72021dd60d3418d97974014e77a2c66ef8e6b298/ash/public/cpp/ash_features.h [modify] https://crrev.com/72021dd60d3418d97974014e77a2c66ef8e6b298/ash/public/cpp/ash_switches.cc [modify] https://crrev.com/72021dd60d3418d97974014e77a2c66ef8e6b298/ash/public/cpp/ash_switches.h [modify] https://crrev.com/72021dd60d3418d97974014e77a2c66ef8e6b298/chrome/browser/about_flags.cc [modify] https://crrev.com/72021dd60d3418d97974014e77a2c66ef8e6b298/tools/metrics/histograms/enums.xml
,
Mar 12 2018
,
Jun 28 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c1d7a3e24e0cdc5d64518765314cfa5750f58275 commit c1d7a3e24e0cdc5d64518765314cfa5750f58275 Author: Qiang Xu <warx@google.com> Date: Thu Jun 28 15:36:44 2018 cros: remove ash-enable-persistent-window-bounds flag Feature is landed in M66. Now we can remove the flag in M69. Bug: 805046 Test: manual Cq-Include-Trybots: luci.chromium.try:closure_compilation Change-Id: Id98b066228f5f5b45d9d02d405bcc57d41fde20a Reviewed-on: https://chromium-review.googlesource.com/1113097 Reviewed-by: Mitsuru Oshima (OOO 6/27) <oshima@chromium.org> Commit-Queue: Qiang Xu <warx@google.com> Cr-Commit-Position: refs/heads/master@{#571136} [modify] https://crrev.com/c1d7a3e24e0cdc5d64518765314cfa5750f58275/ash/display/persistent_window_controller.cc [modify] https://crrev.com/c1d7a3e24e0cdc5d64518765314cfa5750f58275/ash/display/persistent_window_controller_unittest.cc [modify] https://crrev.com/c1d7a3e24e0cdc5d64518765314cfa5750f58275/ash/public/cpp/ash_features.cc [modify] https://crrev.com/c1d7a3e24e0cdc5d64518765314cfa5750f58275/ash/public/cpp/ash_features.h [modify] https://crrev.com/c1d7a3e24e0cdc5d64518765314cfa5750f58275/chrome/browser/about_flags.cc |
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by warx@chromium.org
, Jan 23 2018