Index: chrome/browser/extensions/error_console/error_console.cc |
diff --git a/chrome/browser/extensions/error_console/error_console.cc b/chrome/browser/extensions/error_console/error_console.cc |
index 5dd23cc478f9dde4a41a42889cd89e0f7fc4dd1e..393f76f8e460dd8aa2d40cf7ed40f13e082c4f06 100644 |
--- a/chrome/browser/extensions/error_console/error_console.cc |
+++ b/chrome/browser/extensions/error_console/error_console.cc |
@@ -46,6 +46,13 @@ const char kAppsDeveloperToolsExtensionId[] = |
} // namespace |
+void ErrorConsole::Observer::OnErrorAdded(const ExtensionError* error) { |
+} |
+ |
+void ErrorConsole::Observer::OnErrorsRemoved( |
+ const std::set<std::string>& extension_ids) { |
+} |
+ |
void ErrorConsole::Observer::OnErrorConsoleDestroyed() { |
} |
@@ -141,7 +148,9 @@ void ErrorConsole::ReportError(scoped_ptr<ExtensionError> error) { |
} |
void ErrorConsole::RemoveErrors(const ErrorMap::Filter& filter) { |
- errors_.RemoveErrors(filter); |
+ std::set<std::string> affected_ids; |
+ errors_.RemoveErrors(filter, &affected_ids); |
+ FOR_EACH_OBSERVER(Observer, observers_, OnErrorsRemoved(affected_ids)); |
} |
const ErrorList& ErrorConsole::GetErrorsForExtension( |
@@ -231,7 +240,7 @@ void ErrorConsole::OnExtensionInstalled( |
// refresh of chrome:extensions, and we don't want to wipe our history |
// whenever that happens. |
errors_.RemoveErrors(ErrorMap::Filter::ErrorsForExtensionWithType( |
- extension->id(), ExtensionError::MANIFEST_ERROR)); |
+ extension->id(), ExtensionError::MANIFEST_ERROR), nullptr); |
AddManifestErrorsForExtension(extension); |
} |
@@ -239,7 +248,8 @@ void ErrorConsole::OnExtensionUninstalled( |
content::BrowserContext* browser_context, |
const Extension* extension, |
extensions::UninstallReason reason) { |
- errors_.RemoveErrors(ErrorMap::Filter::ErrorsForExtension(extension->id())); |
+ errors_.RemoveErrors(ErrorMap::Filter::ErrorsForExtension(extension->id()), |
+ nullptr); |
} |
void ErrorConsole::AddManifestErrorsForExtension(const Extension* extension) { |
@@ -263,7 +273,7 @@ void ErrorConsole::Observe(int type, |
// If incognito profile which we are associated with is destroyed, also |
// destroy all incognito errors. |
if (profile->IsOffTheRecord() && profile_->IsSameProfile(profile)) |
- errors_.RemoveErrors(ErrorMap::Filter::IncognitoErrors()); |
+ errors_.RemoveErrors(ErrorMap::Filter::IncognitoErrors(), nullptr); |
} |
int ErrorConsole::GetMaskForExtension(const std::string& extension_id) const { |