| Index: chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| ===================================================================
|
| --- chrome/browser/ui/webui/extensions/extension_settings_handler.cc (revision 162977)
|
| +++ chrome/browser/ui/webui/extensions/extension_settings_handler.cc (working copy)
|
| @@ -45,6 +45,7 @@
|
| #include "chrome/common/extensions/extension_constants.h"
|
| #include "chrome/common/extensions/extension_icon_set.h"
|
| #include "chrome/common/extensions/extension_set.h"
|
| +#include "chrome/common/extensions/feature_switch.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "content/public/browser/notification_service.h"
|
| @@ -145,6 +146,26 @@
|
| extension_data->SetBoolean("homepageProvided",
|
| extension->GetHomepageURL().is_valid());
|
|
|
| + string16 automatically_disabled_text;
|
| + int disable_reasons =
|
| + extension_service_->extension_prefs()->GetDisableReasons(extension->id());
|
| + if ((disable_reasons & Extension::DISABLE_SIDELOAD_WIPEOUT) != 0) {
|
| + automatically_disabled_text = l10n_util::GetStringUTF16(
|
| + IDS_OPTIONS_SIDELOAD_WIPEOUT_AUTOMATIC_DISABLE);
|
| + }
|
| + extension_data->SetString("disableReason", automatically_disabled_text);
|
| +
|
| + string16 location_text;
|
| + if (extension->location() == Extension::INTERNAL &&
|
| + !extension->from_webstore()) {
|
| + location_text = l10n_util::GetStringUTF16(
|
| + IDS_OPTIONS_SIDELOAD_WIPEOUT_DISABLE_REASON_UNKNOWN);
|
| + } else if (extension->location() == Extension::EXTERNAL_REGISTRY) {
|
| + location_text = l10n_util::GetStringUTF16(
|
| + IDS_OPTIONS_SIDELOAD_WIPEOUT_DISABLE_REASON_3RD_PARTY);
|
| + }
|
| + extension_data->SetString("locationText", location_text);
|
| +
|
| // Determine the sort order: Extensions loaded through --load-extensions show
|
| // up at the top. Disabled extensions show up at the bottom.
|
| if (extension->location() == Extension::LOAD)
|
| @@ -284,6 +305,12 @@
|
| l10n_util::GetStringUTF16(IDS_EXTENSIONS_POLICY_CONTROLLED));
|
| localized_strings->SetString("extensionSettingsManagedMode",
|
| l10n_util::GetStringUTF16(IDS_EXTENSIONS_LOCKED_MANAGED_MODE));
|
| + localized_strings->SetString("extensionSettingsSideloadWipeout",
|
| + l10n_util::GetStringUTF16(IDS_OPTIONS_SIDELOAD_WIPEOUT_BANNER));
|
| + localized_strings->SetString("sideloadWipeoutUrl",
|
| + chrome::kSideloadWipeoutHelpURL);
|
| + localized_strings->SetString("sideloadWipoutLearnMore",
|
| + l10n_util::GetStringUTF16(IDS_LEARN_MORE));
|
| localized_strings->SetString("extensionSettingsShowButton",
|
| l10n_util::GetStringUTF16(IDS_EXTENSIONS_SHOW_BUTTON));
|
| localized_strings->SetString("extensionSettingsLoadUnpackedButton",
|
| @@ -523,12 +550,20 @@
|
| results.SetBoolean("developerMode", false);
|
| } else {
|
| results.SetBoolean("managedMode", false);
|
| - Profile* profile = Profile::FromWebUI(web_ui());
|
| - bool developer_mode =
|
| - profile->GetPrefs()->GetBoolean(prefs::kExtensionsUIDeveloperMode);
|
| - results.SetBoolean("developerMode", developer_mode);
|
| + Profile* profile = Profile::FromWebUI(web_ui());
|
| + bool developer_mode =
|
| + profile->GetPrefs()->GetBoolean(prefs::kExtensionsUIDeveloperMode);
|
| + results.SetBoolean("developerMode", developer_mode);
|
| }
|
|
|
| + // Check to see if we have any wiped out extensions.
|
| + Profile* profile = Profile::FromWebUI(web_ui());
|
| + ExtensionService* extension_service =
|
| + extensions::ExtensionSystem::Get(profile)->extension_service();
|
| + scoped_ptr<const ExtensionSet> wiped_out(
|
| + extension_service->GetWipedOutExtensions());
|
| + results.SetBoolean("showDisabledExtensionsWarning", wiped_out->size() > 0);
|
| +
|
| bool load_unpacked_disabled =
|
| extension_service_->extension_prefs()->ExtensionsBlacklistedByDefault();
|
| results.SetBoolean("loadUnpackedDisabled", load_unpacked_disabled);
|
|
|