Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2542)

Unified Diff: chrome/browser/extensions/extension_toolbar_model.cc

Issue 25305002: Implement initial chrome.browserAction.openPopup API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
+}

Powered by Google App Engine
This is Rietveld 408576698