[webkit-changes] [WebKit/WebKit] bd5501: [WebXR] Add state checking to WebXR IPC calls

2024-01-31 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bd55010ecc7f05c22f0b94a503dd1350b18c8396
  
https://github.com/WebKit/WebKit/commit/bd55010ecc7f05c22f0b94a503dd1350b18c8396
  Author: Ada Chan 
  Date:   2024-01-31 (Wed, 31 Jan 2024)

  Changed paths:
M Source/WebCore/Modules/webxr/WebXRSystem.cpp
M Source/WebKit/Shared/XR/XRDeviceProxy.cpp
M Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp
M Source/WebKit/UIProcess/XR/PlatformXRSystem.h
M Source/WebKit/UIProcess/XR/PlatformXRSystem.messages.in
M Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.cpp
M Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.h

  Log Message:
  ---
  [WebXR] Add state checking to WebXR IPC calls
https://bugs.webkit.org/show_bug.cgi?id=268404
rdar://121553978

Reviewed by Dan Glastonbury.

Track internal state in PlatformXRSystem and check that we are
in the expected state when the IPC call is made.

Remove unnecessary parameters in 
PlatformXRSystem::initializeTrackingAndRendering()
as that information can be cached in this class and there's no
need to pass that info over again.

* Source/WebCore/Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::resolveFeaturePermissions const):
We should not call into platform code for requesting permissions
for simulated test devices.
* Source/WebKit/Shared/XR/XRDeviceProxy.cpp:
(WebKit::XRDeviceProxy::initializeTrackingAndRendering):
* Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp:
(WebKit::PlatformXRSystem::invalidate):
(WebKit::PlatformXRSystem::ensureImmersiveSessionActivity):
(WebKit::checkFeaturesConsent):
Helper function to check whether all the features in the first
argument are included in the second list of granted features.
(WebKit::PlatformXRSystem::requestPermissionOnSessionFeatures):
For immersive modes, check that we are in the idle state before
requesting permissions via the PlatformXRCoordinator.
When we get the granted permissions back, check whether all the
required features have been granted permission. Update the
immersive session state accordingly based on whether the
session can start.
(WebKit::PlatformXRSystem::initializeTrackingAndRendering):
Remove the parameters and use the cached immersive session
mode and granted features instead.
(WebKit::PlatformXRSystem::shutDownTrackingAndRendering):
(WebKit::PlatformXRSystem::requestFrame):
(WebKit::PlatformXRSystem::submitFrame):
(WebKit::PlatformXRSystem::sessionDidEnd):
(WebKit::PlatformXRSystem::setImmersiveSessionState):
(WebKit::PlatformXRSystem::invalidateImmersiveSessionState):
* Source/WebKit/UIProcess/XR/PlatformXRSystem.h:
* Source/WebKit/UIProcess/XR/PlatformXRSystem.messages.in:
* Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.cpp:
(WebKit::PlatformXRSystemProxy::initializeTrackingAndRendering):
* Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.h:

Canonical link: https://commits.webkit.org/273875@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 76e52d: [WebXR] Allow audio and media sessions to continue...

2024-02-15 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 76e52d168312e91a83bd2f9db3535f6921b3cd87
  
https://github.com/WebKit/WebKit/commit/76e52d168312e91a83bd2f9db3535f6921b3cd87
  Author: Ada Chan 
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
M Source/WebCore/Modules/webaudio/AudioContext.cpp
M Source/WebCore/Modules/webxr/WebXRSystem.cpp
M Source/WebCore/Modules/webxr/WebXRSystem.h
M Source/WebCore/html/HTMLMediaElement.cpp
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/Page.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  ---
  [WebXR] Allow audio and media sessions to continue uninterrupted when 
starting immersive WebXR sessions
https://bugs.webkit.org/show_bug.cgi?id=269332
rdar://102391109

Reviewed by Eric Carlson.

The original Safari window gets backgrounded when we start an immersive WebXR
session. We need to allow audio/media to continue playback when we get a
backgrounding notification for this scenario, similar to how we handle this
for picture-in-picture.

* Source/WebCore/Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::shouldOverrideBackgroundPlaybackRestriction const):
Return true if the page has an active WebXR immersive session.
* Source/WebCore/Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::hasActiveImmersiveSession const):
* Source/WebCore/Modules/webxr/WebXRSystem.h:
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction const):
Return true if the page has an active WebXR immersive session.
* Source/WebCore/page/Page.cpp:
(WebCore::Page::hasActiveImmersiveSession const):
Walk the frame tree and return true if any frame's window has an active
WebXR immersive session.
* Source/WebCore/page/Page.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateDrawingAreaLayerTreeFreezeState):
Similar to picture-in-picture, skip freezing the layer tree state if
the window gets backgrounded due to an active immersive session.

Canonical link: https://commits.webkit.org/274742@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 2b9b6b: [WebXR] Skip freezing layer tree with an active We...

2024-03-08 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2b9b6bf2f2fb0ba67a772554d4dcc8fbb756b503
  
https://github.com/WebKit/WebKit/commit/2b9b6bf2f2fb0ba67a772554d4dcc8fbb756b503
  Author: Ada Chan 
  Date:   2024-03-08 (Fri, 08 Mar 2024)

  Changed paths:
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/Page.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  ---
  [WebXR] Skip freezing layer tree with an active WebXR immersive session only 
when there's video content
https://bugs.webkit.org/show_bug.cgi?id=270669
rdar://123777699

Reviewed by Eric Carlson.

We initially skip freezing the layer tree with an active WebXR immersive session
so videos can continue to get their requestVideoFrameCallback serviced. However,
since this also incurs a power cost, we'll only do this when there's video
content on the page.

* Source/WebCore/page/Page.cpp:
(WebCore::Page::shouldBlockLayerTreeFreezingForVideo):
* Source/WebCore/page/Page.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateDrawingAreaLayerTreeFreezeState):

Canonical link: https://commits.webkit.org/275842@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


[webkit-changes] [WebKit/WebKit] 802510: Add tracepoints around WebXR frame rendering

2024-03-22 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8025107d2885c33e99c72a1117f1438265ee721c
  
https://github.com/WebKit/WebKit/commit/8025107d2885c33e99c72a1117f1438265ee721c
  Author: Ada Chan 
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
M Source/WTF/wtf/SystemTracing.h
M Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp
M Source/WebCore/Modules/webxr/WebXRSession.cpp
M Source/WebKit/Resources/Signposts/SystemTracePoints.plist

  Log Message:
  ---
  Add tracepoints around WebXR frame rendering
https://bugs.webkit.org/show_bug.cgi?id=271474
rdar://125215811

Reviewed by Kimmo Kinnunen.

* Source/WTF/wtf/SystemTracing.h:
* Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame):
(WebCore::WebXROpaqueFramebuffer::endFrame):
* Source/WebCore/Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::onFrame):
* Source/WebKit/Resources/Signposts/SystemTracePoints.plist:

Canonical link: https://commits.webkit.org/276571@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


[webkit-changes] [WebKit/WebKit] a3fcf4: [WebXR] Fix MESSAGE_CHECK failure in PlatformXRSys...

2024-06-26 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a3fcf4fdfbc19460ad56323d2c0dbb4c26906d2f
  
https://github.com/WebKit/WebKit/commit/a3fcf4fdfbc19460ad56323d2c0dbb4c26906d2f
  Author: Ada Chan 
  Date:   2024-06-26 (Wed, 26 Jun 2024)

  Changed paths:
M Source/WebCore/Modules/webxr/WebXRSession.cpp
M Source/WebCore/platform/xr/PlatformXR.h
M Source/WebKit/Shared/XR/XRDeviceProxy.cpp
M Source/WebKit/Shared/XR/XRDeviceProxy.h
M Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp
M Source/WebKit/UIProcess/XR/PlatformXRSystem.h
M Source/WebKit/UIProcess/XR/PlatformXRSystem.messages.in
M Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.cpp
M Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.h

  Log Message:
  ---
  [WebXR] Fix MESSAGE_CHECK failure in PlatformXRSystem::RequestFrame()
https://bugs.webkit.org/show_bug.cgi?id=275912
rdar://130300869

Reviewed by Mike Wyrzykowski and Dan Glastonbury.

If the WebXR immersive session was triggered by the system, 
PlatformXRSystem::sessionDidEnd()
would be called on the UI process side first, which updated the session state 
to Idle.
However, during the short period when the UI process had handled the session 
end request but
the web process had not handled it yet, PlatformXRSystem::requestFrame() could 
still be called
on the UI process side, which would fail the m_immersiveSessionState == 
SessionRunning check.

To fix this, we introduce two new immersive session states: 
SessionEndingFromSystem and
SessionEndingFromWebContent. If PlatformXRSystem::sessionDidEnd() is called 
while the state
is SessionRunning, that means the session end request comes from the system and 
we'll update
the state to SessionEndingFromSystem. The message check in 
PlatformXRSystem::requestFrame()
has been updated to allow the state to be either SessionRunning and 
SessionEndingFromSystem,
but will skip the actual frame update if it's SessionEndingFromSystem. When the 
web process
has ended the XR session, it'll send the 
PlatformXRSystem::didCompleteShutdownTriggeredBySystem
message which will reset PlatformXRSystem::m_immersiveSessionState back to Idle.

If the session end request comes from XRSession.end(), then 
PlatformXRSystem::shutDownTrackingAndRendering()
will be called first when the state is SessionRunning, and the session state 
will be updated
to SessionEndingFromWebContent. After the system has finished the work to end 
the session,
PlatformXRSystem::sessionDidEnd() will be called which will update the session 
state to Idle.

* Source/WebCore/Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::shutdown):
If the ending of the XR session is triggered by the system, call
PlatformXR::Device::didCompleteShutdownTriggeredBySystem() after
finishing the shutdown work.
* Source/WebCore/platform/xr/PlatformXR.h:
(PlatformXR::Device::didCompleteShutdownTriggeredBySystem):
* Source/WebKit/Shared/XR/XRDeviceProxy.cpp:
(WebKit::XRDeviceProxy::didCompleteShutdownTriggeredBySystem):
(WebKit::XRDeviceProxy::requestFrame):
Make sure the completion handler is always called.
* Source/WebKit/Shared/XR/XRDeviceProxy.h:
* Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp:
(WebKit::PlatformXRSystem::shutDownTrackingAndRendering):
(WebKit::PlatformXRSystem::requestFrame):
Allow the session state to be either SessionRunning and SessionEndingFromSystem.
But skip the frame update if it's SessionEndingFromSystem.
Make sure the completion handler is called even if there's no xrCoordinator.
(WebKit::PlatformXRSystem::submitFrame):
Allow the session state to be either SessionRunning and SessionEndingFromSystem.
(WebKit::PlatformXRSystem::didCompleteShutdownTriggeredBySystem):
Make sure we'll only get here from handling a session end request from the 
system.
Reset the state back to Idle.
(WebKit::PlatformXRSystem::sessionDidEnd):
If this is called when the state is SessionRunning, the session is being ended
by the system so set the next state to be SessionEndingFromSystem. Otherwise,
reset it back to Idle.
(WebKit::PlatformXRSystem::invalidateImmersiveSessionState):
* Source/WebKit/UIProcess/XR/PlatformXRSystem.h:
* Source/WebKit/UIProcess/XR/PlatformXRSystem.messages.in:
* Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.cpp:
(WebKit::PlatformXRSystemProxy::didCompleteShutdownTriggeredBySystem):
* Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.h:

Canonical link: https://commits.webkit.org/280392@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


[webkit-changes] [WebKit/WebKit] 015450: [visionOS] Add a mechanism to check user authoriza...

2024-07-26 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 015450fc9083884904de9d26c87319b6b123f27f
  
https://github.com/WebKit/WebKit/commit/015450fc9083884904de9d26c87319b6b123f27f
  Author: Ada Chan 
  Date:   2024-07-26 (Fri, 26 Jul 2024)

  Changed paths:
M Source/WebCore/Modules/gamepad/GamepadManager.cpp
M Source/WebCore/Modules/gamepad/GamepadManager.h
M Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp
M Source/WebCore/Modules/gamepad/NavigatorGamepad.h
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/Page.h
M Source/WebCore/page/PageConfiguration.h
A 
Source/WebCore/platform/gamepad/ShouldRequireExplicitConsentForGamepadAccess.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/Shared/WebPageCreationParameters.h
M Source/WebKit/Shared/WebPageCreationParameters.serialization.in
M Source/WebKit/UIProcess/API/APIPageConfiguration.h
M Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h
M Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h
M Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm
M Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.cpp
M Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.h
M Source/WebKit/UIProcess/PageClient.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in

  Log Message:
  ---
  [visionOS] Add a mechanism to check user authorization for gamepads
https://bugs.webkit.org/show_bug.cgi?id=276842
rdar://132103378

Reviewed by Brady Eidson.

Add a new gamepadAccessRequiresExplicitConsent member in page configuration
to control whether gamepad access is blocked from webpage until
-[WKWebView _setAllowGamepadsAccess:YES] is called. By default,
gamepadAccessRequiresExplicitConsent is false.

Update the logic in GamepadManager that determines when to reveal gamepads
to navigators/windows that are just registered to also consult the
page's m_gamepadAccessGranted boolean. If Page::gamepadAccessGranted() returns
false when the navigator/window is first registered with the manager, they
are first placed in a separate quarantined set, and they don't automatically
get gamepads revealed to them on new gamepad connection or gamepad activity.
They are removed from quarantine only after their pages have been explicitly
granted gamepad access.

Also, add WKUIDelegatePrivate methods to communicate gamepad
access/connection state changes.

