Title: [282924] trunk
- Revision
- 282924
- Author
- j...@apple.com
- Date
- 2021-09-22 22:05:02 -0700 (Wed, 22 Sep 2021)
Log Message
Make SharedBuffer inherit from ThreadSafeRefCounted
https://bugs.webkit.org/show_bug.cgi?id=230662
rdar://83419269
Source/WebCore:
The SourceBufferPrivateAVFObjC uses dispatch_async that takes an objective-C class.
This copies its argument rather than move it and we end up with the SharedBuffer
captured in the lambda to have its ref count be > 1.
The easiest workaround is to make SharedBuffer use thread-safe refcount.
Of course, this doesn't make a SharedBuffer a thread-safe class, but it allows
to safely move it between threads.
Already covered by existing tests.
Reviewed by Chris Dumez.
* platform/SharedBuffer.h:
LayoutTests:
Revert bug 230644.
Reviewed by Chris Dumez.
* platform/mac-wk1/TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (282923 => 282924)
--- trunk/LayoutTests/ChangeLog 2021-09-23 04:56:05 UTC (rev 282923)
+++ trunk/LayoutTests/ChangeLog 2021-09-23 05:05:02 UTC (rev 282924)
@@ -1,3 +1,15 @@
+2021-09-22 Jean-Yves Avenard <j...@apple.com>
+
+ Make SharedBuffer inherit from ThreadSafeRefCounted
+ https://bugs.webkit.org/show_bug.cgi?id=230662
+ rdar://83419269
+
+ Revert bug 230644.
+
+ Reviewed by Chris Dumez.
+
+ * platform/mac-wk1/TestExpectations:
+
2021-09-22 Andres Gonzalez <andresg...@apple.com>
Fix for LayoutTests/accessibility/heading-level.html in isolated tree mode.
Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (282923 => 282924)
--- trunk/LayoutTests/platform/mac-wk1/TestExpectations 2021-09-23 04:56:05 UTC (rev 282923)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations 2021-09-23 05:05:02 UTC (rev 282924)
@@ -1300,13 +1300,6 @@
[ BigSur+ ] imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-v-framerate.html [ Skip ]
[ BigSur+ ] imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-v-framesize.html [ Skip ]
-webkit.org/b/230644 [ Debug ] imported/w3c/web-platform-tests/media-source/mediasource-changetype-play-negative.html [ Pass Crash ]
-webkit.org/b/230644 [ Debug ] imported/w3c/web-platform-tests/media-source/mediasource-changetype-play-implicit.html [ Pass Crash ]
-webkit.org/b/230644 [ Debug ] media/media-source/media-source-abort-resets-parser.html [ Pass Crash ]
-webkit.org/b/230644 [ Debug ] media/media-source/media-source-resize.html [ Pass Crash ]
-webkit.org/b/230644 [ Debug ] media/media-source/media-source-trackid-change.html [ Pass Crash ]
-webkit.org/b/230644 [ Debug ] media/media-source/only-bcp47-language-tags-accepted-as-valid.html [ Pass Crash ]
-
[ BigSur ] imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-filter-order.html [ Pass ImageOnlyFailure ]
[ BigSur ] imported/w3c/web-platform-tests/css/css-will-change/will-change-fixpos-cb-transform-1.html [ Pass ImageOnlyFailure ]
Modified: trunk/Source/WebCore/ChangeLog (282923 => 282924)
--- trunk/Source/WebCore/ChangeLog 2021-09-23 04:56:05 UTC (rev 282923)
+++ trunk/Source/WebCore/ChangeLog 2021-09-23 05:05:02 UTC (rev 282924)
@@ -1,3 +1,22 @@
+2021-09-22 Jean-Yves Avenard <j...@apple.com>
+
+ Make SharedBuffer inherit from ThreadSafeRefCounted
+ https://bugs.webkit.org/show_bug.cgi?id=230662
+ rdar://83419269
+
+ The SourceBufferPrivateAVFObjC uses dispatch_async that takes an objective-C class.
+ This copies its argument rather than move it and we end up with the SharedBuffer
+ captured in the lambda to have its ref count be > 1.
+ The easiest workaround is to make SharedBuffer use thread-safe refcount.
+ Of course, this doesn't make a SharedBuffer a thread-safe class, but it allows
+ to safely move it between threads.
+
+ Already covered by existing tests.
+
+ Reviewed by Chris Dumez.
+
+ * platform/SharedBuffer.h:
+
2021-09-22 Myles C. Maxfield <mmaxfi...@apple.com>
[Cocoa] Hook up palettes to CoreText
Modified: trunk/Source/WebCore/platform/SharedBuffer.h (282923 => 282924)
--- trunk/Source/WebCore/platform/SharedBuffer.h 2021-09-23 04:56:05 UTC (rev 282923)
+++ trunk/Source/WebCore/platform/SharedBuffer.h 2021-09-23 05:05:02 UTC (rev 282924)
@@ -30,7 +30,6 @@
#include <wtf/FileSystem.h>
#include <wtf/Forward.h>
#include <wtf/Function.h>
-#include <wtf/RefCounted.h>
#include <wtf/Span.h>
#include <wtf/ThreadSafeRefCounted.h>
#include <wtf/Variant.h>
@@ -65,7 +64,7 @@
class SharedBufferDataView;
-class WEBCORE_EXPORT SharedBuffer : public RefCounted<SharedBuffer> {
+class WEBCORE_EXPORT SharedBuffer : public ThreadSafeRefCounted<SharedBuffer> {
public:
static Ref<SharedBuffer> create() { return adoptRef(*new SharedBuffer); }
static Ref<SharedBuffer> create(const uint8_t* data, size_t size) { return adoptRef(*new SharedBuffer(data, size)); }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes