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

Reply via email to