Title: [202928] branches/safari-602.1.40-branch/Source/WebCore
Revision
202928
Author
[email protected]
Date
2016-07-07 13:13:58 -0700 (Thu, 07 Jul 2016)

Log Message

Merged r202923.  rdar://problem/27221109

Modified Paths

Diff

Modified: branches/safari-602.1.40-branch/Source/WebCore/ChangeLog (202927 => 202928)


--- branches/safari-602.1.40-branch/Source/WebCore/ChangeLog	2016-07-07 19:32:33 UTC (rev 202927)
+++ branches/safari-602.1.40-branch/Source/WebCore/ChangeLog	2016-07-07 20:13:58 UTC (rev 202928)
@@ -1,5 +1,32 @@
 2016-07-07  Babak Shafiei  <[email protected]>
 
+        Merge r202923.
+
+    2016-07-07  Jer Noble  <[email protected]>
+
+            Crash due to HTMLMediaElement at _javascript_Core: JSC::JSLockHolder::JSLockHolder
+            https://bugs.webkit.org/show_bug.cgi?id=159517
+            <rdar://problem/27221109>
+
+            Reviewed by Eric Carlson.
+
+            When WebKit on iOS gets a notification that the UIProcess has been backgrounded, it sends an
+            interruption event to the WebProcess to pause any playing HTMLMediaElements. When the
+            elements which get this interruption have pending promises created during a previous call to
+            play(), these promises get rejected.
+
+            However, if the HTMLMediaElement's document has already been destroyed, the pending Promises
+            are in an inconsistent state: their script execution context (the document) has been
+            destroyed, leading to the crash in JSLockHolder.
+
+            When HTMLMediaElement is notified that its ScriptExecutionContext has been destroyed, also
+            clear the list of pending Promises.
+
+            * html/HTMLMediaElement.cpp:
+            (WebCore::HTMLMediaElement::contextDestroyed):
+
+2016-07-07  Babak Shafiei  <[email protected]>
+
         Merge patch for rdar://problem/27175583.
 
     2016-06-23  Dean Jackson  <[email protected]>

Modified: branches/safari-602.1.40-branch/Source/WebCore/html/HTMLMediaElement.cpp (202927 => 202928)


--- branches/safari-602.1.40-branch/Source/WebCore/html/HTMLMediaElement.cpp	2016-07-07 19:32:33 UTC (rev 202927)
+++ branches/safari-602.1.40-branch/Source/WebCore/html/HTMLMediaElement.cpp	2016-07-07 20:13:58 UTC (rev 202928)
@@ -5094,6 +5094,8 @@
     m_promiseTaskQueue.close();
     m_pauseAfterDetachedTaskQueue.close();
 
+    m_pendingPlayPromises.clear();
+
     ActiveDOMObject::contextDestroyed();
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to