[webkit-changes] [WebKit/WebKit] 061e4c: Update PermissionsPolicy to match latest spec

Sihui noreply at github.com
Tue May 14 17:11:04 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 061e4cd3970fe03212bc57c761cb3d5e4088421f
      https://github.com/WebKit/WebKit/commit/061e4cd3970fe03212bc57c761cb3d5e4088421f
  Author: Sihui Liu <sihui_liu at apple.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M Source/WebCore/Modules/applepay/PaymentSession.cpp
    M Source/WebCore/Modules/audiosession/DOMAudioSession.cpp
    M Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp
    M Source/WebCore/Modules/geolocation/Geolocation.cpp
    M Source/WebCore/Modules/mediastream/MediaDevices.cpp
    M Source/WebCore/Modules/mediastream/UserMediaController.cpp
    M Source/WebCore/Modules/mediastream/UserMediaRequest.cpp
    M Source/WebCore/Modules/permissions/Permissions.cpp
    M Source/WebCore/Modules/screen-wake-lock/WakeLock.cpp
    M Source/WebCore/Modules/speech/SpeechRecognition.cpp
    M Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp
    M Source/WebCore/Modules/webxr/WebXRSystem.cpp
    M Source/WebCore/dom/FullscreenManager.cpp
    M Source/WebCore/html/HTMLIFrameElement.cpp
    M Source/WebCore/html/PermissionsPolicy.cpp
    M Source/WebCore/html/PermissionsPolicy.h
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/page/LocalDOMWindow.cpp
    M Source/WebCore/page/Navigator.cpp
    M Source/WebCore/xml/XMLHttpRequest.cpp

  Log Message:
  -----------
  Update PermissionsPolicy to match latest spec
https://bugs.webkit.org/show_bug.cgi?id=273982
rdar://127848428

Reviewed by Youenn Fablet.

This patch implements some algorithms and does some refactoring/renaming in PermissionPolicy based on latest version of
spec.

* Source/WebCore/Modules/applepay/PaymentSession.cpp:
(WebCore::PaymentSession::canCreateSession):
* Source/WebCore/Modules/audiosession/DOMAudioSession.cpp:
(WebCore::DOMAudioSession::setType):
(WebCore::DOMAudioSession::type const):
(WebCore::DOMAudioSession::state const):
(WebCore::DOMAudioSession::scheduleStateChangeEvent):
* Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp:
* Source/WebCore/Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::shouldBlockGeolocationRequests):
* Source/WebCore/Modules/mediastream/MediaDevices.cpp:
(WebCore::checkCameraAccess):
(WebCore::checkMicrophoneAccess):
(WebCore::checkSpeakerAccess):
(WebCore::MediaDevices::listenForDeviceChanges):
* Source/WebCore/Modules/mediastream/UserMediaController.cpp:
(WebCore::UserMediaController::logEnumerateDevicesDenial):
* Source/WebCore/Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::start):
* Source/WebCore/Modules/permissions/Permissions.cpp:
(WebCore::isAllowedByPermissionsPolicy):
* Source/WebCore/Modules/screen-wake-lock/WakeLock.cpp:
(WebCore::WakeLock::request):
* Source/WebCore/Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::startRecognition):
* Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::discoverFromExternalSource):
* Source/WebCore/Modules/webxr/WebXRSystem.cpp:
(WebCore::WebXRSystem::isSessionSupported):
(WebCore::WebXRSystem::isFeaturePermitted const):
* Source/WebCore/dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::requestFullscreenForElement):
(WebCore::FullscreenManager::isFullscreenEnabled const):
* Source/WebCore/html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::permissionsPolicy const):
* Source/WebCore/html/PermissionsPolicy.cpp:
(WebCore::toFeatureNameForLogging):
(WebCore::readFeatureIdentifier):
(WebCore::splitOnAsciiWhiteSpace):
(WebCore::isPermissionsPolicyAllowedByDocumentAndAllOwners):
(WebCore::PermissionsPolicy::Allowlist::matches const):
(WebCore::PermissionsPolicy::parseAllowlist):
(WebCore::PermissionsPolicy::parsePolicyDirective):
(WebCore::PermissionsPolicy::declaredOrigin const):
(WebCore::PermissionsPolicy::PermissionsPolicy):
(WebCore::PermissionsPolicy::allows const):
(WebCore::policyTypeName): Deleted.
(WebCore::isAllowedByPermissionsPolicy): Deleted.
(WebCore::processOriginItem): Deleted.
(WebCore::updateList): Deleted.
(WebCore::PermissionsPolicy::parse): Deleted.
* Source/WebCore/html/PermissionsPolicy.h:
(WebCore::PermissionsPolicy::defaultPolicy):
(WebCore::PermissionsPolicy::parse):
(WebCore::PermissionsPolicy::Allowlist::Allowlist):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::makeXRCompatible):
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::updateRequestAndAddExtraFields):
* Source/WebCore/page/LocalDOMWindow.cpp:
(WebCore::LocalDOMWindow::isAllowedToUseDeviceMotion const):
(WebCore::LocalDOMWindow::isAllowedToUseDeviceOrientation const):
* Source/WebCore/page/Navigator.cpp:
(WebCore::validateWebSharePolicy):
* Source/WebCore/xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list