New issue
Advanced search Search tips

Issue 837699 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on:
issue 837698

Blocking:
issue 837684



Sign in to add a comment

Wire up modal windows for WindowService as a library

Project Member Reported by sky@chromium.org, Apr 27 2018

Issue description

Specifically WindowServiceClient's SetChildModalParent and SetModalType.
 

Comment 1 by sky@chromium.org, Jun 11 2018

Owner: msw@chromium.org
Status: Assigned (was: Untriaged)

Comment 2 by msw@chromium.org, Jun 13 2018

Blockedon: 837698
This might depend on wiring up transient window relationships:  Issue 837698 

Comment 3 by msw@chromium.org, Jun 13 2018

Status: Started (was: Assigned)
I have a WIP CL that gets system modality working:
  https://chromium-review.googlesource.com/c/chromium/src/+/1100081
I think window-modality depends on transient relationships:
  https://cs.chromium.org/chromium/src/ui/wm/core/window_modality_controller.cc?rcl=098960b5d9584a5fe7c8074080f86ec4b982850f&l=186
Perhaps I'll pick up  Issue 837698  as a prerequisite, but I'll be out Friday, Monday, and Tuesday...
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d1691b3aeaf4257b86d2a97af9091a522224506f

commit d1691b3aeaf4257b86d2a97af9091a522224506f
Author: Mike Wasserman <msw@chromium.org>
Date: Fri Jul 06 19:23:21 2018

ws: Add Window Service support for transient and modal windows.

Wire up ws2::WindowTree implementations of:
 - AddTransientWindow()
 - RemoveTransientWindowFromParentImpl()
 - SetModalType()
 - SetChildModalParent()

Using MODAL_TYPE_WINDOW for non-child windows requires transient support.
Use Ash's system modal container via WindowServiceDelegate[Impl] plumbing.

Block client windows with modal transients from receiving events.
(makes the parent client window 'bounce' when clicking on its content)

TODO: Block events from clients when an unrelated system modal is open.
TODO: Block events from clients with child modal windows (not transient).

TBR=jamescook@chromium.org

Bug:  837699 ,  837698 
Test: Existing automated test coverage (eg. browser_tests --enable-features=OopAsh --gtest_filter=SystemWebDialogTest.ModalTest), and local tests like Patch Set 5.
Change-Id: I22ad5d64a7ae1c4e851d01f700619abb183f41aa
Reviewed-on: https://chromium-review.googlesource.com/1100081
Reviewed-by: Michael Wasserman <msw@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573037}
[modify] https://crrev.com/d1691b3aeaf4257b86d2a97af9091a522224506f/ash/ws/window_service_delegate_impl.cc
[modify] https://crrev.com/d1691b3aeaf4257b86d2a97af9091a522224506f/ash/ws/window_service_delegate_impl.h
[modify] https://crrev.com/d1691b3aeaf4257b86d2a97af9091a522224506f/services/ui/ws2/server_window.cc
[modify] https://crrev.com/d1691b3aeaf4257b86d2a97af9091a522224506f/services/ui/ws2/window_service_delegate.h
[modify] https://crrev.com/d1691b3aeaf4257b86d2a97af9091a522224506f/services/ui/ws2/window_tree.cc
[modify] https://crrev.com/d1691b3aeaf4257b86d2a97af9091a522224506f/services/ui/ws2/window_tree.h
[modify] https://crrev.com/d1691b3aeaf4257b86d2a97af9091a522224506f/ui/wm/core/window_modality_controller.cc

Status: Fixed (was: Started)

Sign in to add a comment