Index: chrome/browser/protector/settings_change_global_error.h |
diff --git a/chrome/browser/protector/settings_change_global_error.h b/chrome/browser/protector/settings_change_global_error.h |
index ff0064f245ace9bff279e5dadbf1811cbe9cdba5..86194146dbdcfc1c8aa762fa02e0c6f4b8d52f09 100644 |
--- a/chrome/browser/protector/settings_change_global_error.h |
+++ b/chrome/browser/protector/settings_change_global_error.h |
@@ -18,13 +18,15 @@ class Profile; |
namespace protector { |
+class BaseSettingChange; |
class SettingsChangeGlobalErrorDelegate; |
// Global error about unwanted settings changes. |
class SettingsChangeGlobalError : public GlobalError { |
public: |
- // Creates new global error about setting changes |change| and takes |
- // ownership over it. Uses |delegate| to notify about user decision. |
+ // Creates new global error about setting changes |change| which must not be |
+ // deleted until |delegate->OnRemovedFromProfile| is called. Uses |delegate| |
+ // to notify about user decision. |
SettingsChangeGlobalError(BaseSettingChange* change, |
SettingsChangeGlobalErrorDelegate* delegate); |
virtual ~SettingsChangeGlobalError(); |
@@ -33,11 +35,12 @@ class SettingsChangeGlobalError : public GlobalError { |
// Can be called from any thread. |
void ShowForProfile(Profile* profile); |
+ // Removes global error from its profile. |
+ void RemoveFromProfile(); |
+ |
// Browser that the bubble has been last time shown for. |
Browser* browser() const { return browser_; } |
- BaseSettingChange* mutable_change() { return change_.get(); } |
- |
// GlobalError implementation. |
virtual bool HasBadge() OVERRIDE; |
virtual bool HasMenuItem() OVERRIDE; |
@@ -61,11 +64,12 @@ class SettingsChangeGlobalError : public GlobalError { |
// Displays global error bubble. Must be called on the UI thread. |
void Show(); |
- // Removes global error from its profile and deletes |this| later. |
- void RemoveFromProfile(); |
+ // Called when the wrench menu item has been displayed for enough time |
+ // without user interaction. |
+ void OnInactiveTimeout(); |
// Change to show. |
- scoped_ptr<BaseSettingChange> change_; |
+ BaseSettingChange* change_; |
// Delegate to notify about user actions. |
SettingsChangeGlobalErrorDelegate* delegate_; |