Title: [248101] trunk/Source/WebCore
- Revision
- 248101
- Author
- cdu...@apple.com
- Date
- 2019-08-01 07:05:13 -0700 (Thu, 01 Aug 2019)
Log Message
[iOS][WK1] Unsafe unsafe of WeakPtr<Document> from UIThread under PlaybackSessionInterfaceAVKit::PlaybackSessionInterfaceAVKit()
https://bugs.webkit.org/show_bug.cgi?id=200324
Reviewed by Ryosuke Niwa.
The Document is a WebThread object, but a WeakPtr<Document> was dereferenced from the
UIThread in HTMLMediaElement::supportsSeeking(), from the PlaybackSessionInterfaceAVKit
constructor. To address the issue we now grab the WebThread lock before constructing
the PlaybackSessionInterfaceAVKit.
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::setUpFullscreen):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (248100 => 248101)
--- trunk/Source/WebCore/ChangeLog 2019-08-01 13:36:44 UTC (rev 248100)
+++ trunk/Source/WebCore/ChangeLog 2019-08-01 14:05:13 UTC (rev 248101)
@@ -1,3 +1,18 @@
+2019-08-01 Chris Dumez <cdu...@apple.com>
+
+ [iOS][WK1] Unsafe unsafe of WeakPtr<Document> from UIThread under PlaybackSessionInterfaceAVKit::PlaybackSessionInterfaceAVKit()
+ https://bugs.webkit.org/show_bug.cgi?id=200324
+
+ Reviewed by Ryosuke Niwa.
+
+ The Document is a WebThread object, but a WeakPtr<Document> was dereferenced from the
+ UIThread in HTMLMediaElement::supportsSeeking(), from the PlaybackSessionInterfaceAVKit
+ constructor. To address the issue we now grab the WebThread lock before constructing
+ the PlaybackSessionInterfaceAVKit.
+
+ * platform/ios/WebVideoFullscreenControllerAVKit.mm:
+ (VideoFullscreenControllerContext::setUpFullscreen):
+
2019-08-01 Carlos Garcia Campos <cgar...@igalia.com>
[SOUP] Switch to use libsoup WebSockets API
Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm (248100 => 248101)
--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm 2019-08-01 13:36:44 UTC (rev 248100)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm 2019-08-01 14:05:13 UTC (rev 248101)
@@ -977,6 +977,7 @@
dispatch_async(dispatch_get_main_queue(), [protectedThis = makeRefPtr(this), this, videoElementClientRect, viewRef, mode, allowsPictureInPicture] {
ASSERT(isUIThread());
+ WebThreadLock();
Ref<PlaybackSessionInterfaceAVKit> sessionInterface = PlaybackSessionInterfaceAVKit::create(*this);
m_interface = VideoFullscreenInterfaceAVKit::create(sessionInterface.get());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes