Index: chrome/browser/extensions/extension_error_reporter.cc |
diff --git a/chrome/browser/extensions/extension_error_reporter.cc b/chrome/browser/extensions/extension_error_reporter.cc |
index 320fbd01f1d0c1880e14d89ebe50712c1a34bcb8..fa1d67c632feb96b91e0876ec7a385a0874e1394 100644 |
--- a/chrome/browser/extensions/extension_error_reporter.cc |
+++ b/chrome/browser/extensions/extension_error_reporter.cc |
@@ -77,12 +77,26 @@ void ExtensionErrorReporter::ReportError(const base::string16& message, |
LOG(WARNING) << "Extension error: " << message; |
if (enable_noisy_errors_ && be_noisy) { |
+ if (should_postpone_messages_) { |
+ postponed_messages_.push_back(message); |
+ return; |
+ } |
chrome::ShowWarningMessageBox( |
NULL, l10n_util::GetStringUTF16(IDS_EXTENSIONS_LOAD_ERROR_HEADING), |
message); |
} |
} |
+void ExtensionErrorReporter::ShowPostponedMessages() { |
+ should_postpone_messages_ = false; |
+ for (base::string16 message : postponed_messages_) { |
+ chrome::ShowWarningMessageBox( |
+ NULL, l10n_util::GetStringUTF16(IDS_EXTENSIONS_LOAD_ERROR_HEADING), |
+ message); |
+ } |
+ postponed_messages_.clear(); |
+} |
+ |
const std::vector<base::string16>* ExtensionErrorReporter::GetErrors() { |
return &errors_; |
} |