| Index: chrome/browser/extensions/error_console/error_console.h
|
| diff --git a/chrome/browser/extensions/error_console/error_console.h b/chrome/browser/extensions/error_console/error_console.h
|
| index f2d19eba5434fd1949ab473d66c9b3b846b46eb0..dacea8559b37917b12ceaab16130ae7566cc0752 100644
|
| --- a/chrome/browser/extensions/error_console/error_console.h
|
| +++ b/chrome/browser/extensions/error_console/error_console.h
|
| @@ -30,8 +30,8 @@ class ExtensionService;
|
| class Profile;
|
|
|
| namespace extensions {
|
| -class ErrorConsoleUnitTest;
|
| class Extension;
|
| +class ExtensionPrefs;
|
|
|
| // The ErrorConsole is a central object to which all extension errors are
|
| // reported. This includes errors detected in extensions core, as well as
|
| @@ -65,6 +65,15 @@ class ErrorConsole : public content::NotificationObserver,
|
| ExtensionError::Type type,
|
| bool enabled);
|
|
|
| + // Set whether or not errors of all types are stored for the extension with
|
| + // the given |extension_id|.
|
| + void SetReportingAllForExtension(const std::string& extension_id,
|
| + bool enabled);
|
| +
|
| + // Returns true if reporting for either manifest or runtime errors is enabled
|
| + // for the extension with the given |extension_id|.
|
| + bool IsReportingEnabledForExtension(const std::string& extension_id) const;
|
| +
|
| // Restore default reporting to the given extension.
|
| void UseDefaultReportingForExtension(const std::string& extension_id);
|
|
|
| @@ -102,10 +111,6 @@ class ErrorConsole : public content::NotificationObserver,
|
| }
|
|
|
| private:
|
| - // A map which stores the reporting preferences for each Extension. If there
|
| - // is no entry in the map, it signals that the |default_mask_| should be used.
|
| - typedef std::map<std::string, int32> ErrorPreferenceMap;
|
| -
|
| // Checks whether or not the ErrorConsole should be enabled or disabled. If it
|
| // is in the wrong state, enables or disables it appropriately.
|
| void CheckEnabled();
|
| @@ -138,6 +143,11 @@ class ErrorConsole : public content::NotificationObserver,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
|
|
| + // Returns true if we should report the error of the given type for the
|
| + // extension.
|
| + bool ShouldReportErrorForExtension(const std::string& extension_id,
|
| + ExtensionError::Type type) const;
|
| +
|
| // Whether or not the error console should record errors. This is true if
|
| // the user is in developer mode, and at least one of the following is true:
|
| // - The Chrome Apps Developer Tools are installed.
|
| @@ -154,9 +164,6 @@ class ErrorConsole : public content::NotificationObserver,
|
| // The errors which we have received so far.
|
| ErrorMap errors_;
|
|
|
| - // The mapping of Extension's error-reporting preferences.
|
| - ErrorPreferenceMap pref_map_;
|
| -
|
| // The default mask to use if an Extension does not have specific settings.
|
| int32 default_mask_;
|
|
|
| @@ -165,6 +172,11 @@ class ErrorConsole : public content::NotificationObserver,
|
| // incognito fellow).
|
| Profile* profile_;
|
|
|
| + // The ExtensionPrefs with which the ErrorConsole is associated. This weak
|
| + // pointer is safe because ErrorConsole is owned by ExtensionSystem, which
|
| + // is dependent on ExtensionPrefs.
|
| + ExtensionPrefs* prefs_;
|
| +
|
| content::NotificationRegistrar notification_registrar_;
|
| PrefChangeRegistrar pref_registrar_;
|
|
|
|
|