Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Issue 2889673002: chromeos: Refactor shelf to create ShelfView earlier in startup (Closed)

Created:
3 years, 7 months ago by James Cook
Modified:
3 years, 7 months ago
Reviewers:
Tom Sepez, msw, dmazzoni
CC:
chromium-reviews, sadrul, dtseng+watch_chromium.org, aboxhall+watch_chromium.org, jam, nektar+watch_chromium.org, je_julie, yuzo+watch_chromium.org, dougt+watch_chromium.org, darin-cc_chromium.org, dmazzoni+watch_chromium.org, oshima+watch_chromium.org, tfarina, kalyank, davemoore+watch_chromium.org, jdufault
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

chromeos: Refactor shelf to create ShelfView earlier in startup Currently ShelfView is created in the middle of login, after the profile loads, whereas the ShelfWidget and StatusAreaWidget are created on display initialization. We also have complex logic around showing and hiding the shelf based on login state, supervised user creation flows, etc. This makes it difficult to reason about the state of the shelf. Instead, always create the ShelfView when the widget is created. The view stays hidden at login because its window container is hidden. This makes it easier to reason about ShelfView (it's always there). We also want this because we want to replace the Web UI "fake shelf" during OOBE and login with a views-based shelf. It may help with Clusterfuzz crashes we're seeing due to shelf not being fully initialized during the tests. This is a refactor and should not cause behavior changes. BUG=717559, 674773 TEST=ash_unittests, browser_tests, manually testing login, ChromeVox, and adding/removing displays TBR=tsepez@chromium.org for rename Review-Url: https://codereview.chromium.org/2889673002 Cr-Commit-Position: refs/heads/master@{#472832} Committed: https://chromium.googlesource.com/chromium/src/+/788b4fcb1909904cda962cac4a637ffecfa90c1a

Patch Set 1 #

Patch Set 2 : Move ShelfLockingManager creation earlier #

Patch Set 3 : temp change for try run #

Patch Set 4 : Move ShelfView to initializer list #

Total comments: 43

Patch Set 5 : review comments #

Patch Set 6 : rebase #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+209 lines, -260 lines) Patch
M ash/public/interfaces/shelf.mojom View 1 2 3 4 1 chunk +3 lines, -1 line 0 comments Download
M ash/root_window_controller.h View 1 2 3 4 2 chunks +8 lines, -6 lines 0 comments Download
M ash/root_window_controller.cc View 1 2 3 4 3 chunks +9 lines, -22 lines 0 comments Download
M ash/shelf/shelf_controller.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M ash/shelf/shelf_controller.cc View 1 2 3 3 chunks +9 lines, -8 lines 0 comments Download
M ash/shelf/shelf_layout_manager.cc View 1 2 3 4 5 2 chunks +16 lines, -3 lines 0 comments Download
M ash/shelf/shelf_locking_manager.h View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M ash/shelf/shelf_locking_manager.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M ash/shelf/shelf_locking_manager_unittest.cc View 1 2 3 2 chunks +3 lines, -3 lines 0 comments Download
M ash/shelf/shelf_widget.h View 1 2 3 4 3 chunks +5 lines, -8 lines 0 comments Download
M ash/shelf/shelf_widget.cc View 1 2 3 4 8 chunks +21 lines, -40 lines 0 comments Download
M ash/shelf/shelf_widget_unittest.cc View 1 2 3 4 5 chunks +62 lines, -72 lines 1 comment Download
M ash/shelf/wm_shelf.h View 1 2 3 4 5 chunks +6 lines, -18 lines 0 comments Download
M ash/shelf/wm_shelf.cc View 1 2 3 4 5 7 chunks +12 lines, -31 lines 0 comments Download
M ash/shell.h View 1 2 3 4 2 chunks +4 lines, -4 lines 0 comments Download
M ash/shell.cc View 1 2 3 4 5 3 chunks +18 lines, -18 lines 0 comments Download
M ash/wm/workspace/workspace_layout_manager.cc View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M ash/wm/workspace_controller.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/accessibility/accessibility_manager.cc View 1 chunk +2 lines, -11 lines 0 comments Download
M chrome/browser/chromeos/accessibility/chromevox_panel.h View 2 chunks +5 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/accessibility/chromevox_panel.cc View 2 chunks +18 lines, -7 lines 0 comments Download
M chrome/browser/ui/ash/launcher/chrome_launcher_controller.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 36 (26 generated)
James Cook
msw, please take a look. There's more ShelfView cleanup to do, but this is as ...
3 years, 7 months ago (2017-05-16 21:32:36 UTC) #10
msw
Mostly minor comments; looks pretty good. https://codereview.chromium.org/2889673002/diff/60001/ash/public/interfaces/shelf.mojom File ash/public/interfaces/shelf.mojom (right): https://codereview.chromium.org/2889673002/diff/60001/ash/public/interfaces/shelf.mojom#newcode77 ash/public/interfaces/shelf.mojom:77: // to observe ...
3 years, 7 months ago (2017-05-16 22:42:01 UTC) #12
James Cook
msw, please take another look. https://codereview.chromium.org/2889673002/diff/60001/ash/public/interfaces/shelf.mojom File ash/public/interfaces/shelf.mojom (right): https://codereview.chromium.org/2889673002/diff/60001/ash/public/interfaces/shelf.mojom#newcode77 ash/public/interfaces/shelf.mojom:77: // to observe and ...
3 years, 7 months ago (2017-05-17 16:16:13 UTC) #16
msw
lgtm! https://codereview.chromium.org/2889673002/diff/100001/ash/shelf/shelf_widget_unittest.cc File ash/shelf/shelf_widget_unittest.cc (right): https://codereview.chromium.org/2889673002/diff/100001/ash/shelf/shelf_widget_unittest.cc#newcode355 ash/shelf/shelf_widget_unittest.cc:355: TEST_F(ShelfWidgetAfterLoginTest, InitialValues) { Great test!
3 years, 7 months ago (2017-05-17 18:19:47 UTC) #24
James Cook
dmazzoni, can I get OWNERS for chrome/browser/chromeos/accessibility/* ? It consolidates two functions that do chrome ...
3 years, 7 months ago (2017-05-17 18:29:49 UTC) #26
James Cook
ping dmazzoni? I think Mike has a CL in progress that will conflict with this ...
3 years, 7 months ago (2017-05-18 15:22:43 UTC) #27
dmazzoni
lgtm for accessibility - thanks, looks like the lifetime is much simpler to deal with ...
3 years, 7 months ago (2017-05-18 15:25:35 UTC) #28
James Cook
TBR tsepez for renaming a method in a mojo file
3 years, 7 months ago (2017-05-18 16:03:27 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2889673002/100001
3 years, 7 months ago (2017-05-18 16:08:27 UTC) #33
commit-bot: I haz the power
3 years, 7 months ago (2017-05-18 16:16:26 UTC) #36
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as
https://chromium.googlesource.com/chromium/src/+/788b4fcb1909904cda962cac4a63...

Powered by Google App Engine
This is Rietveld 408576698