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

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

Issue 1497193002: Remove all the ephemeral apps code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Self review, Devlin review. Created 5 years 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 (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 <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 NOTREACHED(); 239 NOTREACHED();
240 } 240 }
241 241
242 info->available_launch_types.reset(new std::vector<management::LaunchType>( 242 info->available_launch_types.reset(new std::vector<management::LaunchType>(
243 GetAvailableLaunchTypes(extension, delegate))); 243 GetAvailableLaunchTypes(extension, delegate)));
244 } 244 }
245 245
246 return info.Pass(); 246 return info.Pass();
247 } 247 }
248 248
249 bool ShouldNotBeVisible(const Extension* extension,
250 content::BrowserContext* context) {
251 return (extension->ShouldNotBeVisible() ||
252 ExtensionPrefs::Get(context)->IsEphemeralApp(extension->id()));
253 }
254
255 void AddExtensionInfo(const ExtensionSet& extensions, 249 void AddExtensionInfo(const ExtensionSet& extensions,
256 ExtensionInfoList* extension_list, 250 ExtensionInfoList* extension_list,
257 content::BrowserContext* context) { 251 content::BrowserContext* context) {
258 for (ExtensionSet::const_iterator iter = extensions.begin(); 252 for (ExtensionSet::const_iterator iter = extensions.begin();
259 iter != extensions.end(); ++iter) { 253 iter != extensions.end(); ++iter) {
260 const Extension& extension = *iter->get(); 254 const Extension& extension = *iter->get();
261 255
262 if (ShouldNotBeVisible(&extension, context)) 256 if (extension.ShouldNotBeVisible())
263 continue; // Skip built-in extensions/apps. 257 continue; // Skip built-in extensions/apps.
264 258
265 extension_list->push_back(make_linked_ptr<management::ExtensionInfo>( 259 extension_list->push_back(make_linked_ptr<management::ExtensionInfo>(
266 CreateExtensionInfo(extension, context).release())); 260 CreateExtensionInfo(extension, context).release()));
267 } 261 }
268 } 262 }
269 263
270 } // namespace 264 } // namespace
271 265
272 bool ManagementGetAllFunction::RunSync() { 266 bool ManagementGetAllFunction::RunSync() {
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 EXTENSION_FUNCTION_VALIDATE(params.get()); 421 EXTENSION_FUNCTION_VALIDATE(params.get());
428 ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context()); 422 ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context());
429 const ManagementAPIDelegate* delegate = ManagementAPI::GetFactoryInstance() 423 const ManagementAPIDelegate* delegate = ManagementAPI::GetFactoryInstance()
430 ->Get(browser_context()) 424 ->Get(browser_context())
431 ->GetDelegate(); 425 ->GetDelegate();
432 426
433 extension_id_ = params->id; 427 extension_id_ = params->id;
434 428
435 const Extension* extension = 429 const Extension* extension =
436 registry->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING); 430 registry->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING);
437 if (!extension || ShouldNotBeVisible(extension, browser_context())) 431 if (!extension || extension->ShouldNotBeVisible())
438 return RespondNow(Error(keys::kNoExtensionError, extension_id_)); 432 return RespondNow(Error(keys::kNoExtensionError, extension_id_));
439 433
440 bool enabled = params->enabled; 434 bool enabled = params->enabled;
441 const ManagementPolicy* policy = 435 const ManagementPolicy* policy =
442 ExtensionSystem::Get(browser_context())->management_policy(); 436 ExtensionSystem::Get(browser_context())->management_policy();
443 if (!policy->UserMayModifySettings(extension, nullptr) || 437 if (!policy->UserMayModifySettings(extension, nullptr) ||
444 (!enabled && policy->MustRemainEnabled(extension, nullptr)) || 438 (!enabled && policy->MustRemainEnabled(extension, nullptr)) ||
445 (enabled && policy->MustRemainDisabled(extension, nullptr, nullptr))) { 439 (enabled && policy->MustRemainDisabled(extension, nullptr, nullptr))) {
446 return RespondNow(Error(keys::kUserCantModifyError, extension_id_)); 440 return RespondNow(Error(keys::kUserCantModifyError, extension_id_));
447 } 441 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 const std::string& target_extension_id, 510 const std::string& target_extension_id,
517 bool show_confirm_dialog) { 511 bool show_confirm_dialog) {
518 const ManagementAPIDelegate* delegate = ManagementAPI::GetFactoryInstance() 512 const ManagementAPIDelegate* delegate = ManagementAPI::GetFactoryInstance()
519 ->Get(browser_context()) 513 ->Get(browser_context())
520 ->GetDelegate(); 514 ->GetDelegate();
521 target_extension_id_ = target_extension_id; 515 target_extension_id_ = target_extension_id;
522 const Extension* target_extension = 516 const Extension* target_extension =
523 extensions::ExtensionRegistry::Get(browser_context()) 517 extensions::ExtensionRegistry::Get(browser_context())
524 ->GetExtensionById(target_extension_id_, 518 ->GetExtensionById(target_extension_id_,
525 ExtensionRegistry::EVERYTHING); 519 ExtensionRegistry::EVERYTHING);
526 if (!target_extension || 520 if (!target_extension || target_extension->ShouldNotBeVisible()) {
527 ShouldNotBeVisible(target_extension, browser_context())) {
528 return RespondNow(Error(keys::kNoExtensionError, target_extension_id_)); 521 return RespondNow(Error(keys::kNoExtensionError, target_extension_id_));
529 } 522 }
530 523
531 ManagementPolicy* policy = 524 ManagementPolicy* policy =
532 ExtensionSystem::Get(browser_context())->management_policy(); 525 ExtensionSystem::Get(browser_context())->management_policy();
533 if (!policy->UserMayModifySettings(target_extension, nullptr) || 526 if (!policy->UserMayModifySettings(target_extension, nullptr) ||
534 policy->MustRemainInstalled(target_extension, nullptr)) { 527 policy->MustRemainInstalled(target_extension, nullptr)) {
535 return RespondNow(Error(keys::kUserCantModifyError, target_extension_id_)); 528 return RespondNow(Error(keys::kUserCantModifyError, target_extension_id_));
536 } 529 }
537 530
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 const Extension* extension, 853 const Extension* extension,
861 extensions::UninstallReason reason) { 854 extensions::UninstallReason reason) {
862 BroadcastEvent(extension, events::MANAGEMENT_ON_UNINSTALLED, 855 BroadcastEvent(extension, events::MANAGEMENT_ON_UNINSTALLED,
863 management::OnUninstalled::kEventName); 856 management::OnUninstalled::kEventName);
864 } 857 }
865 858
866 void ManagementEventRouter::BroadcastEvent( 859 void ManagementEventRouter::BroadcastEvent(
867 const Extension* extension, 860 const Extension* extension,
868 events::HistogramValue histogram_value, 861 events::HistogramValue histogram_value,
869 const char* event_name) { 862 const char* event_name) {
870 if (ShouldNotBeVisible(extension, browser_context_)) 863 if (extension->ShouldNotBeVisible())
871 return; // Don't dispatch events for built-in extenions. 864 return; // Don't dispatch events for built-in extenions.
872 scoped_ptr<base::ListValue> args(new base::ListValue()); 865 scoped_ptr<base::ListValue> args(new base::ListValue());
873 if (event_name == management::OnUninstalled::kEventName) { 866 if (event_name == management::OnUninstalled::kEventName) {
874 args->Append(new base::StringValue(extension->id())); 867 args->Append(new base::StringValue(extension->id()));
875 } else { 868 } else {
876 scoped_ptr<management::ExtensionInfo> info = 869 scoped_ptr<management::ExtensionInfo> info =
877 CreateExtensionInfo(*extension, browser_context_); 870 CreateExtensionInfo(*extension, browser_context_);
878 args->Append(info->ToValue().release()); 871 args->Append(info->ToValue().release());
879 } 872 }
880 873
(...skipping 27 matching lines...) Expand all
908 ManagementAPI::GetFactoryInstance() { 901 ManagementAPI::GetFactoryInstance() {
909 return g_factory.Pointer(); 902 return g_factory.Pointer();
910 } 903 }
911 904
912 void ManagementAPI::OnListenerAdded(const EventListenerInfo& details) { 905 void ManagementAPI::OnListenerAdded(const EventListenerInfo& details) {
913 management_event_router_.reset(new ManagementEventRouter(browser_context_)); 906 management_event_router_.reset(new ManagementEventRouter(browser_context_));
914 EventRouter::Get(browser_context_)->UnregisterObserver(this); 907 EventRouter::Get(browser_context_)->UnregisterObserver(this);
915 } 908 }
916 909
917 } // namespace extensions 910 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/api/app_runtime/app_runtime_api.cc ('k') | extensions/browser/api/runtime/runtime_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698