[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