Index: chrome/browser/ui/views/extensions/extension_action_view_controller.cc |
diff --git a/chrome/browser/ui/views/extensions/extension_action_view_controller.cc b/chrome/browser/ui/views/extensions/extension_action_view_controller.cc |
index 56bf76f674c9f65ee04428c5d11ec6a1a54c9aa6..9256bd0b36e9279b8869b19bab76eacc64f30f97 100644 |
--- a/chrome/browser/ui/views/extensions/extension_action_view_controller.cc |
+++ b/chrome/browser/ui/views/extensions/extension_action_view_controller.cc |
@@ -6,10 +6,8 @@ |
#include "base/logging.h" |
#include "chrome/browser/extensions/api/commands/command_service.h" |
+#include "chrome/browser/extensions/api/extension_action/extension_action_api.h" |
#include "chrome/browser/extensions/extension_action.h" |
-#include "chrome/browser/extensions/extension_toolbar_model.h" |
-#include "chrome/browser/extensions/location_bar_controller.h" |
-#include "chrome/browser/extensions/tab_helper.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/sessions/session_tab_helper.h" |
#include "chrome/browser/ui/browser.h" |
@@ -17,7 +15,6 @@ |
#include "chrome/browser/ui/views/extensions/extension_action_view_delegate.h" |
#include "chrome/common/extensions/api/extension_action/action_info.h" |
#include "extensions/common/extension.h" |
-#include "extensions/common/manifest_constants.h" |
#include "ui/views/controls/menu/menu_controller.h" |
#include "ui/views/controls/menu/menu_runner.h" |
#include "ui/views/view.h" |
@@ -71,36 +68,15 @@ void ExtensionActionViewController::ExecuteActionByUser() { |
bool ExtensionActionViewController::ExecuteAction( |
ExtensionPopup::ShowAction show_action, bool grant_tab_permissions) { |
- GURL popup_url; |
- bool show_popup = false; |
- if (extension_action_->action_type() == ActionInfo::TYPE_BROWSER) { |
- extensions::ExtensionToolbarModel* toolbar_model = |
- extensions::ExtensionToolbarModel::Get(browser_->profile()); |
- show_popup = toolbar_model->ExecuteBrowserAction( |
- extension_, browser_, &popup_url, grant_tab_permissions) == |
- ExtensionAction::ACTION_SHOW_POPUP; |
- } else { // PageAction |
- content::WebContents* web_contents = delegate_->GetCurrentWebContents(); |
- if (!web_contents) |
- return false; |
- extensions::LocationBarController* controller = |
- extensions::TabHelper::FromWebContents(web_contents)-> |
- location_bar_controller(); |
- switch (controller->OnClicked(extension_action_)) { |
- case ExtensionAction::ACTION_NONE: |
- break; |
- case ExtensionAction::ACTION_SHOW_POPUP: |
- popup_url = extension_action_->GetPopupUrl(GetCurrentTabId()); |
- show_popup = true; |
- break; |
+ if (extensions::ExtensionActionAPI::Get(browser_->profile())-> |
+ ExecuteExtensionAction(extension_, browser_, grant_tab_permissions) == |
+ ExtensionAction::ACTION_SHOW_POPUP) { |
+ GURL popup_url = extension_action_->GetPopupUrl(GetCurrentTabId()); |
+ if (ShowPopupWithUrl(show_action, popup_url)) { |
+ delegate_->OnPopupShown(grant_tab_permissions); |
+ return true; |
} |
} |
- |
- if (show_popup && ShowPopupWithUrl(show_action, popup_url)) { |
- delegate_->OnPopupShown(grant_tab_permissions); |
- return true; |
- } |
- |
return false; |
} |