| 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 fbcc5b1df9adb3cfa0d5de263ca3591d5e43daa5..837402bea19937013fae60b73f8da0d825aefec4 100644
|
| --- a/chrome/browser/extensions/extension_error_reporter.cc
|
| +++ b/chrome/browser/extensions/extension_error_reporter.cc
|
| @@ -8,10 +8,14 @@
|
|
|
| #include "base/bind.h"
|
| #include "base/bind_helpers.h"
|
| +#include "base/files/file_path.h"
|
| #include "base/logging.h"
|
| #include "base/message_loop/message_loop.h"
|
| +#include "base/strings/stringprintf.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| +#include "chrome/browser/chrome_notification_types.h"
|
| #include "chrome/browser/ui/simple_message_box.h"
|
| +#include "content/public/browser/notification_service.h"
|
|
|
| ExtensionErrorReporter* ExtensionErrorReporter::instance_ = NULL;
|
|
|
| @@ -35,6 +39,24 @@ ExtensionErrorReporter::ExtensionErrorReporter(bool enable_noisy_errors)
|
|
|
| ExtensionErrorReporter::~ExtensionErrorReporter() {}
|
|
|
| +void ExtensionErrorReporter::ReportLoadError(
|
| + const base::FilePath& extension_path,
|
| + const std::string& error,
|
| + Profile* profile,
|
| + bool be_noisy) {
|
| + content::NotificationService::current()->Notify(
|
| + chrome::NOTIFICATION_EXTENSION_LOAD_ERROR,
|
| + content::Source<Profile>(profile),
|
| + content::Details<const std::string>(&error));
|
| +
|
| + std::string path_str = base::UTF16ToUTF8(extension_path.LossyDisplayName());
|
| + base::string16 message = base::UTF8ToUTF16(
|
| + base::StringPrintf("Could not load extension from '%s'. %s",
|
| + path_str.c_str(),
|
| + error.c_str()));
|
| + ReportError(message, be_noisy);
|
| +}
|
| +
|
| void ExtensionErrorReporter::ReportError(const base::string16& message,
|
| bool be_noisy) {
|
| // NOTE: There won't be a ui_loop_ in the unit test environment.
|
|
|