Chromium Code Reviews| Index: chrome/browser/extensions/extension_toolbar_model.h |
| diff --git a/chrome/browser/extensions/extension_toolbar_model.h b/chrome/browser/extensions/extension_toolbar_model.h |
| index c0d35d6aa9a35c02be70fbf122a7e4bd907c12a7..0f1e0777285bb4e74524f809e1e4a697cd187cc4 100644 |
| --- a/chrome/browser/extensions/extension_toolbar_model.h |
| +++ b/chrome/browser/extensions/extension_toolbar_model.h |
| @@ -37,8 +37,8 @@ class ExtensionToolbarModel : public content::NotificationObserver, |
| // A class which is informed of changes to the model; represents the view of |
| // MVC. Also used for signaling view changes such as showing extension popups. |
| - // TODO(devlin): Should this really be an observer? There should probably be |
| - // only one (aka a Delegate)... |
| + // TODO(devlin): Should this really be an observer? It acts more like a |
| + // delegate. |
| class Observer { |
| public: |
| // An extension has been added to the toolbar and should go at |index|. |
| @@ -59,8 +59,11 @@ class ExtensionToolbarModel : public content::NotificationObserver, |
| virtual void ToolbarExtensionUpdated(const Extension* extension) = 0; |
| // Signal the |extension| to show the popup now in the active window. |
| + // If |grant_active_tab| is true, then active tab permissions should be |
| + // given to the extension (only do this if this is through a user action). |
| // Returns true if a popup was slated to be shown. |
| - virtual bool ShowExtensionActionPopup(const Extension* extension) = 0; |
| + virtual bool ShowExtensionActionPopup(const Extension* extension, |
| + bool grant_active_tab) = 0; |
| // Signal when the container needs to be redrawn because of a size change, |
| // and when the model has finished loading. |
| @@ -75,6 +78,9 @@ class ExtensionToolbarModel : public content::NotificationObserver, |
| // with the new set (and just assume the new set is different). |
| virtual void ToolbarHighlightModeChanged(bool is_highlighting) = 0; |
| + // Returns the browser associated with the Observer. |
| + virtual Browser* GetBrowser() = 0; |
| + |
| protected: |
| virtual ~Observer() {} |
| }; |
| @@ -112,9 +118,11 @@ class ExtensionToolbarModel : public content::NotificationObserver, |
| void OnExtensionToolbarPrefChange(); |
| - // Tells observers to display a popup without granting tab permissions and |
| - // returns whether the popup was slated to be shown. |
| - bool ShowBrowserActionPopup(const Extension* extension); |
| + // Finds the Observer associated with |browser| and tells it to display a |
| + // popup for the given |extension|. |
|
Finnur
2014/08/27 11:53:02
Definitely comment |grant_active_tab|.
Devlin
2014/08/27 15:43:22
Done.
|
| + bool ShowExtensionActionPopup(const Extension* extension, |
| + Browser* browser, |
| + bool grant_active_tab); |
| // Ensures that the extensions in the |extension_ids| list are visible on the |
| // toolbar. This might mean they need to be moved to the front (if they are in |