[ozone/wayland] Add support for window interactions in Ozone (maximize/minimize and etc) |
|||||||||||
Issue descriptionAlso implement IsFullScreenMode() in chrome/browser/fullscreen_ozone
,
May 17 2018
,
May 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c99ae3b88d7b6e01097a208ed08416cfc0efb896 commit c99ae3b88d7b6e01097a208ed08416cfc0efb896 Author: Maksim Sisov <msisov@igalia.com> Date: Mon May 21 07:09:54 2018 [ozone/platform/wayland/x11] Fix minimize/maximize/fullscreen/restore support This commit adds IsMinimized/IsMaximized/IsFullscreen to PlatformWindow and makes DesktopWindowTreeHostPlatform use it. What is more, DesktopWindowTreeHostPlatform also updates compositor's visibility based on OnWindowStateChanged's ui::PlatformWindowState, and does relayouting to update OpaqueBrowserFrameView's buttons. TEST = ozone_unittests and manual testing with ./out/ozone/chrome --ozone-platform=wayland --in-process-gpu. Bug: 843018 Change-Id: Ic7d671a3954dc5a700b9f0ffecbba0b707a31ca9 Reviewed-on: https://chromium-review.googlesource.com/1058792 Reviewed-by: Scott Violet <sky@chromium.org> Commit-Queue: Maksim Sisov <msisov@igalia.com> Cr-Commit-Position: refs/heads/master@{#560238} [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/chrome/browser/fullscreen_ozone.cc [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/ozone/platform/drm/host/drm_window_host.cc [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/ozone/platform/drm/host/drm_window_host.h [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/ozone/platform/wayland/wayland_window.cc [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/ozone/platform/wayland/wayland_window.h [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/ozone/platform/wayland/wayland_window_unittest.cc [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/platform_window/platform_window.h [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/platform_window/stub/stub_window.cc [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/platform_window/stub/stub_window.h [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/platform_window/win/win_window.cc [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/platform_window/win/win_window.h [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/platform_window/x11/x11_window_base.cc [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/platform_window/x11/x11_window_base.h [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc [modify] https://crrev.com/c99ae3b88d7b6e01097a208ed08416cfc0efb896/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h
,
Jun 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8f2591aee2f2977b0904b0c44393b57b40e58626 commit 8f2591aee2f2977b0904b0c44393b57b40e58626 Author: Maksim Sisov <msisov@igalia.com> Date: Thu Jun 21 06:44:02 2018 [ozone/wayland] Manually handle fullscreen states. In order to ensure media files can enter fullscreen mode, manually handle fullscreen states. Basically, a compositor sends configuration events on each request for state changes from clients asynchronously, which is unefficient for media files when they enter a fullscreen mode. For example, when a youtube video file is being set to fullscreen, a WaylandWindow is also set to a fullscreen mode, but the return value from the WaylandWindow::GetPlatformWindowState still contains an old value until the compositor calls with a configuration event. This short race is enough for a media content to be placed in a forever "entering fullscreen" state, which never results in a fullscreen state for media files. Bug: 843018 TEST: XdgVersionV5Test/WaylandWindowTest.SetFullscreenAndRestore/0 XdgVersionV6Test/WaylandWindowTest.SetFullscreenAndRestore/0 Change-Id: Ib9bc8c0ce09412c36437d165efc6a0cad60c4d17 Reviewed-on: https://chromium-review.googlesource.com/1107636 Reviewed-by: Robert Kroeger <rjkroege@chromium.org> Commit-Queue: Maksim Sisov <msisov@igalia.com> Cr-Commit-Position: refs/heads/master@{#569172} [modify] https://crrev.com/8f2591aee2f2977b0904b0c44393b57b40e58626/ui/ozone/platform/wayland/wayland_window.cc [modify] https://crrev.com/8f2591aee2f2977b0904b0c44393b57b40e58626/ui/ozone/platform/wayland/wayland_window_unittest.cc
,
Jun 21 2018
,
Jun 21 2018
,
Jun 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fde30eeb991ca8348d5710705776c8d7d8b10c07 commit fde30eeb991ca8348d5710705776c8d7d8b10c07 Author: Martin Šrámek <msramek@chromium.org> Date: Thu Jun 21 13:24:52 2018 Revert "[ozone/wayland] Manually handle fullscreen states." This reverts commit 8f2591aee2f2977b0904b0c44393b57b40e58626. Reason for revert: Likely broke DesktopMediaPickerViewsTest. https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac10.10%20Tests/33273 Original change's description: > [ozone/wayland] Manually handle fullscreen states. > > In order to ensure media files can enter fullscreen mode, manually > handle fullscreen states. Basically, a compositor sends configuration > events on each request for state changes from clients asynchronously, > which is unefficient for media files when they enter a fullscreen mode. > > For example, when a youtube video file is being set to fullscreen, a > WaylandWindow is also set to a fullscreen mode, but the return value from > the WaylandWindow::GetPlatformWindowState still contains an old value until > the compositor calls with a configuration event. This short race is > enough for a media content to be placed in a forever "entering fullscreen" > state, which never results in a fullscreen state for media files. > > Bug: 843018 > TEST: XdgVersionV5Test/WaylandWindowTest.SetFullscreenAndRestore/0 > XdgVersionV6Test/WaylandWindowTest.SetFullscreenAndRestore/0 > > Change-Id: Ib9bc8c0ce09412c36437d165efc6a0cad60c4d17 > Reviewed-on: https://chromium-review.googlesource.com/1107636 > Reviewed-by: Robert Kroeger <rjkroege@chromium.org> > Commit-Queue: Maksim Sisov <msisov@igalia.com> > Cr-Commit-Position: refs/heads/master@{#569172} TBR=rjkroege@chromium.org,msisov@igalia.com Change-Id: I9920185d61395a70663fa184e834592f02176da3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 843018 Reviewed-on: https://chromium-review.googlesource.com/1110057 Reviewed-by: Martin Šrámek <msramek@chromium.org> Commit-Queue: Martin Šrámek <msramek@chromium.org> Cr-Commit-Position: refs/heads/master@{#569239} [modify] https://crrev.com/fde30eeb991ca8348d5710705776c8d7d8b10c07/ui/ozone/platform/wayland/wayland_window.cc [modify] https://crrev.com/fde30eeb991ca8348d5710705776c8d7d8b10c07/ui/ozone/platform/wayland/wayland_window_unittest.cc
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/022ec12f9b54c29530f126c28779dcd41e0f1a31 commit 022ec12f9b54c29530f126c28779dcd41e0f1a31 Author: Maksim Sisov <msisov@igalia.com> Date: Wed Jun 27 11:31:19 2018 Reland "[ozone/wayland] Manually handle fullscreen states." This is a reland of 8f2591aee2f2977b0904b0c44393b57b40e58626 Original change's description: > [ozone/wayland] Manually handle fullscreen states. > > In order to ensure media files can enter fullscreen mode, manually > handle fullscreen states. Basically, a compositor sends configuration > events on each request for state changes from clients asynchronously, > which is unefficient for media files when they enter a fullscreen mode. > > For example, when a youtube video file is being set to fullscreen, a > WaylandWindow is also set to a fullscreen mode, but the return value from > the WaylandWindow::GetPlatformWindowState still contains an old value until > the compositor calls with a configuration event. This short race is > enough for a media content to be placed in a forever "entering fullscreen" > state, which never results in a fullscreen state for media files. > > Bug: 843018 > TEST: XdgVersionV5Test/WaylandWindowTest.SetFullscreenAndRestore/0 > XdgVersionV6Test/WaylandWindowTest.SetFullscreenAndRestore/0 > > Change-Id: Ib9bc8c0ce09412c36437d165efc6a0cad60c4d17 > Reviewed-on: https://chromium-review.googlesource.com/1107636 > Reviewed-by: Robert Kroeger <rjkroege@chromium.org> > Commit-Queue: Maksim Sisov <msisov@igalia.com> > Cr-Commit-Position: refs/heads/master@{#569172} Bug: 843018 Change-Id: I63866a785f5dca088aba70e500d85748b86e8a8c Reviewed-on: https://chromium-review.googlesource.com/1113238 Commit-Queue: Maksim Sisov <msisov@igalia.com> Reviewed-by: Maksim Sisov <msisov@igalia.com> Reviewed-by: Robert Kroeger <rjkroege@chromium.org> Cr-Commit-Position: refs/heads/master@{#570730} [modify] https://crrev.com/022ec12f9b54c29530f126c28779dcd41e0f1a31/ui/ozone/platform/wayland/wayland_window.cc [modify] https://crrev.com/022ec12f9b54c29530f126c28779dcd41e0f1a31/ui/ozone/platform/wayland/wayland_window_unittest.cc
,
Jun 29 2018
,
Jul 25
chrome/browser/fullscreen_ozone needs also to be implemented
,
Jul 25
You re-opened the bug because chrome/browser/fullscreen_ozone remains?
,
Jul 25
correct. I realized fullscreen_ozone hasn't been implemented yet.
,
Aug 2
,
Aug 16
,
Aug 17
,
Sep 28
,
Oct 12
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f154daab631433d3d9706af7f3512aa6b196e52f commit f154daab631433d3d9706af7f3512aa6b196e52f Author: Maksim Sisov <msisov@igalia.com> Date: Fri Oct 12 06:36:54 2018 [ozone/wayland] Fix kiosk mode. This CL fixes a fullscreen state changes before the surface is activated. That is, Wayland may ignore fullscreen changes before the surface is activated. Thus, store a pending state, and once the surface is activated, trigger the change. Change-Id: I8c0b995eb9f282f6be16e82d094d9dd93821a60a Bug: 843018 Reviewed-on: https://chromium-review.googlesource.com/c/1275885 Reviewed-by: Antonio Gomes <tonikitoo@igalia.com> Commit-Queue: Maksim Sisov <msisov@igalia.com> Cr-Commit-Position: refs/heads/master@{#599120} [modify] https://crrev.com/f154daab631433d3d9706af7f3512aa6b196e52f/ui/ozone/platform/wayland/wayland_window.cc [modify] https://crrev.com/f154daab631433d3d9706af7f3512aa6b196e52f/ui/ozone/platform/wayland/wayland_window.h [modify] https://crrev.com/f154daab631433d3d9706af7f3512aa6b196e52f/ui/ozone/platform/wayland/wayland_window_unittest.cc
,
Oct 18
,
Nov 19
***UI Mass Triage *** If there is no pending work, please feel free to close the issue. |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by msi...@igalia.com
, May 17 2018Labels: Proj-Ozone