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

Issue 824449 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Improve wl_output support in exo for multi-display configs

Project Member Reported by dnschn...@chromium.org, Mar 21 2018

Issue description

Google Chrome	67.0.3366.3 (Official Build) dev (64-bit)
Revision	0
Platform	10486.0.0 (Official Build) dev-channel eve

What steps will reproduce the problem?
(1) attach 4k external monitor
(2) launch xwayland app
(3) resize app wider than internal display

What is the expected result?
Mouse input works fine

What happens instead?
When the width is just a little bit wider than the internal display, only x>=width doesn't register mouse clicks.  If you make the window even wider, clicks stop registering anywhere in the window.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 26 2018

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

commit de089763e3ea767722aa0b27a660b81bb65ca863
Author: David Reveman <reveman@chromium.org>
Date: Mon Mar 26 17:35:35 2018

exo: Add suppot for multiple wl_outputs.

This makes the wayland server instance keep track of when
displays are added and removed. wl_output globals are created
and destroyed in order to match the current display
configuration.

Bug:  824449 
Change-Id: I99a3642cda2b1e3c868988738c531172d2db83ed
Reviewed-on: https://chromium-review.googlesource.com/979614
Commit-Queue: David Reveman <reveman@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545832}
[modify] https://crrev.com/de089763e3ea767722aa0b27a660b81bb65ca863/components/exo/wayland/server.cc
[modify] https://crrev.com/de089763e3ea767722aa0b27a660b81bb65ca863/components/exo/wayland/server.h

Status: Fixed (was: Assigned)
I haven't been able to verify this on a real device yet but this change combined with latest version of sommelier should fix the problem.
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 12 2018

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

commit 21e2236ddc8edb47426dc040eb6952735679aaea
Author: David Reveman <reveman@chromium.org>
Date: Thu Apr 12 06:01:10 2018

exo: Implement version 5 of aura shell.

This adds two new events to aura_output interface that makes it
easier for clients to calculate an ideal contents scale.

This also adds a new request that can be used to set a unique
application ID for a surface. The application ID identifies the
general class of applications to which the surface belongs. The
compositor can use this to group multiple surfaces together.
For example, "org.chromium.FooViewer".

Note that the application ID set here takes precedence over the
app id set through XDG shell interface. To keep it simple, we
just remove the implementation of xdg surface set_app_id. If
that turns out to be useful in the future, then we can always
re-implement that and make it available as an alternative ID.

Bug:  824449 ,  791672 
Test: wayland_client_info
Change-Id: I3219cedbd7d9ce65e73ca33127ea976acc8c4163
Reviewed-on: https://chromium-review.googlesource.com/1008664
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550038}
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/shell_surface_base.cc
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/shell_surface_base.h
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/sub_surface.h
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/surface.cc
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/surface.h
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/surface_delegate.h
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/surface_tree_host.h
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/wayland/clients/client_base.cc
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/wayland/clients/info.cc
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/wayland/protocol/aura-shell.xml
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/wayland/public/aura-shell-client-protocol.h
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/wayland/public/aura-shell-protocol.c
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/wayland/public/aura-shell-server-protocol.h
[modify] https://crrev.com/21e2236ddc8edb47426dc040eb6952735679aaea/components/exo/wayland/server.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Apr 17 2018

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

commit f437cf91f600dceae70420138c3136a8a6daa392
Author: David Reveman <reveman@chromium.org>
Date: Tue Apr 17 18:15:18 2018

exo: Flush wl_output events properly.

We need call wl_client_flush in order to ensure that these events
are transmitted to the client.

Bug:  824449 
Test: gtk-demo --gdk-debug=misc show that output event is received
Change-Id: I18e74339b306ed56c85563628fc8b6af7886fd82
Reviewed-on: https://chromium-review.googlesource.com/1014908
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551397}
[modify] https://crrev.com/f437cf91f600dceae70420138c3136a8a6daa392/components/exo/wayland/server.cc

Labels: Merge-Rejected-67 M-67
Requesting merge of #4 to M67. This is a trivial change that only affects arc++ and crostini.
Labels: -Merge-Rejected-67 Merge-Request-67
add merge request label instead of reject..
Merge request is only for that last small patch in #4.
Project Member

Comment 8 by sheriffbot@chromium.org, Apr 19 2018

Labels: -Merge-Request-67 Merge-Approved-67 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M67. Please go ahead and merge the CL to branch 3396 manually. Please contact milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 9 by bugdroid1@chromium.org, Apr 19 2018

Labels: -merge-approved-67 merge-merged-3396
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/90c88b4656eb8dbf6427ae7b27a64a39f33a2762

commit 90c88b4656eb8dbf6427ae7b27a64a39f33a2762
Author: David Reveman <reveman@chromium.org>
Date: Thu Apr 19 19:45:50 2018

exo: Flush wl_output events properly.

We need call wl_client_flush in order to ensure that these events
are transmitted to the client.

TBR=reveman@chromium.org

(cherry picked from commit f437cf91f600dceae70420138c3136a8a6daa392)

Bug:  824449 
Test: gtk-demo --gdk-debug=misc show that output event is received
Change-Id: I18e74339b306ed56c85563628fc8b6af7886fd82
Reviewed-on: https://chromium-review.googlesource.com/1014908
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: David Reveman <reveman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#551397}
Reviewed-on: https://chromium-review.googlesource.com/1020023
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/branch-heads/3396@{#143}
Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428}
[modify] https://crrev.com/90c88b4656eb8dbf6427ae7b27a64a39f33a2762/components/exo/wayland/server.cc

Components: OS>Systems>Containers
Project Member

Comment 11 by bugdroid1@chromium.org, May 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/1ca17884b5e39d1c9499c9173775a22db4c8f2dd

commit 1ca17884b5e39d1c9499c9173775a22db4c8f2dd
Author: David Reveman <reveman@chromium.org>
Date: Thu May 10 22:10:08 2018

vm_tools: fix pointer input for multi-display setups.

X/y outputs values will never be appropriate for X11 clients where
managed windows are centered on the root window. Making all outputs
overlapping by passing 0 for x/y will ensure that pointer events
can be dispatched to visible region of all windows.

BUG= chromium:824449 
TEST=manual

Change-Id: I7b541f4eb5e37ebee8e4aa0194bbf7b759abe39b
Reviewed-on: https://chromium-review.googlesource.com/1049946
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Tested-by: David Schneider <dnschneid@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: David Schneider <dnschneid@chromium.org>

[modify] https://crrev.com/1ca17884b5e39d1c9499c9173775a22db4c8f2dd/vm_tools/sommelier/sommelier.c

Labels: -Restrict-View-Google

Sign in to add a comment