[webkit-changes] [WebKit/WebKit] bc4cb9: Update fullscreen state in other processes when en...

Alex Christensen noreply at github.com
Sat Feb 22 08:02:42 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bc4cb9e7454ee85a794a7fa32df1c88df850e711
      https://github.com/WebKit/WebKit/commit/bc4cb9e7454ee85a794a7fa32df1c88df850e711
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2025-02-22 (Sat, 22 Feb 2025)

  Changed paths:
    M LayoutTests/http/tests/site-isolation/fullscreen-expected.txt
    M LayoutTests/http/tests/site-isolation/fullscreen.html
    M Source/WebCore/dom/FullscreenManager.cpp
    M Source/WebCore/dom/FullscreenManager.h
    M Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp
    M Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
    M Source/WebKit/UIProcess/WebFullScreenManagerProxy.messages.in
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.messages.in
    M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
    M Source/WebKit/WebProcess/WebPage/WebFrame.h

  Log Message:
  -----------
  Update fullscreen state in other processes when entering and exiting fullscreen with site isolation
https://bugs.webkit.org/show_bug.cgi?id=288280

Reviewed by Tim Nguyen.

When entering fullscreen, we need to send IPC to other processes along the frame's ancestor chain
and tell them to enter fullscreen to make the HTMLFrameOwnerElement take the entirety of the screen.
Similarly when exiting fullscreen, we need to tell the processes to undo that state change.

* LayoutTests/http/tests/site-isolation/fullscreen-expected.txt:
* LayoutTests/http/tests/site-isolation/fullscreen.html:
* Source/WebCore/dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::willEnterFullscreen):
(WebCore::FullscreenManager::elementEnterFullscreen):
* Source/WebCore/dom/FullscreenManager.h:
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::enterFullScreenForOwnerElementsInOtherProcesses):
(WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreenInOtherProcesses):
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.h:
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.messages.in:
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::enterFullScreenForElement):
(WebKit::WebFullScreenManager::willExitFullScreen):
(WebKit::WebFullScreenManager::enterFullScreenForOwnerElements):
(WebKit::WebFullScreenManager::exitFullScreenInMainFrame):
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h:
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.messages.in:
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::webFrame):
* Source/WebKit/WebProcess/WebPage/WebFrame.h:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list