* Source/WebCore/Modules/gamepad/GamepadManager.cpp:
(WebCore::GamepadManager::findUnquarantinedNavigatorsAndWindows):
Gather all navigators/windows that are not waiting for explicit
user consent for gamepad access.
(WebCore::GamepadManager::platformGamepadConnected):
Do not notify quarantined navigators/windows of new gamepad connections.
(WebCore::GamepadManager::platformGamepadDisconnected):
Ditto for gamepad disconnections.
(WebCore::GamepadManager::registerNavigator):
Add to the quarantined set if access has not been granted.
(WebCore::GamepadManager::unregisterNavigator):
(WebCore::GamepadManager::registerDOMWindow):
Ditto for window.
(WebCore::GamepadManager::unregisterDOMWindow):
(WebCore::GamepadManager::updateQuarantineStatus):
This is called when a page's gamepad access state has changed.
It goes through the quarantined sets to see which ones are from
pages that have been granted access. Promote them to the blind
sets and remove them from the quarantined sets.
* Source/WebCore/Modules/gamepad/GamepadManager.h:
* Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::protectedPage const):
* Source/WebCore/Modules/gamepad/NavigatorGamepad.h:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/page/Page.cpp:
(WebCore::m_activeNowPlayingSessionUpdateTimer):
(WebCore::Page::didCommitLoad):
Reset gamepad access on new page load.
(WebCore::Page::allowGamepadAccess):
If gamepad access state has changed, tell GamepadManager to update its
quarantined sets of navigators/windows.
(WebCore::Page::initializeGamepadAccessForPageLoad):
* Source/WebCore/page/Page.h:
(WebCore::Page::gamepadAccessGranted const):
* Source/WebCore/page/PageConfiguration.h:
* 
Source/WebCore/platform/gamepad/ShouldRequireExplicitConsentForGamepadAccess.h: 
Added.
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/Shared/WebPageCreationParameters.h:
* Source/WebKit/Shared/WebPageCreationParameters.serialization.in:
* Source/WebKit/UIProcess/API/APIPageConfig

[webkit-changes] [WebKit/WebKit] 20780c: Expose model bounding box to JS

2024-08-01 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 20780c1b3ad229ddd62aea26af9b877e1b72421e
  
https://github.com/WebKit/WebKit/commit/20780c1b3ad229ddd62aea26af9b877e1b72421e
  Author: Ada Chan 
  Date:   2024-08-01 (Thu, 01 Aug 2024)

  Changed paths:
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/ModelPlayerClient.h
M Source/WebCore/dom/DOMPointReadOnly.h
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.messages.in

  Log Message:
  ---
  Expose model bounding box to JS
https://bugs.webkit.org/show_bug.cgi?id=277433
rdar://125586529

Reviewed by Mike Wyrzykowski.

Add two new data members m_boundingBoxCenter and m_boundingBoxExtents
to HTMLModelElement that tracks the center and extents of the loaded model.

When the model process finishes loading the model source, it will send
the model's center and extents info in the DidFinishLoading message.
ModelProcessModelPlayer then calls ModelPlayerClient::didUpdateBoundingBox()
to pass that info along to the model element.

* Source/WebCore/Modules/model-element/HTMLModelElement.cpp:
(WebCore::m_boundingBoxExtents):
(WebCore::HTMLModelElement::setSourceURL):
(WebCore::HTMLModelElement::createModelPlayer):
(WebCore::HTMLModelElement::boundingBoxCenter const):
(WebCore::HTMLModelElement::boundingBoxExtents const):
(WebCore::HTMLModelElement::didUpdateBoundingBox):
* Source/WebCore/Modules/model-element/HTMLModelElement.h:
* Source/WebCore/Modules/model-element/HTMLModelElement.idl:
* Source/WebCore/Modules/model-element/ModelPlayerClient.h:
* Source/WebCore/dom/DOMPointReadOnly.h:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm:
(WebKit::ModelProcessModelPlayerProxy::didFinishLoading):
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp:
(WebKit::ModelProcessModelPlayer::didFinishLoading):
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h:
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.messages.in:

Canonical link: https://commits.webkit.org/281722@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


[webkit-changes] [WebKit/WebKit] bb0b0d: Introduce WKSRKEntity interface that wraps a Reali...

2024-08-20 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb0b0dc7700f6f8a68cbc4e5c9b79b1983916aba
  
https://github.com/WebKit/WebKit/commit/bb0b0dc7700f6f8a68cbc4e5c9b79b1983916aba
  Author: Ada Chan 
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm
M Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h
M Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
A Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift
A Source/WebKit/WebKitSwift/RealityKit/RealityKitBridging.h
M Source/WebKit/WebKitSwift/WebKitSwift.h

  Log Message:
  ---
  Introduce WKSRKEntity interface that wraps a RealityKit Entity object
https://bugs.webkit.org/show_bug.cgi?id=278337
rdar://134272371

Reviewed by Mike Wyrzykowski.

This wrapper class allows us to manipulate the entity associated with
a model element using RealityKit APIs. This patch converts the logic
to get the entity's bounding box, get/set its transform and opacity,
and animate the entity to use RealityKit APIs in Swift.

* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h:
Add a new data member to hold a WKSRKEntity created with the REEntityRef
from the REModel.
m_animationPlaybackToken can be removed since we can now handle
animation with the RealityKit AnimationPlaybackController API.
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm:
(WebKit::ModelProcessModelPlayerProxy::updateTransform):
(WebKit::ModelProcessModelPlayerProxy::updateOpacity):
(WebKit::ModelProcessModelPlayerProxy::startAnimating):
(WebKit::ModelProcessModelPlayerProxy::didFinishLoading):
Create a WKSRKEntity with the CoreRE entity from REModel
* Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.h:
* Source/WebKit/UIProcess/Cocoa/WebKitSwiftSoftLink.mm:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift: Added.
(WKSRKEntity.boundingBoxExtents):
(WKSRKEntity.boundingBoxCenter):
(WKSRKEntity.boundingBox):
(WKSRKEntity.transform):
(WKSRKEntity.opacity):
(WKSRKEntity.startAnimating):
* Source/WebKit/WebKitSwift/RealityKit/RealityKitBridging.h: Copied from 
Source/WebKit/WebKitSwift/WebKitSwift.h.
* Source/WebKit/WebKitSwift/WebKitSwift.h:

Canonical link: https://commits.webkit.org/282494@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


[webkit-changes] [WebKit/WebKit] bef97a: Allow layout tests to load model content on vision...

2024-09-04 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bef97a66bbfd776404fb60f009f81bdaa5cc752d
  
https://github.com/WebKit/WebKit/commit/bef97a66bbfd776404fb60f009f81bdaa5cc752d
  Author: Ada Chan 
  Date:   2024-09-04 (Wed, 04 Sep 2024)

  Changed paths:
A LayoutTests/model-element/model-element-bounding-box-expected.txt
A LayoutTests/model-element/model-element-bounding-box.html
M LayoutTests/model-element/model-element-camera.html
M LayoutTests/model-element/model-element-enter-fullscreen-crash.html
A LayoutTests/model-element/model-element-entity-transform-expected.txt
A LayoutTests/model-element/model-element-entity-transform.html
M LayoutTests/model-element/model-element-error-and-load-events.html
M 
LayoutTests/model-element/model-element-inline-preview-deletion-upon-source-change.html
M LayoutTests/model-element/model-element-interactive-dragging.html
M LayoutTests/model-element/model-element-interactive.html
M LayoutTests/model-element/model-element-ready.html
M LayoutTests/model-element/model-element-source.html
M LayoutTests/model-element/model-element.html
A LayoutTests/model-element/resources/2x2x2-at-100x50x200.usdz
A LayoutTests/model-element/resources/2x2x2-center.usdz
A LayoutTests/model-element/resources/2x2x2-positive.usdz
M LayoutTests/model-element/resources/model-utils.js
M Source/WebKit/Configurations/ModelService.xcconfig
A Source/WebKit/Resources/ios/ModelService-embedded-simulator.entitlements

  Log Message:
  ---
  Allow layout tests to load model content on visionOS with model process
https://bugs.webkit.org/show_bug.cgi?id=279082
rdar://124870608

Reviewed by Mike Wyrzykowski and Per Arne Vollan.

Set up an entitlements file for the model process for simulator that have
the same two entitlements we added for the model process on device.

Make sure ModelElementEnabled is true for the model tests.
Make sure ModelProcessEnabled is true For the model tests that require
the model process to be able to process model content.

Fix the flakiness of model-element-error-and-load-events.html.

Also add simple layout tests for bounding box and entity transform.

* LayoutTests/model-element/model-element-bounding-box-expected.txt: Added.
* LayoutTests/model-element/model-element-bounding-box.html: Added.
* LayoutTests/model-element/model-element-camera.html:
* LayoutTests/model-element/model-element-enter-fullscreen-crash.html:
* LayoutTests/model-element/model-element-entity-transform-expected.txt: Added.
* LayoutTests/model-element/model-element-entity-transform.html: Added.
* LayoutTests/model-element/model-element-error-and-load-events.html:
The first test case sets the model's source to a valid URL and then removes the 
source.
There's a chance that the model source finished loading, queued the load event
to be fired, and then its source was removed. By the time the load event is
actually fired, model.complete is already false. Update the assert for the load
event to account for that case, and update model_load_test to take in an array
of possible intermediate events that can happen before the expected event is
fired. This way we can pass in the load event in the possibleIntermediateEvents
array for this test case.
* 
LayoutTests/model-element/model-element-inline-preview-deletion-upon-source-change.html:
* LayoutTests/model-element/model-element-interactive-dragging.html:
* LayoutTests/model-element/model-element-interactive.html:
* LayoutTests/model-element/model-element-ready.html:
* LayoutTests/model-element/model-element-source.html:
* LayoutTests/model-element/model-element.html:
* LayoutTests/model-element/resources/2x2x2-at-100x50x200.usdz: Added.
* LayoutTests/model-element/resources/2x2x2-center.usdz: Added.
* LayoutTests/model-element/resources/2x2x2-positive.usdz: Added.
* LayoutTests/model-element/resources/model-utils.js:
(const.assert_points_are_equal):
(const.assert_3d_matrix_is_identity):
(const.assert_3d_matrix_equals):
(const.assert_3d_matrix_not_equals):
* Source/WebKit/Configurations/ModelService.xcconfig:
* Source/WebKit/Resources/ios/ModelService-embedded-simulator.entitlements: 
Added.
Very similar to the XPCService-embedded-simulator.entitlements with the added 
SurfBoard
entitlements needed by the model process.

Canonical link: https://commits.webkit.org/283159@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


[webkit-changes] [WebKit/WebKit] 79915f: model portal should allow rectangular aspect ratio

2024-09-04 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 79915f4ac88b69ed7d0c317ae49e271ca738f68e
  
https://github.com/WebKit/WebKit/commit/79915f4ac88b69ed7d0c317ae49e271ca738f68e
  Author: Ada Chan 
  Date:   2024-09-04 (Wed, 04 Sep 2024)

  Changed paths:
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm

  Log Message:
  ---
  model portal should allow rectangular aspect ratio
https://bugs.webkit.org/show_bug.cgi?id=279158
rdar://99045742

Reviewed by Mike Wyrzykowski.

Use the proper height for the model portal layer.
Update the initial entity transform computation to use the bounding
box center for the translation.

* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm:
(WebKit::computeScaledExtentsAndCenter):
(WebKit::computeSRT):
(WebKit::ModelProcessModelPlayerProxy::computeTransform):
(WebKit::ModelProcessModelPlayerProxy::didFinishLoading):
(WebKit::ModelProcessModelPlayerProxy::layer):
(WebKit::computeExtents): Deleted.

Canonical link: https://commits.webkit.org/283193@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


[webkit-changes] [WebKit/WebKit] 8e9979: Enable model process by default

2024-09-11 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8e9979cd7c4c1fa9199a2fb2af09e0371fbf27f8
  
https://github.com/WebKit/WebKit/commit/8e9979cd7c4c1fa9199a2fb2af09e0371fbf27f8
  Author: Ada Chan 
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebKit/UIProcess/WebProcessProxy.cpp

  Log Message:
  ---
  Enable model process by default
https://bugs.webkit.org/show_bug.cgi?id=279526
rdar://135757893

Reviewed by Mike Wyrzykowski.

Enable model process by default. It still requires the model element
feature flag which is still experimental.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createModelProcessConnection):
Added an extra check to make sure modelElementEnabled() is true before
allowing the model process connection to be created.

Canonical link: https://commits.webkit.org/283517@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


[webkit-changes] [WebKit/WebKit] 7b007a: WebXR should not work from an iFrame unless it is ...

2024-04-10 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7b007a862a8738cd222cb669afbdef82e07d8422
  
https://github.com/WebKit/WebKit/commit/7b007a862a8738cd222cb669afbdef82e07d8422
  Author: Ada Chan 
  Date:   2024-04-10 (Wed, 10 Apr 2024)

  Changed paths:
