Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 75c8d8e05e203899e442be049be01e891e4e37d0
https://github.com/WebKit/WebKit/commit/75c8d8e05e203899e442be049be01e891e4e37d0
Author: Etienne Segonzac <[email protected]>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M LayoutTests/model-element/model-element-bounding-box-expected.txt
M LayoutTests/model-element/model-element-bounding-box.html
M
LayoutTests/model-element/model-element-contents-layer-updates-expected.txt
M
LayoutTests/model-element/model-element-contents-layer-updates-with-clipping-expected.txt
R
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-after-bfcache-expected.txt
R
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-after-bfcache.html
R
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-expected.txt
R
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-frames-expected.txt
R
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-frames.html
R
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-navigation-expected.txt
R
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-navigation.html
R
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information.html
M
LayoutTests/model-element/model-element-graphics-layers-opacity-expected.txt
M
LayoutTests/model-element/model-element-update-transform-after-resize-expected.txt
M LayoutTests/model-element/model-element-update-transform-after-resize.html
A
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-after-bfcache-expected.txt
A
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-after-bfcache.html
A
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-expected.txt
A
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-frames-expected.txt
A
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-frames.html
A
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-navigation-expected.txt
A
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-navigation.html
A
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information.html
M LayoutTests/model-element/resources/model-utils.js
A
LayoutTests/platform/visionos/model-element/model-element-contents-layer-updates-expected.txt
A
LayoutTests/platform/visionos/model-element/model-element-contents-layer-updates-with-clipping-expected.txt
A
LayoutTests/platform/visionos/model-element/model-element-graphics-layers-opacity-expected.txt
M Source/WebCore/Modules/model-element/HTMLModelElement.cpp
M Source/WebKit/GPUProcess/graphics/Model/ModelTypes.h
M Source/WebKit/GPUProcess/graphics/Model/USDModel.swift
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm
M Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.h
M
Source/WebKit/WebProcess/Model/WebModelPlayer.h
M Source/WebKit/WebProcess/Model/WebModelPlayer.mm
M Tools/Scripts/webkitpy/port/mac.py
Log Message:
-----------
[Model] existing tests under LayoutTests/model-element/ tests should pass
https://bugs.webkit.org/show_bug.cgi?id=300037
<rdar://161835901>
Reviewed by Mike Wyrzykowski.
Align HTMLModelElement behavior across platforms and enable a unified test
suite.
Tests: model-element/*
* LayoutTests/model-element/model-element-bounding-box-expected.txt:
* LayoutTests/model-element/model-element-bounding-box.html:
* LayoutTests/model-element/model-element-contents-layer-updates-expected.txt:
*
LayoutTests/model-element/model-element-contents-layer-updates-with-clipping-expected.txt:
* LayoutTests/model-element/model-element-graphics-layers-opacity-expected.txt:
Update the base expectations for the WebModelPlayer.
*
LayoutTests/model-element/model-element-update-transform-after-resize-expected.txt:
* LayoutTests/model-element/model-element-update-transform-after-resize.html:
Align on the WebModelPlayer behavior for this test. Re-layout does
compute a new transform as long as entityTransform was not set by JS.
Even if stagemode is None.
Add a test covering the case where entityTransform is set.
*
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-after-bfcache-expected.txt:
Renamed from
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-after-bfcache-expected.txt.
*
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-after-bfcache.html:
Renamed from
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-after-bfcache.html.
*
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-expected.txt:
Renamed from
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-expected.txt.
*
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-frames-expected.txt:
Renamed from
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-frames-expected.txt.
*
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-frames.html:
Renamed from
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-frames.html.
*
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-navigation-expected.txt:
Renamed from
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-navigation-expected.txt.
*
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information-navigation.html:
Renamed from
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information-navigation.html.
*
LayoutTests/model-element/model-process/model-element-determines-if-scroll-gesture-updates-position-information.html:
Renamed from
LayoutTests/model-element/model-element-determines-if-scroll-gesture-updates-position-information.html.
Move the ModelProcess-only tests to a model-process directory for easy
skipping.
* LayoutTests/model-element/resources/model-utils.js:
(const.assert_3d_matrix_equals):
Add some wiggle room to the transform matrix assertions.
*
LayoutTests/platform/visionos/model-element/model-element-contents-layer-updates-expected.txt:
Copied from
LayoutTests/model-element/model-element-contents-layer-updates-expected.txt.
*
LayoutTests/platform/visionos/model-element/model-element-contents-layer-updates-with-clipping-expected.txt:
Copied from
LayoutTests/model-element/model-element-contents-layer-updates-with-clipping-expected.txt.
*
LayoutTests/platform/visionos/model-element/model-element-graphics-layers-opacity-expected.txt:
Copied from
LayoutTests/model-element/model-element-graphics-layers-opacity-expected.txt.
Add visionOS expectations for the layer tree tests.
* Source/WebCore/Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::reloadModelPlayer):
Make sure the reload code path from PlaceHolderModelPlayer to a live one
works for GPU_PROCESS_MODEL. It's covered by
model-element-suspend-resume.html.
* Source/WebKit/GPUProcess/graphics/Model/ModelTypes.h:
* Source/WebKit/GPUProcess/graphics/Model/USDModel.swift:
(USDModelLoader.treatZAsUpAxis):
(WKBridgeModelLoader.treatZAsUpAxis):
*
Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm:
(WebKit::ModelProcessModelPlayerProxy::updateTransformAfterLayout):
(WebKit::ModelProcessModelPlayerProxy::sizeDidChange):
(WebKit::ModelProcessModelPlayerProxy::setEntityTransform):
(WebKit::ModelProcessModelPlayerProxy::setStageMode):
Align the re-layout behavior on the WebModelPlayer.
* Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.cpp:
(WebKit::RemoteMeshProxy::setStageMode):
* Source/WebKit/WebProcess/GPU/graphics/Model/RemoteMeshProxy.h:
Align the stagemode update behavior on the ModelProcessModelPlayer.
Going from Orbit to None does _not_ recompute the scale.
* Source/WebKit/WebProcess/Model/WebModelPlayer.h:
* Source/WebKit/WebProcess/Model/WebModelPlayer.mm:
(WebKit::WebModelPlayer::duration
const):
(WebKit::WebModelPlayer::load):
(WebKit::WebModelPlayer::setPlaybackRate):
(WebKit::WebModelPlayer::update):
(WebKit::WebModelPlayer::play):
(WebKit::WebModelPlayer::setLoop):
(WebKit::WebModelPlayer::setAutoplay):
(WebKit::WebModelPlayer::setPaused):
(WebKit::WebModelPlayer::currentTime const):
(WebKit::WebModelPlayer::updateClockTimeOnAnimationState):
(WebKit::WebModelPlayer::setCurrentTime):
(WebKit::WebModelPlayer::setEnvironmentMap):
(WebKit::WebModelPlayer::reload):
Keep track of the animation even when the model player is suspended
(like on visionOS).
Align the animation behaviors between platforms.
Covered by model-element-animations-* tests.
Fix an issue where the environment map promise was rejected if it loaded
before the model was ready.
Make sure the bounding box reported to JavaScript honors the USD `upAxis` value.
(WebKit::WebModelPlayer::boundingBoxCenterAndExtents const):
(WebKit::WebModelPlayer::currentTransformState const):
*
Tools/Scripts/webkitpy/port/mac.py:
(MacPort.stderr_patterns_to_strip):
Suppress spurious log from lower level frameworks.
Canonical link:
https://flagged.apple.com:443/proxy?t2=Da7N1D0dX7&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE0ODk0QG1haW4=&emid=cb81e424-c451-40ad-8e4d-7f56ac3944fa&c=11
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications