[ozone/wayland] Implement wl_registry_listener::global_remove |
||||||
Issue descriptionThis announce says when a global object such as a wl_output When the WaylandConnection starts to listen to it, it will be possible to remove the wl_output => WaylandOutput => display::Display.
,
Sep 28
,
Sep 28
,
Oct 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/14de2307d2980ecb5282767d3bef6bd568ad282b commit 14de2307d2980ecb5282767d3bef6bd568ad282b Author: Maksim Sisov <msisov@igalia.com> Date: Wed Oct 03 08:42:17 2018 [ozone/wayland] Add remove output functionality This CL adds a new functionality to the existing WaylandOutputManager and WaylandScreen classes. Now, it is possible to remove and change primary displays on hot plugs and removes. To test that functionality, a new test has also been added. The logic that assigns output ids has also been changed. Now, we are using numeric names that a Wayland compositor announces during Global and GlobalRemove calls. That is, each global object is assigned an unique numeric name, which can be freely used as an id. Bug: 890276 , 875161 Change-Id: I775bdd40a946c9f0c5dde89eba6e36c4615e1f21 Reviewed-on: https://chromium-review.googlesource.com/c/1254146 Commit-Queue: Maksim Sisov <msisov@igalia.com> Reviewed-by: Robert Kroeger <rjkroege@chromium.org> Cr-Commit-Position: refs/heads/master@{#596155} [modify] https://crrev.com/14de2307d2980ecb5282767d3bef6bd568ad282b/ui/ozone/platform/wayland/fake_server.h [modify] https://crrev.com/14de2307d2980ecb5282767d3bef6bd568ad282b/ui/ozone/platform/wayland/wayland_connection.cc [modify] https://crrev.com/14de2307d2980ecb5282767d3bef6bd568ad282b/ui/ozone/platform/wayland/wayland_output.cc [modify] https://crrev.com/14de2307d2980ecb5282767d3bef6bd568ad282b/ui/ozone/platform/wayland/wayland_output.h [modify] https://crrev.com/14de2307d2980ecb5282767d3bef6bd568ad282b/ui/ozone/platform/wayland/wayland_output_manager.cc [modify] https://crrev.com/14de2307d2980ecb5282767d3bef6bd568ad282b/ui/ozone/platform/wayland/wayland_output_manager.h [modify] https://crrev.com/14de2307d2980ecb5282767d3bef6bd568ad282b/ui/ozone/platform/wayland/wayland_screen_unittest.cc
,
Oct 3
,
Oct 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b5aaa4ea1ffb2e4cc0ce1dee31027c03dfdf5c67 commit b5aaa4ea1ffb2e4cc0ce1dee31027c03dfdf5c67 Author: Stephen McGruer <smcgruer@chromium.org> Date: Wed Oct 03 15:32:53 2018 Revert "[ozone/wayland] Add remove output functionality" This reverts commit 14de2307d2980ecb5282767d3bef6bd568ad282b. Reason for revert: Newly added test WaylandScreenTest.MultipleOutputsAddedAndRemoved fails on ChromeOS ASAN/LSAN; see crbug.com/891718 Original change's description: > [ozone/wayland] Add remove output functionality > > This CL adds a new functionality to the existing WaylandOutputManager > and WaylandScreen classes. Now, it is possible to remove and > change primary displays on hot plugs and removes. > > To test that functionality, a new test has also been added. > > The logic that assigns output ids has also been changed. > Now, we are using numeric names that a Wayland compositor > announces during Global and GlobalRemove calls. That is, > each global object is assigned an unique numeric name, which can > be freely used as an id. > > Bug: 890276 , 875161 > Change-Id: I775bdd40a946c9f0c5dde89eba6e36c4615e1f21 > Reviewed-on: https://chromium-review.googlesource.com/c/1254146 > Commit-Queue: Maksim Sisov <msisov@igalia.com> > Reviewed-by: Robert Kroeger <rjkroege@chromium.org> > Cr-Commit-Position: refs/heads/master@{#596155} TBR=rjkroege@chromium.org,msisov@igalia.com Change-Id: I8ae1f0fa1df71b464096abd0fcd504c1d4f5f480 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 890276 , 875161, 891718 Reviewed-on: https://chromium-review.googlesource.com/c/1258914 Reviewed-by: Stephen McGruer <smcgruer@chromium.org> Commit-Queue: Stephen McGruer <smcgruer@chromium.org> Cr-Commit-Position: refs/heads/master@{#596221} [modify] https://crrev.com/b5aaa4ea1ffb2e4cc0ce1dee31027c03dfdf5c67/ui/ozone/platform/wayland/fake_server.h [modify] https://crrev.com/b5aaa4ea1ffb2e4cc0ce1dee31027c03dfdf5c67/ui/ozone/platform/wayland/wayland_connection.cc [modify] https://crrev.com/b5aaa4ea1ffb2e4cc0ce1dee31027c03dfdf5c67/ui/ozone/platform/wayland/wayland_output.cc [modify] https://crrev.com/b5aaa4ea1ffb2e4cc0ce1dee31027c03dfdf5c67/ui/ozone/platform/wayland/wayland_output.h [modify] https://crrev.com/b5aaa4ea1ffb2e4cc0ce1dee31027c03dfdf5c67/ui/ozone/platform/wayland/wayland_output_manager.cc [modify] https://crrev.com/b5aaa4ea1ffb2e4cc0ce1dee31027c03dfdf5c67/ui/ozone/platform/wayland/wayland_output_manager.h [modify] https://crrev.com/b5aaa4ea1ffb2e4cc0ce1dee31027c03dfdf5c67/ui/ozone/platform/wayland/wayland_screen_unittest.cc
,
Oct 4
,
Oct 9
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/42776a4625e1aa02206a460934d4ce240386e2f6 commit 42776a4625e1aa02206a460934d4ce240386e2f6 Author: Maksim Sisov <msisov@igalia.com> Date: Tue Oct 09 14:54:18 2018 Reland [ozone/wayland] Add remove output functionality This patch relands 14de2307d2980ecb5282767d3bef6bd568ad282b. The problem was that global output objects were destroyed before the client had unbound from those outputs, which resulted in the stack-use-after-return problem. To address the issue, new global objects are now stored by the FakeServer and destroyed upon its destruction now. From now on, the fix makes it sure that the FakeServer follows the Wayland documentation, which says that global objects must be kept alive until a client unbounds from them. * Original CL's description: > This CL adds a new functionality to the existing WaylandOutputManager > and WaylandScreen classes. Now, it is possible to remove and > change primary displays on hot plugs and removes. > > To test that functionality, a new test has also been added. > > The logic that assigns output ids has also been changed. > Now, we are using numeric names that a Wayland compositor > announces during Global and GlobalRemove calls. That is, > each global object is assigned an unique numeric name, which can > be freely used as an id. > > Bug: 890276 , 875161 > Change-Id: I775bdd40a946c9f0c5dde89eba6e36c4615e1f21 > Reviewed-on: https://chromium-review.googlesource.com/c/1254146 > Commit-Queue: Maksim Sisov <msisov@igalia.com> > Reviewed-by: Robert Kroeger <rjkroege@chromium.org> > Cr-Commit-Position: refs/heads/master@{#596155} Bug: 890276 , 875161, 891718 Change-Id: I2f8aeebcfb67bda75d7d1ba0b0cd331a5eb50c6f Reviewed-on: https://chromium-review.googlesource.com/c/1268020 Reviewed-by: Robert Kroeger <rjkroege@chromium.org> Commit-Queue: Maksim Sisov <msisov@igalia.com> Cr-Commit-Position: refs/heads/master@{#597912} [modify] https://crrev.com/42776a4625e1aa02206a460934d4ce240386e2f6/ui/ozone/platform/wayland/fake_server.h [modify] https://crrev.com/42776a4625e1aa02206a460934d4ce240386e2f6/ui/ozone/platform/wayland/wayland_connection.cc [modify] https://crrev.com/42776a4625e1aa02206a460934d4ce240386e2f6/ui/ozone/platform/wayland/wayland_output.cc [modify] https://crrev.com/42776a4625e1aa02206a460934d4ce240386e2f6/ui/ozone/platform/wayland/wayland_output.h [modify] https://crrev.com/42776a4625e1aa02206a460934d4ce240386e2f6/ui/ozone/platform/wayland/wayland_output_manager.cc [modify] https://crrev.com/42776a4625e1aa02206a460934d4ce240386e2f6/ui/ozone/platform/wayland/wayland_output_manager.h [modify] https://crrev.com/42776a4625e1aa02206a460934d4ce240386e2f6/ui/ozone/platform/wayland/wayland_screen_unittest.cc
,
Oct 10
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by msi...@igalia.com
, Sep 28Labels: Wayland