Title: [255165] trunk/Source/WebCore
Revision
255165
Author
[email protected]
Date
2020-01-27 13:29:11 -0800 (Mon, 27 Jan 2020)

Log Message

Unreviewed, rolling out r255161.

Broke the watchOS build.

Reverted changeset:

"Crash in WebCore::HTMLMediaElement::detachMediaSource()"
https://bugs.webkit.org/show_bug.cgi?id=206766
https://trac.webkit.org/changeset/255161

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (255164 => 255165)


--- trunk/Source/WebCore/ChangeLog	2020-01-27 21:25:12 UTC (rev 255164)
+++ trunk/Source/WebCore/ChangeLog	2020-01-27 21:29:11 UTC (rev 255165)
@@ -1,3 +1,15 @@
+2020-01-27  Ryan Haddad  <[email protected]>
+
+        Unreviewed, rolling out r255161.
+
+        Broke the watchOS build.
+
+        Reverted changeset:
+
+        "Crash in WebCore::HTMLMediaElement::detachMediaSource()"
+        https://bugs.webkit.org/show_bug.cgi?id=206766
+        https://trac.webkit.org/changeset/255161
+
 2020-01-27  Jer Noble  <[email protected]>
 
         Support 'allow="fullscreen"' feature policy

Modified: trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp (255164 => 255165)


--- trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp	2020-01-27 21:25:12 UTC (rev 255164)
+++ trunk/Source/WebCore/Modules/mediasource/MediaSource.cpp	2020-01-27 21:29:11 UTC (rev 255165)
@@ -956,7 +956,7 @@
 
     ASSERT(isClosed());
 
-    m_mediaElement = makeWeakPtr(&element);
+    m_mediaElement = &element;
     return true;
 }
 

Modified: trunk/Source/WebCore/Modules/mediasource/MediaSource.h (255164 => 255165)


--- trunk/Source/WebCore/Modules/mediasource/MediaSource.h	2020-01-27 21:25:12 UTC (rev 255164)
+++ trunk/Source/WebCore/Modules/mediasource/MediaSource.h	2020-01-27 21:29:11 UTC (rev 255165)
@@ -36,15 +36,14 @@
 #include "EventTarget.h"
 #include "ExceptionOr.h"
 #include "GenericEventQueue.h"
-#include "HTMLMediaElement.h"
 #include "MediaSourcePrivateClient.h"
 #include "URLRegistry.h"
 #include <wtf/LoggerHelper.h>
-#include <wtf/WeakPtr.h>
 
 namespace WebCore {
 
 class ContentType;
+class HTMLMediaElement;
 class SourceBuffer;
 class SourceBufferList;
 class SourceBufferPrivate;
@@ -98,7 +97,7 @@
     ReadyState readyState() const { return m_readyState; }
     ExceptionOr<void> endOfStream(Optional<EndOfStreamError>);
 
-    HTMLMediaElement* mediaElement() const { return m_mediaElement.get(); }
+    HTMLMediaElement* mediaElement() const { return m_mediaElement; }
 
     SourceBufferList* sourceBuffers() { return m_sourceBuffers.get(); }
     SourceBufferList* activeSourceBuffers() { return m_activeSourceBuffers.get(); }
@@ -162,7 +161,7 @@
     RefPtr<SourceBufferList> m_activeSourceBuffers;
     mutable std::unique_ptr<PlatformTimeRanges> m_buffered;
     std::unique_ptr<PlatformTimeRanges> m_liveSeekable;
-    WeakPtr<HTMLMediaElement> m_mediaElement;
+    HTMLMediaElement* m_mediaElement { nullptr };
     MediaTime m_duration;
     MediaTime m_pendingSeekTime;
     ReadyState m_readyState { ReadyState::Closed };

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (255164 => 255165)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2020-01-27 21:25:12 UTC (rev 255164)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2020-01-27 21:29:11 UTC (rev 255165)
@@ -1535,16 +1535,11 @@
         loadAttempted = true;
 
         ALWAYS_LOG(LOGIDENTIFIER, "loading MSE blob");
-        if (!m_mediaSource->attachToElement(*this)) {
+        if (!m_mediaSource->attachToElement(*this) || !m_player->load(url, contentType, m_mediaSource.get())) {
             // Forget our reference to the MediaSource, so we leave it alone
             // while processing remainder of load failure.
             m_mediaSource = nullptr;
             mediaLoadingFailed(MediaPlayer::NetworkState::FormatError);
-        } else if (!m_player->load(url, contentType, m_mediaSource.get())) {
-            // We have to detach the MediaSource before we forget the reference to it.
-            m_mediaSource->detachFromElement(*this);
-            m_mediaSource = nullptr;
-            mediaLoadingFailed(MediaPlayer::NetworkState::FormatError);
         }
     }
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to