Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: db03fd0f9e82fec0a5a6cfbc754c78e7e1e11a94
      
https://github.com/WebKit/WebKit/commit/db03fd0f9e82fec0a5a6cfbc754c78e7e1e11a94
  Author: Sihui Liu <[email protected]>
  Date:   2025-03-12 (Wed, 12 Mar 2025)

  Changed paths:
    M Source/WebCore/dom/DeviceMotionController.cpp
    M Source/WebCore/dom/DeviceMotionController.h
    M Source/WebCore/dom/DeviceOrientationController.cpp
    M Source/WebCore/dom/DeviceOrientationController.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/page/DeviceClient.h
    M Source/WebCore/page/DeviceController.cpp
    M Source/WebCore/page/SecurityOriginData.h
    M Source/WebCore/platform/ios/DeviceMotionClientIOS.h
    M Source/WebCore/platform/ios/DeviceMotionClientIOS.mm
    M Source/WebCore/platform/ios/DeviceOrientationClientIOS.h
    M Source/WebCore/platform/ios/DeviceOrientationClientIOS.mm
    M Source/WebCore/platform/ios/DeviceOrientationUpdateProvider.h
    M Source/WebCore/platform/mock/DeviceOrientationClientMock.cpp
    M Source/WebCore/platform/mock/DeviceOrientationClientMock.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.h
    M 
Source/WebKit/UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.messages.in
    M Source/WebKit/UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.mm
    M 
Source/WebKit/WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.cpp
    M 
Source/WebKit/WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.h
    M Source/WebKitLegacy/mac/WebView/WebDeviceOrientationProviderMock.mm

  Log Message:
  -----------
  Make WebDeviceOrientationUpdateProviderProxy validate origin access before 
registering for change
https://bugs.webkit.org/show_bug.cgi?id=289512

Reviewed by Per Arne Vollan.

When deviceOrientationPermissionAPIEnabled is true, WebPageProxy would keep 
track of origins that have access to device
orientation and motion data. WebDeviceOrientationUpdateProviderProxy, as the 
actual observer of these updates, should
validate requesting origin has access before registering itself to 
WebCoreMotionManager.

WebPageProxy::originHasDeviceOrientationAndMotionAccess is not implemented yet 
in this patch, as there is a bug that
WebDeviceOrientationAndMotionAccessController in UI process and 
DeviceOrientationAndMotionAccessController in web
process have different views of which origin has access.

* Source/WebCore/dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::resumeUpdates):
* Source/WebCore/dom/DeviceMotionController.h:
* Source/WebCore/dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::resumeUpdates):
* Source/WebCore/dom/DeviceOrientationController.h:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::resumeDeviceMotionAndOrientationUpdates):
* Source/WebCore/page/DeviceClient.h:
* Source/WebCore/page/DeviceController.cpp:
(WebCore::DeviceController::addDeviceEventListener):
* Source/WebCore/page/SecurityOriginData.h:
* Source/WebCore/platform/ios/DeviceMotionClientIOS.h:
* Source/WebCore/platform/ios/DeviceMotionClientIOS.mm:
(WebCore::DeviceMotionClientIOS::startUpdating):
* Source/WebCore/platform/ios/DeviceOrientationClientIOS.h:
* Source/WebCore/platform/ios/DeviceOrientationClientIOS.mm:
(WebCore::DeviceOrientationClientIOS::startUpdating):
* Source/WebCore/platform/ios/DeviceOrientationUpdateProvider.h:
* Source/WebCore/platform/mock/DeviceOrientationClientMock.cpp:
(WebCore::DeviceOrientationClientMock::startUpdating):
* Source/WebCore/platform/mock/DeviceOrientationClientMock.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::originHasDeviceOrientationAndMotionAccess):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.h:
* 
Source/WebKit/UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.messages.in:
* Source/WebKit/UIProcess/ios/WebDeviceOrientationUpdateProviderProxy.mm:
(WebKit::WebDeviceOrientationUpdateProviderProxy::startUpdatingDeviceOrientation):
(WebKit::WebDeviceOrientationUpdateProviderProxy::startUpdatingDeviceMotion):
* 
Source/WebKit/WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.cpp:
(WebKit::WebDeviceOrientationUpdateProvider::startUpdatingDeviceOrientation):
(WebKit::WebDeviceOrientationUpdateProvider::startUpdatingDeviceMotion):
(WebKit::WebDeviceOrientationUpdateProvider::stopUpdatingDeviceMotion):
* Source/WebKit/WebProcess/WebCoreSupport/WebDeviceOrientationUpdateProvider.h:
* Source/WebKitLegacy/mac/WebView/WebDeviceOrientationProviderMock.mm:
(-[WebDeviceOrientationProviderMockInternal startUpdating]):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to