[webkit-changes] [WebKit/WebKit] 8bcb61: Add initial infrastructure for implementing fullsc...

Alex Christensen noreply at github.com
Mon Jan 13 21:29:01 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8bcb61bb1e0f746f0e58e8a0719a72196b796d15
      https://github.com/WebKit/WebKit/commit/8bcb61bb1e0f746f0e58e8a0719a72196b796d15
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M Source/WebKit/Scripts/generate-unified-sources.sh
    M Source/WebKit/Shared/NativeWebMouseEvent.h
    M Source/WebKit/Sources.txt
    A Source/WebKit/UIProcess/RemotePageFullscreenManagerProxy.cpp
    A Source/WebKit/UIProcess/RemotePageFullscreenManagerProxy.h
    M Source/WebKit/UIProcess/RemotePageProxy.cpp
    M Source/WebKit/UIProcess/RemotePageProxy.h
    M Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
    M Source/WebKit/UnifiedSources-output.xcfilelist
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  Add initial infrastructure for implementing fullscreen with site isolation
https://bugs.webkit.org/show_bug.cgi?id=285873
rdar://142835496

Reviewed by Charlie Wolfe.

InjectedBundlePageFullScreenClient::enterFullScreenForElement sends a message
Messages::WebFullScreenManagerProxy::EnterFullScreen to the UI process, but
with site isolation the WebFullScreenManagerProxy is only registered to listen
for IPC from the main frame process.  To have an object in the UI process
to communicate with, I follow a pattern similar to RemotePageDrawingAreaProxy
and create an object owned by the RemotePageProxy.  Initially, it does nothing
but forward IPC to the WebFullScreenManagerProxy.  I see fullscreen requests
proceeding further than they did before, but they still don't work quite right.
This is only the beginning piece.

* Source/WebKit/Scripts/generate-unified-sources.sh:
* Source/WebKit/Shared/NativeWebMouseEvent.h:
* Source/WebKit/Sources.txt:
* Source/WebKit/UIProcess/RemotePageFullscreenManagerProxy.cpp: Added.
(WebKit::RemotePageFullscreenManagerProxy::create):
(WebKit::RemotePageFullscreenManagerProxy::RemotePageFullscreenManagerProxy):
(WebKit::RemotePageFullscreenManagerProxy::~RemotePageFullscreenManagerProxy):
(WebKit::RemotePageFullscreenManagerProxy::didReceiveMessage):
(WebKit::RemotePageFullscreenManagerProxy::didReceiveSyncMessage):
* Source/WebKit/UIProcess/RemotePageFullscreenManagerProxy.h: Added.
* Source/WebKit/UIProcess/RemotePageProxy.cpp:
(WebKit::RemotePageProxy::injectPageIntoNewProcess):
* Source/WebKit/UIProcess/RemotePageProxy.h:
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.h:
* Source/WebKit/UnifiedSources-output.xcfilelist:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/288830@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