A LayoutTests/http/tests/webxr/resources/resources/test-only-api.js
A 
LayoutTests/http/tests/webxr/resources/resources/webxr_test_constants_single_view.js
A LayoutTests/http/tests/webxr/resources/resources/webxr_util.js
A LayoutTests/http/tests/webxr/resources/webxr-issessionsupported-test.html
A LayoutTests/http/tests/webxr/resources/webxr-makexrcompatible-test.html
A LayoutTests/http/tests/webxr/resources/webxr-requestsession-test.html
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-issessionsupported-allowed-by-feature-policy-expected.txt
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-issessionsupported-allowed-by-feature-policy.html
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-issessionsupported-denied-by-insufficient-feature-policy-expected.txt
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-issessionsupported-denied-by-insufficient-feature-policy.html
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-makexrcompatible-allowed-by-feature-policy-expected.txt
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-makexrcompatible-allowed-by-feature-policy.html
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-makexrcompatible-denied-by-insufficient-feature-policy-expected.txt
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-makexrcompatible-denied-by-insufficient-feature-policy.html
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-requestsession-allowed-by-feature-policy-expected.txt
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-requestsession-allowed-by-feature-policy.html
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-requestsession-denied-by-insufficient-feature-policy-expected.txt
A 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-requestsession-denied-by-insufficient-feature-policy.html
M LayoutTests/platform/gtk/TestExpectations
M LayoutTests/platform/ios/TestExpectations
M LayoutTests/platform/mac-gpup/TestExpectations
M LayoutTests/platform/mac/TestExpectations
M LayoutTests/platform/wincairo/TestExpectations
M LayoutTests/platform/wpe/TestExpectations
M Source/WebCore/Modules/webxr/WebXRSystem.cpp
M Source/WebCore/Modules/webxr/WebXRSystem.h
M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp

  Log Message:
  ---
  WebXR should not work from an iFrame unless it is allowed to use the 
xr-spatial-tracking permissions policy
https://bugs.webkit.org/show_bug.cgi?id=271363
rdar://122963817

Reviewed by Mike Wyrzykowski.

Follow the latest WebXR spec and check whether 'xr-spatial-tracking' is enabled 
for
the requesting document's origin in WebGLRenderingContextBase::makeXRCompatible 
and
WebXRSystem::resolveRequestedFeatures.

Added layout tests to verify 'xr-spatial-tracking' permissions policy is checked
properly for xr.isSessionSupported, xr.requestSession, and 
WebGLRenderingContextBase::makeXRCompatible.
Set up symbolic links to the webxr related scripts from http/wpt/webxr folder 
so the
pages embedded in the iframes can reference them.

* LayoutTests/http/tests/webxr/resources/resources/test-only-api.js: Added.
* 
LayoutTests/http/tests/webxr/resources/resources/webxr_test_constants_single_view.js:
 Added.
* LayoutTests/http/tests/webxr/resources/resources/webxr_util.js: Added.
* LayoutTests/http/tests/webxr/resources/webxr-issessionsupported-test.html: 
Added.
* LayoutTests/http/tests/webxr/resources/webxr-makexrcompatible-test.html: 
Added.
* LayoutTests/http/tests/webxr/resources/webxr-requestsession-test.html: Added.
* 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-issessionsupported-allowed-by-feature-policy-expected.txt:
 Added.
* 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-issessionsupported-allowed-by-feature-policy.html:
 Added.
* 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-issessionsupported-denied-by-insufficient-feature-policy-expected.txt:
 Added.
* 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-issessionsupported-denied-by-insufficient-feature-policy.html:
 Added.
* 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-makexrcompatible-allowed-by-feature-policy-expected.txt:
 Added.
* 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-makexrcompatible-allowed-by-feature-policy.html:
 Added.
* 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-makexrcompatible-denied-by-insufficient-feature-policy-expected.txt:
 Added.
* 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-makexrcompatible-denied-by-insufficient-feature-policy.html:
 Added.
* 
LayoutTests/http/tests/webxr/webxr-third-party-iframe-requests

[webkit-changes] [WebKit/WebKit] c8371e: Add a way to exclude certain game controllers from...

2024-04-26 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c8371eaa79e62ee1f18df46b5c5450e1e8d31e27
  
https://github.com/WebKit/WebKit/commit/c8371eaa79e62ee1f18df46b5c5450e1e8d31e27
  Author: Ada Chan 
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm

  Log Message:
  ---
  Add a way to exclude certain game controllers from Gamepad API
https://bugs.webkit.org/show_bug.cgi?id=273274
rdar://127075441

Reviewed by Brady Eidson.

* Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
(WebCore::shouldExcludeGameController):
(WebCore::GameControllerGamepadProvider::controllerDidConnect):

Canonical link: https://commits.webkit.org/278040@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


[webkit-changes] [WebKit/WebKit] fb4278: [WebXR] Service video frame callbacks in WebXRSess...

2024-05-22 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fb427896ee568c0bc173d1611575da7d8b26be49
  
https://github.com/WebKit/WebKit/commit/fb427896ee568c0bc173d1611575da7d8b26be49
  Author: Ada Chan 
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
M Source/WebCore/Modules/webxr/WebXRSession.cpp
M Source/WebCore/Modules/webxr/WebXRSession.h
M Source/WebCore/Modules/webxr/WebXRSystem.cpp
M Source/WebCore/Modules/webxr/WebXRSystem.h
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/Page.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  ---
  [WebXR] Service video frame callbacks in WebXRSession if page backgrounds 
during immersive WebXR session
https://bugs.webkit.org/show_bug.cgi?id=273901
rdar://124236441

Reviewed by Simon Fraser and Jer Noble.

Instead of not freezing the layer tree if the page gets backgrounded
during an immersive WebXR session so video frame callbacks can continue
to be serviced, just service the video frame callbacks in the XR session.

* Source/WebCore/Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::minimalUpdateRendering):
We'll special case servicing the video frame callbacks as the minimum render
updates we'll do in XR session's rAF if the page is backgrounded.
(WebCore::WebXRSession::onFrame):
* Source/WebCore/Modules/webxr/WebXRSession.h:
* Source/WebCore/Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::activeImmersiveSession const):
(WebCore::WebXRSystem::hasActiveImmersiveSession const): Deleted.
* Source/WebCore/Modules/webxr/WebXRSystem.h:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::applicationDidEnterBackground):
(WebCore::Page::applicationWillEnterForeground):
(WebCore::Page::hasActiveImmersiveSession const):
(WebCore::Page::activeImmersiveXRSession const):
(WebCore::Page::shouldBlockLayerTreeFreezingForVideo): Deleted.
* Source/WebCore/page/Page.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateDrawingAreaLayerTreeFreezeState):
Remove the logic to prevent the freezing of the layer tree if the
page is backgrounded due to an active immersive session. It's not good
for performance to continue render updates for the page when it's
backgrounded and not visible.

Canonical link: https://commits.webkit.org/279146@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


[webkit-changes] [WebKit/WebKit] 32a1e9: [WebXR] Avoid re-allocation of metal textures for ...

2024-05-30 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 32a1e991f51741f6d02c5025fd3773ffcd9302c6
  
https://github.com/WebKit/WebKit/commit/32a1e991f51741f6d02c5025fd3773ffcd9302c6
  Author: Ada Chan 
  Date:   2024-05-30 (Thu, 30 May 2024)

  Changed paths:
M Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.h
M Source/WebCore/Modules/webxr/WebXROpaqueFramebufferCocoa.cpp
M Source/WebCore/Modules/webxr/WebXRSession.cpp
M Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp
M Source/WebCore/Modules/webxr/WebXRWebGLLayer.h
M Source/WebCore/platform/xr/PlatformXR.h
M Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp
M Source/WebCore/testing/WebFakeXRDevice.cpp
M Source/WebKit/Shared/XR/PlatformXR.serialization.in
M Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm

  Log Message:
  ---
  [WebXR] Avoid re-allocation of metal textures for every frame
https://bugs.webkit.org/show_bug.cgi?id=274882
rdar://128010992

Reviewed by Dan Glastonbury and Mike Wyrzykowski.

Before this code change, metal texture handles are passed in
the frame data for every frame render, and we'd allocate a metal
texture from this handle (and later deallocate it) for each frame.

With this change, we allow textures to be reused. PlatformXRSystem
can send back a reusable index along with the texture handle, and
WebXROpaqueFramebuffer caches the allocated texture with that index.
When this same texture can be reused in a future frame, PlatformXRSystem
will send back that index in the frame data with a null texture handle
as a signal that the last texture stored at that index should be used.

* Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.h:
(WebCore::WebXRExternalRenderbuffer::operator bool const):
(WebCore::WebXRAttachmentSet::operator bool const):
* Source/WebCore/Modules/webxr/WebXROpaqueFramebufferCocoa.cpp:
(WebCore::WebXROpaqueFramebuffer::~WebXROpaqueFramebuffer):
The cleanup of the display attachments is now handled in 
releaseAllDisplayAttachments().
(WebCore::WebXROpaqueFramebuffer::startFrame):
Call the new helper method bindCompositorTexturesForDisplay() that will
reuse a cached texture if possible.
(WebCore::WebXROpaqueFramebuffer::endFrame):
We no longer need to deallocate the texture after each frame render.
(WebCore::WebXROpaqueFramebuffer::releaseAllDisplayAttachments):
Release all the cached display attachments.
(WebCore::WebXROpaqueFramebuffer::blitShared):
(WebCore::WebXROpaqueFramebuffer::blitSharedToLayered):
(WebCore::WebXROpaqueFramebuffer::reusableDisplayAttachments const):
If texture handle is null, return the texture cached at the 
reusableTextureIndex.
(WebCore::WebXROpaqueFramebuffer::bindCompositorTexturesForDisplay):
First, ensure the m_displayAttachmentsSets vector is large enough to store
the set of display attachments used for this frame render. If there's no
layerData.textureData, which is the case when we run layout tests, create a
temporary renderbuffer to be used as the display color buffer. Otherwise,
check if we can reuse a previously created texture. If reuse is not possible,
create new textures with the handles passed in the frame data.
(WebCore::WebXROpaqueFramebuffer::releaseDisplayAttachmentsAtIndex):
Helper method to clean up the display attachments, refactored from old code.
* Source/WebCore/Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::didCompleteShutdown):
* Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp:
(WebCore::WebXRWebGLLayer::sessionEnded):
Clean up any cached display attachments.
* Source/WebCore/Modules/webxr/WebXRWebGLLayer.h:
* Source/WebCore/platform/xr/PlatformXR.h:
Introduce ExternalTextureData that packages up all the texture info
along with the reusable index.
Store LayerData with UniqueRef so we don't have to worry about its
size getting too large to be hashable.
* Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp:
(PlatformXR::OpenXRDevice::requestFrame):
* Source/WebCore/testing/WebFakeXRDevice.cpp:
(WebCore::SimulatedXRDevice::frameTimerFired):
Don't pass any textureData from the fake device so a temporary
renderbuffer will be used for the color display buffer.
* Source/WebKit/Shared/XR/PlatformXR.serialization.in:
* Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.mm:
(WebKit::ARKitCoordinator::renderLoop):

Canonical link: https://commits.webkit.org/279523@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


[webkit-changes] [WebKit/WebKit] 5a264d: [WebXR] Add a reason for ending XRSessions

2024-06-03 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5a264de1c9901a61c3826532df73319b334d3ebc
  
https://github.com/WebKit/WebKit/commit/5a264de1c9901a61c3826532df73319b334d3ebc
  Author: Ada Chan 
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
M Source/WebKit/UIProcess/API/APIUIClient.h
M Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
M Source/WebKit/UIProcess/Cocoa/UIDelegate.h
M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm
A Source/WebKit/UIProcess/XR/PlatformXRSessionEnums.h
M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  ---
  [WebXR] Add a reason for ending XRSessions
https://bugs.webkit.org/show_bug.cgi?id=275015
rdar://127837175

Reviewed by Kimmo Kinnunen and Mike Wyrzykowski.

API::UIClient::endXRSession() now takes in a new 
WebKit::PlatformXRSessionEndReason
parameter so we can differentiate between the normal and error cases for
the session termination.

* Source/WebKit/UIProcess/API/APIUIClient.h:
(API::UIClient::endXRSession):
* Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
Add WK enum type that corresponds to WebKit::PlatformXRSessionEndReason.
* Source/WebKit/UIProcess/Cocoa/UIDelegate.h:
* Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::endXRSession):
Call the _webViewEndXRSession delegate method that takes in the reason
if it's implemented.
* Source/WebKit/UIProcess/XR/PlatformXRSessionEnums.h: Added.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/279656@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


[webkit-changes] [WebKit/WebKit] 24342f: [WebXR][Cocoa] Add bounds checking when indexing i...

2024-06-17 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 24342f2b8c74450f700740bed2255e71b4886d14
  
https://github.com/WebKit/WebKit/commit/24342f2b8c74450f700740bed2255e71b4886d14
  Author: Ada Chan 
  Date:   2024-06-17 (Mon, 17 Jun 2024)

  Changed paths:
M Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.h
M Source/WebCore/Modules/webxr/WebXROpaqueFramebufferCocoa.cpp

  Log Message:
  ---
  [WebXR][Cocoa] Add bounds checking when indexing into 
m_displayAttachmentsSets in WebXROpaqueFramebuffer
https://bugs.webkit.org/show_bug.cgi?id=275524
rdar://129895566

Reviewed by Mike Wyrzykowski.

Add a helper method WebXROpaqueFramebuffer::reusableDisplayAttachmentsAtIndex()
to index into m_displayAttachmentsSets after a bounds check.

* Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.h:
* Source/WebCore/Modules/webxr/WebXROpaqueFramebufferCocoa.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame):
(WebCore::WebXROpaqueFramebuffer::blitShared):
(WebCore::WebXROpaqueFramebuffer::blitSharedToLayered):
(WebCore::WebXROpaqueFramebuffer::reusableDisplayAttachmentsAtIndex):

Canonical link: https://commits.webkit.org/280104@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


[webkit-changes] [WebKit/WebKit] 77aa2a: [WebXR] MTLRasterizationRateLayerDescriptor instan...

2024-06-22 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 77aa2ac82dd06a8ce6c5b532103c5a395052307c
  
https://github.com/WebKit/WebKit/commit/77aa2ac82dd06a8ce6c5b532103c5a395052307c
  Author: Ada Chan 
  Date:   2024-06-22 (Sat, 22 Jun 2024)

  Changed paths:
M Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.mm

  Log Message:
  ---
  [WebXR] MTLRasterizationRateLayerDescriptor instances are leaked after WebXR 
