Title: [259359] trunk
- Revision
- 259359
- Author
- cdu...@apple.com
- Date
- 2020-04-01 12:30:13 -0700 (Wed, 01 Apr 2020)
Log Message
ASSERTION FAILED: m_wrapper on imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html
https://bugs.webkit.org/show_bug.cgi?id=209684
<rdar://problem/60987285>
Reviewed by Darin Adler.
Source/WebCore:
Make sure the JS wrapper does not get collected while the HTMLMediaElement is in a state where
is may still fire events (and there are JS event listeners registered). In particular, it used
to be possible for the wrapper to get collected because media playback had started and we would
crash trying to fire the very early 'canplay' JS event.
No new tests, covered by existing test.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::virtualHasPendingActivity const):
LayoutTests:
Unmark the test as crashing.
* platform/mac/TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (259358 => 259359)
--- trunk/LayoutTests/ChangeLog 2020-04-01 19:15:17 UTC (rev 259358)
+++ trunk/LayoutTests/ChangeLog 2020-04-01 19:30:13 UTC (rev 259359)
@@ -1,3 +1,15 @@
+2020-04-01 Chris Dumez <cdu...@apple.com>
+
+ ASSERTION FAILED: m_wrapper on imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html
+ https://bugs.webkit.org/show_bug.cgi?id=209684
+ <rdar://problem/60987285>
+
+ Reviewed by Darin Adler.
+
+ Unmark the test as crashing.
+
+ * platform/mac/TestExpectations:
+
2020-04-01 Jason Lawrence <lawrenc...@apple.com>
[ iOS wk2 ] crypto/subtle/rsa-indexeddb-non-exportable-private.html is flaky timing out.
Modified: trunk/LayoutTests/platform/mac/TestExpectations (259358 => 259359)
--- trunk/LayoutTests/platform/mac/TestExpectations 2020-04-01 19:15:17 UTC (rev 259358)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2020-04-01 19:30:13 UTC (rev 259359)
@@ -1652,7 +1652,7 @@
webkit.org/b/189680 platform/mac/media/audio-session-category-video-paused.html [ Pass Timeout ]
-webkit.org/b/195466 imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html [ Pass Failure Crash ]
+webkit.org/b/195466 imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html [ Pass Failure ]
webkit.org/b/195466 imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/error.html [ Pass Failure ]
webkit.org/b/193399 media/media-fullscreen-return-to-inline.html [ Pass Timeout Crash ]
Modified: trunk/Source/WebCore/ChangeLog (259358 => 259359)
--- trunk/Source/WebCore/ChangeLog 2020-04-01 19:15:17 UTC (rev 259358)
+++ trunk/Source/WebCore/ChangeLog 2020-04-01 19:30:13 UTC (rev 259359)
@@ -1,3 +1,21 @@
+2020-04-01 Chris Dumez <cdu...@apple.com>
+
+ ASSERTION FAILED: m_wrapper on imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html
+ https://bugs.webkit.org/show_bug.cgi?id=209684
+ <rdar://problem/60987285>
+
+ Reviewed by Darin Adler.
+
+ Make sure the JS wrapper does not get collected while the HTMLMediaElement is in a state where
+ is may still fire events (and there are JS event listeners registered). In particular, it used
+ to be possible for the wrapper to get collected because media playback had started and we would
+ crash trying to fire the very early 'canplay' JS event.
+
+ No new tests, covered by existing test.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::virtualHasPendingActivity const):
+
2020-04-01 Don Olmstead <don.olmst...@sony.com>
[PlayStation] Use OBJECT libraries for WebCore and PAL
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (259358 => 259359)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2020-04-01 19:15:17 UTC (rev 259358)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2020-04-01 19:30:13 UTC (rev 259359)
@@ -5761,7 +5761,10 @@
bool HTMLMediaElement::virtualHasPendingActivity() const
{
- return (hasAudio() && isPlaying()) || m_asyncEventQueue->hasPendingActivity() || m_playbackTargetIsWirelessQueue.hasPendingTasks() || m_creatingControls;
+ return m_creatingControls
+ || (m_asyncEventQueue->hasPendingActivity() || m_playbackTargetIsWirelessQueue.hasPendingTasks())
+ || (hasAudio() && isPlaying())
+ || (m_player && (!ended() || seeking() || m_networkState >= NETWORK_IDLE) && hasEventListeners());
}
void HTMLMediaElement::mediaVolumeDidChange()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes