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

Side by Side Diff: chrome/browser/extensions/extension_gcm_app_handler.cc

Issue 2749823002: Restore KeyedServiceFactory diagnostics for context use-after-destroy. (Closed)
Patch Set: Refactor SiteEngagementService tests. Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_gcm_app_handler.h" 5 #include "chrome/browser/extensions/extension_gcm_app_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 } 46 }
47 47
48 ExtensionGCMAppHandler::ExtensionGCMAppHandler(content::BrowserContext* context) 48 ExtensionGCMAppHandler::ExtensionGCMAppHandler(content::BrowserContext* context)
49 : profile_(Profile::FromBrowserContext(context)), 49 : profile_(Profile::FromBrowserContext(context)),
50 extension_registry_observer_(this), 50 extension_registry_observer_(this),
51 weak_factory_(this) { 51 weak_factory_(this) {
52 extension_registry_observer_.Add(ExtensionRegistry::Get(profile_)); 52 extension_registry_observer_.Add(ExtensionRegistry::Get(profile_));
53 js_event_router_.reset(new extensions::GcmJsEventRouter(profile_)); 53 js_event_router_.reset(new extensions::GcmJsEventRouter(profile_));
54 } 54 }
55 55
56 ExtensionGCMAppHandler::~ExtensionGCMAppHandler() { 56 ExtensionGCMAppHandler::~ExtensionGCMAppHandler() = default;
57
58 void ExtensionGCMAppHandler::Shutdown() {
57 const ExtensionSet& enabled_extensions = 59 const ExtensionSet& enabled_extensions =
58 ExtensionRegistry::Get(profile_)->enabled_extensions(); 60 ExtensionRegistry::Get(profile_)->enabled_extensions();
59 for (ExtensionSet::const_iterator extension = enabled_extensions.begin(); 61 for (ExtensionSet::const_iterator extension = enabled_extensions.begin();
60 extension != enabled_extensions.end(); 62 extension != enabled_extensions.end();
61 ++extension) { 63 ++extension) {
62 if (IsGCMPermissionEnabled(extension->get())) 64 if (IsGCMPermissionEnabled(extension->get()))
63 GetGCMDriver()->RemoveAppHandler((*extension)->id()); 65 GetGCMDriver()->RemoveAppHandler((*extension)->id());
64 } 66 }
65 } 67 }
66 68
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 200
199 void ExtensionGCMAppHandler::AddAppHandler(const std::string& app_id) { 201 void ExtensionGCMAppHandler::AddAppHandler(const std::string& app_id) {
200 GetGCMDriver()->AddAppHandler(app_id, this); 202 GetGCMDriver()->AddAppHandler(app_id, this);
201 } 203 }
202 204
203 void ExtensionGCMAppHandler::RemoveAppHandler(const std::string& app_id) { 205 void ExtensionGCMAppHandler::RemoveAppHandler(const std::string& app_id) {
204 GetGCMDriver()->RemoveAppHandler(app_id); 206 GetGCMDriver()->RemoveAppHandler(app_id);
205 } 207 }
206 208
207 } // namespace extensions 209 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_gcm_app_handler.h ('k') | chrome/browser/extensions/extension_gcm_app_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698