immersive session
https://bugs.webkit.org/show_bug.cgi?id=275770
rdar://130319220

Reviewed by Mike Wyrzykowski.

Use adoptNS() to fix the leaks.

* Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.mm:
(WebCore::newRasterizationRateMap):

Canonical link: https://commits.webkit.org/280281@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


[webkit-changes] [WebKit/WebKit] 81e5bd: Upstream GameController event interaction logic fr...

2024-09-12 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 81e5bd0e03985ae91e00106a0e4407ece74a5093
  
https://github.com/WebKit/WebKit/commit/81e5bd0e03985ae91e00106a0e4407ece74a5093
  Author: Ada Chan 
  Date:   2024-09-12 (Thu, 12 Sep 2024)

  Changed paths:
M Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.h
M Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm

  Log Message:
  ---
  Upstream GameController event interaction logic from WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=279538
rdar://135817284

Reviewed by Wenson Hsieh.

* Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.h:
* Source/WebCore/platform/gamepad/cocoa/GameControllerSoftLink.mm:
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setGamepadsRecentlyAccessed:]):
(-[WKWebView _setAllowGamepadsInput:]):

Canonical link: https://commits.webkit.org/283601@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


[webkit-changes] [WebKit/WebKit] ce151b: Restart XR immersive session foreground activity i...

2023-08-21 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ce151b92a063863286dacf717396b686b409b16f
  
https://github.com/WebKit/WebKit/commit/ce151b92a063863286dacf717396b686b409b16f
  Author: Ada Chan 
  Date:   2023-08-21 (Mon, 21 Aug 2023)

  Changed paths:
M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp
M Source/WebKit/UIProcess/XR/PlatformXRSystem.h

  Log Message:
  ---
  Restart XR immersive session foreground activity if needed when process is 
unsuspended
https://bugs.webkit.org/show_bug.cgi?id=260226
rdar://107913685

Reviewed by Chris Dumez and Dean Jackson.

The "XR immersive session" foreground activity is added when an
XR session starts so the web process has the foreground priority
to do rendering work. That activity gets invalidated when the
process is suspended. So if the process resumes again while an
XR session is still in progress, we need to add that foreground
activity again.

* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::setProcessesShouldSuspend):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::restartXRSessionActivityOnProcessResumeIfNeeded):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp:
(WebKit::PlatformXRSystem::ensureImmersiveSessionActivity):
(WebKit::PlatformXRSystem::initializeTrackingAndRendering):
* Source/WebKit/UIProcess/XR/PlatformXRSystem.h:

Canonical link: https://commits.webkit.org/267097@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 67e35f: WebXRSession should not hold a unique ptr to WebXR...

2023-11-04 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 67e35fd334d59ec2e9d3294b843884dcecdca493
  
https://github.com/WebKit/WebKit/commit/67e35fd334d59ec2e9d3294b843884dcecdca493
  Author: Ada Chan 
  Date:   2023-11-04 (Sat, 04 Nov 2023)

  Changed paths:
M Source/WebCore/Modules/webxr/WebXRSession.cpp
M Source/WebCore/Modules/webxr/WebXRSession.h
M Source/WebCore/Modules/webxr/WebXRSpace.h

  Log Message:
  ---
  WebXRSession should not hold a unique ptr to WebXRViewerSpace which is ref 
counted
https://bugs.webkit.org/show_bug.cgi?id=264200
rdar://115180471

Reviewed by Chris Dumez.

WebXRViewerSpace subclasses EventTarget and therefore should be ref-counted.

* Source/WebCore/Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::WebXRSession):
* Source/WebCore/Modules/webxr/WebXRSession.h:
* Source/WebCore/Modules/webxr/WebXRSpace.h:
(WebCore::WebXRViewerSpace::create):

Canonical link: https://commits.webkit.org/270230@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] e8377a: Cherry-pick 270230@main (67e35fd334d5). https://bu...

2023-11-10 Thread Ada Chan
  Branch: refs/heads/webkitglib/2.42
  Home:   https://github.com/WebKit/WebKit
  Commit: e8377a74da4c714b94ff351c2a3ae50b9c8915a8
  
https://github.com/WebKit/WebKit/commit/e8377a74da4c714b94ff351c2a3ae50b9c8915a8
  Author: Ada Chan 
  Date:   2023-11-11 (Sat, 11 Nov 2023)

  Changed paths:
M Source/WebCore/Modules/webxr/WebXRSession.cpp
M Source/WebCore/Modules/webxr/WebXRSession.h
M Source/WebCore/Modules/webxr/WebXRSpace.h

  Log Message:
  ---
  Cherry-pick 270230@main (67e35fd334d5). 
https://bugs.webkit.org/show_bug.cgi?id=264200

WebXRSession should not hold a unique ptr to WebXRViewerSpace which is ref 
counted
https://bugs.webkit.org/show_bug.cgi?id=264200
rdar://115180471

Reviewed by Chris Dumez.

WebXRViewerSpace subclasses EventTarget and therefore should be ref-counted.

* Source/WebCore/Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::WebXRSession):
* Source/WebCore/Modules/webxr/WebXRSession.h:
* Source/WebCore/Modules/webxr/WebXRSpace.h:
(WebCore::WebXRViewerSpace::create):

Canonical link: https://commits.webkit.org/270230@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 324a29: [WebXR] Add support for the new transient-pointer ...

2023-11-14 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 324a294aa828cf2710b6792a2930fabd829e3e42
  
https://github.com/WebKit/WebKit/commit/324a294aa828cf2710b6792a2930fabd829e3e42
  Author: Ada Chan 
  Date:   2023-11-14 (Tue, 14 Nov 2023)

  Changed paths:
A 
LayoutTests/http/wpt/webxr/events_transient_pointer_input_source.https-expected.txt
A 
LayoutTests/http/wpt/webxr/events_transient_pointer_input_source.https.html
M Source/WebCore/Modules/webxr/WebXRInputSource.cpp
M Source/WebCore/Modules/webxr/WebXRInputSourceArray.cpp
M Source/WebCore/Modules/webxr/WebXRInputSourceArray.h
M Source/WebCore/Modules/webxr/XRTargetRayMode.idl
M Source/WebCore/platform/xr/PlatformXR.h
M Source/WebKit/UIProcess/API/APIUIClient.h
M Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
M Source/WebKit/UIProcess/Cocoa/UIDelegate.h
M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm

  Log Message:
  ---
  [WebXR] Add support for the new transient-pointer targetRayMode
https://bugs.webkit.org/show_bug.cgi?id=264791
rdar://118342599

Reviewed by Dean Jackson.

Spec: https://www.w3.org/TR/webxr/#dom-xrtargetraymode-transient-pointer

- Add transient-pointer to the list of targetRayModes
- Since the transient input source is connected only during the transient
action, we need to fire a select event when that input source is no longer
connected.
- Fix the event order such that all XRInputSourceEvents for an input source
are ordered before the XRInputSourcesChangedEvent indicating its removal.
- Update the startXRSession UIClient API to take in the feature requested
and add a PlatformViewController parameter in its completion handler.
Add a new version of the startXRSession WKUIDelegatePrivate method that
takes in the requested feature list and adds a view controller to the
completion handler. Update the platform guards on the startXRSession and
endXRSession methods in UIClient.

* 
LayoutTests/http/wpt/webxr/events_transient_pointer_input_source.https-expected.txt:
 Added.
* LayoutTests/http/wpt/webxr/events_transient_pointer_input_source.https.html: 
Added.
Simulate connecting and disconnecting a transient-pointer input source, and
verify the expected list of events fire in the right order.
* Source/WebCore/Modules/webxr/WebXRInputSource.cpp:
(WebCore::WebXRInputSource::pollEvents):
Fire a select event when the transient-pointer input source is disconnected
during the primary action.
* Source/WebCore/Modules/webxr/WebXRInputSourceArray.cpp:
(WebCore::WebXRInputSourceArray::update):
Add a new local input source array to track input sources that are being
removed but have other input source events that need to fire. This way
we can fire the XRInputSourcesChangedEvent for the removal after the
XRInputSourceEvents have been fired.
(WebCore::WebXRInputSourceArray::handleRemovedInputSources):
Add any input source being removed to removedWithInputEvents if it also
generates XRInputSourceEvents.
(WebCore::WebXRInputSourceArray::handleAddedOrUpdatedInputSources):
Ditto.
* Source/WebCore/Modules/webxr/WebXRInputSourceArray.h:
* Source/WebCore/Modules/webxr/XRTargetRayMode.idl:
* Source/WebCore/platform/xr/PlatformXR.h:
* Source/WebKit/UIProcess/API/APIUIClient.h:
(API::UIClient::startXRSession):
* Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* Source/WebKit/UIProcess/Cocoa/UIDelegate.h:
* Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::startXRSession):

Canonical link: https://commits.webkit.org/270730@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 8d0564: Fix a platform guard in UIDelegate.mm

2023-11-14 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8d056469ba7ee18ac290fcf77c49be17fa821698
  
https://github.com/WebKit/WebKit/commit/8d056469ba7ee18ac290fcf77c49be17fa821698
  Author: Ada Chan 
  Date:   2023-11-14 (Tue, 14 Nov 2023)

  Changed paths:
M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm

  Log Message:
  ---
  Fix a platform guard in UIDelegate.mm
https://bugs.webkit.org/show_bug.cgi?id=264857
rdar://118433187

Reviewed by Dan Glastonbury.

Prefer PLATFORM(IOS_FAMILY) over TARGET_OS_IPHONE.

* Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):

Canonical link: https://commits.webkit.org/270752@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] efa156: [visionOS] Update the gpuarchiver directory path u...

2023-12-05 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: efa156f927caf297447a35b8fd2fd119e17b6b94
  
https://github.com/WebKit/WebKit/commit/efa156f927caf297447a35b8fd2fd119e17b6b94
  Author: Ada Chan 
  Date:   2023-12-05 (Tue, 05 Dec 2023)

  Changed paths:
M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm

  Log Message:
  ---
  [visionOS] Update the gpuarchiver directory path used for the sandbox 
extension
https://bugs.webkit.org/show_bug.cgi?id=265915
rdar://119221177

Reviewed by Mike Wyrzykowski.

We need to prefix the subpath passed to 
WebsiteDataStore::cacheDirectoryInContainerOrHomeDirectory()
with a forward slash to get the correct path.

* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):

Canonical link: https://commits.webkit.org/271596@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] 7f4d02: [WebXR] Update the algorithm for resolving request...

2023-07-18 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7f4d02174118cd0e3964a2b17bfa48c175db04b1
  
https://github.com/WebKit/WebKit/commit/7f4d02174118cd0e3964a2b17bfa48c175db04b1
  Author: Ada Chan 
  Date:   2023-07-18 (Tue, 18 Jul 2023)

  Changed paths:
A 
LayoutTests/http/wpt/webxr/xrDevice_requestSession_previously_enabled_feature_not_requested.https-expected.txt
A 
LayoutTests/http/wpt/webxr/xrDevice_requestSession_previously_enabled_feature_not_requested.https.html
M Source/WebCore/Modules/webxr/WebXRSystem.cpp
M Source/WebCore/page/ChromeClient.h
M Source/WebKit/UIProcess/API/APIUIClient.h
M Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h
M Source/WebKit/UIProcess/Cocoa/UIDelegate.h
M Source/WebKit/UIProcess/Cocoa/UIDelegate.mm
M Source/WebKit/UIProcess/XR/PlatformXRCoordinator.h
M Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp
M Source/WebKit/UIProcess/XR/PlatformXRSystem.h
M Source/WebKit/UIProcess/XR/PlatformXRSystem.messages.in
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
M Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.cpp
M Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.h

  Log Message:
  ---
  [WebXR] Update the algorithm for resolving requested features
https://bugs.webkit.org/show_bug.cgi?id=259202
rdar://112239466

Reviewed by Dan Glastonbury.

The updated spec no longer automatically sets granted to all the previously
enabled features, but rather only add it to granted if it's requested and
previously enabled. Fix WebXRSystem::resolveRequestedFeatures() to follow
the updated steps.

Also update the APIUIClient method for requesting XR session permissions
to take in the required and optional features requested by the session
so the client has more information to decide how to present the feature
consent UI to the users.

New layout test: 
LayoutTests/http/wpt/webxr/xrDevice_requestSession_previously_enabled_feature_not_requested.https.html

* 
LayoutTests/http/wpt/webxr/xrDevice_requestSession_previously_enabled_feature_not_requested.https-expected.txt:
 Added.
* 
LayoutTests/http/wpt/webxr/xrDevice_requestSession_previously_enabled_feature_not_requested.https.html:
 Added.
Test to make sure hands are not returned if the device has hand tracking
enabled but the XR session did not request hands.
* Source/WebCore/Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::resolveRequestedFeatures const):
Update this logic based on the latest spec. We should not automatically add
all previously enabled features to granted but rather check previouslyEnabled
to decide whether a feature needs to be added to consentRequired or
consentOptional. Collect the lists of required features and optional features
requested by the session.
(WebCore::WebXRSystem::resolveFeaturePermissions const):
Pass the lists of required and optional features requested to the chrome
client method for requesting user permission.
* Source/WebCore/page/ChromeClient.h:
(WebCore::ChromeClient::requestPermissionOnXRSessionFeatures):
* Source/WebKit/UIProcess/API/APIUIClient.h:
(API::UIClient::requestPermissionOnXRSessionFeatures):
* Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
Add a new version of the requestPermissionForXRSessionOrigin WKUIDelegatePrivate
method that takes in the lists of required and optional features requested.
* Source/WebKit/UIProcess/Cocoa/UIDelegate.h:
* Source/WebKit/UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::requestPermissionOnXRSessionFeatures):
Handle the new version of requestPermissionForXRSessionOrigin delegate method
and fall back to the old version if the new one is not implemented.
* Source/WebKit/UIProcess/XR/PlatformXRCoordinator.h:
(WebKit::PlatformXRCoordinator::requestPermissionOnSessionFeatures):
Updated to take in the lists of required and optional features requested by
the session.
* Source/WebKit/UIProcess/XR/PlatformXRSystem.cpp:
(WebKit::PlatformXRSystem::requestPermissionOnSessionFeatures):
* Source/WebKit/UIProcess/XR/PlatformXRSystem.h:
* Source/WebKit/UIProcess/XR/PlatformXRSystem.messages.in:
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::requestPermissionOnXRSessionFeatures):
* Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h:
* Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.cpp:
(WebKit::PlatformXRSystemProxy::requestPermissionOnSessionFeatures):
* Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.h:

