Add Error Console UI for install warnings to the chrome:extensions page (hidden behind the error console switch).
Snazzy Images: http://imgur.com/a/7QnMo#0 (updated 9/3)
BUG=21734
Review URL: https://chromiumcodereview.appspot.com/22938005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221527 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/extensions/browser/extension_error.h b/extensions/browser/extension_error.h
index ceb1504..7e02bb3 100644
--- a/extensions/browser/extension_error.h
+++ b/extensions/browser/extension_error.h
@@ -10,10 +10,15 @@
#include "base/compiler_specific.h"
#include "base/logging.h"
+#include "base/memory/scoped_ptr.h"
#include "base/strings/string16.h"
#include "extensions/common/stack_frame.h"
#include "url/gurl.h"
+namespace base {
+class DictionaryValue;
+}
+
namespace extensions {
class ExtensionError {
@@ -25,6 +30,9 @@
virtual ~ExtensionError();
+ // Serializes the ExtensionError into JSON format.
+ virtual scoped_ptr<base::DictionaryValue> ToValue() const;
+
virtual std::string PrintForTest() const;
// Return true if this error and |rhs| are considered equal, and should be
@@ -40,6 +48,14 @@
size_t occurrences() const { return occurrences_; }
void set_occurrences(size_t occurrences) { occurrences_ = occurrences; }
+ // Keys used for retrieving JSON values.
+ static const char kExtensionIdKey[];
+ static const char kFromIncognitoKey[];
+ static const char kLevelKey[];
+ static const char kMessageKey[];
+ static const char kSourceKey[];
+ static const char kTypeKey[];
+
protected:
ExtensionError(Type type,
const std::string& extension_id,
@@ -78,10 +94,17 @@
const base::string16& manifest_specific);
virtual ~ManifestError();
+ virtual scoped_ptr<base::DictionaryValue> ToValue() const OVERRIDE;
+
virtual std::string PrintForTest() const OVERRIDE;
const base::string16& manifest_key() const { return manifest_key_; }
const base::string16& manifest_specific() const { return manifest_specific_; }
+
+ // Keys used for retrieving JSON values.
+ static const char kManifestKeyKey[];
+ static const char kManifestSpecificKey[];
+
private:
virtual bool IsEqualImpl(const ExtensionError* rhs) const OVERRIDE;