| Index: chrome/browser/extensions/api/management/management_api.cc
|
| diff --git a/chrome/browser/extensions/api/management/management_api.cc b/chrome/browser/extensions/api/management/management_api.cc
|
| index 86f67ef9684dfffc23e434167800577d11766a4e..3a5de769d928253b65f25c99c5af58701beda716 100644
|
| --- a/chrome/browser/extensions/api/management/management_api.cc
|
| +++ b/chrome/browser/extensions/api/management/management_api.cc
|
| @@ -22,6 +22,7 @@
|
| #include "chrome/browser/chrome_notification_types.h"
|
| #include "chrome/browser/extensions/api/management/management_api_constants.h"
|
| #include "chrome/browser/extensions/extension_service.h"
|
| +#include "chrome/browser/extensions/extension_ui_util.h"
|
| #include "chrome/browser/extensions/extension_uninstall_dialog.h"
|
| #include "chrome/browser/extensions/launch_util.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| @@ -215,12 +216,13 @@ scoped_ptr<management::ExtensionInfo> CreateExtensionInfo(
|
|
|
| void AddExtensionInfo(const ExtensionSet& extensions,
|
| ExtensionSystem* system,
|
| - ExtensionInfoList* extension_list) {
|
| + ExtensionInfoList* extension_list,
|
| + content::BrowserContext* context) {
|
| for (ExtensionSet::const_iterator iter = extensions.begin();
|
| iter != extensions.end(); ++iter) {
|
| const Extension& extension = *iter->get();
|
|
|
| - if (extension.ShouldNotBeVisible())
|
| + if (ui_util::ShouldNotBeVisible(&extension, context))
|
| continue; // Skip built-in extensions/apps.
|
|
|
| extension_list->push_back(make_linked_ptr<management::ExtensionInfo>(
|
| @@ -243,9 +245,12 @@ bool ManagementGetAllFunction::RunSync() {
|
| ExtensionRegistry* registry = ExtensionRegistry::Get(GetProfile());
|
| ExtensionSystem* system = ExtensionSystem::Get(GetProfile());
|
|
|
| - AddExtensionInfo(registry->enabled_extensions(), system, &extensions);
|
| - AddExtensionInfo(registry->disabled_extensions(), system, &extensions);
|
| - AddExtensionInfo(registry->terminated_extensions(), system, &extensions);
|
| + AddExtensionInfo(registry->enabled_extensions(),
|
| + system, &extensions, browser_context());
|
| + AddExtensionInfo(registry->disabled_extensions(),
|
| + system, &extensions, browser_context());
|
| + AddExtensionInfo(registry->terminated_extensions(),
|
| + system, &extensions, browser_context());
|
|
|
| results_ = management::GetAll::Results::Create(extensions);
|
| return true;
|
| @@ -468,7 +473,7 @@ bool ManagementSetEnabledFunction::RunAsync() {
|
| extension_id_ = params->id;
|
|
|
| const Extension* extension = service()->GetInstalledExtension(extension_id_);
|
| - if (!extension || extension->ShouldNotBeVisible()) {
|
| + if (!extension || ui_util::ShouldNotBeVisible(extension, browser_context())) {
|
| error_ = ErrorUtils::FormatErrorMessage(
|
| keys::kNoExtensionError, extension_id_);
|
| return false;
|
| @@ -536,7 +541,8 @@ bool ManagementUninstallFunctionBase::Uninstall(
|
| extension_id_ = target_extension_id;
|
| const Extension* target_extension =
|
| service()->GetExtensionById(extension_id_, true);
|
| - if (!target_extension || target_extension->ShouldNotBeVisible()) {
|
| + if (!target_extension ||
|
| + ui_util::ShouldNotBeVisible(target_extension, browser_context())) {
|
| error_ = ErrorUtils::FormatErrorMessage(
|
| keys::kNoExtensionError, extension_id_);
|
| return false;
|
| @@ -773,7 +779,7 @@ void ManagementEventRouter::Observe(
|
| DCHECK(event_name);
|
| DCHECK(extension);
|
|
|
| - if (extension->ShouldNotBeVisible())
|
| + if (ui_util::ShouldNotBeVisible(extension, profile_))
|
| return; // Don't dispatch events for built-in extensions.
|
|
|
| scoped_ptr<base::ListValue> args(new base::ListValue());
|
|
|