Canonical link: https://commits.webkit.org/266137@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] de81e9: Switch ARKit from soft linking to weak linking

2023-03-22 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: de81e985f47bec8708cade4a5f7dfafd696d3c72
  
https://github.com/WebKit/WebKit/commit/de81e985f47bec8708cade4a5f7dfafd696d3c72
  Author: Ada Chan 
  Date:   2023-03-22 (Wed, 22 Mar 2023)

  Changed paths:
M Source/WebKit/Configurations/WebKit.xcconfig
R Source/WebKit/Shared/Cocoa/ARKitSoftLink.h
R Source/WebKit/Shared/Cocoa/ARKitSoftLink.mm
M Source/WebKit/Shared/Cocoa/WebIconUtilities.mm
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  ---
  Switch ARKit from soft linking to weak linking
https://bugs.webkit.org/show_bug.cgi?id=254218

Reviewed by Tim Horton and David Kilzer.

- Update linker flags to weak link ARKit
- Remove soft linking files for ARKit and stop building/importing them.

* Source/WebKit/Configurations/WebKit.xcconfig:
* Source/WebKit/Shared/Cocoa/ARKitSoftLink.h: Removed.
* Source/WebKit/Shared/Cocoa/ARKitSoftLink.mm: Removed.
* Source/WebKit/Shared/Cocoa/WebIconUtilities.mm:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/261980@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] c5416b: Revert weak linking ARKit to soft linking

2023-03-23 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c5416b19aeaf0845eb5c533a5427304cca59e22c
  
https://github.com/WebKit/WebKit/commit/c5416b19aeaf0845eb5c533a5427304cca59e22c
  Author: Ada Chan 
  Date:   2023-03-23 (Thu, 23 Mar 2023)

  Changed paths:
M Source/WebKit/Configurations/WebKit.xcconfig
A Source/WebKit/Shared/Cocoa/ARKitSoftLink.h
A Source/WebKit/Shared/Cocoa/ARKitSoftLink.mm
M Source/WebKit/Shared/Cocoa/WebIconUtilities.mm
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  ---
  Revert weak linking ARKit to soft linking
https://bugs.webkit.org/show_bug.cgi?id=254366
rdar://107151256

Reviewed by Alexey Proskuryakov.

* Source/WebKit/Configurations/WebKit.xcconfig:
* Source/WebKit/Shared/Cocoa/ARKitSoftLink.h: Added.
* Source/WebKit/Shared/Cocoa/ARKitSoftLink.mm: Added.
* Source/WebKit/Shared/Cocoa/WebIconUtilities.mm:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/262046@main


___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [WebKit/WebKit] ae7074: Remove unneeded entitlement to look up ImageIOXPCS...

2024-10-16 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ae7074a3be6a0262c860324cc001553c4fde9a56
  
https://github.com/WebKit/WebKit/commit/ae7074a3be6a0262c860324cc001553c4fde9a56
  Author: Ada Chan 
  Date:   2024-10-16 (Wed, 16 Oct 2024)

  Changed paths:
M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in

  Log Message:
  ---
  Remove unneeded entitlement to look up ImageIOXPCService in model process
https://bugs.webkit.org/show_bug.cgi?id=281544
rdar://124085793

Reviewed by Mike Wyrzykowski and Per Arne Vollan.

Removing the mach-lookup sandbox rule as access to ImageIOXPCService is no
longer needed.

* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in:

Canonical link: https://commits.webkit.org/285265@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


[webkit-changes] [WebKit/WebKit] 05055d: Support setting IBL in WKSRKEntity

2024-10-10 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 05055da95c4f2fd33e16ce11393085acc98c0d54
  
https://github.com/WebKit/WebKit/commit/05055da95c4f2fd33e16ce11393085acc98c0d54
  Author: Ada Chan 
  Date:   2024-10-10 (Thu, 10 Oct 2024)

  Changed paths:
M Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift
M Source/WebKit/WebKitSwift/RealityKit/RealityKitBridging.h

  Log Message:
  ---
  Support setting IBL in WKSRKEntity
https://bugs.webkit.org/show_bug.cgi?id=281185
rdar://137003306

Reviewed by Mike Wyrzykowski.

Create a CGImage from the image data, then create a TextureResource from it,
and create an EnvironmentResource from that texture resource.
Then set up the environment lighting for the model entity with that
environment resource via RealityKit ImageBasedLight component.

* Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift:
(WKSRKEntity.applyIBL(_:)):
(WKSRKEntity.removeIBL):
* Source/WebKit/WebKitSwift/RealityKit/RealityKitBridging.h:

Canonical link: https://commits.webkit.org/284966@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


[webkit-changes] [WebKit/WebKit] 09cf21: Fix internal visionOS build

2024-10-30 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 09cf218413f8569d699afde2de3149cce597437e
  
https://github.com/WebKit/WebKit/commit/09cf218413f8569d699afde2de3149cce597437e
  Author: Ada Chan 
  Date:   2024-10-30 (Wed, 30 Oct 2024)

  Changed paths:
M Source/WebCore/PlatformMac.cmake
M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
M Source/WebCore/SourcesCocoa.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.h
M Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.mm
R Source/WebCore/platform/graphics/cv/GraphicsContextGLCVCocoa.cpp
M Source/WebCore/platform/graphics/cv/GraphicsContextGLCVCocoa.mm

  Log Message:
  ---
  Fix internal visionOS build
https://bugs.webkit.org/show_bug.cgi?id=282333
rdar://138919678

Reviewed by Mike Wyrzykowski.

Switch OBJC_PROTOCOL to use @protocol in ANGLEUtilitiesCocoa.
Move the contents of GraphicsContextGLCVCocoa.cpp to the mm file
as it includes ANGLEUtilitiesCocoa.h.

* Source/WebCore/SourcesCocoa.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.h:
* Source/WebCore/platform/graphics/cocoa/ANGLEUtilitiesCocoa.mm:
(WebCore::newRasterizationRateMap):
(WebCore::newSharedEventWithMachPort):
(WebCore::newSharedEvent):
* Source/WebCore/platform/graphics/cv/GraphicsContextGLCVCocoa.cpp: Removed.
* Source/WebCore/platform/graphics/cv/GraphicsContextGLCVCocoa.mm:
(WebCore::pixelRangeFromPixelFormat):
(WebCore::transferFunctionFromString):
(WebCore::GLfloatColor::GLfloatColor):
(WebCore::GLfloatColor::abs):
(WebCore::GLfloatColor::isApproximatelyEqualTo const):
(WebCore::YCbCrMatrix::operator const GLfloat* const):
(WebCore::YCbCrMatrix::YCbCrMatrix):
(WebCore::YCbCrMatrix::operator* const):
(WebCore::YCbCrToRGBMatrixForRangeAndTransferFunction):
(WebCore::GraphicsContextGLCVCocoa::create):
(WebCore::GraphicsContextGLCVCocoa::~GraphicsContextGLCVCocoa):
(WebCore::GraphicsContextGLCVCocoa::GraphicsContextGLCVCocoa):
(WebCore::GraphicsContextGLCVCocoa::copyVideoSampleToTexture):
(WebCore::GraphicsContextGLCVCocoa::invalidateKnownTextureContent):

Canonical link: https://commits.webkit.org/285923@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


[webkit-changes] [WebKit/WebKit] d0b1b5: [WebXR] Use minimum near clip plane distance from ...

2024-10-31 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d0b1b549a5d4c98dacf06d52b880e63740d870c7
  
https://github.com/WebKit/WebKit/commit/d0b1b549a5d4c98dacf06d52b880e63740d870c7
  Author: Ada Chan 
  Date:   2024-10-31 (Thu, 31 Oct 2024)

  Changed paths:
M Source/WebCore/Modules/webxr/WebXRSession.cpp
M Source/WebCore/platform/xr/PlatformXR.h
M Source/WebKit/Shared/XR/XRDeviceInfo.h
M Source/WebKit/Shared/XR/XRDeviceProxy.cpp
M Source/WebKit/Shared/XR/XRDeviceProxy.h
M Source/WebKit/Shared/XR/XRSystem.serialization.in

  Log Message:
  ---
  [WebXR] Use minimum near clip plane distance from the system for clamping
https://bugs.webkit.org/show_bug.cgi?id=282321
rdar://138811538

Reviewed by Mike Wyrzykowski.

Instead of hardcoding the minimum near clip plane distance, allow the system
to pass that value via XRDeviceInfo. WebXRSession will get that value
from PlatformXR::Device::minimumNearClipPlane().

* Source/WebCore/Modules/webxr/WebXRSession.cpp:
(WebCore::WebXRSession::WebXRSession):
(WebCore::WebXRSession::applyPendingRenderState):
Set the PlatformXR::RequestData based on the depth range from 
m_activeRenderState
after the values are clamped.
* Source/WebCore/platform/xr/PlatformXR.h:
(PlatformXR::Device::minimumNearClipPlane const):
* Source/WebKit/Shared/XR/XRDeviceInfo.h:
* Source/WebKit/Shared/XR/XRDeviceProxy.cpp:
(WebKit::XRDeviceProxy::XRDeviceProxy):
* Source/WebKit/Shared/XR/XRDeviceProxy.h:
* Source/WebKit/Shared/XR/XRSystem.serialization.in:

Canonical link: https://commits.webkit.org/285955@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


[webkit-changes] [WebKit/WebKit] 24abd2: Clean up ModelProcessModelPlayerProxy properly in ...

2024-09-21 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 24abd21e0c1118fa539b2fbbd45796c110ec01da
  
https://github.com/WebKit/WebKit/commit/24abd21e0c1118fa539b2fbbd45796c110ec01da
  Author: Ada Chan 
  Date:   2024-09-21 (Sat, 21 Sep 2024)

  Changed paths:
M Source/WebCore/Modules/model-element/HTMLModelElement.cpp
M Source/WebCore/Modules/model-element/HTMLModelElement.h
M Source/WebCore/Modules/model-element/ModelPlayer.h
M Source/WebCore/Modules/model-element/ModelPlayerProvider.h
M Source/WebCore/Modules/model-element/dummy/DummyModelPlayer.cpp
M Source/WebCore/Modules/model-element/dummy/DummyModelPlayer.h
M Source/WebCore/Modules/model-element/dummy/DummyModelPlayerProvider.cpp
M Source/WebCore/Modules/model-element/dummy/DummyModelPlayerProvider.h
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm
M Source/WebKit/ModelProcess/cocoa/WKModelProcessModelLayer.mm
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayerManager.cpp
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayerManager.h
M Source/WebKit/WebProcess/Model/WebModelPlayerProvider.cpp
M Source/WebKit/WebProcess/Model/WebModelPlayerProvider.h

  Log Message:
  ---
  Clean up ModelProcessModelPlayerProxy properly in the model process
https://bugs.webkit.org/show_bug.cgi?id=280128
rdar://136424138

Reviewed by Mike Wyrzykowski.

There are two reasons why ModelProcessModelPlayerProxy can’t get
released properly:

- ModelProcessModelPlayerManagerProxy never removes it from the
m_proxies hashmap
- There’s a strong reference cycle between ModelProcessModelPlayerProxy
and WKModelProcessModelLayer

When the HTMLModelElement is done with the ModelProcessModelPlayer, we need
to notify the model process to clean up the corresponding 
ModelProcessModelPlayerProxy.
HTMLModelElement::deleteModelPlayer() is added to handle that cleanup.
It calls ModelPlayerProvider::deleteModelPlayer(), which for the model process
case, calls ModelProcessModelPlayerManager::deleteModelProcessModelPlayer().
That cleans up the model player on the web process side and sends a message
to the model process to clean up the corresponding ModelProcessModelPlayerProxy.
ModelProcessModelPlayerProxy::invalidate() then sets the 
WKModelProcessModelLayer's
player to be null to break the reference cycle.

* Source/WebCore/Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::setSourceURL):
(WebCore::HTMLModelElement::deleteModelPlayer):
* Source/WebCore/Modules/model-element/HTMLModelElement.h:
* Source/WebCore/Modules/model-element/ModelPlayer.h:
* Source/WebCore/Modules/model-element/ModelPlayerProvider.h:
* Source/WebCore/Modules/model-element/dummy/DummyModelPlayer.cpp:
(WebCore::DummyModelPlayer::identifier const):
* Source/WebCore/Modules/model-element/dummy/DummyModelPlayer.h:
* Source/WebCore/Modules/model-element/dummy/DummyModelPlayerProvider.cpp:
(WebCore::DummyModelPlayerProvider::deleteModelPlayer):
* Source/WebCore/Modules/model-element/dummy/DummyModelPlayerProvider.h:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm:
(WebKit::ModelProcessModelPlayerProxy::invalidate):
* Source/WebKit/ModelProcess/cocoa/WKModelProcessModelLayer.mm:
(-[WKModelProcessModelLayer setOpacity:]):
(-[WKModelProcessModelLayer layoutSublayers]):
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h:
(WebKit::ModelProcessModelPlayer::identifier): Deleted.
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayerManager.cpp:
(WebKit::ModelProcessModelPlayerManager::deleteModelProcessModelPlayer):
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayerManager.h:
* Source/WebKit/WebProcess/Model/WebModelPlayerProvider.cpp:
(WebKit::WebModelPlayerProvider::deleteModelPlayer):
* Source/WebKit/WebProcess/Model/WebModelPlayerProvider.h:

