[webkit-changes] [WebKit/WebKit] 4cd69c: Trigger a signal in the UI Process when the web pa...

Jean Haberer noreply at github.com
Mon Feb 3 12:01:53 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4cd69c9df3932e49035491d1da0789ed0a7a22a5
      https://github.com/WebKit/WebKit/commit/4cd69c9df3932e49035491d1da0789ed0a7a22a5
  Author: Jean Haberer <jean.haberer at apple.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WTF/wtf/PlatformEnableCocoa.h
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    A Source/WebCore/dom/SpatialBackdropSource.cpp
    A Source/WebCore/dom/SpatialBackdropSource.h
    M Source/WebCore/html/HTMLLinkElement.cpp
    M Source/WebCore/html/HTMLLinkElement.h
    M Source/WebCore/html/HTMLLinkElement.idl
    M Source/WebCore/html/LinkRelAttribute.cpp
    M Source/WebCore/html/LinkRelAttribute.h
    M Source/WebCore/page/ChromeClient.h
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebKit/Shared/API/Cocoa/WebKitPrivate.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h
    A Source/WebKit/UIProcess/API/Cocoa/_WKSpatialBackdropSource.h
    A Source/WebKit/UIProcess/API/Cocoa/_WKSpatialBackdropSource.mm
    A Source/WebKit/UIProcess/API/Cocoa/_WKSpatialBackdropSourceInternal.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKWebPushDaemonConnection.mm
    M Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h
    M Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm
    M Source/WebKit/UIProcess/PageClient.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.messages.in
    M Source/WebKit/UIProcess/WebPageProxyInternals.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h

  Log Message:
  -----------
  Trigger a signal in the UI Process when the web page provides a spatial backdrop
https://bugs.webkit.org/show_bug.cgi?id=286510
rdar://141175983

Reviewed by Ada Chan and Chris Dumez.

Expose the value of a spatial backdrop link tag to the UI Process.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WTF/wtf/PlatformEnableCocoa.h:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::spatialBackdropSource):
(WebCore::Document::spatialBackdropLinkElementChanged):
(WebCore::Document::determineActiveSpatialBackdropSource):
(WebCore::Document::spatialBackdropSourceChanged):
(WebCore::Document::setURL):
* Source/WebCore/dom/Document.h:

* Source/WebCore/dom/SpatialBackdropSource.cpp: Added.
(WebCore::SpatialBackdropSource::SpatialBackdropSource):
* Source/WebCore/dom/SpatialBackdropSource.h: Added.
(WebCore::SpatialBackdropSource::SpatialBackdropSource):
(WebCore::operator==):
Transports the spatial backdrop properties that are useful to know for the UI
Process, this includes the source (current URL) from which the backdrop was
provided, and the URL of both the provided model and environmentmap.

* Source/WebCore/html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::attributeChanged):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::removedFromAncestor):
(WebCore::HTMLLinkElement::isURLAttribute const):
(WebCore::HTMLLinkElement::environmentmap const):
(WebCore::HTMLLinkElement::isSpatialBackdrop const):

* Source/WebCore/html/HTMLLinkElement.h:
* Source/WebCore/html/HTMLLinkElement.idl:
* Source/WebCore/html/LinkRelAttribute.cpp:
* Source/WebCore/html/LinkRelAttribute.h:
Add the "spatial-backdrop" rel, and the "environmentmap" attribute to
the link tag.

* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::spatialBackdropSourceChanged const):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::spatialBackdropSource const):
* Source/WebCore/page/Page.h:

* Source/WebKit/Shared/API/Cocoa/WebKitPrivate.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _spatialBackdropSource]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKSpatialBackdropSource.h: Added.
* Source/WebKit/UIProcess/API/Cocoa/_WKSpatialBackdropSource.mm: Added.
(-[_WKSpatialBackdropSource initWithSpatialBackdropSource:]):
* Source/WebKit/UIProcess/API/Cocoa/_WKSpatialBackdropSourceInternal.h: Added.
* Source/WebKit/UIProcess/API/Cocoa/_WKWebPushDaemonConnection.mm:
* Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h:
* Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::spatialBackdropSourceWillChange):
(WebKit::PageClientImplCocoa::spatialBackdropSourceDidChange):
* Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::spatialBackdropSourceWillChange):
(WebKit::PageClient::spatialBackdropSourceDidChange):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::spatialBackdropSource const):
(WebKit::WebPageProxy::spatialBackdropSourceChanged):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/UIProcess/WebPageProxyInternals.h:

* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::spatialBackdropSourceChanged const):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didFinishLoad):
(WebKit::WebPage::spatialBackdropSourceChanged):
* Source/WebKit/WebProcess/WebPage/WebPage.h:

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