Title: [185120] trunk/Source/WebCore
Revision
185120
Author
[email protected]
Date
2015-06-02 14:04:55 -0700 (Tue, 02 Jun 2015)

Log Message

[Mac] occasional crash in Document::playbackTargetAvailabilityDidChange
https://bugs.webkit.org/show_bug.cgi?id=145559

Reviewed by Darin Adler.

No new tests, covered by existing tests.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::registerWithDocument): Pass document to m_mediaSession->registerWithDocument.
(WebCore::HTMLMediaElement::unregisterWithDocument): Pass document to m_mediaSession->unRegisterWithDocument.
(WebCore::HTMLMediaElement::documentWillSuspendForPageCache): Ditto.
(WebCore::HTMLMediaElement::documentDidResumeFromPageCache): Ditto.

* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::registerWithDocument): Take a document.
(WebCore::MediaElementSession::unregisterWithDocument): Ditto.
* html/MediaElementSession.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (185119 => 185120)


--- trunk/Source/WebCore/ChangeLog	2015-06-02 20:22:15 UTC (rev 185119)
+++ trunk/Source/WebCore/ChangeLog	2015-06-02 21:04:55 UTC (rev 185120)
@@ -1,3 +1,23 @@
+2015-06-02  Eric Carlson  <[email protected]>
+
+        [Mac] occasional crash in Document::playbackTargetAvailabilityDidChange
+        https://bugs.webkit.org/show_bug.cgi?id=145559
+
+        Reviewed by Darin Adler.
+
+        No new tests, covered by existing tests.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::registerWithDocument): Pass document to m_mediaSession->registerWithDocument.
+        (WebCore::HTMLMediaElement::unregisterWithDocument): Pass document to m_mediaSession->unRegisterWithDocument.
+        (WebCore::HTMLMediaElement::documentWillSuspendForPageCache): Ditto.
+        (WebCore::HTMLMediaElement::documentDidResumeFromPageCache): Ditto.
+
+        * html/MediaElementSession.cpp:
+        (WebCore::MediaElementSession::registerWithDocument): Take a document.
+        (WebCore::MediaElementSession::unregisterWithDocument): Ditto.
+        * html/MediaElementSession.h:
+
 2015-06-02  Chris Dumez  <[email protected]>
 
         Calling FrameView::viewportContentsChanged() after style recalcs is too expensive

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (185119 => 185120)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2015-06-02 20:22:15 UTC (rev 185119)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2015-06-02 21:04:55 UTC (rev 185120)
@@ -460,7 +460,7 @@
 
 void HTMLMediaElement::registerWithDocument(Document& document)
 {
-    m_mediaSession->registerWithDocument(*this);
+    m_mediaSession->registerWithDocument(document);
 
     if (m_isWaitingUntilMediaCanStart)
         document.addMediaCanStartListener(this);
@@ -492,7 +492,7 @@
 
 void HTMLMediaElement::unregisterWithDocument(Document& document)
 {
-    m_mediaSession->unregisterWithDocument(*this);
+    m_mediaSession->unregisterWithDocument(document);
 
     if (m_isWaitingUntilMediaCanStart)
         document.removeMediaCanStartListener(this);
@@ -530,9 +530,8 @@
         document().incrementLoadEventDelayCount();
     }
 
-    if (oldDocument) {
+    if (oldDocument)
         unregisterWithDocument(*oldDocument);
-    }
 
     registerWithDocument(document());
 
@@ -542,12 +541,12 @@
 #if ENABLE(WIRELESS_PLAYBACK_TARGET)
 void HTMLMediaElement::documentWillSuspendForPageCache()
 {
-    m_mediaSession->unregisterWithDocument(*this);
+    m_mediaSession->unregisterWithDocument(document());
 }
 
 void HTMLMediaElement::documentDidResumeFromPageCache()
 {
-    m_mediaSession->registerWithDocument(*this);
+    m_mediaSession->registerWithDocument(document());
 }
 #endif
 

Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (185119 => 185120)


--- trunk/Source/WebCore/html/MediaElementSession.cpp	2015-06-02 20:22:15 UTC (rev 185119)
+++ trunk/Source/WebCore/html/MediaElementSession.cpp	2015-06-02 21:04:55 UTC (rev 185120)
@@ -87,21 +87,21 @@
 {
 }
 
-void MediaElementSession::registerWithDocument(const HTMLMediaElement& element)
+void MediaElementSession::registerWithDocument(Document& document)
 {
 #if ENABLE(WIRELESS_PLAYBACK_TARGET)
-    element.document().addPlaybackTargetPickerClient(*this);
+    document.addPlaybackTargetPickerClient(*this);
 #else
-    UNUSED_PARAM(element);
+    UNUSED_PARAM(document);
 #endif
 }
 
-void MediaElementSession::unregisterWithDocument(const HTMLMediaElement& element)
+void MediaElementSession::unregisterWithDocument(Document& document)
 {
 #if ENABLE(WIRELESS_PLAYBACK_TARGET)
-    element.document().removePlaybackTargetPickerClient(*this);
+    document.removePlaybackTargetPickerClient(*this);
 #else
-    UNUSED_PARAM(element);
+    UNUSED_PARAM(document);
 #endif
 }
 

Modified: trunk/Source/WebCore/html/MediaElementSession.h (185119 => 185120)


--- trunk/Source/WebCore/html/MediaElementSession.h	2015-06-02 20:22:15 UTC (rev 185119)
+++ trunk/Source/WebCore/html/MediaElementSession.h	2015-06-02 21:04:55 UTC (rev 185120)
@@ -44,8 +44,8 @@
     explicit MediaElementSession(PlatformMediaSessionClient&);
     virtual ~MediaElementSession() { }
 
-    void registerWithDocument(const HTMLMediaElement&);
-    void unregisterWithDocument(const HTMLMediaElement&);
+    void registerWithDocument(Document&);
+    void unregisterWithDocument(Document&);
 
     bool playbackPermitted(const HTMLMediaElement&) const;
     bool dataLoadingPermitted(const HTMLMediaElement&) const;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to