Title: [264521] trunk/Source/WebKit
Revision
264521
Author
[email protected]
Date
2020-07-17 11:24:44 -0700 (Fri, 17 Jul 2020)

Log Message

Add a addition point for extra user media sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=214445
<rdar://problem/65148262>

Reviewed by Per Arne Vollan.

* UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::willCreateMediaStream):
(WebKit::UserMediaProcessManager::revokeSandboxExtensionsIfNeeded):
* WebProcess/com.apple.WebProcess.sb.in:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (264520 => 264521)


--- trunk/Source/WebKit/ChangeLog	2020-07-17 17:49:40 UTC (rev 264520)
+++ trunk/Source/WebKit/ChangeLog	2020-07-17 18:24:44 UTC (rev 264521)
@@ -1,3 +1,16 @@
+2020-07-17  Tim Horton  <[email protected]>
+
+        Add a addition point for extra user media sandbox extensions
+        https://bugs.webkit.org/show_bug.cgi?id=214445
+        <rdar://problem/65148262>
+
+        Reviewed by Per Arne Vollan.
+
+        * UIProcess/UserMediaProcessManager.cpp:
+        (WebKit::UserMediaProcessManager::willCreateMediaStream):
+        (WebKit::UserMediaProcessManager::revokeSandboxExtensionsIfNeeded):
+        * WebProcess/com.apple.WebProcess.sb.in:
+
 2020-07-17  Truitt Savell  <[email protected]>
 
         Unreviewed, reverting r264477.

Modified: trunk/Source/WebKit/UIProcess/UserMediaProcessManager.cpp (264520 => 264521)


--- trunk/Source/WebKit/UIProcess/UserMediaProcessManager.cpp	2020-07-17 17:49:40 UTC (rev 264520)
+++ trunk/Source/WebKit/UIProcess/UserMediaProcessManager.cpp	2020-07-17 18:24:44 UTC (rev 264521)
@@ -31,6 +31,10 @@
 #include <wtf/NeverDestroyed.h>
 #include <wtf/TranslatedProcess.h>
 
+#if ENABLE(SANDBOX_EXTENSIONS) && USE(APPLE_INTERNAL_SDK)
+#include <WebKitAdditions/UserMediaProcessManagerAdditions.cpp>
+#endif
+
 namespace WebKit {
 
 #if ENABLE(SANDBOX_EXTENSIONS)
@@ -99,8 +103,12 @@
         extensionCount++;
 
     bool needsAppleCameraSandboxExtension = needsVideoSandboxExtension && needsAppleCameraService();
-    if (needsAppleCameraSandboxExtension)
+    if (needsAppleCameraSandboxExtension) {
         extensionCount++;
+#if HAVE(ADDITIONAL_APPLE_CAMERA_SERVICE)
+        extensionCount++;
+#endif
+    }
 
     if (extensionCount) {
         SandboxExtension::HandleArray handles;
@@ -116,8 +124,14 @@
             if (needsVideoSandboxExtension && SandboxExtension::createHandleForGenericExtension(videoExtensionPath, handles[--extensionCount]))
                 ids.uncheckedAppend(videoExtensionPath);
 
-            if (needsAppleCameraSandboxExtension && SandboxExtension::createHandleForMachLookup(appleCameraServicePath, WTF::nullopt, handles[--extensionCount]))
-                ids.uncheckedAppend(appleCameraServicePath);
+            if (needsAppleCameraSandboxExtension) {
+                if (SandboxExtension::createHandleForMachLookup(appleCameraServicePath, WTF::nullopt, handles[--extensionCount]))
+                    ids.uncheckedAppend(appleCameraServicePath);
+#if HAVE(ADDITIONAL_APPLE_CAMERA_SERVICE)
+                if (SandboxExtension::createHandleForMachLookup(additionalAppleCameraServicePath, WTF::nullopt, handles[--extensionCount]))
+                    ids.uncheckedAppend(additionalAppleCameraServicePath);
+#endif
+            }
 
             if (ids.size() != handles.size()) {
                 WTFLogAlways("Could not create a required sandbox extension, capture will fail!");
@@ -173,8 +187,12 @@
     }
     if (!hasVideoCapture && process.hasVideoCaptureExtension()) {
         params.append(videoExtensionPath);
-        if (needsAppleCameraService())
+        if (needsAppleCameraService()) {
             params.append(appleCameraServicePath);
+#if USE(APPLE_INTERNAL_SDK) && HAVE(ADDITIONAL_APPLE_CAMERA_SERVICE)
+            params.append(additionalAppleCameraServicePath);
+#endif
+        }
         process.revokeVideoCaptureExtension();
     }
 

Modified: trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in (264520 => 264521)


--- trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2020-07-17 17:49:40 UTC (rev 264520)
+++ trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2020-07-17 18:24:44 UTC (rev 264521)
@@ -1169,3 +1169,7 @@
         (allow syscall-unix (syscall-number SYS_objc_bp_assist_cfg_np)))
 #endif
 )
+
+#if USE(APPLE_INTERNAL_SDK)
+#include <WebKitAdditions/WebContentSandboxAdditionsMac.sb>
+#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to