Chromium Code Reviews| Index: chrome/browser/extensions/extension_toolbar_model.cc |
| diff --git a/chrome/browser/extensions/extension_toolbar_model.cc b/chrome/browser/extensions/extension_toolbar_model.cc |
| index c869fd91d184932f037a508c2b9ecfb58be2b29a..9b4332eddd532ea3a4d790e3516ad34c9ff31a27 100644 |
| --- a/chrome/browser/extensions/extension_toolbar_model.cc |
| +++ b/chrome/browser/extensions/extension_toolbar_model.cc |
| @@ -4,6 +4,8 @@ |
| #include "chrome/browser/extensions/extension_toolbar_model.h" |
| +#include <string> |
| + |
| #include "base/prefs/pref_service.h" |
| #include "chrome/browser/chrome_notification_types.h" |
| #include "chrome/browser/extensions/api/extension_action/extension_action_api.h" |
| @@ -156,6 +158,19 @@ ExtensionToolbarModel::Action ExtensionToolbarModel::ExecuteBrowserAction( |
| return ACTION_NONE; |
| } |
| +GURL ExtensionToolbarModel::GetPopupUrl( |
| + const Extension* extension, Browser* browser) { |
| + content::WebContents* web_contents = NULL; |
| + int tab_id = 0; |
| + if (!ExtensionTabUtil::GetDefaultTab(browser, &web_contents, &tab_id)) |
| + return GURL(); |
| + |
| + ExtensionAction* browser_action = |
| + extensions::ExtensionActionManager::Get(service_->profile())-> |
| + GetBrowserAction(*extension); |
| + return browser_action->GetPopupUrl(tab_id); |
| +} |
| + |
| void ExtensionToolbarModel::SetVisibleIconCount(int count) { |
| visible_icon_count_ = |
| count == static_cast<int>(toolbar_items_.size()) ? -1 : count; |
| @@ -454,3 +469,8 @@ void ExtensionToolbarModel::OnExtensionToolbarPrefChange() { |
| weak_ptr_factory_.GetWeakPtr())); |
| } |
| } |
| + |
| +void ExtensionToolbarModel::ShowBrowserActionPopup( |
| + const extensions::Extension* extension) { |
| + FOR_EACH_OBSERVER(Observer, observers_, BrowserActionShowPopup(extension)); |
|
Finnur
2013/10/15 10:44:21
So, if you have two windows, aren't both going to
justinlin
2013/10/16 07:06:48
Added comment clarifying that only the active wind
|
| +} |