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

Unified Diff: chrome/browser/ui/webui/extensions/extension_settings_handler.cc

Issue 23624002: Add UI for RuntimeErrors in the ErrorConsole (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@dc_ec_merge
Patch Set: Created 7 years, 3 months 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 side-by-side diff with in-line comments
Download patch
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 7d3659ae26acd72fd7b416baeddbed6e2df8919e..fe339fda66704e9ee60bdf4b8935958c27e6c9bf 100644
--- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
+++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
@@ -118,7 +118,8 @@ ExtensionSettingsHandler::ExtensionSettingsHandler()
rvh_created_callback_(
base::Bind(&ExtensionSettingsHandler::RenderViewHostCreated,
base::Unretained(this))),
- warning_service_observer_(this) {
+ warning_service_observer_(this),
+ error_console_observer_(this) {
}
ExtensionSettingsHandler::~ExtensionSettingsHandler() {
@@ -137,7 +138,8 @@ ExtensionSettingsHandler::ExtensionSettingsHandler(ExtensionService* service,
ignore_notifications_(false),
deleting_rvh_(NULL),
registered_for_notifications_(false),
- warning_service_observer_(this) {
+ warning_service_observer_(this),
+ error_console_observer_(this) {
}
// static
@@ -265,12 +267,19 @@ base::DictionaryValue* ExtensionSettingsHandler::CreateExtensionDetailValue(
const ErrorConsole::ErrorList& errors =
error_console->GetErrorsForExtension(extension->id());
if (!errors.empty()) {
- scoped_ptr<ListValue> list(new ListValue);
+ scoped_ptr<ListValue> manifest_errors(new ListValue);
+ scoped_ptr<ListValue> runtime_errors(new ListValue);
for (ErrorConsole::ErrorList::const_iterator iter = errors.begin();
iter != errors.end(); ++iter) {
- list->Append((*iter)->ToValue().release());
+ if ((*iter)->type() == ExtensionError::MANIFEST_ERROR)
+ manifest_errors->Append((*iter)->ToValue().release());
+ else
+ runtime_errors->Append((*iter)->ToValue().release());
}
- extension_data->Set("manifestErrors", list.release());
+ if (!manifest_errors->empty())
+ extension_data->Set("manifestErrors", manifest_errors.release());
+ if (!runtime_errors->empty())
+ extension_data->Set("runtimeErrors", runtime_errors.release());
}
} else if (Manifest::IsUnpackedLocation(extension->location())) {
const std::vector<InstallWarning>& install_warnings =
@@ -480,6 +489,13 @@ void ExtensionSettingsHandler::MultiFilesSelected(
NOTREACHED();
}
+void ExtensionSettingsHandler::FileSelectionCanceled(void* params) {
+}
+
+void ExtensionSettingsHandler::OnErrorAdded(const ExtensionError* error) {
+ MaybeUpdateAfterNotification();
+}
+
void ExtensionSettingsHandler::Observe(
int type,
const content::NotificationSource& source,
@@ -1006,6 +1022,8 @@ void ExtensionSettingsHandler::MaybeRegisterForNotifications() {
warning_service_observer_.Add(
ExtensionSystem::Get(profile)->warning_service());
+ error_console_observer_.Add(ErrorConsole::Get(profile));
+
base::Closure callback = base::Bind(
&ExtensionSettingsHandler::MaybeUpdateAfterNotification,
base::Unretained(this));

Powered by Google App Engine
This is Rietveld 408576698