WebKit Bugzilla
Attachment 368600 Details for
Bug 197436
: REGRESSION(r244773): Causing assertion failures on debug queues (Requested by ShawnRoberts on #webkit).
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
ROLLOUT of r244773
bug-197436-20190430131909.patch (text/plain), 7.17 KB, created by
WebKit Commit Bot
on 2019-04-30 13:19:09 PDT
(
hide
)
Description:
ROLLOUT of r244773
Filename:
MIME Type:
Creator:
WebKit Commit Bot
Created:
2019-04-30 13:19:09 PDT
Size:
7.17 KB
patch
obsolete
>Subversion Revision: 244797 >diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog >index 96192bceacc8c3b5408f0bc089f7cafadc8dad53..e01866d2d6b471efa2826160f61b4c3cdb909ec4 100644 >--- a/Source/WTF/ChangeLog >+++ b/Source/WTF/ChangeLog >@@ -1,3 +1,17 @@ >+2019-04-30 Commit Queue <commit-queue@webkit.org> >+ >+ Unreviewed, rolling out r244773. >+ https://bugs.webkit.org/show_bug.cgi?id=197436 >+ >+ Causing assertion failures on debug queues (Requested by >+ ShawnRoberts on #webkit). >+ >+ Reverted changeset: >+ >+ "Make Document audio producers use WeakPtr" >+ https://bugs.webkit.org/show_bug.cgi?id=197382 >+ https://trac.webkit.org/changeset/244773 >+ > 2019-04-30 Youenn Fablet <youenn@apple.com> > > Make Document audio producers use WeakPtr >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index a5a709dd7c6e3313da54339871aa213c331ee30e..76df598362df33a7cfcb5fc006e94d433de80b75 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,17 @@ >+2019-04-30 Commit Queue <commit-queue@webkit.org> >+ >+ Unreviewed, rolling out r244773. >+ https://bugs.webkit.org/show_bug.cgi?id=197436 >+ >+ Causing assertion failures on debug queues (Requested by >+ ShawnRoberts on #webkit). >+ >+ Reverted changeset: >+ >+ "Make Document audio producers use WeakPtr" >+ https://bugs.webkit.org/show_bug.cgi?id=197382 >+ https://trac.webkit.org/changeset/244773 >+ > 2019-04-30 Commit Queue <commit-queue@webkit.org> > > Unreviewed, rolling out r244774. >diff --git a/Source/WTF/wtf/WeakHashSet.h b/Source/WTF/wtf/WeakHashSet.h >index 092011cfcd1f0916c93d689eebb62fef66755c1a..8c8987b192c4a98e5280b6bf52c6d2e92301b513 100644 >--- a/Source/WTF/wtf/WeakHashSet.h >+++ b/Source/WTF/wtf/WeakHashSet.h >@@ -25,7 +25,6 @@ > > #pragma once > >-#include <wtf/Algorithms.h> > #include <wtf/HashSet.h> > #include <wtf/HashTraits.h> > #include <wtf/WeakPtr.h> >@@ -124,11 +123,6 @@ public: > return true; > } > >- bool hasNullReferences() const >- { >- return WTF::anyOf(m_set, [] (auto& value) { return !value->get(); }); >- } >- > unsigned computeSize() const > { > const_cast<WeakReferenceSet&>(m_set).removeIf([] (auto& value) { return !value->get(); }); >diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h >index de8b5a6f89fe88c44fa2c77638253c3086908331..7c11f3fe0855ea4c038cdf03e21815307c374e56 100644 >--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h >+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h >@@ -51,7 +51,8 @@ class MediaStreamTrack > : public RefCounted<MediaStreamTrack> > , public ActiveDOMObject > , public EventTargetWithInlineData >- , public MediaProducer >+ , public CanMakeWeakPtr<MediaStreamTrack> >+ , private MediaProducer > , private MediaStreamTrackPrivate::Observer > #if !RELEASE_LOG_DISABLED > , private LoggerHelper >diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp >index 224ea10e2d8add44748b91cfb9321784b7ee6a8a..1794bed75a5bd9600331d2520f26b0ec70cd0f21 100644 >--- a/Source/WebCore/dom/Document.cpp >+++ b/Source/WebCore/dom/Document.cpp >@@ -3902,13 +3902,13 @@ void Document::updateViewportUnitsOnResize() > > void Document::addAudioProducer(MediaProducer& audioProducer) > { >- m_audioProducers.add(audioProducer); >+ m_audioProducers.add(&audioProducer); > updateIsPlayingMedia(); > } > > void Document::removeAudioProducer(MediaProducer& audioProducer) > { >- m_audioProducers.remove(audioProducer); >+ m_audioProducers.remove(&audioProducer); > updateIsPlayingMedia(); > } > >@@ -3926,11 +3926,9 @@ void Document::noteUserInteractionWithMediaElement() > > void Document::updateIsPlayingMedia(uint64_t sourceElementID) > { >- ASSERT(!m_audioProducers.hasNullReferences()); >- > MediaProducer::MediaStateFlags state = MediaProducer::IsNotPlaying; >- for (auto& audioProducer : m_audioProducers) >- state |= audioProducer.mediaState(); >+ for (auto* audioProducer : m_audioProducers) >+ state |= audioProducer->mediaState(); > > #if ENABLE(MEDIA_SESSION) > if (HTMLMediaElement* sourceElement = HTMLMediaElement::elementWithID(sourceElementID)) { >@@ -3971,8 +3969,8 @@ void Document::updateIsPlayingMedia(uint64_t sourceElementID) > > void Document::pageMutedStateDidChange() > { >- for (auto& audioProducer : m_audioProducers) >- audioProducer.pageMutedStateDidChange(); >+ for (auto* audioProducer : m_audioProducers) >+ audioProducer->pageMutedStateDidChange(); > } > > static bool isNodeInSubtree(Node& node, Node& container, Document::NodeRemoval nodeRemoval) >diff --git a/Source/WebCore/dom/Document.h b/Source/WebCore/dom/Document.h >index 45f85989a593d804d1a1543347db10960332896f..1417c2e126e10936d9289f4d49de5eb24624cac4 100644 >--- a/Source/WebCore/dom/Document.h >+++ b/Source/WebCore/dom/Document.h >@@ -66,7 +66,6 @@ > #include <wtf/Logger.h> > #include <wtf/ObjectIdentifier.h> > #include <wtf/UniqueRef.h> >-#include <wtf/WeakHashSet.h> > #include <wtf/WeakPtr.h> > #include <wtf/text/AtomicStringHash.h> > >@@ -1892,7 +1891,7 @@ private: > > Ref<CSSFontSelector> m_fontSelector; > >- WeakHashSet<MediaProducer> m_audioProducers; >+ HashSet<MediaProducer*> m_audioProducers; > > HashSet<ShadowRoot*> m_inDocumentShadowRoots; > >diff --git a/Source/WebCore/html/HTMLMediaElement.cpp b/Source/WebCore/html/HTMLMediaElement.cpp >index e3093f2320296199def96d126d054ff976ef787e..6b0f42f6a95b0893c89f5b396b4d03e9e9a37dad 100644 >--- a/Source/WebCore/html/HTMLMediaElement.cpp >+++ b/Source/WebCore/html/HTMLMediaElement.cpp >@@ -1768,9 +1768,9 @@ void HTMLMediaElement::updateActiveTextTrackCues(const MediaTime& movieTime) > if (!weakThis) > return; > >- auto currentMediaTime = this->currentMediaTime(); >+ auto currentMediaTime = weakThis->currentMediaTime(); > INFO_LOG(LOGIDENTIFIER, " lambda, currentMediaTime: ", currentMediaTime); >- this->updateActiveTextTrackCues(currentMediaTime); >+ weakThis->updateActiveTextTrackCues(currentMediaTime); > }, nextInterestingTime); > } > >diff --git a/Source/WebCore/html/HTMLMediaElement.h b/Source/WebCore/html/HTMLMediaElement.h >index 2296c66df97bac4bcc9ea3c27b200fb30bb6e289..576c7dce9bd1f0088e88d0d5ac281f62083ecef2 100644 >--- a/Source/WebCore/html/HTMLMediaElement.h >+++ b/Source/WebCore/html/HTMLMediaElement.h >@@ -573,8 +573,6 @@ public: > > enum class AutoplayEventPlaybackState { None, PreventedAutoplay, StartedWithUserGesture, StartedWithoutUserGesture }; > >- using HTMLElement::weakPtrFactory; >- > protected: > HTMLMediaElement(const QualifiedName&, Document&, bool createdByParser); > virtual void finishInitialization(); >diff --git a/Source/WebCore/page/MediaProducer.h b/Source/WebCore/page/MediaProducer.h >index 92c19e85c8d6d0d5209e1d35bd40b064857e014c..b01ab94b3b41d9244425173ef2ac80d8ac9c1d70 100644 >--- a/Source/WebCore/page/MediaProducer.h >+++ b/Source/WebCore/page/MediaProducer.h >@@ -25,11 +25,9 @@ > > #pragma once > >-#include <wtf/WeakPtr.h> >- > namespace WebCore { > >-class MediaProducer : public CanMakeWeakPtr<MediaProducer> { >+class MediaProducer { > public: > enum MediaState { > IsNotPlaying = 0,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197436
: 368600