Title: [280099] trunk/Source/WebCore
- Revision
- 280099
- Author
- [email protected]
- Date
- 2021-07-20 12:54:46 -0700 (Tue, 20 Jul 2021)
Log Message
Use WeakHashSet for Page::m_activityStateChangeObservers
https://bugs.webkit.org/show_bug.cgi?id=228065
Reviewed by Chris Dumez.
* page/ActivityStateChangeObserver.h: Inherit CanMakeWeakPtr.
* page/Page.cpp:
(WebCore::Page::addActivityStateChangeObserver):
(WebCore::Page::removeActivityStateChangeObserver):
(WebCore::Page::setActivityState):
* page/Page.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (280098 => 280099)
--- trunk/Source/WebCore/ChangeLog 2021-07-20 19:44:18 UTC (rev 280098)
+++ trunk/Source/WebCore/ChangeLog 2021-07-20 19:54:46 UTC (rev 280099)
@@ -1,3 +1,17 @@
+2021-07-20 Fujii Hironori <[email protected]>
+
+ Use WeakHashSet for Page::m_activityStateChangeObservers
+ https://bugs.webkit.org/show_bug.cgi?id=228065
+
+ Reviewed by Chris Dumez.
+
+ * page/ActivityStateChangeObserver.h: Inherit CanMakeWeakPtr.
+ * page/Page.cpp:
+ (WebCore::Page::addActivityStateChangeObserver):
+ (WebCore::Page::removeActivityStateChangeObserver):
+ (WebCore::Page::setActivityState):
+ * page/Page.h:
+
2021-07-20 Tim Horton <[email protected]>
REGRESSION (r278062): Misplaced text in Wikipedia search field
Modified: trunk/Source/WebCore/page/ActivityStateChangeObserver.h (280098 => 280099)
--- trunk/Source/WebCore/page/ActivityStateChangeObserver.h 2021-07-20 19:44:18 UTC (rev 280098)
+++ trunk/Source/WebCore/page/ActivityStateChangeObserver.h 2021-07-20 19:54:46 UTC (rev 280099)
@@ -26,10 +26,11 @@
#pragma once
#include "ActivityState.h"
+#include <wtf/WeakPtr.h>
namespace WebCore {
-class ActivityStateChangeObserver {
+class ActivityStateChangeObserver : public CanMakeWeakPtr<ActivityStateChangeObserver> {
public:
virtual ~ActivityStateChangeObserver()
{
Modified: trunk/Source/WebCore/page/Page.cpp (280098 => 280099)
--- trunk/Source/WebCore/page/Page.cpp 2021-07-20 19:44:18 UTC (rev 280098)
+++ trunk/Source/WebCore/page/Page.cpp 2021-07-20 19:54:46 UTC (rev 280099)
@@ -1449,12 +1449,12 @@
void Page::addActivityStateChangeObserver(ActivityStateChangeObserver& observer)
{
- m_activityStateChangeObservers.add(&observer);
+ m_activityStateChangeObservers.add(observer);
}
void Page::removeActivityStateChangeObserver(ActivityStateChangeObserver& observer)
{
- m_activityStateChangeObservers.remove(&observer);
+ m_activityStateChangeObservers.remove(observer);
}
void Page::layoutIfNeeded()
@@ -2348,8 +2348,8 @@
if (changed.containsAny({ActivityState::IsVisible, ActivityState::IsVisuallyIdle, ActivityState::IsAudible, ActivityState::IsLoading, ActivityState::IsCapturingMedia }))
updateTimerThrottlingState();
- for (auto* observer : m_activityStateChangeObservers)
- observer->activityStateDidChange(oldActivityState, m_activityState);
+ for (auto& observer : m_activityStateChangeObservers)
+ observer.activityStateDidChange(oldActivityState, m_activityState);
if (wasVisibleAndActive != isVisibleAndActive())
PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary();
Modified: trunk/Source/WebCore/page/Page.h (280098 => 280099)
--- trunk/Source/WebCore/page/Page.h 2021-07-20 19:44:18 UTC (rev 280098)
+++ trunk/Source/WebCore/page/Page.h 2021-07-20 19:54:46 UTC (rev 280099)
@@ -55,6 +55,7 @@
#include <wtf/Noncopyable.h>
#include <wtf/Ref.h>
#include <wtf/UniqueRef.h>
+#include <wtf/WeakHashSet.h>
#include <wtf/WeakPtr.h>
#include <wtf/text/WTFString.h>
@@ -1089,7 +1090,7 @@
Ref<VisitedLinkStore> m_visitedLinkStore;
Ref<BroadcastChannelRegistry> m_broadcastChannelRegistry;
RefPtr<WheelEventTestMonitor> m_wheelEventTestMonitor;
- HashSet<ActivityStateChangeObserver*> m_activityStateChangeObservers;
+ WeakHashSet<ActivityStateChangeObserver> m_activityStateChangeObservers;
#if ENABLE(RESOURCE_USAGE)
std::unique_ptr<ResourceUsageOverlay> m_resourceUsageOverlay;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes