New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 854328 link

Starred by 2 users

Issue metadata

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

Blocking:
issue 678705


Participants' hotlists:
LoginRefresh


Sign in to add a comment

LoginDisplayHostCommon: Add mash support for wm::ScopedDragDropDisabler

Project Member Reported by steve...@chromium.org, Jun 19 2018

Issue description

LoginDisplayHostCommon currently ownes a wm::ScopedDragDropDisabler instance, which requires a root window (i.e. (ash::Shell::GetPrimaryRootWindow()).

We probably need to move ownership of ScopedDragDropDisabler to ash::Shell and create a mojo interface method to disable/enable drag and drop at the system level.

Alternately, it may be sufficient to disable drag and drop just for the login window?

 

Comment 1 by xiy...@chromium.org, Jun 19 2018

The alternative should be sufficient. That is, move ScopedDragDropDisabler as a member of ash::LockWindow.
I'm assuming we do not need to worry about drag and drop for OOBE/webui-login? Then moving to ash::LockWindow SGTM as well.
Labels: Proj-Mustash
Labels: -Proj-Mustash Proj-Mash-SingleProcess
Status: Available (was: Untriaged)
Owner: jamescook@chromium.org
Status: Started (was: Available)
I was just in the login code for mash. I'll take a look.
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 17

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

commit eb426b551204764b92b73cc727e2a86e2ca70603
Author: James Cook <jamescook@chromium.org>
Date: Mon Sep 17 16:45:12 2018

chromeos: Eliminate ScopedDragDropDisabler to support mash

Code in chrome is not allowed to directly access ash root windows when
running under mash. The OOBE/login code uses the primary root window
to disable drag and drop. Eliminate the ScopedDragDropDisabler in
favor of just directly disabling ash's DragDropController until
the user session is active.

This also means we disable drag-and-drop on secondary displays.
We didn't do that before, but it's probably better to be consistent
across displays.

Bug:  854328 
Test: added to ash_unittests
Change-Id: Iaf8b7c598578033db974f64d19f678ddfbf00efb
Reviewed-on: https://chromium-review.googlesource.com/1227398
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591707}
[modify] https://crrev.com/eb426b551204764b92b73cc727e2a86e2ca70603/ash/BUILD.gn
[modify] https://crrev.com/eb426b551204764b92b73cc727e2a86e2ca70603/ash/drag_drop/drag_drop_controller.cc
[modify] https://crrev.com/eb426b551204764b92b73cc727e2a86e2ca70603/ash/drag_drop/drag_drop_controller.h
[add] https://crrev.com/eb426b551204764b92b73cc727e2a86e2ca70603/ash/drag_drop/drag_drop_controller_test_api.h
[modify] https://crrev.com/eb426b551204764b92b73cc727e2a86e2ca70603/ash/drag_drop/drag_drop_controller_unittest.cc
[modify] https://crrev.com/eb426b551204764b92b73cc727e2a86e2ca70603/ash/shell.cc
[modify] https://crrev.com/eb426b551204764b92b73cc727e2a86e2ca70603/ash/shell_unittest.cc
[modify] https://crrev.com/eb426b551204764b92b73cc727e2a86e2ca70603/chrome/browser/chromeos/login/ui/login_display_host_common.cc
[modify] https://crrev.com/eb426b551204764b92b73cc727e2a86e2ca70603/chrome/browser/chromeos/login/ui/login_display_host_common.h
[modify] https://crrev.com/eb426b551204764b92b73cc727e2a86e2ca70603/ui/wm/public/BUILD.gn
[delete] https://crrev.com/d407d687450e17bf4f3618a5866cd2a8f9f4fb3c/ui/wm/public/scoped_drag_drop_disabler.cc
[delete] https://crrev.com/d407d687450e17bf4f3618a5866cd2a8f9f4fb3c/ui/wm/public/scoped_drag_drop_disabler.h

Status: Fixed (was: Started)
Cc: jonr...@chromium.org mustash-bugs@chromium.org
 Issue 648748  has been merged into this issue.

Sign in to add a comment