Changeset 274213 in webkit
- Timestamp:
- Mar 10, 2021, 6:57:46 AM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/UserMediaPermissionRequestManagerProxy.cpp (modified) (2 diffs)
-
UIProcess/UserMediaProcessManager.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r274206 r274213 1 2021-03-10 Youenn Fablet <youenn@apple.com> 2 3 Do not send sandbox extensions to WebProcess if capture happens in GPUProcess 4 https://bugs.webkit.org/show_bug.cgi?id=222961 5 6 Reviewed by Eric Carlson. 7 8 In case capture does not happen in WebProcess, we do not need to send the tccd sandbox extension. 9 Ditto for camera/microphone sandbox extensions if capture happens in GPUProcess. 10 Manually tested. 11 12 * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: 13 (WebKit::c): 14 (WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest): 15 * UIProcess/UserMediaProcessManager.cpp: 16 (WebKit::UserMediaProcessManager::willCreateMediaStream): 17 1 18 2021-03-10 Youenn Fablet <youenn@apple.com> 2 19 -
trunk/Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp
r274206 r274213 261 261 262 262 #if ENABLE(MEDIA_STREAM) 263 static bool doesPageNeedTCCD(const WebPageProxy& page) 264 { 265 return (!page.preferences().captureAudioInGPUProcessEnabled() && !page.preferences().captureAudioInUIProcessEnabled()) || !page.preferences().captureVideoInGPUProcessEnabled(); 266 } 267 263 268 void UserMediaPermissionRequestManagerProxy::finishGrantingRequest(UserMediaPermissionRequestProxy& request) 264 269 { … … 286 291 SandboxExtension::Handle handle; 287 292 #if PLATFORM(COCOA) 288 if (!m_hasCreatedSandboxExtensionForTCCD ) {293 if (!m_hasCreatedSandboxExtensionForTCCD && doesPageNeedTCCD(m_page)) { 289 294 SandboxExtension::createHandleForMachLookup("com.apple.tccd"_s, m_page.process().connection()->getAuditToken(), handle); 290 295 m_hasCreatedSandboxExtensionForTCCD = true; -
trunk/Source/WebKit/UIProcess/UserMediaProcessManager.cpp
r271471 r274213 84 84 size_t extensionCount = 0; 85 85 86 bool needsAudioSandboxExtension = withAudio && !process.hasAudioCaptureExtension() && !proxy.page().preferences().captureAudioInUIProcessEnabled() ;86 bool needsAudioSandboxExtension = withAudio && !process.hasAudioCaptureExtension() && !proxy.page().preferences().captureAudioInUIProcessEnabled() && !proxy.page().preferences().captureAudioInGPUProcessEnabled(); 87 87 if (needsAudioSandboxExtension) 88 88 extensionCount++; 89 89 90 bool needsVideoSandboxExtension = withVideo && !process.hasVideoCaptureExtension() && !proxy.page().preferences().captureVideoInUIProcessEnabled() ;90 bool needsVideoSandboxExtension = withVideo && !process.hasVideoCaptureExtension() && !proxy.page().preferences().captureVideoInUIProcessEnabled() && !proxy.page().preferences().captureVideoInGPUProcessEnabled(); 91 91 if (needsVideoSandboxExtension) 92 92 extensionCount++;
Note:
See TracChangeset
for help on using the changeset viewer.