| 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..14fbb1f02d6dd79a0cfbe1a60187ad04c3e46153 100644
|
| --- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| +++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
|
| @@ -340,8 +340,13 @@ base::DictionaryValue* ExtensionSettingsHandler::CreateExtensionDetailValue(
|
| // (using both is redundant).
|
| ErrorConsole* error_console =
|
| ErrorConsole::Get(extension_service_->profile());
|
| - if (error_console->IsEnabledForChromeExtensionsPage() &&
|
| - extension->location() == Manifest::UNPACKED) {
|
| + bool error_console_is_enabled =
|
| + error_console->IsEnabledForChromeExtensionsPage();
|
| + extension_data->SetBoolean("wantsErrorCollection", error_console_is_enabled);
|
| + if (error_console_is_enabled) {
|
| + extension_data->SetBoolean("errorCollectionEnabled",
|
| + error_console->IsReportingEnabledForExtension(
|
| + extension->id()));
|
| const ErrorList& errors =
|
| error_console->GetErrorsForExtension(extension->id());
|
| if (!errors.empty()) {
|
| @@ -426,6 +431,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 +541,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 +988,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()))
|
| + ->SetReportingAllForExtension(extension_id, enabled);
|
| +}
|
| +
|
| void ExtensionSettingsHandler::HandleAllowFileAccessMessage(
|
| const base::ListValue* args) {
|
| CHECK_EQ(2U, args->GetSize());
|
|
|