Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9ad0659e5627046e8b8464ee1fc2310c49602d03
https://github.com/WebKit/WebKit/commit/9ad0659e5627046e8b8464ee1fc2310c49602d03
Author: Phipson Lee <[email protected]>
Date: 2025-02-04 (Tue, 04 Feb 2025)
Changed paths:
A LayoutTests/model-element/model-element-stagemode-expected.txt
A LayoutTests/model-element/model-element-stagemode.html
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/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/html/HTMLAttributeNames.in
A Source/WebCore/page/StageModeOperations.h
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/Scripts/webkit/messages.py
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h
Log Message:
-----------
Introduce the StageMode attribute to Model
https://bugs.webkit.org/show_bug.cgi?id=285899
rdar://142566328
Reviewed by Ada Chan.
This is the first of three PRs used to introduce the stagemode attribute to
model views, which will
be used to define and control the interaction of a model. The stagemode
attribute takes a string and
determines how the model behaves based on user's gesture input on the view
containing the model. In
particular, we currently support 2 types of stagemode behaviors: orbit, which
will allow users to rotate
the model, and none, which will disable model interaction. Subsequent PRs will
be made to use this
attribute to define model interaction.
* LayoutTests/model-element/model-element-stagemode-expected.txt: Added.
* LayoutTests/model-element/model-element-stagemode.html: Added.
* Source/WebCore/Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::createModelPlayer):
Updates the stagemode attribute when the source for the model element updates
(WebCore::HTMLModelElement::attributeChanged):
Updates the stagemode attribute when the attribute changes
(WebCore::HTMLModelElement::stageMode const):
Returns the enum corresponding to the stagemode attribute as defined by the
user-defined string
(WebCore::HTMLModelElement::updateStageMode):
Updates the internal variable the model player uses to track the stagemode
attribute
* Source/WebCore/Modules/model-element/HTMLModelElement.h:
* Source/WebCore/Modules/model-element/HTMLModelElement.idl:
* Source/WebCore/Modules/model-element/ModelPlayer.cpp:
(WebCore::ModelPlayer::setStageMode):
Virtual function to update the player based on the stagemode attribute
* Source/WebCore/Modules/model-element/ModelPlayer.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/html/HTMLAttributeNames.in:
* Source/WebCore/page/StageModeOperations.h: Added.
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.messages.in:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm:
(WebKit::ModelProcessModelPlayerProxy::setStageMode):
Updates the internal variable correpsonding to the stagemode attribute
* Source/WebKit/Scripts/webkit/messages.py:
(headers_for_type):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp:
(WebKit::ModelProcessModelPlayer::setStageMode):
Updates the internal variable correpsonding to the stagemode attribute
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h:
Canonical link: https://commits.webkit.org/289830@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes