Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 18a0a5b45375c7795a80ee132c23f04d2c49ba74 https://github.com/WebKit/WebKit/commit/18a0a5b45375c7795a80ee132c23f04d2c49ba74 Author: Tim Horton <timothy_hor...@apple.com> Date: 2023-03-22 (Wed, 22 Mar 2023)
Changed paths: M Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm M Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm M Tools/TestWebKitAPI/Tests/WebKit/getUserMedia.html Log Message: ----------- WebRTC: Camera input is rotated by 90 degrees https://bugs.webkit.org/show_bug.cgi?id=254185 rdar://106396515 Reviewed by Youenn Fablet. If a client overrides the device orientation (as exposed to CSS), it currently also overrides the capture orientation, resulting in sideways video. * Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h: * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h: * Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _setupScrollAndContentViews]): (-[WKWebView _deviceOrientationIgnoringOverrides]): (-[WKWebView didMoveToWindow]): (-[WKWebView _dispatchSetOrientationForMediaCapture:]): (-[WKWebView _windowDidRotate:]): (-[WKWebView _deviceOrientation]): Deleted. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::willStartCapture): (WebKit::WebPageProxy::setOrientationForMediaCapture): (WebKit::WebPageProxy::gpuProcessExited): * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::setDeviceOrientation): Separate the device orientation from the capture orientation, and make the overrides not apply to capture orientation (which already has e.g. WKPageSetMockCameraOrientation to override it). The new bit is not transmitted in the DynamicViewportSizeUpdate because it can't be changed synchronously, so there is no value to moving it there. * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setOrientationForMediaCapture): * Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm: * Tools/TestWebKitAPI/Tests/WebKit/getUserMedia.html: Add a test ensuring that the override doesn't affect capture orientation. Canonical link: https://commits.webkit.org/261972@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes