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