Index: chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
diff --git a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
index bce514598a8ae7d8576c3e46aa935116ca6450f1..5f9489ce1efd543b2c54bfa1add55695466f16cd 100644 |
--- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
+++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
@@ -340,8 +340,10 @@ base::DictionaryValue* ExtensionSettingsHandler::CreateExtensionDetailValue( |
// (using both is redundant). |
ErrorConsole* error_console = |
ErrorConsole::Get(extension_service_->profile()); |
- if (error_console->IsEnabledForChromeExtensionsPage() && |
- extension->location() == Manifest::UNPACKED) { |
+ if (error_console->IsEnabledForChromeExtensionsPage()) { |
+ extension_data->SetBoolean("errorCollectionEnabled", |
+ error_console->IsReportingEnabledForExtension( |
+ extension->id())); |
const ErrorList& errors = |
error_console->GetErrorsForExtension(extension->id()); |
if (!errors.empty()) { |
@@ -426,6 +428,8 @@ void ExtensionSettingsHandler::GetLocalizedValues( |
l10n_util::GetStringUTF16(IDS_EXTENSIONS_REMOVE)); |
source->AddString("extensionSettingsEnableIncognito", |
l10n_util::GetStringUTF16(IDS_EXTENSIONS_ENABLE_INCOGNITO)); |
+ source->AddString("extensionSettingsEnableErrorCollection", |
+ l10n_util::GetStringUTF16(IDS_EXTENSIONS_ENABLE_ERROR_COLLECTION)); |
source->AddString("extensionSettingsAllowFileAccess", |
l10n_util::GetStringUTF16(IDS_EXTENSIONS_ALLOW_FILE_ACCESS)); |
source->AddString("extensionSettingsIncognitoWarning", |
@@ -534,6 +538,9 @@ void ExtensionSettingsHandler::RegisterMessages() { |
web_ui()->RegisterMessageCallback("extensionSettingsEnableIncognito", |
base::Bind(&ExtensionSettingsHandler::HandleEnableIncognitoMessage, |
AsWeakPtr())); |
+ web_ui()->RegisterMessageCallback("extensionSettingsEnableErrorCollection", |
+ base::Bind(&ExtensionSettingsHandler::HandleEnableErrorCollectionMessage, |
+ AsWeakPtr())); |
web_ui()->RegisterMessageCallback("extensionSettingsAllowFileAccess", |
base::Bind(&ExtensionSettingsHandler::HandleAllowFileAccessMessage, |
AsWeakPtr())); |
@@ -978,6 +985,18 @@ void ExtensionSettingsHandler::HandleEnableIncognitoMessage( |
enable_str == "true"); |
} |
+void ExtensionSettingsHandler::HandleEnableErrorCollectionMessage( |
+ const base::ListValue* args) { |
+ CHECK_EQ(2u, args->GetSize()); |
+ std::string extension_id; |
+ std::string enable_str; |
+ CHECK(args->GetString(0, &extension_id)); |
+ CHECK(args->GetString(1, &enable_str)); |
+ bool enabled = enable_str == "true"; |
+ ErrorConsole::Get(Profile::FromWebUI(web_ui())) |
+ ->SetReportingForExtensionForAllTypes(extension_id, enabled); |
+} |
+ |
void ExtensionSettingsHandler::HandleAllowFileAccessMessage( |
const base::ListValue* args) { |
CHECK_EQ(2U, args->GetSize()); |