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

Issue 602727 link

Starred by 4 users

Issue metadata

Status: Duplicate
Merged: issue 671408
Owner:
Last visit > 30 days ago
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocking:
issue 599549



Sign in to add a comment

ScreenMus needs a complete implementation

Project Member Reported by e...@chromium.org, Apr 12 2016

Issue description

This is blocking the implementation of drag and drop, since that uses GetCursorScreenPoint() in a lot of classes.

(Also look at the uses of other NOTIMPLEMENTED()s to see what else. There are methods which are vending random gfx::NativeWindows, and it looks like in the X11 version, these are any window and maybe we can't expose random windows?)
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 28 2016

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

commit 78af65676b7db5aa44335792d6336a6c58847d5d
Author: erg <erg@chromium.org>
Date: Thu Apr 28 23:56:46 2016

mus: Implement ScreenMus::GetCursorScreenPoint().

ScreenMus (and by extension, much of our views code) assumes that it can
know the position of the cursor on screen. If we broadcast the
position to every client on mouse move, we'll wake up every client on
every mouse move. If we add a sync ipc call from the client to the window
server, what's a fairly common operation now performs a sync ipc.

Instead, have the window server own a piece of shared memory, share a
read only handle to it with anyone who asks, and then write the cursor
position to it on each mouse event. This lets clients read the cursor
position without costly broadcasting or sync ipcs.

BUG= 602727 

Review-Url: https://codereview.chromium.org/1881253002
Cr-Commit-Position: refs/heads/master@{#390539}

[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/public/cpp/lib/window_tree_client_impl.cc
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/public/cpp/lib/window_tree_client_impl.h
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/public/cpp/tests/test_window_tree.cc
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/public/cpp/tests/test_window_tree.h
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/public/cpp/window_tree_connection.h
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/public/interfaces/window_tree.mojom
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/ws/event_dispatcher.cc
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/ws/event_dispatcher_delegate.h
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/ws/event_dispatcher_unittest.cc
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/ws/user_display_manager.cc
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/ws/user_display_manager.h
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/ws/user_display_manager_unittest.cc
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/ws/window_manager_state.cc
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/ws/window_manager_state.h
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/ws/window_tree.cc
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/components/mus/ws/window_tree.h
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/ui/views/mus/screen_mus.cc
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/ui/views/mus/screen_mus_delegate.h
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/ui/views/mus/window_manager_connection.cc
[modify] https://crrev.com/78af65676b7db5aa44335792d6336a6c58847d5d/ui/views/mus/window_manager_connection.h

Comment 2 by e...@chromium.org, May 2 2016

Cc: -e...@chromium.org
Owner: e...@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, May 3 2016

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

commit 52ae866e32364d3463569cc9f896024d2889a7f7
Author: erg <erg@chromium.org>
Date: Tue May 03 17:11:38 2016

gfx::Screen: Replace GetWindowUnderCursor() with IsWindowUnderCursor().

This changes the interface to prevent handing handles to arbitrary
windows to Screen callers, as this is impossible in mus. Thankfully, all
callers were using this method as a way to check whether the mouse
cursor was within a specific window, which we can easily transform the
current implementations to.

BUG= 602727 

Review-Url: https://codereview.chromium.org/1935083003
Cr-Commit-Position: refs/heads/master@{#391273}

[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ash/display/screen_ash.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ash/display/screen_ash.h
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/blimp/engine/app/ui/blimp_screen.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/blimp/engine/app/ui/blimp_screen.h
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/chrome/browser/ui/views/panels/panel_view.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/chrome/browser/ui/window_sizer/window_sizer_common_unittest.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/chromecast/graphics/cast_screen.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/chromecast/graphics/cast_screen.h
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/extensions/browser/api/system_display/system_display_apitest.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/extensions/shell/browser/shell_screen.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/extensions/shell/browser/shell_screen.h
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/headless/lib/browser/headless_screen.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/headless/lib/browser/headless_screen.h
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/aura/test/test_screen.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/aura/test/test_screen.h
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/display/win/screen_win.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/display/win/screen_win.h
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/gfx/screen.h
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/gfx/screen_android.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/gfx/screen_ios.mm
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/gfx/screen_mac.mm
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/gfx/test/test_screen.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/gfx/test/test_screen.h
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/views/controls/menu/menu_controller.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/views/mouse_watcher_view_host.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/views/mus/screen_mus.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/views/mus/screen_mus.h
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/views/widget/desktop_aura/desktop_screen_x11.cc
[modify] https://crrev.com/52ae866e32364d3463569cc9f896024d2889a7f7/ui/views/widget/desktop_aura/desktop_screen_x11.h

Blocking: 611457
Project Member

Comment 5 by bugdroid1@chromium.org, May 31 2016

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

commit b9020bacdaff760ec0acc4fc5e9db9239438636d
Author: erg <erg@chromium.org>
Date: Tue May 31 23:42:58 2016

Revert cursor changes to RenderWidgetHostViewAura.

This is a selective revert of one file from
https://codereview.chromium.org/1945423002, which was breaking cursor
changes on zoom in/zoom out on the Linux version of chrome.

BUG= 602727 , 614654 

Review-Url: https://codereview.chromium.org/2027693003
Cr-Commit-Position: refs/heads/master@{#396977}

[modify] https://crrev.com/b9020bacdaff760ec0acc4fc5e9db9239438636d/content/browser/renderer_host/render_widget_host_view_aura.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Jun 8 2016

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

commit 2161ef83c680c890b8f3beacac4984065eb2bd50
Author: scottmg <scottmg@chromium.org>
Date: Wed Jun 08 01:03:32 2016

Revert of Revert cursor changes to RenderWidgetHostViewAura. (patchset #2 id:20001 of https://codereview.chromium.org/2027693003/ )

Reason for revert:
Speculative revert for very small likelihood of causing elevated crash rates as detailed in https://bugs.chromium.org/p/chromium/issues/detail?id=616399

Original issue's description:
> Revert cursor changes to RenderWidgetHostViewAura.
>
> This is a selective revert of one file from
> https://codereview.chromium.org/1945423002, which was breaking cursor
> changes on zoom in/zoom out on the Linux version of chrome.
>
> BUG= 602727 , 614654 
>
> Committed: https://crrev.com/b9020bacdaff760ec0acc4fc5e9db9239438636d
> Cr-Commit-Position: refs/heads/master@{#396977}

TBR=sadrul@chromium.org,erg@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 602727 , 614654 

Review-Url: https://codereview.chromium.org/2042213003
Cr-Commit-Position: refs/heads/master@{#398445}

[modify] https://crrev.com/2161ef83c680c890b8f3beacac4984065eb2bd50/content/browser/renderer_host/render_widget_host_view_aura.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 16 2016

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

commit bf6f1be98c75b02ae4d4a6a0b5f330ff968e8b40
Author: scottmg <scottmg@chromium.org>
Date: Thu Jun 16 18:37:24 2016

Reland of cursor changes to RenderWidgetHostViewAura. (patchset #1 id:1 of https://codereview.chromium.org/2042213003/ )

Reason for revert:
Relanding, didn't seem to help.

Original issue's description:
> Revert of Revert cursor changes to RenderWidgetHostViewAura. (patchset #2 id:20001 of https://codereview.chromium.org/2027693003/ )
>
> Reason for revert:
> Speculative revert for very small likelihood of causing elevated crash rates as detailed in https://bugs.chromium.org/p/chromium/issues/detail?id=616399
>
> Original issue's description:
> > Revert cursor changes to RenderWidgetHostViewAura.
> >
> > This is a selective revert of one file from
> > https://codereview.chromium.org/1945423002, which was breaking cursor
> > changes on zoom in/zoom out on the Linux version of chrome.
> >
> > BUG= 602727 , 614654 
> >
> > Committed: https://crrev.com/b9020bacdaff760ec0acc4fc5e9db9239438636d
> > Cr-Commit-Position: refs/heads/master@{#396977}
>
> TBR=sadrul@chromium.org,erg@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG= 602727 , 614654 
>
> Committed: https://crrev.com/2161ef83c680c890b8f3beacac4984065eb2bd50
> Cr-Commit-Position: refs/heads/master@{#398445}

TBR=sadrul@chromium.org,erg@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 602727 , 614654 

Review-Url: https://codereview.chromium.org/2071903003
Cr-Commit-Position: refs/heads/master@{#400213}

[modify] https://crrev.com/bf6f1be98c75b02ae4d4a6a0b5f330ff968e8b40/content/browser/renderer_host/render_widget_host_view_aura.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 2 2016

Labels: merge-merged-2743
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b251bef1179aa523da6afba9047b3874f760b9a

commit 6b251bef1179aa523da6afba9047b3874f760b9a
Author: Scott Graham <scottmg@chromium.org>
Date: Tue Aug 02 19:29:27 2016

Revert cursor changes to RenderWidgetHostViewAura.

This is a selective revert of one file from
https://codereview.chromium.org/1945423002, which was breaking cursor
changes on zoom in/zoom out on the Linux version of chrome.

BUG= 602727 , 614654 , 631405 

Review-Url: https://codereview.chromium.org/2027693003
Cr-Commit-Position: refs/heads/master@{#396977}
(cherry picked from commit b9020bacdaff760ec0acc4fc5e9db9239438636d)

Review URL: https://codereview.chromium.org/2204883003 .

Cr-Commit-Position: refs/branch-heads/2743@{#726}
Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939}

[modify] https://crrev.com/6b251bef1179aa523da6afba9047b3874f760b9a/content/browser/renderer_host/render_widget_host_view_aura.cc

Labels: Needs-Feedback
scottmg@ :  Issue 614654  &  Issue 631405  are verified on Linux using 52.0.2743.116.Please let us know if it can be verified from TE end and there is any other steps to verify this issue.

If there is no works to be done further please mark this to Fixed/verified.
Labels: M-52

Comment 11 by e...@chromium.org, Aug 3 2016

(There's no work related to the regression left to be done. However ScreenMus still isn't fully implemented.)
Components: Internals>MUS
Labels: Proj-Mustash

Comment 13 by e...@chromium.org, Mar 10 2017

Mergedinto: 671408
Status: Duplicate (was: Assigned)
This was filled out in 671408.
Blocking: -611457
Components: -Internals>MUS Internals>Services>WindowService
Components: -MUS

Sign in to add a comment