[webkit-changes] [WebKit/WebKit] 441ea9: Provide an attribute on <model> that toggles the p...

Commit Queue noreply at github.com
Wed Dec 18 11:27:48 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 441ea952f1d71fe44f09d3acbfc8ca0f67fd076e
      https://github.com/WebKit/WebKit/commit/441ea952f1d71fe44f09d3acbfc8ca0f67fd076e
  Author: Jintian Wang <jintian_wang at 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


More information about the webkit-changes mailing list