[webkit-changes] [WebKit/WebKit] 675766: [fullscreen] Remove hierarchy requirement from ful...

Tim Nguyen noreply at github.com
Mon Jul 31 10:07:26 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 675766f7450526b44c5f863da3d42ddd3aa9a13d
      https://github.com/WebKit/WebKit/commit/675766f7450526b44c5f863da3d42ddd3aa9a13d
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2023-07-31 (Mon, 31 Jul 2023)

  Changed paths:
    M LayoutTests/fullscreen/full-screen-restrictions-expected.txt
    M LayoutTests/fullscreen/full-screen-restrictions.html
    M LayoutTests/imported/w3c/web-platform-tests/fullscreen/api/element-ready-check-fullscreen-element-sibling-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/fullscreen/api/element-request-fullscreen-non-top-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/fullscreen/api/element-request-fullscreen-two-elements-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/fullscreen/api/fullscreen-reordering-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/fullscreen/api/fullscreen-reordering.html
    M LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-top-layer-interactions-expected.txt
    A LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/popovers/popover-top-layer-interactions-expected.txt
    M Source/WebCore/dom/FullscreenManager.cpp

  Log Message:
  -----------
  [fullscreen] Remove hierarchy requirement from fullscreen ready check
https://bugs.webkit.org/show_bug.cgi?id=257199
rdar://110004138

Reviewed by Darin Adler.

The hierarchy requirement was part of the old W3C spec, but is no longer part of the current WHATWG spec. It has also been removed from Blink & Gecko.

Also fix a nullptr deref to make popover-top-layer-interactions.html pass, by adding step 11 of exit fullscreen algorithm to both ExitMode codepaths.

* LayoutTests/fullscreen/full-screen-restrictions-expected.txt:
* LayoutTests/fullscreen/full-screen-restrictions.html:
* LayoutTests/imported/w3c/web-platform-tests/fullscreen/api/element-ready-check-fullscreen-element-sibling-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/fullscreen/api/element-request-fullscreen-non-top-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/fullscreen/api/element-request-fullscreen-two-elements-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/fullscreen/api/fullscreen-reordering-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/fullscreen/api/fullscreen-reordering.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-top-layer-interactions-expected.txt:
* LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/popovers/popover-top-layer-interactions-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/popovers/popover-top-layer-interactions-expected.txt.
* Source/WebCore/dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::requestFullscreenForElement):
(WebCore::FullscreenManager::exitFullscreen): Fix nullptr deref in the edge case where 2 exit fullscreen event loop tasks are queued next to each other.

Canonical link: https://commits.webkit.org/266426@main




More information about the webkit-changes mailing list