Canonical link: https://commits.webkit.org/284048@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


[webkit-changes] [WebKit/WebKit] a27c02: Use SharedPreferencesForWebProcess in Model proces...

2024-09-25 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a27c02d607ead123026e5b83e6aa07497c632d58
  
https://github.com/WebKit/WebKit/commit/a27c02d607ead123026e5b83e6aa07497c632d58
  Author: Ada Chan 
  Date:   2024-09-25 (Wed, 25 Sep 2024)

  Changed paths:
M Source/WebKit/ModelProcess/ModelConnectionToWebProcess.cpp
M Source/WebKit/ModelProcess/ModelConnectionToWebProcess.h
M Source/WebKit/ModelProcess/ModelConnectionToWebProcess.messages.in
M Source/WebKit/ModelProcess/ModelProcess.cpp
M Source/WebKit/ModelProcess/ModelProcess.h
M Source/WebKit/ModelProcess/ModelProcess.messages.in
M Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.cpp
M Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.h
M Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.messages.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/Shared/ModelProcessConnectionParameters.h
M Source/WebKit/Shared/ModelProcessConnectionParameters.serialization.in
M Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp
M Source/WebKit/UIProcess/Model/ModelProcessProxy.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h

  Log Message:
  ---
  Use SharedPreferencesForWebProcess in Model process and filter IPC messages 
by model element feature flag
https://bugs.webkit.org/show_bug.cgi?id=280277
rdar://123263852

Reviewed by Ryosuke Niwa and Mike Wyrzykowski.

Have ModelConnectionToWebProcess store a SharedPreferencesForWebProcess similar 
to how
it's done in GPUConnectionToWebProcess. Update 
WebPageProxy::preferencesDidChange to also
notify the model process of new shared preferences changes.

Use EnabledBy in model process message receivers to filter messages
based on the model element runtime feature flag.

* Source/WebKit/ModelProcess/ModelConnectionToWebProcess.cpp:
(WebKit::m_sharedPreferencesForWebProcess):
(WebKit::m_presentingApplicationAuditToken): Deleted.
* Source/WebKit/ModelProcess/ModelConnectionToWebProcess.h:
(WebKit::ModelConnectionToWebProcess::sharedPreferencesForWebProcess const):
(WebKit::ModelConnectionToWebProcess::updateSharedPreferencesForWebProcess):
* Source/WebKit/ModelProcess/ModelConnectionToWebProcess.messages.in:
* Source/WebKit/ModelProcess/ModelProcess.cpp:
(WebKit::ModelProcess::sharedPreferencesForWebProcessDidChange):
* Source/WebKit/ModelProcess/ModelProcess.h:
* Source/WebKit/ModelProcess/ModelProcess.messages.in:
* Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.cpp:
(WebKit::ModelProcessModelPlayerManagerProxy::sharedPreferencesForWebProcess 
const):
* Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.h:
* Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.messages.in:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.messages.in:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm:
(WebKit::ModelProcessModelPlayerProxy::sharedPreferencesForWebProcess const):
* Source/WebKit/Shared/ModelProcessConnectionParameters.h:
* Source/WebKit/Shared/ModelProcessConnectionParameters.serialization.in:
* Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp:
(WebKit::ModelProcessProxy::sharedPreferencesForWebProcessDidChange):
* Source/WebKit/UIProcess/Model/ModelProcessProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::preferencesDidChange):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createModelProcessConnection):
(WebKit::WebProcessProxy::didSyncSharedPreferencesForWebProcessWithNetworkProcess):
(WebKit::WebProcessProxy::didSyncSharedPreferencesForWebProcessWithGPUProcess):
(WebKit::WebProcessProxy::didSyncSharedPreferencesForWebProcessWithModelProcess):
* Source/WebKit/UIProcess/WebProcessProxy.h:

Canonical link: https://commits.webkit.org/284246@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


[webkit-changes] [WebKit/WebKit] 845d49: Support animations in Model element with model pro...

2024-09-27 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 845d49cbfca7509085faa9620bd1b942a6ff709e
  
https://github.com/WebKit/WebKit/commit/845d49cbfca7509085faa9620bd1b942a6ff709e
  Author: Ada Chan 
  Date:   2024-09-27 (Fri, 27 Sep 2024)

  Changed paths:
A 
LayoutTests/model-element/model-element-animations-current-time-expected.txt
A LayoutTests/model-element/model-element-animations-current-time.html
A 
LayoutTests/model-element/model-element-animations-initial-values-expected.txt
A LayoutTests/model-element/model-element-animations-initial-values.html
A LayoutTests/model-element/model-element-animations-loop-expected.txt
A LayoutTests/model-element/model-element-animations-loop.html
A LayoutTests/model-element/model-element-animations-playback-expected.txt
A LayoutTests/model-element/model-element-animations-playback.html
A 
LayoutTests/model-element/model-element-animations-replace-sources-expected.txt
A LayoutTests/model-element/model-element-animations-replace-sources.html
M LayoutTests/model-element/resources/model-utils.js
A LayoutTests/model-element/resources/stopwatch-30s.usdz
A LayoutTests/model-element/resources/stopwatch-60s.usdz
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/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.messages.in
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm
M Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift
M Source/WebKit/WebKitSwift/RealityKit/RealityKitBridging.h
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.messages.in

  Log Message:
  ---
  Support animations in Model element with model process
https://bugs.webkit.org/show_bug.cgi?id=280312
rdar://114258826

Reviewed by Mike Wyrzykowski.

Initial implementation of animations API that is based on the latest 
explainer where animation properties follow more closely to similar ones in
the media element. These API are implemented for the model process only.

This initial implementation is based on a single animation track (first 
animation
found in the model). Properties supported are: autoplay, loop, playbackRate,
duration, paused, currentTime. Methods supported are play() and pause().

* LayoutTests/model-element/model-element-animations-current-time-expected.txt: 
Added.
* LayoutTests/model-element/model-element-animations-current-time.html: Added.
* 
LayoutTests/model-element/model-element-animations-initial-values-expected.txt: 
Added.
* LayoutTests/model-element/model-element-animations-initial-values.html: Added.
* LayoutTests/model-element/model-element-animations-loop-expected.txt: Added.
* LayoutTests/model-element/model-element-animations-loop.html: Added.
* LayoutTests/model-element/model-element-animations-playback-expected.txt: 
Added.
* LayoutTests/model-element/model-element-animations-playback.html: Added.
* 
LayoutTests/model-element/model-element-animations-replace-sources-expected.txt:
 Added.
* LayoutTests/model-element/model-element-animations-replace-sources.html: 
Added.
* LayoutTests/model-element/resources/model-utils.js:
(sleepForSeconds):
* LayoutTests/model-element/resources/stopwatch-30s.usdz: Added.
* LayoutTests/model-element/resources/stopwatch-60s.usdz: Added.
* Source/WebCore/Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::createModelPlayer):
Set up the model player with the initial autoplay, loop, and playbackRate 
values.
(WebCore::HTMLModelElement::attributeChanged):
(WebCore::HTMLModelElement::setPlaybackRate):
(WebCore::HTMLModelElement::duration const):
(WebCore::HTMLModelElement::paused const):
(WebCore::HTMLModelElement::play):
(WebCore::HTMLModelElement::pause):
(WebCore::HTMLModelElement::setPaused):
(WebCore::HTMLModelElement::autoplay const):
(WebCore::HTMLModelElement::updateAutoplay):
(WebCore::HTMLModelElement::loop const):
(WebCore::HTMLModelElement::updateLoop):
(WebCore::HTMLModelElement::currentTime const):
(WebCore::HTMLModelElement::setCurrentTime):
* Source/WebCore/Modules/model-element/HTMLModelElement.h:
* Source/WebCore/Modules/model-element/HTMLModelElement.idl:
* Source/WebCore/Modules/model-element/ModelPlayer.cpp:
(WebCore::ModelPlayer::setAutoplay):
(WebCore::ModelPlayer::setLoop):
(WebCore::ModelPlayer::setPlaybackRate):
(WebCore::ModelPlayer::duration const):
(WebCore::ModelPlayer::paused const):
(WebCore::ModelPlayer::setPaused):
(WebCore::ModelPlayer::currentTime const):
(WebCore::ModelPlayer::setCurrentTime):
* Source

[webkit-changes] [WebKit/WebKit] 755b4e: Update some model layout tests to work reliably wh...

2024-09-20 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 755b4edbfbdda72d5538d7ffea4e9f78e57eca3e
  
https://github.com/WebKit/WebKit/commit/755b4edbfbdda72d5538d7ffea4e9f78e57eca3e
  Author: Ada Chan 
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
M 
LayoutTests/model-element/model-element-contents-layer-updates-expected.txt
M 
LayoutTests/model-element/model-element-contents-layer-updates-with-clipping-expected.txt
M 
LayoutTests/model-element/model-element-contents-layer-updates-with-clipping.html
M LayoutTests/model-element/model-element-contents-layer-updates.html
M 
LayoutTests/model-element/model-element-graphics-layers-opacity-expected.txt
M LayoutTests/model-element/model-element-graphics-layers-opacity.html
M LayoutTests/model-element/model-element-graphics-layers.html

  Log Message:
  ---
  Update some model layout tests to work reliably when model process is enabled
https://bugs.webkit.org/show_bug.cgi?id=280042
rdar://136342920

Reviewed by Mike Wyrzykowski.

Explicitly enable model process for these tests that output layer content.
Update the tests such that we check the layer tree after the model has been
loaded in the model process via the model.ready API.
Update the expected layer tree to include hosted model layers.

* 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-contents-layer-updates-with-clipping.html:
* LayoutTests/model-element/model-element-contents-layer-updates.html:
* LayoutTests/model-element/model-element-graphics-layers-opacity-expected.txt:
* LayoutTests/model-element/model-element-graphics-layers-opacity.html:
* LayoutTests/model-element/model-element-graphics-layers.html:

Canonical link: https://commits.webkit.org/283995@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


[webkit-changes] [WebKit/WebKit] 38ed09: Add more runtime checks around IPC endpoints assoc...

2024-09-30 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 38ed098deae6a1a434fb82f44dfa34793f938c55
  
https://github.com/WebKit/WebKit/commit/38ed098deae6a1a434fb82f44dfa34793f938c55
  Author: Ada Chan 
  Date:   2024-09-30 (Mon, 30 Sep 2024)

  Changed paths:
M Source/WTF/wtf/PlatformEnableCocoa.h
M Source/WebKit/ModelProcess/ModelConnectionToWebProcess.messages.in
M Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.messages.in
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.messages.in
M Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Source/WebKit/UIProcess/WebProcessPool.h
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.messages.in

  Log Message:
  ---
  Add more runtime checks around IPC endpoints associated with the model process
https://bugs.webkit.org/show_bug.cgi?id=280502
rdar://123263852

Reviewed by Ryosuke Niwa and Sihui Liu.

- Update the EnabledBy checks for endpoints in the model process to include
checking the model process runtime feature flag
- Add some MESSAGE_CHECKs in ModelProcessProxy
- Assert that the model element and model process features are enabled when
WebProcessPool::ensureProtectedModelProcess() is called
- Add EnabledIf checks in ModelProcessModelPlayer to make sure the model element
and model process features are enabled

* Source/WTF/wtf/PlatformEnableCocoa.h:
* Source/WebKit/ModelProcess/ModelConnectionToWebProcess.messages.in:
* Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.messages.in:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.messages.in:
* Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp:
(WebKit::ModelProcessProxy::terminateWebProcess):
(WebKit::ModelProcessProxy::didCreateContextForVisibilityPropagation):
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureProtectedModelProcess):
(WebKit::WebProcessPool::createModelProcessConnection):
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createModelProcessConnection):
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp:
(WebKit::ModelProcessModelPlayer::modelProcessEnabled const):
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h:
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.messages.in:

Canonical link: https://commits.webkit.org/284455@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


[webkit-changes] [WebKit/WebKit] 58a1b4: [Model Element] Move the portal to the UI process

2025-02-05 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 58a1b48dcfe4906635ffeb5acd043d5cbe43bca2
  
https://github.com/WebKit/WebKit/commit/58a1b48dcfe4906635ffeb5acd043d5cbe43bca2
  Author: Ada Chan 
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
M Source/WebCore/Modules/model-element/HTMLModelElement.cpp
M Source/WebCore/Modules/model-element/HTMLModelElement.h
M Source/WebCore/Modules/model-element/ModelPlayer.cpp
M Source/WebCore/Modules/model-element/ModelPlayer.h
M Source/WebCore/platform/graphics/ModelContext.cpp
M Source/WebCore/platform/graphics/ModelContext.h
M Source/WebCore/rendering/RenderLayerBacking.cpp
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/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/Model/ModelPresentationManagerProxy.mm
M Source/WebKit/UIProcess/ios/WKPageHostedModelView.h
M Source/WebKit/UIProcess/ios/WKPageHostedModelView.mm
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h

  Log Message:
  ---
  [Model Element] Move the portal to the UI process
https://bugs.webkit.org/show_bug.cgi?id=287000
rdar://144069542

Reviewed by Mike Wyrzykowski.

