Title: [227795] branches/safari-605-branch/Source/WebCore

Diff

Modified: branches/safari-605-branch/Source/WebCore/ChangeLog (227794 => 227795)


--- branches/safari-605-branch/Source/WebCore/ChangeLog	2018-01-30 18:33:57 UTC (rev 227794)
+++ branches/safari-605-branch/Source/WebCore/ChangeLog	2018-01-30 18:45:21 UTC (rev 227795)
@@ -1,3 +1,21 @@
+2018-01-30  Jason Marcell  <[email protected]>
+
+        Cherry-pick r227529. rdar://problem/37019438
+
+    2018-01-24  Eric Carlson  <[email protected]>
+
+            REGRESSION(r227457): Release assert in updateLayout while destructing a media element
+            https://bugs.webkit.org/show_bug.cgi?id=182038
+            <rdar://problem/36812083>
+
+            Reviewed by Jer Noble.
+
+            * html/MediaElementSession.cpp:
+            (WebCore::isMainContentForPurposesOfAutoplay): Early return if element.isSuspended().
+            * platform/audio/mac/MediaSessionManagerMac.mm:
+            (WebCore::MediaSessionManagerMac::clientCharacteristicsChanged): Call scheduleUpdateNowPlayingInfo
+            instead of updateNowPlayingInfo.
+
 2018-01-29  Jason Marcell  <[email protected]>
 
         Cherry-pick r227737. rdar://problem/36746140

Modified: branches/safari-605-branch/Source/WebCore/html/MediaElementSession.cpp (227794 => 227795)


--- branches/safari-605-branch/Source/WebCore/html/MediaElementSession.cpp	2018-01-30 18:33:57 UTC (rev 227794)
+++ branches/safari-605-branch/Source/WebCore/html/MediaElementSession.cpp	2018-01-30 18:45:21 UTC (rev 227795)
@@ -695,7 +695,7 @@
 static bool isMainContentForPurposesOfAutoplay(const HTMLMediaElement& element)
 {
     Document& document = element.document();
-    if (!document.isSafeToUpdateStyleOrLayout() || !element.hasAudio() || !element.hasVideo())
+    if (element.isSuspended() || !element.hasAudio() || !element.hasVideo())
         return false;
 
     // Elements which have not yet been laid out, or which are not yet in the DOM, cannot be main content.
@@ -715,7 +715,7 @@
         return false;
 
     // Main content elements must be in the main frame.
-    if (!document.frame() || !document.frame()->isMainFrame())
+    if (!document.frame() || !document.frame()->isMainFrame() || !document.isSafeToUpdateStyleOrLayout())
         return false;
 
     MainFrame& mainFrame = document.frame()->mainFrame();

Modified: branches/safari-605-branch/Source/WebCore/platform/audio/mac/MediaSessionManagerMac.mm (227794 => 227795)


--- branches/safari-605-branch/Source/WebCore/platform/audio/mac/MediaSessionManagerMac.mm	2018-01-30 18:33:57 UTC (rev 227794)
+++ branches/safari-605-branch/Source/WebCore/platform/audio/mac/MediaSessionManagerMac.mm	2018-01-30 18:45:21 UTC (rev 227795)
@@ -102,7 +102,7 @@
 void MediaSessionManagerMac::clientCharacteristicsChanged(PlatformMediaSession&)
 {
     LOG(Media, "MediaSessionManagerMac::clientCharacteristicsChanged");
-    updateNowPlayingInfo();
+    scheduleUpdateNowPlayingInfo();
 }
 
 PlatformMediaSession* MediaSessionManagerMac::nowPlayingEligibleSession()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to