New issue
Advanced search Search tips

Issue 632099 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug

Blocked on:
issue 632192



Sign in to add a comment

Mash setup may trigger DockedWindowLayoutManager with null shelf

Project Member Reported by sky@chromium.org, Jul 27 2016

Issue description

Mash 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.
 

Comment 1 by sky@chromium.org, Jul 27 2016

Cc: msw@chromium.org jamescook@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, 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

Comment 3 by sky@chromium.org, Jul 27 2016

Blockedon: 632192

Comment 4 by sky@chromium.org, Aug 24 2016

Labels: Proj-Mustash-Mash
Components: MUS
Labels: Proj-Mustash
Components: Internals>MUS

Comment 8 by sky@chromium.org, Mar 7 2017

James and Mike, I believe that mus and classic ash create the shelf at the same time now. Is that right?
The timing of shelf creation is very similar, yes.

Comment 10 by sky@chromium.org, 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
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.

Cc: afakhry@chromium.org
Note that code for docking is probably going to be removed: https://codereview.chromium.org/2700523004/ (and issue 668355)

Comment 13 by sky@chromium.org, Mar 8 2017

Status: WontFix (was: Untriaged)
As docked windows are going away I'm going to close this out.
Components: -Internals>MUS Internals>Services>WindowService
Components: -MUS

Sign in to add a comment