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
|
+} |