By moving the portal entity and the model container entity to the UI
process, the Model process will need to host just the model entity.
This hierarchy change is needed for fixing the model drag preview
in a future patch, where we can pass the _UIRemoteView hosting just
the model (without the portal) to create a UITargetedDragPreview.

This fix changes WKPageHostedModelView such that its layer is now
the separated layer with an entity that represents the portal.
The container entity in the model process that had clipping
enabled has also been moved to WKPageHostedModelView in the UI
process. The container UIView is a subview of WKPageHostedModelView.

This also means we need to handle updates to the background color
and noportal attribute in WKPageHostedModelView. The ModelContext
has been extended to include the background color, whether portal
should be disabled, and the bounds of the element.

* Source/WebCore/Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::modelContext const):
Fill in the new data members.
(WebCore::HTMLModelElement::updateHasPortal):
Update the renderer so the WKPageHostedModelView can be updated
with the new noportal attribute value.
(WebCore::HTMLModelElement::applyBackgroundColor): Deleted.
* Source/WebCore/Modules/model-element/HTMLModelElement.h:
* Source/WebCore/Modules/model-element/ModelPlayer.cpp:
(WebCore::ModelPlayer::setBackgroundColor): Deleted.
* Source/WebCore/Modules/model-element/ModelPlayer.h:
* Source/WebCore/platform/graphics/ModelContext.cpp:
(WebCore::ModelContext::create):
(WebCore::ModelContext::ModelContext):
* Source/WebCore/platform/graphics/ModelContext.h:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
Set the current background color on the ModelContext before passing it to
m_graphicsLayer.
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.h:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.messages.in:
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm:
(WebKit::ModelProcessModelPlayerProxy::createLayer):
(WebKit::ModelProcessModelPlayerProxy::didFinishLoading):
Now that the root layer no longer represents the portal, the entity should
have tracked rather than separated state. Remove the clipping component
as that is handled on the UI process side.
(WebKit::ModelProcessModelPlayerProxy::setHasPortal):
(WebKit::ModelProcessModelPlayerProxy::updateBackgroundColor): Deleted.
(WebKit::ModelProcessModelPlayerProxy::updatePortalAndClipping): Deleted.
(WebKit::ModelProcessModelPlayerProxy::setBackgroundColor): Deleted.
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/Model/ModelPresentationManagerProxy.mm:
(WebKit::ModelPresentationManagerProxy::setUpModelView): Update the
WKPageHostedModelView's frame, the latest DisablePortal value, and
the latest background color.
* Source/WebKit/UIProcess/ios/WKPageHostedModelView.h:
* Source/WebKit/UIProcess/ios/WKPageHostedModelView.mm:
(-[WKPageHostedModelView init]):
Set up the root (portal) -> container view/entity hierarchy. Moved
the clipping logic from ModelProcessModelPlayerProxy to here.
(-[WKPageHostedModelView dealloc]): Added cleanup code similar to
75ec68cfc5a707e4ec0d559131519403bd5c744c.
(-[WKPageHostedModelView setRemoteModelView:]): Add the remote model
view as its subview. Update its size.
(-[WKPageHostedModelView setShouldDisablePortal:]):
Update a couple of separatedOptions flags related to 

[webkit-changes] [WebKit/WebKit] 0cb87f: Add a debug runtime user default for testing a mor...

2025-02-11 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0cb87fca1d7416451e09d29938338a587a3622c4
  
https://github.com/WebKit/WebKit/commit/0cb87fca1d7416451e09d29938338a587a3622c4
  Author: Ada Chan 
  Date:   2025-02-11 (Tue, 11 Feb 2025)

  Changed paths:
M Source/WebKit/ModelProcess/ModelProcess.cpp
M Source/WebKit/ModelProcess/ModelProcessCreationParameters.h
M Source/WebKit/ModelProcess/ModelProcessCreationParameters.serialization.in
M Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp
M Source/WebKit/UIProcess/Model/ModelProcessProxy.h
M Source/WebKit/UIProcess/Model/cocoa/ModelProcessProxyCocoa.mm

  Log Message:
  ---
  Add a debug runtime user default for testing a more restrictive rendering 
mode in the model process
https://bugs.webkit.org/show_bug.cgi?id=287470
rdar://144568001

Reviewed by Mike Wyrzykowski.

Add a debug runtime flag to test a more restrictive rendering
mode in the model process. The value of the flag is passed down
to the model process via the ModelProcessCreationParameters.

* Source/WebKit/ModelProcess/ModelProcess.cpp:
(WebKit::ModelProcess::initializeModelProcess):
* Source/WebKit/ModelProcess/ModelProcessCreationParameters.h:
* Source/WebKit/ModelProcess/ModelProcessCreationParameters.serialization.in:
* Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp:
(WebKit::ModelProcessProxy::ModelProcessProxy):
* Source/WebKit/UIProcess/Model/ModelProcessProxy.h:
* Source/WebKit/UIProcess/Model/cocoa/ModelProcessProxyCocoa.mm:
(WebKit::ModelProcessProxy::updateModelProcessCreationParameters):

Canonical link: https://commits.webkit.org/290223@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


[webkit-changes] [WebKit/WebKit] fce7a7: Introduce ModelPresentationManagerProxy that manag...

2024-12-19 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fce7a7280e2c1e0812936efc57be17d806d49591
  
https://github.com/WebKit/WebKit/commit/fce7a7280e2c1e0812936efc57be17d806d49591
  Author: Ada Chan 
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
M Source/WebCore/Modules/model-element/HTMLModelElement.cpp
M Source/WebCore/Modules/model-element/HTMLModelElement.h
M Source/WebCore/Modules/model-element/ModelPlayerClient.h
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/platform/graphics/GraphicsLayer.h
A Source/WebCore/platform/graphics/ModelContext.cpp
A Source/WebCore/platform/graphics/ModelContext.h
M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h
M Source/WebCore/rendering/RenderLayerBacking.cpp
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/SourcesCocoa.txt
A Source/WebKit/UIProcess/Model/ModelPresentationManagerProxy.h
A Source/WebKit/UIProcess/Model/ModelPresentationManagerProxy.mm
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm
M Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxyInternals.h
A Source/WebKit/UIProcess/ios/WKPageHostedModelView.h
A Source/WebKit/UIProcess/ios/WKPageHostedModelView.mm
M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
M Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.h
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Model/ios/ARKitInlinePreviewModelPlayerIOS.mm
M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.h
M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.mm
M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h
M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.h
M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm

  Log Message:
  ---
  Introduce ModelPresentationManagerProxy that manages the remote model views 
on the page
https://bugs.webkit.org/show_bug.cgi?id=284649
rdar://141450845

Reviewed by Simon Fraser.

Add a new ModelPresentationManagerProxy to manage the presentations of remotely
hosted model contents on the page. ModelPresentationManagerProxy has a map of
model layer identifiers to ModelPresentation objects, which contains info
about the model being hosted (ModelContext), the remote view hosting the model 
layer,
and the new WKPageHostedModelView which is a WKCompositingView subclass used
in the layer tree node for the model contents. ModelContext is passed
down with the LayerCreationProperties. When setting up the view for the model
contents layer tree node, instead of creating a new WKUIRemoteView with the
layer hosting context ID, it’ll ask ModelPresentationManagerProxy for the view.

* Source/WebCore/Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::graphicsLayer const):
(WebCore::HTMLModelElement::layerID const):
Helper method to get the PlatformLayerID of the primary layer of the model
element.
(WebCore::HTMLModelElement::modelContentsLayerID const):
Renamed from platformLayerID() so it's clear which layer it's for.
(WebCore::HTMLModelElement::modelContext const):
(WebCore::HTMLModelElement::platformLayerID): Deleted.
* Source/WebCore/Modules/model-element/HTMLModelElement.h:
* Source/WebCore/Modules/model-element/ModelPlayerClient.h:
* Source/WebCore/Sources.txt
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setContentsToModelContext):
Make this a method dedicated for setting model contents which takes in
a ModelContext.
(WebCore::GraphicsLayer::setContentsToRemotePlatformContext): Deleted.
* Source/WebCore/platform/graphics/ModelContext.cpp
* Source/WebCore/platform/graphics/ModelContext.h
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::createPlatformCALayer):
(WebCore::GraphicsLayerCA::setContentsToModelContext):
(WebCore::GraphicsLayerCA::setContentsToRemotePlatformContext): Deleted.
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:
* Source/WebCore/platform/mediarecorder/MediaRecorderPrivateEncoder.cpp
* Source/WebCore

[webkit-changes] [WebKit/WebKit] 8746ea: [visionOS] Move shared simulation connection from ...

2025-01-28 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8746ea87f06c2e65ea34055e95bcb7cbfa1ea59e
  
https://github.com/WebKit/WebKit/commit/8746ea87f06c2e65ea34055e95bcb7cbfa1ea59e
  Author: Ada Chan 
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
M Source/WebKit/Configurations/GPUService.xcconfig
M Source/WebKit/GPUProcess/GPUProcess.h
M Source/WebKit/GPUProcess/GPUProcess.messages.in
M Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm
M Source/WebKit/ModelProcess/ModelProcess.cpp
M Source/WebKit/ModelProcess/ModelProcess.h
M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in
M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in
A Source/WebKit/Resources/ios/GPUService-visionOS-simulator.entitlements
M Source/WebKit/Resources/ios/ModelService-embedded-simulator.entitlements
M Source/WebKit/Scripts/process-entitlements.sh
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h
M Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp
M Source/WebKit/UIProcess/Model/ModelProcessProxy.h
M Source/WebKit/UIProcess/Model/ModelProcessProxy.messages.in
A Source/WebKit/UIProcess/Model/cocoa/ModelProcessProxyCocoa.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  ---
  [visionOS] Move shared simulation connection from the Model process to the 
GPU process
https://bugs.webkit.org/show_bug.cgi?id=286366
rdar://138447079

Reviewed by Per Arne Vollan.

Instead of connecting to shared simulation as part of WKREEngine initialization
in the Model process, the Model process will send a message to the UI process to
request for that connection. UI process delegates that request to the GPU 
process
and returns the resulting connection back to the Model process. Sandbox rules 
and
entitlements related to the shared simulation connection have been removed from
the Model process, and added to the GPU process instead (only for visionOS).

* Source/WebKit/Configurations/GPUService.xcconfig:
Update the GPU process simulator entitlements for visionOS
* Source/WebKit/GPUProcess/GPUProcess.h:
* Source/WebKit/GPUProcess/GPUProcess.messages.in:
Add a new message for handling shared simulation connection
* Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm:
(WebKit::GPUProcess::requestSharedSimulationConnection):
Get the shared simulation connection via WKSharedSimulationConnectionHelper 
using
the model process' audit token.
* Source/WebKit/ModelProcess/ModelProcess.cpp:
(WebKit::ModelProcess::createModelConnectionToWebProcess):
Initialize the WKREEngine with a function to get the shared simulation
connection via a message to the UI process.
(WebKit::ModelProcess::requestSharedSimulationConnection):
* Source/WebKit/ModelProcess/ModelProcess.h:
* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in:
A couple of additions to the GPU process sandbox in order to connect to shared
simulation and to make shareable file handles.
* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in:
Remove the mach-lookup rule needed to connect to shared simulation.
* Source/WebKit/Resources/ios/GPUService-visionOS-simulator.entitlements: 
Copied from 
Source/WebKit/Resources/ios/ModelService-embedded-simulator.entitlements.
* Source/WebKit/Resources/ios/ModelService-embedded-simulator.entitlements:
* Source/WebKit/Scripts/process-entitlements.sh:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::requestSharedSimulationConnection):
Send the shared simulation connection request to the GPU process
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
* Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp:
(WebKit::ModelProcessProxy::processWillShutDown):
Reset m_didInitializeSharedSimulationConnection to false.
* Source/WebKit/UIProcess/Model/ModelProcessProxy.h:
* Source/WebKit/UIProcess/Model/ModelProcessProxy.messages.in:
* Source/WebKit/UIProcess/Model/cocoa/ModelProcessProxyCocoa.mm: Added.
(WebKit::ModelProcessProxy::requestSharedSimulationConnection):
Add message checks to make sure the web content process that creates the models
to be loaded by the Model process have the expected model related preferences
set, and that this is the first time this Model process is requesting for the 
connection.
If all the checks pass, delegate the connection request to GPUProcessProxy.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/289447@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


[webkit-changes] [WebKit/WebKit] c94b78: Update the Model Process sandbox such that it cont...

2025-01-16 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c94b781ebf228be329d2ed062a6a68f6bd969f79
  
https://github.com/WebKit/WebKit/commit/c94b781ebf228be329d2ed062a6a68f6bd969f79
  Author: Ada Chan 
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in

  Log Message:
  ---
  Update the Model Process sandbox such that it continues to function after 
setting process launch state
https://bugs.webkit.org/show_bug.cgi?id=285912
rdar://124142927

Reviewed by Per Arne Vollan.

Model Process' sandbox is based on the Web Content Process sandbox which uses a
sandbox state to restrict the sandbox further after process has launched. We
need to continue allowing a couple of mach messages after that state is set
in the Model Process in the meantime until another radar has been addressed.

* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in:

Canonical link: https://commits.webkit.org/289014@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


[webkit-changes] [WebKit/WebKit] f9d50c: Adopt PAC entitlement to assign shared region ID f...

2025-01-09 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f9d50c1cd1874e0e1c9f39ade66c1883735077cf
  
https://github.com/WebKit/WebKit/commit/f9d50c1cd1874e0e1c9f39ade66c1883735077cf
  Author: Ada Chan 
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
M Source/WebKit/Scripts/process-entitlements.sh

  Log Message:
  ---
  Adopt PAC entitlement to assign shared region ID for the model process
https://bugs.webkit.org/show_bug.cgi?id=285658
rdar://122350854

