Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Unified Diff: third_party/WebKit/Source/core/page/NetworkStateNotifier.h

Issue 2693823003: Remove dependency from NetworkStateNotifier to ExecutionContext (Closed)
Patch Set: . Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/page/NetworkStateNotifier.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/page/NetworkStateNotifier.h
diff --git a/third_party/WebKit/Source/core/page/NetworkStateNotifier.h b/third_party/WebKit/Source/core/page/NetworkStateNotifier.h
index dcb0abfd0a010fdaaa1160ce51781f4f2504b663..d7ab66b6b594a6e08e9b2a5ced27f83a465b57ce 100644
--- a/third_party/WebKit/Source/core/page/NetworkStateNotifier.h
+++ b/third_party/WebKit/Source/core/page/NetworkStateNotifier.h
@@ -26,15 +26,15 @@
#ifndef NetworkStateNotifier_h
#define NetworkStateNotifier_h
+#include <memory>
#include "core/CoreExport.h"
-#include "core/dom/ExecutionContext.h"
+#include "platform/WebTaskRunner.h"
#include "public/platform/WebConnectionType.h"
#include "wtf/Allocator.h"
#include "wtf/HashMap.h"
#include "wtf/Noncopyable.h"
#include "wtf/ThreadingPrimitives.h"
#include "wtf/Vector.h"
-#include <memory>
namespace blink {
@@ -45,7 +45,7 @@ class CORE_EXPORT NetworkStateNotifier {
public:
class NetworkStateObserver {
public:
- // Will be called on the thread of the context passed in addObserver.
+ // Will be called on the task runner that is passed in addObserver.
virtual void connectionChange(WebConnectionType,
double maxBandwidthMbps) = 0;
};
@@ -110,12 +110,12 @@ class CORE_EXPORT NetworkStateNotifier {
void setOverride(bool onLine, WebConnectionType, double maxBandwidthMbps);
void clearOverride();
- // Must be called on the context's thread. An added observer must be removed
- // before its ExecutionContext is deleted. It's possible for an observer to
- // be called twice for the same event if it is first removed and then added
- // during notification.
- void addObserver(NetworkStateObserver*, ExecutionContext*);
- void removeObserver(NetworkStateObserver*, ExecutionContext*);
+ // Must be called on the given task runner. An added observer must be removed
+ // before the observer or its execution context goes away. It's possible for
+ // an observer to be called twice for the same event if it is first removed
+ // and then added during notification.
+ void addObserver(NetworkStateObserver*, WebTaskRunner*);
+ void removeObserver(NetworkStateObserver*, WebTaskRunner*);
private:
struct ObserverList {
@@ -149,23 +149,21 @@ class CORE_EXPORT NetworkStateNotifier {
};
// The ObserverListMap is cross-thread accessed, adding/removing Observers
- // running within an ExecutionContext. Kept off-heap to ease cross-thread
- // allocation and use; the observers are (already) responsible for explicitly
- // unregistering while finalizing.
+ // running on a task runner.
using ObserverListMap =
- HashMap<UntracedMember<ExecutionContext>, std::unique_ptr<ObserverList>>;
+ HashMap<WebTaskRunner*, std::unique_ptr<ObserverList>>;
void notifyObservers(WebConnectionType, double maxBandwidthMbps);
- void notifyObserversOfConnectionChangeOnContext(WebConnectionType,
- double maxBandwidthMbps,
- ExecutionContext*);
+ void notifyObserversOfConnectionChangeOnTaskRunner(WebConnectionType,
+ double maxBandwidthMbps,
+ WebTaskRunner*);
- ObserverList* lockAndFindObserverList(ExecutionContext*);
+ ObserverList* lockAndFindObserverList(WebTaskRunner*);
// Removed observers are nulled out in the list in case the list is being
// iterated over. Once done iterating, call this to clean up nulled
// observers.
- void collectZeroedObservers(ObserverList*, ExecutionContext*);
+ void collectZeroedObservers(ObserverList*, WebTaskRunner*);
mutable Mutex m_mutex;
NetworkState m_state;
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/page/NetworkStateNotifier.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698