SingleProcessMash: "Add Person" dialog does not appear |
||
Issue descriptionToT linux-chromeos out/Default/chrome --ash-debug-shortcuts --ash-dev-shortcuts --ash-host-window-bounds="0+0-1024x768" --user-data-dir=/w/udd --enable-features=SingleProcessMash --login-manager First, run with empty user-data-dir. You'll go through OOBE and can sign in a test user via GAIA login. That works. Run again. You'll see the sign-in screen with pods. Click "Add Person". The wallpaper dims as expected, but the webui GAIA login dialog does not show up.
,
Aug 21
Turns out the gaia dialog is put in SystemModalContainer instead of LockSystemModalContainer in single process mash mode. So it is behind the login screen.
SystemModalContainer (0x33d9f4ccc920) type=0 visible 0,0 1280x768 [snapped]
SystemModalContainerLayoutManager.ModalBackground (0x33d9f661dc20) type=1 visible 0,0 1280x768 [snapped]
ui/views/window/ClientView (0x33d9f505dc20) type=2 visible 256,40 768x640 [snapped] remote_id=FrameSinkId(4294967295, 1)
DesktopNativeWidgetAura - content window (0x33d9f5060aa0) type=0 visible 0,0 768x640 remote_id=FrameSinkId(4294967295, 2)
NativeViewHostAuraClip (0x33d9f50617a0) type=0 visible 0,0 768x640 remote_id=FrameSinkId(4294967295, 4)
WebContentsViewAura (0x33d9f5061320) type=0 visible 0,0 768x640 remote_id=FrameSinkId(4294967295, 3)
RenderWidgetHostViewAura (0x33d9f5061920) type=0 visible 0,0 768x640 remote_id=FrameSinkId(4294967295, 5)
RendererFrame (0x33d9f5060c20) type=0 visible 0,0 768x560 remote_id=FrameSinkId(4294967294, 1)
RendererFrame (0x33d9f7b12c20) type=0 visible 0,0 0x0 remote_id=FrameSinkId(4294967294, 2)
This line
https://cs.chromium.org/chromium/src/chrome/browser/chromeos/login/ui/oobe_ui_dialog_delegate.cc?rcl=3890683844d752b78a1614cb87d3fd3aee5a9868&l=97
somehow does not work.
,
Aug 22
In single process mash, gaia dialog widget goes through the following stack:
WindowServiceDelegateImpl::SetModalType ->
wm::GetDefaultParent ->
GetSystemModalContainer
It does not have a |transient_parent| and hence assumed to be a user window and put into SystemModalContainer instead of LockSystemModalContainer [1].
In classic mode, we set a transient parent (non-container) for top level windows [2]. But CreateAndParentTopLevelWindowInRoot deals with container [3] and setting container as transient parent seems wrong.
[1] https://cs.chromium.org/chromium/src/ash/wm/container_finder.cc?rcl=933b64fe33b3a621cac3400f5af8601fb0393b8c&l=48
[2] https://cs.chromium.org/chromium/src/ui/views/widget/native_widget_aura.cc?rcl=a2fe63e0db361d402037061b9c431704cc1e32be&l=189
[3] https://cs.chromium.org/chromium/src/ash/wm/top_level_window_factory.cc?rcl=7e57f95683aa6183122fb6d09ae439bfeccbb6d0&l=185
,
Aug 22
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/40b3fb1faf02084fcfc005dbec31eb1536a1b785 commit 40b3fb1faf02084fcfc005dbec31eb1536a1b785 Author: Xiyuan Xia <xiyuan@chromium.org> Date: Wed Aug 22 22:18:20 2018 cros: Fix missing gaia in single process mash In single process mash, gaia dialog widget goes through the following stack: WindowServiceDelegateImpl::SetModalType -> wm::GetDefaultParent -> GetSystemModalContainer It does not have a |transient_parent| and hence assumed to be a user window and put into SystemModalContainer instead of LockSystemModalContainer. Since the dialog widget is created with a proper container parent, the CL fixes the issue by re-using existing container parent in GetSystemModalContainer. Bug: 876329 Change-Id: Iaf38273e852738b7d258a82f76dae9952051a08d Reviewed-on: https://chromium-review.googlesource.com/1185406 Commit-Queue: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Cr-Commit-Position: refs/heads/master@{#585278} [modify] https://crrev.com/40b3fb1faf02084fcfc005dbec31eb1536a1b785/ash/public/cpp/shell_window_ids.h [modify] https://crrev.com/40b3fb1faf02084fcfc005dbec31eb1536a1b785/ash/shell.cc [modify] https://crrev.com/40b3fb1faf02084fcfc005dbec31eb1536a1b785/ash/wm/container_finder.cc [modify] https://crrev.com/40b3fb1faf02084fcfc005dbec31eb1536a1b785/ash/ws/window_service_delegate_impl.cc
,
Aug 22
|
||
►
Sign in to add a comment |
||
Comment 1 by xiy...@chromium.org
, Aug 21