Reviewed by Per Arne Vollan, Chris Dumez, and Geoffrey Garen.

* Source/WebKit/Scripts/process-entitlements.sh:

Canonical link: https://commits.webkit.org/288667@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


[webkit-changes] [WebKit/WebKit] 676b1c: [visionOS] Fix the drag preview of the ele...

2025-02-14 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 676b1c75b77ea731918213ca6853ff55aaccec61
  
https://github.com/WebKit/WebKit/commit/676b1c75b77ea731918213ca6853ff55aaccec61
  Author: Ada Chan 
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
M Source/WebCore/Modules/model-element/HTMLModelElement.h
M Source/WebCore/page/DragController.cpp
M Source/WebCore/platform/DragItem.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h
M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
M Source/WebKit/UIProcess/Model/ModelPresentationManagerProxy.h
M Source/WebKit/UIProcess/Model/ModelPresentationManagerProxy.mm
M Source/WebKit/UIProcess/ios/DragDropInteractionState.h
M Source/WebKit/UIProcess/ios/DragDropInteractionState.mm
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/UIProcess/ios/WKPageHostedModelView.mm
M Tools/TestRunnerShared/spi/UIKitSPIForTesting.h
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
A Tools/TestWebKitAPI/Tests/WebKit/simple-model-page.html
M Tools/TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm
M Tools/TestWebKitAPI/cocoa/DragAndDropSimulator.h
M Tools/TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm

  Log Message:
  ---
  [visionOS] Fix the drag preview of the  element
https://bugs.webkit.org/show_bug.cgi?id=287525
rdar://141165213

Reviewed by Wenson Hsieh and Abrar Rahman Protyasha.

For UITargetedDragPreview to capture the snapshot of a view
with entity-based content properly, we need to pass the _UIRemoteView
hosting the model content directly when constructing the UITargetedDragPreview.
To do that, we need to pass the model element’s PlatformLayerIdentifier
in the DragItem, so we can use it to retrieve the _UIRemoteView hosting
the model entity from ModelPresentationManagerProxy in the UI process
to stage the drag session with.
In DragDropInteractionState::createDragPreviewInternal(), if the drag
preview content is the _UIRemoteView rather than an image, create the
UITargetedDragPreview with that view directly.

Handle the edge case where the model element is removed while
it’s being dragged by adding it to the WKContentView’s drag previews
container view.

* Source/WebCore/Modules/model-element/HTMLModelElement.h:
* Source/WebCore/page/DragController.cpp:
(WebCore::DragController::doSystemDrag):
If the dragged element is an HTMLModelElement, save off its
PlatformLayerIdentifier in the DragItem.
* Source/WebCore/platform/DragItem.h:
Include the model element’s PlatformLayerIdentifier
in the DragItem struct.
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h:
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _willInvalidateDraggedModelWithContainerView:]):
* Source/WebKit/UIProcess/Model/ModelPresentationManagerProxy.h:
* Source/WebKit/UIProcess/Model/ModelPresentationManagerProxy.mm:
(WebKit::ModelPresentationManagerProxy::startDragForModel):
Add the dragged model’s layer identifier to m_activelyDraggedModelLayerIDs.
Return the _UIRemoteView hosting the model entity.
(WebKit::ModelPresentationManagerProxy::doneWithCurrentDragSession):
Clear m_activelyDraggedModelLayerIDs.
(WebKit::ModelPresentationManagerProxy::invalidateModel):
If the model layer being removed is currently being dragged, call
-[WKWebView _willInvalidateDraggedModelWithContainerView:] with the
model container view so it can be re-parented to the window’s
view hierarchy.
* Source/WebKit/UIProcess/ios/DragDropInteractionState.h:
DragSourceState now stores content with the DragPreviewContentType
which is either a UIImage or a UIView.
* Source/WebKit/UIProcess/ios/DragDropInteractionState.mm:
(WebKit::shouldUseDragImageToCreatePreviewForDragSource):
(WebKit::DragDropInteractionState::previewForCancelling):
The UITargetedDragPreview’s view is the _UIRemoteView’s that’s
already in the remote layer tree’s view hierarchy if the dragged
element is a model element. Only add UITargetedDragPreview’s view
to m_previewViewsForDragCancel if its superview is the preview container.
(WebKit::DragDropInteractionState::createDragPreviewInternal const):
If the drag preview content is a UIView (which is the case for a
dragged model), create a UITargetedDragPreview with that UIView.
(WebKit::DragDropInteractionState::stageDragItem):
(WebKit::DragDropInteractionState::updatePreviewsForActiveDragSources):
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _startDrag:item:]):
If the dragged item has a model layer identifier, stage the drag
item with the _UIRemoteView returned from the page’s 
ModelPresentationManagerProxy.
(-[WKContentView cleanUpDragSourceSessionState]):
Clear the dragged models tracked in

[webkit-changes] [WebKit/WebKit] 25bd2c: Unreviewed visionOS build fix after 290687@main

2025-02-20 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 25bd2cdae94e69a209a22b92ffe98da1dd863edb
  
https://github.com/WebKit/WebKit/commit/25bd2cdae94e69a209a22b92ffe98da1dd863edb
  Author: Ada Chan 
  Date:   2025-02-20 (Thu, 20 Feb 2025)

  Changed paths:
M Source/WebCore/Modules/model-element/HTMLModelElement.h

  Log Message:
  ---
  Unreviewed visionOS build fix after 290687@main
https://bugs.webkit.org/show_bug.cgi?id=288071
rdar://137779076

* Source/WebCore/Modules/model-element/HTMLModelElement.h:

Canonical link: https://commits.webkit.org/290694@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


[webkit-changes] [WebKit/WebKit] 41a4bb: Adopt stereo content component for the model's por...

2025-02-28 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 41a4bbb26f95103dfe66e08600b2606ce69b17c6
  
https://github.com/WebKit/WebKit/commit/41a4bbb26f95103dfe66e08600b2606ce69b17c6
  Author: Ada Chan 
  Date:   2025-02-28 (Fri, 28 Feb 2025)

  Changed paths:
M Source/WTF/wtf/PlatformHave.h
M Source/WebCore/platform/graphics/Color.h
M Source/WebKit/UIProcess/ios/WKPageHostedModelView.mm
M Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift

  Log Message:
  ---
  Adopt stereo content component for the model's portal entity
https://bugs.webkit.org/show_bug.cgi?id=288019
rdar://120925261

Reviewed by Mike Wyrzykowski.

With this adoption, the portal layer is not separated
and no longer on top of all other content.

* Source/WTF/wtf/PlatformHave.h:
* Source/WebCore/platform/graphics/Color.h:
* Source/WebKit/UIProcess/ios/WKPageHostedModelView.mm:
(+[WKPageHostedModelView _usesStereoContent]):
Check runtime flag to determine whether to use stereo
content component. Default values are different between
device and simulator.
(-[WKPageHostedModelView init]):
If using stereo content, set up a new CALayer to associate
with the stereo content entity. A world root is set up
with the stereo content component. The stereo content
entity is now set as the parent of the container view's entity.
(-[WKPageHostedModelView dealloc]):
Make sure the stereo content entity is removed from the scene.
(-[WKPageHostedModelView setShouldDisablePortal:]):
To disable the portal, remove the stereo content layer and entity
from the hierarchy. To show the portal, add the stereo content
layer and entity back.
(-[WKPageHostedModelView applyBackgroundColor:]):
Update the background color of the portal via
REEmbeddedStereoContentComponentSetClearColor(). Since
that function expects linear RGB, we need to convert
the sRGB color to linear first.
(-[WKPageHostedModelView layoutSubviews]):
Make sure the stereo content layer's frame gets updated
with its parent layer.
* Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift:
(WKSRKEntity.applyIBL(_:completion:)):
This version check should be ok to remove now.

Canonical link: https://commits.webkit.org/291371@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


[webkit-changes] [WebKit/WebKit] c0d97c: [Model Element] Always enable restrictive renderin...

2025-03-13 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c0d97c4b4a89ec6a6cadd0a6252d6ccf6b5eff50
  
https://github.com/WebKit/WebKit/commit/c0d97c4b4a89ec6a6cadd0a6252d6ccf6b5eff50
  Author: Ada Chan 
  Date:   2025-03-13 (Thu, 13 Mar 2025)

  Changed paths:
M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in
M Source/WebKit/UIProcess/Model/cocoa/ModelProcessProxyCocoa.mm

  Log Message:
  ---
  [Model Element] Always enable restrictive rendering mode
https://bugs.webkit.org/show_bug.cgi?id=289600
rdar://124086612

Reviewed by Per Arne Vollan.

Enable restrictive rendering mode for the model element by
default. Tighten the model process sandbox as that mode no
longer needs some iokit access.

* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in:
* Source/WebKit/UIProcess/Model/cocoa/ModelProcessProxyCocoa.mm:
(WebKit::ModelProcessProxy::updateModelProcessCreationParameters):

Canonical link: https://commits.webkit.org/292101@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


[webkit-changes] [WebKit/WebKit] d6ec80: [Model] Downscale high res image files before comp...

2025-03-21 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d6ec80cde8e95ed001e97b131913207acbcdd27c
  
https://github.com/WebKit/WebKit/commit/d6ec80cde8e95ed001e97b131913207acbcdd27c
  Author: Ada Chan 
  Date:   2025-03-21 (Fri, 21 Mar 2025)

  Changed paths:
M Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift

  Log Message:
  ---
  [Model] Downscale high res image files before computing IBLs with them
rdar://147062312
https://bugs.webkit.org/show_bug.cgi?id=289816

Reviewed by Mike Wyrzykowski.

Computing IBLs in CPU could be processing time intensive so we'll try
downscaling those images to 2K before creating environment textures
from them.

* Source/WebKit/WebKitSwift/RealityKit/RKEntity.swift:
(WKSRKEntity.resizedImage(_:)):
If the image is more than 2K res, try to load a downscaled CGImage with
kCGImageSourceSubsampleFactor. If loading with that hint doesn't
work, do an actual resize by drawing into a CGBitmapContext of the
target size.
(WKSRKEntity.applyIBL(_:completion:)):

Canonical link: https://commits.webkit.org/292490@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


[webkit-changes] [WebKit/WebKit] 9a9926: [Model] Handle the error case when the model asset...

2025-03-22 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9a9926c5768c7e4ad8e879ba0e084972216ba089
  
https://github.com/WebKit/WebKit/commit/9a9926c5768c7e4ad8e879ba0e084972216ba089
  Author: Ada Chan 
  Date:   2025-03-22 (Sat, 22 Mar 2025)

  Changed paths:
M LayoutTests/model-element/model-element-ready-expected.txt
M LayoutTests/model-element/model-element-ready.html
A LayoutTests/model-element/resources/error-case.usdz
M Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h
M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.messages.in

  Log Message:
  ---
  [Model] Handle the error case when the model asset cannot be loaded
https://bugs.webkit.org/show_bug.cgi?id=290244
rdar://147635013

Reviewed by Mike Wyrzykowski.

If the model asset cannot be loaded for some reason (e.g. invalid
format), we should reject the ready promise on the model element.

* LayoutTests/model-element/model-element-ready-expected.txt:
* LayoutTests/model-element/model-element-ready.html:
Check ready promise is rejected when the model source points to an
asset that can't be loaded.
* LayoutTests/model-element/resources/error-case.usdz: Added.
A bad usdz example that doesn't have the expected content.
* Source/WebKit/ModelProcess/cocoa/ModelProcessModelPlayerProxy.mm:
(WebKit::toResourceError):
(WebKit::RKModelLoaderUSD::load):
If no entity is loaded, treat this as a failed case.
(WebKit::ModelProcessModelPlayerProxy::didFailLoading):
Notify the web content side about this failed load.
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp:
(WebKit::ModelProcessModelPlayer::didFailLoading):
Notify the client (HTMLModelElement) about the failed load.
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h:
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.messages.in:

Canonical link: https://commits.webkit.org/292547@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


[webkit-changes] [WebKit/WebKit] a40f93: [Model Element] Ensure portal background color is ...

2025-03-25 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a40f93d86655a07cce0804654660aef1880e4761
  
https://github.com/WebKit/WebKit/commit/a40f93d86655a07cce0804654660aef1880e4761
  Author: Ada Chan 
  Date:   2025-03-25 (Tue, 25 Mar 2025)

  Changed paths:
M Source/WebKit/UIProcess/ios/WKPageHostedModelView.mm

  Log Message:
  ---
  [Model Element] Ensure portal background color is opaque
https://bugs.webkit.org/show_bug.cgi?id=290366
rdar://147723388

Reviewed by Mike Wyrzykowski.

Pass an opaque background color when setting up the separated layer's clear 
color.

* Source/WebKit/UIProcess/ios/WKPageHostedModelView.mm:
(-[WKPageHostedModelView applyBackgroundColor:]):

Canonical link: https://commits.webkit.org/292651@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


[webkit-changes] [WebKit/WebKit] dbdf1c: [Model Process] Disallow some unix syscalls after ...

2025-03-27 Thread Ada Chan
  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dbdf1ca4d873ca32c9670928bd5cd64e4555d1ce
  
https://github.com/WebKit/WebKit/commit/dbdf1ca4d873ca32c9670928bd5cd64e4555d1ce
  Author: Ada Chan 
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in

  Log Message:
  ---
  [Model Process] Disallow some unix syscalls after process finishes setup
https://bugs.webkit.org/show_bug.cgi?id=290487
rdar://139318310

Reviewed by Per Arne Vollan.

Tighten the sandbox after the model process has finished setup by disallowing
some unix syscalls that do not affect the model rendering pipeline.

* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in:

Canonical link: https://commits.webkit.org/292798@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