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

Issue 791672 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Support xwayland resolution switching

Project Member Reported by reve...@chromium.org, Dec 4 2017

Issue description

Chrome doesn't implement interfaces that allows an Xwl managed instance of Xwayland to adjust resolution when Chrome changes resolution/density.

We need to know about the UI scale factors that Chrome supports to handle this correctly.

https://chromium-review.googlesource.com/804354 adds the interfaces needed to support this. They just need to be implemented.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 5 2017

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

commit 32715093d78f468c77dc13324914ecbcb56f1219
Author: David Reveman <reveman@chromium.org>
Date: Tue Dec 05 18:24:11 2017

exo: Implement aura shell version 2.

Version 2 provides clients with an interface to keep track
of scale factors used by the shell. It provides a full list
of supported scale factors and flags to indicate what the
current and preferred scale factor is.

Version 2 also adds a new request for setting the parent
of a top level shell surface and specifying an initial
location relative to parent.

This also adds a new 'info' client that can be used for testing. The
client connects to a compositor and prints all output related
properties. Example output:

geometry:
   x:                 0
   y:                 0
   physical width:    423 mm
   physical height:   317 mm
   subpixel:          unknown
   make:              unknown
   model:             unknown
   transform:         normal

modes:
   1600x1200:         60.00 Hz      current       preferred

device scale factor:  1

scales:
   0.500:
   0.800:
   1.000:             preferred
   1.200:
   1.600:             current

Test: exo_unittests --gtest_filter=ShellSurfaceTest.SetParent
Test: wayland_info_client
Bug:  791672 ,  791681 
Change-Id: Iab6869f5b54a6b5970dea40025edea46d0113c2c
Reviewed-on: https://chromium-review.googlesource.com/805358
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521752}
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/shell_surface.cc
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/shell_surface.h
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/shell_surface_unittest.cc
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/sub_surface.h
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/surface.cc
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/surface.h
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/surface_delegate.h
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/surface_tree_host.h
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/wayland/BUILD.gn
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/wayland/clients/client_helper.cc
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/wayland/clients/client_helper.h
[add] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/wayland/clients/info.cc
[modify] https://crrev.com/32715093d78f468c77dc13324914ecbcb56f1219/components/exo/wayland/server.cc

Labels: Merge-Approved-64
Status: Fixed (was: Started)
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 8 2017

Labels: -merge-approved-64 merge-merged-3282
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/92041623687a1f43333508d1ffc84ce8bd97bf2d

commit 92041623687a1f43333508d1ffc84ce8bd97bf2d
Author: David Reveman <reveman@chromium.org>
Date: Fri Dec 08 02:43:22 2017

exo: Implement aura shell version 2.

Version 2 provides clients with an interface to keep track
of scale factors used by the shell. It provides a full list
of supported scale factors and flags to indicate what the
current and preferred scale factor is.

Version 2 also adds a new request for setting the parent
of a top level shell surface and specifying an initial
location relative to parent.

This also adds a new 'info' client that can be used for testing. The
client connects to a compositor and prints all output related
properties. Example output:

geometry:
   x:                 0
   y:                 0
   physical width:    423 mm
   physical height:   317 mm
   subpixel:          unknown
   make:              unknown
   model:             unknown
   transform:         normal

modes:
   1600x1200:         60.00 Hz      current       preferred

device scale factor:  1

scales:
   0.500:
   0.800:
   1.000:             preferred
   1.200:
   1.600:             current

TBR=reveman@chromium.org

(cherry picked from commit 32715093d78f468c77dc13324914ecbcb56f1219)

