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

Side by Side Diff: extensions/browser/api/management/management_api.cc

Issue 1841543002: [Extensions] Convert APIs to use movable types [12] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 | « no previous file | extensions/browser/api/networking_config/networking_config_api.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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/api/management/management_api.h" 5 #include "extensions/browser/api/management/management_api.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 using content::BrowserThread; 46 using content::BrowserThread;
47 47
48 namespace keys = extension_management_api_constants; 48 namespace keys = extension_management_api_constants;
49 49
50 namespace extensions { 50 namespace extensions {
51 51
52 namespace management = api::management; 52 namespace management = api::management;
53 53
54 namespace { 54 namespace {
55 55
56 typedef std::vector<linked_ptr<management::ExtensionInfo>> ExtensionInfoList; 56 typedef std::vector<management::ExtensionInfo> ExtensionInfoList;
57 typedef std::vector<linked_ptr<management::IconInfo>> IconInfoList; 57 typedef std::vector<management::IconInfo> IconInfoList;
58 58
59 enum AutoConfirmForTest { DO_NOT_SKIP = 0, PROCEED, ABORT }; 59 enum AutoConfirmForTest { DO_NOT_SKIP = 0, PROCEED, ABORT };
60 60
61 AutoConfirmForTest auto_confirm_for_test = DO_NOT_SKIP; 61 AutoConfirmForTest auto_confirm_for_test = DO_NOT_SKIP;
62 62
63 std::vector<std::string> CreateWarningsList(const Extension* extension) { 63 std::vector<std::string> CreateWarningsList(const Extension* extension) {
64 std::vector<std::string> warnings_list; 64 std::vector<std::string> warnings_list;
65 for (const PermissionMessage& msg : 65 for (const PermissionMessage& msg :
66 extension->permissions_data()->GetPermissionMessages()) { 66 extension->permissions_data()->GetPermissionMessages()) {
67 warnings_list.push_back(base::UTF16ToUTF8(msg.message())); 67 warnings_list.push_back(base::UTF16ToUTF8(msg.message()));
(...skipping 17 matching lines...) Expand all
85 if (delegate->CanHostedAppsOpenInWindows()) 85 if (delegate->CanHostedAppsOpenInWindows())
86 launch_type_list.push_back(management::LAUNCH_TYPE_OPEN_AS_WINDOW); 86 launch_type_list.push_back(management::LAUNCH_TYPE_OPEN_AS_WINDOW);
87 87
88 if (!delegate->IsNewBookmarkAppsEnabled()) { 88 if (!delegate->IsNewBookmarkAppsEnabled()) {
89 launch_type_list.push_back(management::LAUNCH_TYPE_OPEN_AS_PINNED_TAB); 89 launch_type_list.push_back(management::LAUNCH_TYPE_OPEN_AS_PINNED_TAB);
90 launch_type_list.push_back(management::LAUNCH_TYPE_OPEN_FULL_SCREEN); 90 launch_type_list.push_back(management::LAUNCH_TYPE_OPEN_FULL_SCREEN);
91 } 91 }
92 return launch_type_list; 92 return launch_type_list;
93 } 93 }
94 94
95 scoped_ptr<management::ExtensionInfo> CreateExtensionInfo( 95 management::ExtensionInfo CreateExtensionInfo(
96 const Extension& extension, 96 const Extension& extension,
97 content::BrowserContext* context) { 97 content::BrowserContext* context) {
98 ExtensionSystem* system = ExtensionSystem::Get(context); 98 ExtensionSystem* system = ExtensionSystem::Get(context);
99 ExtensionRegistry* registry = ExtensionRegistry::Get(context); 99 ExtensionRegistry* registry = ExtensionRegistry::Get(context);
100 const ManagementAPIDelegate* delegate = 100 const ManagementAPIDelegate* delegate =
101 ManagementAPI::GetFactoryInstance()->Get(context)->GetDelegate(); 101 ManagementAPI::GetFactoryInstance()->Get(context)->GetDelegate();
102 scoped_ptr<management::ExtensionInfo> info(new management::ExtensionInfo()); 102 management::ExtensionInfo info;
103 103
104 info->id = extension.id(); 104 info.id = extension.id();
105 info->name = extension.name(); 105 info.name = extension.name();
106 info->short_name = extension.short_name(); 106 info.short_name = extension.short_name();
107 info->enabled = registry->enabled_extensions().Contains(info->id); 107 info.enabled = registry->enabled_extensions().Contains(info.id);
108 info->offline_enabled = OfflineEnabledInfo::IsOfflineEnabled(&extension); 108 info.offline_enabled = OfflineEnabledInfo::IsOfflineEnabled(&extension);
109 info->version = extension.VersionString(); 109 info.version = extension.VersionString();
110 if (!extension.version_name().empty()) 110 if (!extension.version_name().empty())
111 info->version_name.reset(new std::string(extension.version_name())); 111 info.version_name.reset(new std::string(extension.version_name()));
112 info->description = extension.description(); 112 info.description = extension.description();
113 info->options_url = OptionsPageInfo::GetOptionsPage(&extension).spec(); 113 info.options_url = OptionsPageInfo::GetOptionsPage(&extension).spec();
114 info->homepage_url.reset( 114 info.homepage_url.reset(
115 new std::string(ManifestURL::GetHomepageURL(&extension).spec())); 115 new std::string(ManifestURL::GetHomepageURL(&extension).spec()));
116 info->may_disable = 116 info.may_disable =
117 system->management_policy()->UserMayModifySettings(&extension, NULL); 117 system->management_policy()->UserMayModifySettings(&extension, NULL);
118 info->is_app = extension.is_app(); 118 info.is_app = extension.is_app();
119 if (info->is_app) { 119 if (info.is_app) {
120 if (extension.is_legacy_packaged_app()) 120 if (extension.is_legacy_packaged_app())
121 info->type = management::EXTENSION_TYPE_LEGACY_PACKAGED_APP; 121 info.type = management::EXTENSION_TYPE_LEGACY_PACKAGED_APP;
122 else if (extension.is_hosted_app()) 122 else if (extension.is_hosted_app())
123 info->type = management::EXTENSION_TYPE_HOSTED_APP; 123 info.type = management::EXTENSION_TYPE_HOSTED_APP;
124 else 124 else
125 info->type = management::EXTENSION_TYPE_PACKAGED_APP; 125 info.type = management::EXTENSION_TYPE_PACKAGED_APP;
126 } else if (extension.is_theme()) { 126 } else if (extension.is_theme()) {
127 info->type = management::EXTENSION_TYPE_THEME; 127 info.type = management::EXTENSION_TYPE_THEME;
128 } else { 128 } else {
129 info->type = management::EXTENSION_TYPE_EXTENSION; 129 info.type = management::EXTENSION_TYPE_EXTENSION;
130 } 130 }
131 131
132 if (info->enabled) { 132 if (info.enabled) {
133 info->disabled_reason = management::EXTENSION_DISABLED_REASON_NONE; 133 info.disabled_reason = management::EXTENSION_DISABLED_REASON_NONE;
134 } else { 134 } else {
135 ExtensionPrefs* prefs = ExtensionPrefs::Get(context); 135 ExtensionPrefs* prefs = ExtensionPrefs::Get(context);
136 if (prefs->DidExtensionEscalatePermissions(extension.id())) { 136 if (prefs->DidExtensionEscalatePermissions(extension.id())) {
137 info->disabled_reason = 137 info.disabled_reason =
138 management::EXTENSION_DISABLED_REASON_PERMISSIONS_INCREASE; 138 management::EXTENSION_DISABLED_REASON_PERMISSIONS_INCREASE;
139 } else { 139 } else {
140 info->disabled_reason = 140 info.disabled_reason = management::EXTENSION_DISABLED_REASON_UNKNOWN;
141 management::EXTENSION_DISABLED_REASON_UNKNOWN;
142 } 141 }
143 } 142 }
144 143
145 if (!ManifestURL::GetUpdateURL(&extension).is_empty()) { 144 if (!ManifestURL::GetUpdateURL(&extension).is_empty()) {
146 info->update_url.reset( 145 info.update_url.reset(
147 new std::string(ManifestURL::GetUpdateURL(&extension).spec())); 146 new std::string(ManifestURL::GetUpdateURL(&extension).spec()));
148 } 147 }
149 148
150 if (extension.is_app()) { 149 if (extension.is_app()) {
151 info->app_launch_url.reset( 150 info.app_launch_url.reset(
152 new std::string(delegate->GetFullLaunchURL(&extension).spec())); 151 new std::string(delegate->GetFullLaunchURL(&extension).spec()));
153 } 152 }
154 153
155 const ExtensionIconSet::IconMap& icons = 154 const ExtensionIconSet::IconMap& icons =
156 IconsInfo::GetIcons(&extension).map(); 155 IconsInfo::GetIcons(&extension).map();
157 if (!icons.empty()) { 156 if (!icons.empty()) {
158 info->icons.reset(new IconInfoList()); 157 info.icons.reset(new IconInfoList());
159 ExtensionIconSet::IconMap::const_iterator icon_iter; 158 ExtensionIconSet::IconMap::const_iterator icon_iter;
160 for (icon_iter = icons.begin(); icon_iter != icons.end(); ++icon_iter) { 159 for (icon_iter = icons.begin(); icon_iter != icons.end(); ++icon_iter) {
161 management::IconInfo* icon_info = new management::IconInfo(); 160 management::IconInfo icon_info;
162 icon_info->size = icon_iter->first; 161 icon_info.size = icon_iter->first;
163 GURL url = 162 GURL url =
164 delegate->GetIconURL(&extension, icon_info->size, 163 delegate->GetIconURL(&extension, icon_info.size,
165 ExtensionIconSet::MATCH_EXACTLY, false, nullptr); 164 ExtensionIconSet::MATCH_EXACTLY, false, nullptr);
166 icon_info->url = url.spec(); 165 icon_info.url = url.spec();
167 info->icons->push_back(make_linked_ptr<management::IconInfo>(icon_info)); 166 info.icons->push_back(std::move(icon_info));
168 } 167 }
169 } 168 }
170 169
171 const std::set<std::string> perms = 170 const std::set<std::string> perms =
172 extension.permissions_data()->active_permissions().GetAPIsAsStrings(); 171 extension.permissions_data()->active_permissions().GetAPIsAsStrings();
173 if (!perms.empty()) { 172 if (!perms.empty()) {
174 std::set<std::string>::const_iterator perms_iter; 173 std::set<std::string>::const_iterator perms_iter;
175 for (perms_iter = perms.begin(); perms_iter != perms.end(); ++perms_iter) 174 for (perms_iter = perms.begin(); perms_iter != perms.end(); ++perms_iter)
176 info->permissions.push_back(*perms_iter); 175 info.permissions.push_back(*perms_iter);
177 } 176 }
178 177
179 if (!extension.is_hosted_app()) { 178 if (!extension.is_hosted_app()) {
180 // Skip host permissions for hosted apps. 179 // Skip host permissions for hosted apps.
181 const URLPatternSet host_perms = 180 const URLPatternSet host_perms =
182 extension.permissions_data()->active_permissions().explicit_hosts(); 181 extension.permissions_data()->active_permissions().explicit_hosts();
183 if (!host_perms.is_empty()) { 182 if (!host_perms.is_empty()) {
184 for (URLPatternSet::const_iterator iter = host_perms.begin(); 183 for (URLPatternSet::const_iterator iter = host_perms.begin();
185 iter != host_perms.end(); ++iter) { 184 iter != host_perms.end(); ++iter) {
186 info->host_permissions.push_back(iter->GetAsString()); 185 info.host_permissions.push_back(iter->GetAsString());
187 } 186 }
188 } 187 }
189 } 188 }
190 189
191 switch (extension.location()) { 190 switch (extension.location()) {
192 case Manifest::INTERNAL: 191 case Manifest::INTERNAL:
193 info->install_type = management::EXTENSION_INSTALL_TYPE_NORMAL; 192 info.install_type = management::EXTENSION_INSTALL_TYPE_NORMAL;
194 break; 193 break;
195 case Manifest::UNPACKED: 194 case Manifest::UNPACKED:
196 case Manifest::COMMAND_LINE: 195 case Manifest::COMMAND_LINE:
197 info->install_type = management::EXTENSION_INSTALL_TYPE_DEVELOPMENT; 196 info.install_type = management::EXTENSION_INSTALL_TYPE_DEVELOPMENT;
198 break; 197 break;
199 case Manifest::EXTERNAL_PREF: 198 case Manifest::EXTERNAL_PREF:
200 case Manifest::EXTERNAL_REGISTRY: 199 case Manifest::EXTERNAL_REGISTRY:
201 case Manifest::EXTERNAL_PREF_DOWNLOAD: 200 case Manifest::EXTERNAL_PREF_DOWNLOAD:
202 info->install_type = management::EXTENSION_INSTALL_TYPE_SIDELOAD; 201 info.install_type = management::EXTENSION_INSTALL_TYPE_SIDELOAD;
203 break; 202 break;
204 case Manifest::EXTERNAL_POLICY: 203 case Manifest::EXTERNAL_POLICY:
205 case Manifest::EXTERNAL_POLICY_DOWNLOAD: 204 case Manifest::EXTERNAL_POLICY_DOWNLOAD:
206 info->install_type = management::EXTENSION_INSTALL_TYPE_ADMIN; 205 info.install_type = management::EXTENSION_INSTALL_TYPE_ADMIN;
207 break; 206 break;
208 case Manifest::NUM_LOCATIONS: 207 case Manifest::NUM_LOCATIONS:
209 NOTREACHED(); 208 NOTREACHED();
210 case Manifest::INVALID_LOCATION: 209 case Manifest::INVALID_LOCATION:
211 case Manifest::COMPONENT: 210 case Manifest::COMPONENT:
212 case Manifest::EXTERNAL_COMPONENT: 211 case Manifest::EXTERNAL_COMPONENT:
213 info->install_type = management::EXTENSION_INSTALL_TYPE_OTHER; 212 info.install_type = management::EXTENSION_INSTALL_TYPE_OTHER;
214 break; 213 break;
215 } 214 }
216 215
217 info->launch_type = management::LAUNCH_TYPE_NONE; 216 info.launch_type = management::LAUNCH_TYPE_NONE;
218 if (extension.is_app()) { 217 if (extension.is_app()) {
219 LaunchType launch_type; 218 LaunchType launch_type;
220 if (extension.is_platform_app()) { 219 if (extension.is_platform_app()) {
221 launch_type = LAUNCH_TYPE_WINDOW; 220 launch_type = LAUNCH_TYPE_WINDOW;
222 } else { 221 } else {
223 launch_type = 222 launch_type =
224 delegate->GetLaunchType(ExtensionPrefs::Get(context), &extension); 223 delegate->GetLaunchType(ExtensionPrefs::Get(context), &extension);
225 } 224 }
226 225
227 switch (launch_type) { 226 switch (launch_type) {
228 case LAUNCH_TYPE_PINNED: 227 case LAUNCH_TYPE_PINNED:
229 info->launch_type = management::LAUNCH_TYPE_OPEN_AS_PINNED_TAB; 228 info.launch_type = management::LAUNCH_TYPE_OPEN_AS_PINNED_TAB;
230 break; 229 break;
231 case LAUNCH_TYPE_REGULAR: 230 case LAUNCH_TYPE_REGULAR:
232 info->launch_type = management::LAUNCH_TYPE_OPEN_AS_REGULAR_TAB; 231 info.launch_type = management::LAUNCH_TYPE_OPEN_AS_REGULAR_TAB;
233 break; 232 break;
234 case LAUNCH_TYPE_FULLSCREEN: 233 case LAUNCH_TYPE_FULLSCREEN:
235 info->launch_type = management::LAUNCH_TYPE_OPEN_FULL_SCREEN; 234 info.launch_type = management::LAUNCH_TYPE_OPEN_FULL_SCREEN;
236 break; 235 break;
237 case LAUNCH_TYPE_WINDOW: 236 case LAUNCH_TYPE_WINDOW:
238 info->launch_type = management::LAUNCH_TYPE_OPEN_AS_WINDOW; 237 info.launch_type = management::LAUNCH_TYPE_OPEN_AS_WINDOW;
239 break; 238 break;
240 case LAUNCH_TYPE_INVALID: 239 case LAUNCH_TYPE_INVALID:
241 case NUM_LAUNCH_TYPES: 240 case NUM_LAUNCH_TYPES:
242 NOTREACHED(); 241 NOTREACHED();
243 } 242 }
244 243
245 info->available_launch_types.reset(new std::vector<management::LaunchType>( 244 info.available_launch_types.reset(new std::vector<management::LaunchType>(
246 GetAvailableLaunchTypes(extension, delegate))); 245 GetAvailableLaunchTypes(extension, delegate)));
247 } 246 }
248 247
249 return info; 248 return info;
250 } 249 }
251 250
252 void AddExtensionInfo(const ExtensionSet& extensions, 251 void AddExtensionInfo(const ExtensionSet& extensions,
253 ExtensionInfoList* extension_list, 252 ExtensionInfoList* extension_list,
254 content::BrowserContext* context) { 253 content::BrowserContext* context) {
255 for (ExtensionSet::const_iterator iter = extensions.begin(); 254 for (ExtensionSet::const_iterator iter = extensions.begin();
256 iter != extensions.end(); ++iter) { 255 iter != extensions.end(); ++iter) {
257 const Extension& extension = *iter->get(); 256 const Extension& extension = *iter->get();
258 257
259 if (extension.ShouldNotBeVisible()) 258 if (extension.ShouldNotBeVisible())
260 continue; // Skip built-in extensions/apps. 259 continue; // Skip built-in extensions/apps.
261 260
262 extension_list->push_back(make_linked_ptr<management::ExtensionInfo>( 261 extension_list->push_back(CreateExtensionInfo(extension, context));
263 CreateExtensionInfo(extension, context).release()));
264 } 262 }
265 } 263 }
266 264
267 } // namespace 265 } // namespace
268 266
269 bool ManagementGetAllFunction::RunSync() { 267 bool ManagementGetAllFunction::RunSync() {
270 ExtensionInfoList extensions; 268 ExtensionInfoList extensions;
271 ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context()); 269 ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context());
272 270
273 AddExtensionInfo(registry->enabled_extensions(), &extensions, 271 AddExtensionInfo(registry->enabled_extensions(), &extensions,
(...skipping 14 matching lines...) Expand all
288 ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context()); 286 ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context());
289 287
290 const Extension* extension = 288 const Extension* extension =
291 registry->GetExtensionById(params->id, ExtensionRegistry::EVERYTHING); 289 registry->GetExtensionById(params->id, ExtensionRegistry::EVERYTHING);
292 if (!extension) { 290 if (!extension) {
293 error_ = 291 error_ =
294 ErrorUtils::FormatErrorMessage(keys::kNoExtensionError, params->id); 292 ErrorUtils::FormatErrorMessage(keys::kNoExtensionError, params->id);
295 return false; 293 return false;
296 } 294 }
297 295
298 scoped_ptr<management::ExtensionInfo> info = 296 results_ = management::Get::Results::Create(
299 CreateExtensionInfo(*extension, browser_context()); 297 CreateExtensionInfo(*extension, browser_context()));
300 results_ = management::Get::Results::Create(*info);
301 298
302 return true; 299 return true;
303 } 300 }
304 301
305 bool ManagementGetSelfFunction::RunSync() { 302 bool ManagementGetSelfFunction::RunSync() {
306 scoped_ptr<management::ExtensionInfo> info = 303 results_ = management::Get::Results::Create(
307 CreateExtensionInfo(*extension_, browser_context()); 304 CreateExtensionInfo(*extension_, browser_context()));
308 results_ = management::Get::Results::Create(*info);
309 305
310 return true; 306 return true;
311 } 307 }
312 308
313 bool ManagementGetPermissionWarningsByIdFunction::RunSync() { 309 bool ManagementGetPermissionWarningsByIdFunction::RunSync() {
314 scoped_ptr<management::GetPermissionWarningsById::Params> params( 310 scoped_ptr<management::GetPermissionWarningsById::Params> params(
315 management::GetPermissionWarningsById::Params::Create(*args_)); 311 management::GetPermissionWarningsById::Params::Create(*args_));
316 EXTENSION_FUNCTION_VALIDATE(params.get()); 312 EXTENSION_FUNCTION_VALIDATE(params.get());
317 313
318 const Extension* extension = 314 const Extension* extension =
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 ManagementGenerateAppForLinkFunction::ManagementGenerateAppForLinkFunction() { 762 ManagementGenerateAppForLinkFunction::ManagementGenerateAppForLinkFunction() {
767 } 763 }
768 764
769 ManagementGenerateAppForLinkFunction::~ManagementGenerateAppForLinkFunction() { 765 ManagementGenerateAppForLinkFunction::~ManagementGenerateAppForLinkFunction() {
770 } 766 }
771 767
772 void ManagementGenerateAppForLinkFunction::FinishCreateBookmarkApp( 768 void ManagementGenerateAppForLinkFunction::FinishCreateBookmarkApp(
773 const Extension* extension, 769 const Extension* extension,
774 const WebApplicationInfo& web_app_info) { 770 const WebApplicationInfo& web_app_info) {
775 if (extension) { 771 if (extension) {
776 scoped_ptr<management::ExtensionInfo> info = 772 results_ = management::GenerateAppForLink::Results::Create(
777 CreateExtensionInfo(*extension, browser_context()); 773 CreateExtensionInfo(*extension, browser_context()));
778 results_ = management::GenerateAppForLink::Results::Create(*info);
779 774
780 SendResponse(true); 775 SendResponse(true);
781 Release(); 776 Release();
782 } else { 777 } else {
783 error_ = keys::kGenerateAppForLinkInstallError; 778 error_ = keys::kGenerateAppForLinkInstallError;
784 SendResponse(false); 779 SendResponse(false);
785 Release(); 780 Release();
786 } 781 }
787 } 782 }
788 783
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
864 void ManagementEventRouter::BroadcastEvent( 859 void ManagementEventRouter::BroadcastEvent(
865 const Extension* extension, 860 const Extension* extension,
866 events::HistogramValue histogram_value, 861 events::HistogramValue histogram_value,
867 const char* event_name) { 862 const char* event_name) {
868 if (extension->ShouldNotBeVisible()) 863 if (extension->ShouldNotBeVisible())
869 return; // Don't dispatch events for built-in extenions. 864 return; // Don't dispatch events for built-in extenions.
870 scoped_ptr<base::ListValue> args(new base::ListValue()); 865 scoped_ptr<base::ListValue> args(new base::ListValue());
871 if (event_name == management::OnUninstalled::kEventName) { 866 if (event_name == management::OnUninstalled::kEventName) {
872 args->Append(new base::StringValue(extension->id())); 867 args->Append(new base::StringValue(extension->id()));
873 } else { 868 } else {
874 scoped_ptr<management::ExtensionInfo> info = 869 args->Append(CreateExtensionInfo(*extension, browser_context_).ToValue());
875 CreateExtensionInfo(*extension, browser_context_);
876 args->Append(info->ToValue().release());
877 } 870 }
878 871
879 EventRouter::Get(browser_context_) 872 EventRouter::Get(browser_context_)
880 ->BroadcastEvent(scoped_ptr<Event>( 873 ->BroadcastEvent(scoped_ptr<Event>(
881 new Event(histogram_value, event_name, std::move(args)))); 874 new Event(histogram_value, event_name, std::move(args))));
882 } 875 }
883 876
884 ManagementAPI::ManagementAPI(content::BrowserContext* context) 877 ManagementAPI::ManagementAPI(content::BrowserContext* context)
885 : browser_context_(context), 878 : browser_context_(context),
886 delegate_(ExtensionsAPIClient::Get()->CreateManagementAPIDelegate()) { 879 delegate_(ExtensionsAPIClient::Get()->CreateManagementAPIDelegate()) {
(...skipping 19 matching lines...) Expand all
906 ManagementAPI::GetFactoryInstance() { 899 ManagementAPI::GetFactoryInstance() {
907 return g_factory.Pointer(); 900 return g_factory.Pointer();
908 } 901 }
909 902
910 void ManagementAPI::OnListenerAdded(const EventListenerInfo& details) { 903 void ManagementAPI::OnListenerAdded(const EventListenerInfo& details) {
911 management_event_router_.reset(new ManagementEventRouter(browser_context_)); 904 management_event_router_.reset(new ManagementEventRouter(browser_context_));
912 EventRouter::Get(browser_context_)->UnregisterObserver(this); 905 EventRouter::Get(browser_context_)->UnregisterObserver(this);
913 } 906 }
914 907
915 } // namespace extensions 908 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | extensions/browser/api/networking_config/networking_config_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698