Title: [285068] trunk/Source
Revision
285068
Author
[email protected]
Date
2021-10-29 18:29:45 -0700 (Fri, 29 Oct 2021)

Log Message

Crash setting up AVCaptureSession
https://bugs.webkit.org/show_bug.cgi?id=232507
<rdar://problem/84820282>

Reviewed by Jer Noble.

Source/WebCore:

* platform/mediastream/RealtimeMediaSourceCenter.h:
* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::setupSession):

Source/WebKit:

* GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm:
(WebKit::GPUConnectionToWebProcess::setTCCIdentity):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (285067 => 285068)


--- trunk/Source/WebCore/ChangeLog	2021-10-30 01:29:16 UTC (rev 285067)
+++ trunk/Source/WebCore/ChangeLog	2021-10-30 01:29:45 UTC (rev 285068)
@@ -1,3 +1,15 @@
+2021-10-29  Kate Cheney  <[email protected]>
+
+        Crash setting up AVCaptureSession
+        https://bugs.webkit.org/show_bug.cgi?id=232507
+        <rdar://problem/84820282>
+
+        Reviewed by Jer Noble.
+
+        * platform/mediastream/RealtimeMediaSourceCenter.h:
+        * platform/mediastream/mac/AVVideoCaptureSource.mm:
+        (WebCore::AVVideoCaptureSource::setupSession):
+
 2021-10-29  Cameron McCormack  <[email protected]>
 
         Avoid sending video data to Web process for canvas.drawImage(video)

Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h (285067 => 285068)


--- trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h	2021-10-30 01:29:16 UTC (rev 285067)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h	2021-10-30 01:29:45 UTC (rev 285068)
@@ -47,6 +47,7 @@
 
 #if PLATFORM(COCOA)
 #include <pal/spi/cocoa/TCCSPI.h>
+#include <wtf/OSObjectPtr.h>
 #endif
 
 namespace WebCore {
@@ -105,8 +106,8 @@
     WEBCORE_EXPORT static bool shouldInterruptAudioOnPageVisibilityChange();
 
 #if ENABLE(APP_PRIVACY_REPORT)
-    void setIdentity(std::optional<tcc_identity_t> identity) { m_identity = identity; }
-    std::optional<tcc_identity_t> identity() const { return m_identity; }
+    void setIdentity(OSObjectPtr<tcc_identity_t>&& identity) { m_identity = WTFMove(identity); }
+    OSObjectPtr<tcc_identity_t> identity() const { return m_identity; }
 #endif
 
 private:
@@ -141,7 +142,7 @@
     bool m_shouldInterruptAudioOnPageVisibilityChange { false };
 
 #if ENABLE(APP_PRIVACY_REPORT)
-    std::optional<tcc_identity_t> m_identity;
+    OSObjectPtr<tcc_identity_t> m_identity;
 #endif
 };
 

Modified: trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm (285067 => 285068)


--- trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm	2021-10-30 01:29:16 UTC (rev 285067)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm	2021-10-30 01:29:45 UTC (rev 285068)
@@ -426,7 +426,7 @@
 #if ENABLE(APP_PRIVACY_REPORT)
     auto identity = RealtimeMediaSourceCenter::singleton().identity();
     if (identity && [PAL::allocAVCaptureSessionInstance() respondsToSelector:@selector(initWithAssumedIdentity:)])
-        m_session = adoptNS([PAL::allocAVCaptureSessionInstance() initWithAssumedIdentity:*identity]);
+        m_session = adoptNS([PAL::allocAVCaptureSessionInstance() initWithAssumedIdentity:identity.get()]);
     else
         m_session = adoptNS([PAL::allocAVCaptureSessionInstance() init]);
 #else

Modified: trunk/Source/WebKit/ChangeLog (285067 => 285068)


--- trunk/Source/WebKit/ChangeLog	2021-10-30 01:29:16 UTC (rev 285067)
+++ trunk/Source/WebKit/ChangeLog	2021-10-30 01:29:45 UTC (rev 285068)
@@ -1,3 +1,14 @@
+2021-10-29  Kate Cheney  <[email protected]>
+
+        Crash setting up AVCaptureSession
+        https://bugs.webkit.org/show_bug.cgi?id=232507
+        <rdar://problem/84820282>
+
+        Reviewed by Jer Noble.
+
+        * GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm:
+        (WebKit::GPUConnectionToWebProcess::setTCCIdentity):
+
 2021-10-29  Alex Christensen  <[email protected]>
 
         Fix WPE build after r285047

Modified: trunk/Source/WebKit/GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm (285067 => 285068)


--- trunk/Source/WebKit/GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm	2021-10-30 01:29:16 UTC (rev 285067)
+++ trunk/Source/WebKit/GPUProcess/cocoa/GPUConnectionToWebProcessCocoa.mm	2021-10-30 01:29:45 UTC (rev 285068)
@@ -86,7 +86,7 @@
     if (!identity)
         return;
 
-    WebCore::RealtimeMediaSourceCenter::singleton().setIdentity(identity.get());
+    WebCore::RealtimeMediaSourceCenter::singleton().setIdentity(WTFMove(identity));
 #endif // !PLATFORM(MACCATALYST)
 }
 #endif // ENABLE(APP_PRIVACY_REPORT)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to