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

Unified Diff: extensions/browser/api/web_request/web_request_api.h

Issue 2721793002: Extensions: Make ExtensionWebRequestEventRouter leaky. (Closed)
Patch Set: Address review. 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
Index: extensions/browser/api/web_request/web_request_api.h
diff --git a/extensions/browser/api/web_request/web_request_api.h b/extensions/browser/api/web_request/web_request_api.h
index c736e01456aff8a08969c075e2fef22274ccd2aa..6ef353874dcf49b28f0569a42778d096fdce6551 100644
--- a/extensions/browser/api/web_request/web_request_api.h
+++ b/extensions/browser/api/web_request/web_request_api.h
@@ -16,8 +16,6 @@
#include "base/gtest_prod_util.h"
#include "base/macros.h"
-#include "base/memory/singleton.h"
-#include "base/memory/weak_ptr.h"
#include "base/strings/string_util.h"
#include "base/time/time.h"
#include "extensions/browser/api/declarative/rules_registry.h"
@@ -94,8 +92,7 @@ class WebRequestAPI : public BrowserContextKeyedAPI,
// This class observes network events and routes them to the appropriate
// extensions listening to those events. All methods must be called on the IO
// thread unless otherwise specified.
-class ExtensionWebRequestEventRouter
- : public base::SupportsWeakPtr<ExtensionWebRequestEventRouter> {
+class ExtensionWebRequestEventRouter {
public:
struct BlockedRequest;
@@ -371,8 +368,6 @@ class ExtensionWebRequestEventRouter
DISALLOW_COPY_AND_ASSIGN(EventListener);
};
- friend struct base::DefaultSingletonTraits<ExtensionWebRequestEventRouter>;
-
using RawListeners = std::vector<EventListener*>;
using ListenerIDs = std::vector<EventListener::ID>;
using Listeners = std::vector<std::unique_ptr<EventListener>>;
@@ -388,7 +383,9 @@ class ExtensionWebRequestEventRouter
using CallbacksForPageLoad = std::list<base::Closure>;
ExtensionWebRequestEventRouter();
- ~ExtensionWebRequestEventRouter();
+
+ // This instance is leaked.
+ ~ExtensionWebRequestEventRouter() = delete;
// Returns the EventListener with the given |id|, or nullptr. Must be called
// from the IO thread.

Powered by Google App Engine
This is Rietveld 408576698