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

Side by Side Diff: extensions/browser/extension_registry.cc

Issue 2424593002: Reduce FOR_EACH_OBSERVER usage in extensions (Closed)
Patch Set: script_observers_ Created 4 years, 2 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
« no previous file with comments | « extensions/browser/extension_prefs.cc ('k') | extensions/browser/process_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "extensions/browser/extension_registry.h" 5 #include "extensions/browser/extension_registry.h"
6 6
7 #include "base/strings/string_util.h" 7 #include "base/strings/string_util.h"
8 #include "extensions/browser/extension_registry_factory.h" 8 #include "extensions/browser/extension_registry_factory.h"
9 #include "extensions/browser/extension_registry_observer.h" 9 #include "extensions/browser/extension_registry_observer.h"
10 10
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 observers_.AddObserver(observer); 44 observers_.AddObserver(observer);
45 } 45 }
46 46
47 void ExtensionRegistry::RemoveObserver(ExtensionRegistryObserver* observer) { 47 void ExtensionRegistry::RemoveObserver(ExtensionRegistryObserver* observer) {
48 observers_.RemoveObserver(observer); 48 observers_.RemoveObserver(observer);
49 } 49 }
50 50
51 void ExtensionRegistry::TriggerOnLoaded(const Extension* extension) { 51 void ExtensionRegistry::TriggerOnLoaded(const Extension* extension) {
52 CHECK(extension); 52 CHECK(extension);
53 DCHECK(enabled_extensions_.Contains(extension->id())); 53 DCHECK(enabled_extensions_.Contains(extension->id()));
54 FOR_EACH_OBSERVER(ExtensionRegistryObserver, 54 for (auto& observer : observers_)
55 observers_, 55 observer.OnExtensionLoaded(browser_context_, extension);
56 OnExtensionLoaded(browser_context_, extension));
57 } 56 }
58 57
59 void ExtensionRegistry::TriggerOnReady(const Extension* extension) { 58 void ExtensionRegistry::TriggerOnReady(const Extension* extension) {
60 CHECK(extension); 59 CHECK(extension);
61 DCHECK(enabled_extensions_.Contains(extension->id())); 60 DCHECK(enabled_extensions_.Contains(extension->id()));
62 FOR_EACH_OBSERVER(ExtensionRegistryObserver, observers_, 61 for (auto& observer : observers_)
63 OnExtensionReady(browser_context_, extension)); 62 observer.OnExtensionReady(browser_context_, extension);
64 } 63 }
65 64
66 void ExtensionRegistry::TriggerOnUnloaded( 65 void ExtensionRegistry::TriggerOnUnloaded(
67 const Extension* extension, 66 const Extension* extension,
68 UnloadedExtensionInfo::Reason reason) { 67 UnloadedExtensionInfo::Reason reason) {
69 CHECK(extension); 68 CHECK(extension);
70 DCHECK(!enabled_extensions_.Contains(extension->id())); 69 DCHECK(!enabled_extensions_.Contains(extension->id()));
71 FOR_EACH_OBSERVER(ExtensionRegistryObserver, 70 for (auto& observer : observers_)
72 observers_, 71 observer.OnExtensionUnloaded(browser_context_, extension, reason);
73 OnExtensionUnloaded(browser_context_, extension, reason));
74 } 72 }
75 73
76 void ExtensionRegistry::TriggerOnWillBeInstalled(const Extension* extension, 74 void ExtensionRegistry::TriggerOnWillBeInstalled(const Extension* extension,
77 bool is_update, 75 bool is_update,
78 const std::string& old_name) { 76 const std::string& old_name) {
79 CHECK(extension); 77 CHECK(extension);
80 DCHECK_EQ(is_update, 78 DCHECK_EQ(is_update,
81 GenerateInstalledExtensionsSet()->Contains(extension->id())); 79 GenerateInstalledExtensionsSet()->Contains(extension->id()));
82 DCHECK_EQ(is_update, !old_name.empty()); 80 DCHECK_EQ(is_update, !old_name.empty());
83 FOR_EACH_OBSERVER(ExtensionRegistryObserver, observers_, 81 for (auto& observer : observers_)
84 OnExtensionWillBeInstalled(browser_context_, extension, 82 observer.OnExtensionWillBeInstalled(browser_context_, extension, is_update,
85 is_update, old_name)); 83 old_name);
86 } 84 }
87 85
88 void ExtensionRegistry::TriggerOnInstalled(const Extension* extension, 86 void ExtensionRegistry::TriggerOnInstalled(const Extension* extension,
89 bool is_update) { 87 bool is_update) {
90 CHECK(extension); 88 CHECK(extension);
91 DCHECK(GenerateInstalledExtensionsSet()->Contains(extension->id())); 89 DCHECK(GenerateInstalledExtensionsSet()->Contains(extension->id()));
92 FOR_EACH_OBSERVER(ExtensionRegistryObserver, 90 for (auto& observer : observers_)
93 observers_, 91 observer.OnExtensionInstalled(browser_context_, extension, is_update);
94 OnExtensionInstalled(
95 browser_context_, extension, is_update));
96 } 92 }
97 93
98 void ExtensionRegistry::TriggerOnUninstalled(const Extension* extension, 94 void ExtensionRegistry::TriggerOnUninstalled(const Extension* extension,
99 UninstallReason reason) { 95 UninstallReason reason) {
100 CHECK(extension); 96 CHECK(extension);
101 DCHECK(!GenerateInstalledExtensionsSet()->Contains(extension->id())); 97 DCHECK(!GenerateInstalledExtensionsSet()->Contains(extension->id()));
102 FOR_EACH_OBSERVER( 98 for (auto& observer : observers_)
103 ExtensionRegistryObserver, 99 observer.OnExtensionUninstalled(browser_context_, extension, reason);
104 observers_,
105 OnExtensionUninstalled(browser_context_, extension, reason));
106 } 100 }
107 101
108 const Extension* ExtensionRegistry::GetExtensionById(const std::string& id, 102 const Extension* ExtensionRegistry::GetExtensionById(const std::string& id,
109 int include_mask) const { 103 int include_mask) const {
110 std::string lowercase_id = base::ToLowerASCII(id); 104 std::string lowercase_id = base::ToLowerASCII(id);
111 if (include_mask & ENABLED) { 105 if (include_mask & ENABLED) {
112 const Extension* extension = enabled_extensions_.GetByID(lowercase_id); 106 const Extension* extension = enabled_extensions_.GetByID(lowercase_id);
113 if (extension) 107 if (extension)
114 return extension; 108 return extension;
115 } 109 }
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 disabled_extensions_.Clear(); 198 disabled_extensions_.Clear();
205 terminated_extensions_.Clear(); 199 terminated_extensions_.Clear();
206 blacklisted_extensions_.Clear(); 200 blacklisted_extensions_.Clear();
207 blocked_extensions_.Clear(); 201 blocked_extensions_.Clear();
208 ready_extensions_.Clear(); 202 ready_extensions_.Clear();
209 } 203 }
210 204
211 void ExtensionRegistry::Shutdown() { 205 void ExtensionRegistry::Shutdown() {
212 // Release references to all Extension objects in the sets. 206 // Release references to all Extension objects in the sets.
213 ClearAll(); 207 ClearAll();
214 FOR_EACH_OBSERVER(ExtensionRegistryObserver, observers_, OnShutdown(this)); 208 for (auto& observer : observers_)
209 observer.OnShutdown(this);
215 } 210 }
216 211
217 } // namespace extensions 212 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/extension_prefs.cc ('k') | extensions/browser/process_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698