Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 441ea952f1d71fe44f09d3acbfc8ca0f67fd076e https://github.com/WebKit/WebKit/commit/441ea952f1d71fe44f09d3acbfc8ca0f67fd076e Author: Jintian Wang <jintian_w...@apple.com> Date: 2024-12-18 (Wed, 18 Dec 2024)
Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/Modules/model-element/HTMLModelElement.cpp M Source/WebCore/Modules/model-element/HTMLModelElement.h M Source/WebCore/Modules/model-element/HTMLModelElement.idl M Source/WebCore/Modules/model-element/ModelPlayer.cpp M Source/WebCore/Modules/model-element/ModelPlayer.h M Source/WebCore/html/HTMLAttributeNames.in M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.messages.in M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm M Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm M Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h Log Message: ----------- Provide an attribute on <model> that toggles the portal https://bugs.webkit.org/show_bug.cgi?id=284670 rdar://141197697 Reviewed by Ada Chan and Ryosuke Niwa. Provide an attribute on <model> that toggles the portal. In addition, exposes extra properties on WKPreferences so that only web views that opt in model process and non portaled model can have the 'noportal' attribute functional. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/Modules/model-element/HTMLModelElement.cpp: (WebCore::HTMLModelElement::createModelPlayer): (WebCore::HTMLModelElement::attributeChanged): (WebCore::HTMLModelElement::portal const): (WebCore::HTMLModelElement::updatePortal): * Source/WebCore/Modules/model-element/HTMLModelElement.h: * Source/WebCore/Modules/model-element/ModelPlayer.cpp: (WebCore::ModelPlayer::setHasPortal): * Source/WebCore/Modules/model-element/ModelPlayer.h: Default behavior is keeping the portal. * Source/WebCore/html/HTMLAttributeNames.in: noportal is the attribute name * Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h: * Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.messages.in: * Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm: (WebKit::ModelProcessModelPlayerProxy::createLayer): (WebKit::ModelProcessModelPlayerProxy::computeTransform): (WebKit::ModelProcessModelPlayerProxy::updatePortalAndClipping): Update key paths for portal and clipping. This will be fully functional until rdar://141457267 (Remove clipping when <model> doesn't have a portal). Currently, it's blocked on clipping not toggle-able. (WebKit::ModelProcessModelPlayerProxy::setHasPortal): * Source/WebKit/UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences _setModelElementEnabled:]): (-[WKPreferences _modelProcessEnabled]): (-[WKPreferences _setModelProcessEnabled:]): (-[WKPreferences _modelElementEnabled]): (-[WKPreferences _setNonPortaledModelEnabled:]): (-[WKPreferences _nonPortaledModelEnabled]): * Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h: Exposes extra properties on WKPreferences so that only web views that opt in model process and non portaled model can have the 'noportal' attribute functional. * Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp: (WebKit::ModelProcessModelPlayer::setHasPortal): * Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h: Canonical link: https://commits.webkit.org/288029@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes