9f7e32a0a9
https://bugs.webkit.org/show_bug.cgi?id=223247 Reviewed by Eric Carlson. Source/WebKit: Refactor code to move device orientation prompt implementation with other prompts in MediaPermissionUtilities. Update code to use top level origin for prompt. Update delegate to provide both top level origin and initiating iframe as parameters. Update the decision handler to take grant, deny or prompt parameter. Covered by API tests. * UIProcess/API/C/WKFrameInfoRef.cpp: (WKFrameInfoCopySecurityOrigin): * UIProcess/API/C/WKFrameInfoRef.h: * UIProcess/API/C/WKPage.cpp: (WKPageSetPageUIClient): * UIProcess/API/C/WKPageUIClient.h: * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: * UIProcess/Cocoa/MediaPermissionUtilities.mm: (WebKit::alertMessageText): (WebKit::allowButtonText): (WebKit::doNotAllowButtonText): (WebKit::alertForPermission): * UIProcess/Cocoa/UIDelegate.h: * UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::shouldAllowDeviceOrientationAndMotionAccess): * UIProcess/Cocoa/WKOrientationAccessAlert.h: Removed. * UIProcess/Cocoa/WKOrientationAccessAlert.mm: Removed. * UIProcess/MediaPermissionUtilities.h: * UIProcess/WebsiteData/WebDeviceOrientationAndMotionAccessController.cpp: (WebKit::WebDeviceOrientationAndMotionAccessController::shouldAllowAccess): * WebKit.xcodeproj/project.pbxproj: Tools: Update code to print frame info origin and update according additional frame info parameter given to shouldAllowDeviceOrientationAndMotionAccess. Clear permissions in case test controller changes the device motion permission value. * TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm: (-[DeviceOrientationPermissionUIDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]): (-[DeviceOrientationPermissionValidationDelegate setValidationHandler:]): (-[DeviceOrientationPermissionValidationDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]): * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (-[WebsitePoliciesDeviceOrientationUIDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]): * WebKitTestRunner/TestController.cpp: (WTR::shouldAllowDeviceOrientationAndMotionAccess): (WTR::TestController::handleDeviceOrientationAndMotionAccessRequest): (WTR::TestController::setShouldAllowDeviceOrientationAndMotionAccess): * WebKitTestRunner/TestController.h: LayoutTests: * fast/device-orientation/device-motion-request-permission-denied-expected.txt: * fast/device-orientation/device-motion-request-permission-granted-expected.txt: * fast/device-orientation/device-orientation-request-permission-denied-expected.txt: * fast/device-orientation/device-orientation-request-permission-granted-expected.txt: * http/tests/device-orientation/device-motion-allowed-in-first-party-only-expected.txt: * http/tests/device-orientation/device-motion-third-party-iframe-allowed-by-feature-policy-expected.txt: * http/tests/device-orientation/device-orientation-allowed-in-first-party-only-expected.txt: * http/tests/device-orientation/device-orientation-permission-granted-in-other-iframes-from-same-origin-expected.txt: * http/tests/device-orientation/device-orientation-third-party-iframe-allowed-by-feature-policy-expected.txt: * platform/ios/http/tests/events/device-orientation-motion-secure-context-expected.txt: Canonical link: https://commits.webkit.org/235403@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274558 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
||
---|---|---|
.. | ||
device-motion-request-permission-denied-expected.txt | ||
device-motion-request-permission-denied.html | ||
device-motion-request-permission-granted-expected.txt | ||
device-motion-request-permission-granted.html | ||
device-motion-request-permission-user-gesture-expected.txt | ||
device-motion-request-permission-user-gesture.html | ||
device-orientation-request-permission-denied-expected.txt | ||
device-orientation-request-permission-denied.html | ||
device-orientation-request-permission-granted-expected.txt | ||
device-orientation-request-permission-granted.html | ||
device-orientation-request-permission-user-gesture-expected.txt | ||
device-orientation-request-permission-user-gesture.html |