Test: exo_unittests --gtest_filter=ShellSurfaceTest.SetParent
Test: wayland_info_client
Bug:  791672 ,  791681 
Change-Id: Iab6869f5b54a6b5970dea40025edea46d0113c2c
Reviewed-on: https://chromium-review.googlesource.com/805358
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#521752}
Reviewed-on: https://chromium-review.googlesource.com/816514
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/branch-heads/3282@{#90}
Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/shell_surface.cc
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/shell_surface.h
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/shell_surface_unittest.cc
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/sub_surface.h
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/surface.cc
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/surface.h
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/surface_delegate.h
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/surface_tree_host.h
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/wayland/BUILD.gn
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/wayland/clients/client_helper.cc
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/wayland/clients/client_helper.h
[add] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/wayland/clients/info.cc
[modify] https://crrev.com/92041623687a1f43333508d1ffc84ce8bd97bf2d/components/exo/wayland/server.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 8 2017

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

commit 843d616e23985127e65eb603c79bb037e661d2cd
Author: Qiang(Joe) Xu <warx@chromium.org>
Date: Fri Dec 08 05:08:59 2017

Revert "exo: Implement aura shell version 2."

This reverts commit 92041623687a1f43333508d1ffc84ce8bd97bf2d.

Reason for revert: causing compile error in m64 builders,
see  crbug.com/793193 

Original change's description:
> exo: Implement aura shell version 2.
> 
> Version 2 provides clients with an interface to keep track
> of scale factors used by the shell. It provides a full list
> of supported scale factors and flags to indicate what the
> current and preferred scale factor is.
> 
> Version 2 also adds a new request for setting the parent
> of a top level shell surface and specifying an initial
> location relative to parent.
> 
> This also adds a new 'info' client that can be used for testing. The
> client connects to a compositor and prints all output related
> properties. Example output:
> 
> geometry:
>    x:                 0
>    y:                 0
>    physical width:    423 mm
>    physical height:   317 mm
>    subpixel:          unknown
>    make:              unknown
>    model:             unknown
>    transform:         normal
> 
> modes:
>    1600x1200:         60.00 Hz      current       preferred
> 
> device scale factor:  1
> 
> scales:
>    0.500:
>    0.800:
>    1.000:             preferred
>    1.200:
>    1.600:             current
> 
> TBR=reveman@chromium.org
> 
> (cherry picked from commit 32715093d78f468c77dc13324914ecbcb56f1219)
> 
> Test: exo_unittests --gtest_filter=ShellSurfaceTest.SetParent
> Test: wayland_info_client
> Bug:  791672 ,  791681 
> Change-Id: Iab6869f5b54a6b5970dea40025edea46d0113c2c
> Reviewed-on: https://chromium-review.googlesource.com/805358
> Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
> Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
> Cr-Original-Commit-Position: refs/heads/master@{#521752}
> Reviewed-on: https://chromium-review.googlesource.com/816514
> Reviewed-by: David Reveman <reveman@chromium.org>
> Cr-Commit-Position: refs/branch-heads/3282@{#90}
> Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}

TBR=reveman@chromium.org,dcastagna@chromium.org

Change-Id: I8724288a5837f2c994585170b2831a05520722e8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  791672 ,  791681 
Bug:  793193 
Reviewed-on: https://chromium-review.googlesource.com/816614
Reviewed-by: Qiang(Joe) Xu <warx@chromium.org>
Cr-Commit-Position: refs/branch-heads/3282@{#92}
Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/shell_surface.cc
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/shell_surface.h
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/shell_surface_unittest.cc
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/sub_surface.h
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/surface.cc
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/surface.h
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/surface_delegate.h
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/surface_tree_host.h
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/wayland/BUILD.gn
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/wayland/clients/client_helper.cc
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/wayland/clients/client_helper.h
[delete] https://crrev.com/298fb263f122250540bcb69dcc00531f2e95bcba/components/exo/wayland/clients/info.cc
[modify] https://crrev.com/843d616e23985127e65eb603c79bb037e661d2cd/components/exo/wayland/server.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 12 2017

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

commit 204edd66ce06112f85fe70a0502c796f03f73330
Author: David Reveman <reveman@chromium.org>
Date: Tue Dec 12 01:11:21 2017

exo: Aura shell version 2.

Version 2 additions:

- set_parent request that can be used to provide an initial position
  relative to parent for shell surfaces.

- zaura_output extension to wl_output that provides detailed
  information about supported scale factors.

TBR=reveman@chromium.org

(cherry picked from commit fe1dd7780f6713d4e4518bad931dcadfd80f9985)

Test: compile
Bug:  791672 ,  791681 
Change-Id: I00aebee4475a7004db84f6f0e2cb5d41d8a823da
Reviewed-on: https://chromium-review.googlesource.com/804354
Commit-Queue: David Reveman <reveman@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#521077}
Reviewed-on: https://chromium-review.googlesource.com/821371
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/branch-heads/3282@{#160}
Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
[modify] https://crrev.com/204edd66ce06112f85fe70a0502c796f03f73330/components/exo/wayland/aura-shell-client-protocol.h
[modify] https://crrev.com/204edd66ce06112f85fe70a0502c796f03f73330/components/exo/wayland/aura-shell-protocol.c
[modify] https://crrev.com/204edd66ce06112f85fe70a0502c796f03f73330/components/exo/wayland/aura-shell-server-protocol.h
[modify] https://crrev.com/204edd66ce06112f85fe70a0502c796f03f73330/components/exo/wayland/protocol/aura-shell.xml

Project Member

Comment 6 by bugdroid1@chromium.org, Dec 12 2017

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

commit c9d9d4bd244c0e166781f9224fabbdf6b5c390c4
Author: David Reveman <reveman@chromium.org>
Date: Tue Dec 12 03:02:38 2017

Revert "Revert "exo: Implement aura shell version 2.""

This reverts commit 843d616e23985127e65eb603c79bb037e661d2cd.

Reason for revert: Dependency CL (https://chromium-review.googlesource.com/c/chromium/src/+/821371) has now been merge to branch.

Original change's description:
> Revert "exo: Implement aura shell version 2."
> 
> This reverts commit 92041623687a1f43333508d1ffc84ce8bd97bf2d.
> 
> Reason for revert: causing compile error in m64 builders,
> see  crbug.com/793193 
> 
> Original change's description:
> > exo: Implement aura shell version 2.
> > 
> > Version 2 provides clients with an interface to keep track
> > of scale factors used by the shell. It provides a full list
> > of supported scale factors and flags to indicate what the
> > current and preferred scale factor is.
> > 
> > Version 2 also adds a new request for setting the parent
> > of a top level shell surface and specifying an initial
> > location relative to parent.
> > 
> > This also adds a new 'info' client that can be used for testing. The
> > client connects to a compositor and prints all output related
> > properties. Example output:
> > 
> > geometry:
> >    x:                 0
> >    y:                 0
> >    physical width:    423 mm
> >    physical height:   317 mm
> >    subpixel:          unknown
> >    make:              unknown
> >    model:             unknown
> >    transform:         normal
> > 
> > modes:
> >    1600x1200:         60.00 Hz      current       preferred
> > 
> > device scale factor:  1
> > 
> > scales:
> >    0.500:
> >    0.800:
> >    1.000:             preferred
> >    1.200:
> >    1.600:             current
> > 
> > TBR=reveman@chromium.org
> > 
> > (cherry picked from commit 32715093d78f468c77dc13324914ecbcb56f1219)
> > 
> > Test: exo_unittests --gtest_filter=ShellSurfaceTest.SetParent
> > Test: wayland_info_client
> > Bug:  791672 ,  791681 
> > Change-Id: Iab6869f5b54a6b5970dea40025edea46d0113c2c
> > Reviewed-on: https://chromium-review.googlesource.com/805358
> > Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
> > Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
> > Cr-Original-Commit-Position: refs/heads/master@{#521752}
> > Reviewed-on: https://chromium-review.googlesource.com/816514
> > Reviewed-by: David Reveman <reveman@chromium.org>
> > Cr-Commit-Position: refs/branch-heads/3282@{#90}
> > Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
> 
> TBR=reveman@chromium.org,dcastagna@chromium.org
> 
> Change-Id: I8724288a5837f2c994585170b2831a05520722e8
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug:  791672 ,  791681 
> Bug:  793193 
> Reviewed-on: https://chromium-review.googlesource.com/816614
> Reviewed-by: Qiang(Joe) Xu <warx@chromium.org>
> Cr-Commit-Position: refs/branch-heads/3282@{#92}
> Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}

TBR=reveman@chromium.org,dcastagna@chromium.org,warx@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  791672 ,  791681 ,  793193 
Change-Id: Ie0a0b4db78693e0ecaef8eee9a8b21806a38fae5
Reviewed-on: https://chromium-review.googlesource.com/821571
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/branch-heads/3282@{#166}
Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/shell_surface.cc
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/shell_surface.h
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/shell_surface_unittest.cc
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/sub_surface.h
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/surface.cc
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/surface.h
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/surface_delegate.h
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/surface_tree_host.h
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/wayland/BUILD.gn
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/wayland/clients/client_helper.cc
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/wayland/clients/client_helper.h
[add] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/wayland/clients/info.cc
[modify] https://crrev.com/c9d9d4bd244c0e166781f9224fabbdf6b5c390c4/components/exo/wayland/server.cc

Project Member

Comment 7 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

Sign in to add a comment