Mash setup may trigger DockedWindowLayoutManager with null shelf |
||||||||||
Issue descriptionMash currently asynchronously creates the shelf. This leads to DockedWindowLayoutManager and PanelLayoutManager having a null shelf for a portion of time that they don't expect and leading to adding conditionals that shouldn't be there. Once the shelf window is created immediately we can nuke these conditionals.
,
Jul 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ba1fdb52586c4c5eaeb182444552bc6f3d6b4711 commit ba1fdb52586c4c5eaeb182444552bc6f3d6b4711 Author: sky <sky@chromium.org> Date: Wed Jul 27 19:55:16 2016 Makes DockedWindowLayoutManager::UpdateDockBounds() handle null shelf_ This is needed for mash as we asynchronously set the shelf, which is not expected. The async creation is temporary while we support sysui. Once sysui goes away this code shouldn't be needed. BUG= 632099 TEST=none R=jamescook@chromium.org Review-Url: https://codereview.chromium.org/2184223002 Cr-Commit-Position: refs/heads/master@{#408219} [modify] https://crrev.com/ba1fdb52586c4c5eaeb182444552bc6f3d6b4711/ash/common/wm/dock/docked_window_layout_manager.cc
,
Jul 27 2016
,
Aug 24 2016
,
Sep 2 2016
,
Oct 4 2016
,
Oct 4 2016
,
Mar 7 2017
James and Mike, I believe that mus and classic ash create the shelf at the same time now. Is that right?
,
Mar 7 2017
The timing of shelf creation is very similar, yes.
,
Mar 7 2017
Similar, or the same? I'm specifically wondering if I can remove the conditional that I added for this. https://codereview.chromium.org/2184223002/diff/40001/ash/common/wm/dock/docked_window_layout_manager.cc
,
Mar 8 2017
I just checked the code and they are the same. CreateShelfView() is called in WmShell::SessionStateChanged() when the user session becomes active. So I think it's probably OK to remove the null check. Either it will fail both in mash and in classic ash, or it will succeed in both. The right fix here is to make DockedWindowLayoutManager take the WmShelf as a constructor parameter. WmShelf exists for the lifetime of the RootWindowController so there's no need to wait for the shelf *view* to be created.
,
Mar 8 2017
Note that code for docking is probably going to be removed: https://codereview.chromium.org/2700523004/ (and issue 668355)
,
Mar 8 2017
As docked windows are going away I'm going to close this out.
,
Feb 26 2018
,
Feb 26 2018
|
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by sky@chromium.org
, Jul 27 2016