Changeset 259447 in webkit
- Timestamp:
- Apr 3, 2020 12:21:03 AM (4 years ago)
- Location:
- trunk/Source
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r259445 r259447 1 2020-04-03 Peng Liu <peng.liu6@apple.com> 2 3 WebCore::HTMLMediaElement::mediaCanStart crashes 4 https://bugs.webkit.org/show_bug.cgi?id=209950 5 6 Reviewed by Jer Noble. 7 8 Use WeakHashSet instead of HashSet to record MediaCanStartListeners in Document. 9 10 * dom/Document.cpp: 11 (WebCore::Document::addMediaCanStartListener): 12 (WebCore::Document::removeMediaCanStartListener): 13 (WebCore::Document::takeAnyMediaCanStartListener): 14 * dom/Document.h: 15 * page/MediaCanStartListener.h: 16 1 17 2020-04-03 Simon Fraser <simon.fraser@apple.com> 2 18 -
trunk/Source/WebCore/dom/Document.cpp
r259152 r259447 6423 6423 void Document::addMediaCanStartListener(MediaCanStartListener& listener) 6424 6424 { 6425 ASSERT(!m_mediaCanStartListeners.contains( &listener));6426 m_mediaCanStartListeners.add( &listener);6425 ASSERT(!m_mediaCanStartListeners.contains(listener)); 6426 m_mediaCanStartListeners.add(listener); 6427 6427 } 6428 6428 6429 6429 void Document::removeMediaCanStartListener(MediaCanStartListener& listener) 6430 6430 { 6431 ASSERT(m_mediaCanStartListeners.contains( &listener));6432 m_mediaCanStartListeners.remove( &listener);6431 ASSERT(m_mediaCanStartListeners.contains(listener)); 6432 m_mediaCanStartListeners.remove(listener); 6433 6433 } 6434 6434 6435 6435 MediaCanStartListener* Document::takeAnyMediaCanStartListener() 6436 6436 { 6437 return m_mediaCanStartListeners.takeAny(); 6437 if (m_mediaCanStartListeners.computesEmpty()) 6438 return nullptr; 6439 6440 MediaCanStartListener* listener = m_mediaCanStartListeners.begin().get(); 6441 m_mediaCanStartListeners.remove(*listener); 6442 6443 return listener; 6438 6444 } 6439 6445 -
trunk/Source/WebCore/dom/Document.h
r259148 r259447 1826 1826 RenderPtr<RenderView> m_renderView; 1827 1827 1828 HashSet<MediaCanStartListener*> m_mediaCanStartListeners;1828 WeakHashSet<MediaCanStartListener> m_mediaCanStartListeners; 1829 1829 1830 1830 #if ENABLE(FULLSCREEN_API) -
trunk/Source/WebCore/page/MediaCanStartListener.h
r223728 r259447 26 26 #pragma once 27 27 28 #include <wtf/WeakPtr.h> 29 28 30 namespace WebCore { 29 31 30 32 class Document; 31 33 32 class MediaCanStartListener {34 class MediaCanStartListener : public CanMakeWeakPtr<MediaCanStartListener> { 33 35 public: 34 36 virtual void mediaCanStart(Document&) = 0; -
trunk/Source/WebKit/ChangeLog
r259440 r259447 1 2020-04-03 Peng Liu <peng.liu6@apple.com> 2 3 WebCore::HTMLMediaElement::mediaCanStart crashes 4 https://bugs.webkit.org/show_bug.cgi?id=209950 5 6 Reviewed by Jer Noble. 7 8 UserMediaPermissionRequestManager does not need to inherit from 9 CanMakeWeakPtr<UserMediaPermissionRequestManager> because its 10 parent class MediaCanStartListener supports WeakPtr now. 11 12 * WebProcess/MediaStream/UserMediaPermissionRequestManager.h: 13 1 14 2020-04-02 John Wilander <wilander@apple.com> 2 15 -
trunk/Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.h
r250233 r259447 35 35 class WebPage; 36 36 37 class UserMediaPermissionRequestManager : p ublic CanMakeWeakPtr<UserMediaPermissionRequestManager>, private WebCore::MediaCanStartListener {37 class UserMediaPermissionRequestManager : private WebCore::MediaCanStartListener { 38 38 WTF_MAKE_FAST_ALLOCATED; 39 39 public:
Note: See TracChangeset
for help on using the changeset viewer.