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

Unified Diff: chrome/browser/ui/cocoa/location_bar/page_action_decoration.mm

Issue 496863003: Consolidate ExtensionAction execution code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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/ui/cocoa/location_bar/page_action_decoration.mm
diff --git a/chrome/browser/ui/cocoa/location_bar/page_action_decoration.mm b/chrome/browser/ui/cocoa/location_bar/page_action_decoration.mm
index 7a887fa994740d8d28e3d648d73dcd3da6b21230..d69971dd6d50a9d5c5771e4e38fe8dff7f57e6a6 100644
--- a/chrome/browser/ui/cocoa/location_bar/page_action_decoration.mm
+++ b/chrome/browser/ui/cocoa/location_bar/page_action_decoration.mm
@@ -8,10 +8,9 @@
#include "base/strings/sys_string_conversions.h"
#include "chrome/browser/chrome_notification_types.h"
+#include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
#include "chrome/browser/extensions/extension_action.h"
#include "chrome/browser/extensions/extension_tab_util.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/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
@@ -32,7 +31,6 @@
using content::WebContents;
using extensions::Extension;
-using extensions::LocationBarController;
namespace {
@@ -103,11 +101,8 @@ bool PageActionDecoration::ActivatePageAction(NSRect frame) {
return true;
}
- LocationBarController* controller =
- extensions::TabHelper::FromWebContents(web_contents)->
- location_bar_controller();
-
- switch (controller->OnClicked(page_action_)) {
+ switch (extensions::ExtensionActionAPI::Get(browser_->profile())->
+ ExecuteExtensionAction(GetExtension(), browser_, true)) {
case ExtensionAction::ACTION_NONE:
break;
@@ -186,10 +181,7 @@ NSPoint PageActionDecoration::GetBubblePointInFrame(NSRect frame) {
}
NSMenu* PageActionDecoration::GetMenu() {
- const Extension* extension = extensions::ExtensionRegistry::Get(
- browser_->profile())->enabled_extensions().GetByID(
- page_action_->extension_id());
- DCHECK(extension);
+ const Extension* extension = GetExtension();
if (!extension->ShowConfigureContextMenus())
return nil;
@@ -217,6 +209,14 @@ void PageActionDecoration::ShowPopup(const NSRect& frame,
devMode:NO];
}
+const Extension* PageActionDecoration::GetExtension() {
+ const Extension* extension = extensions::ExtensionRegistry::Get(
+ browser_->profile())->enabled_extensions().GetByID(
+ page_action_->extension_id());
+ DCHECK(extension);
+ return extension;
+}
+
void PageActionDecoration::Observe(
int type,
const content::NotificationSource& source,

Powered by Google App Engine
This is Rietveld 408576698