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

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

Issue 459493002: Revert of Extend contextMenus API to support browser/page actions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
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/extensions/extension_context_menu_model.cc
diff --git a/chrome/browser/extensions/extension_context_menu_model.cc b/chrome/browser/extensions/extension_context_menu_model.cc
index 14a39b88f61a8fdfa6c601d2c8768ca4905567e1..3334fd9ccc063a8409a9b146992717331460d3b8 100644
--- a/chrome/browser/extensions/extension_context_menu_model.cc
+++ b/chrome/browser/extensions/extension_context_menu_model.cc
@@ -6,14 +6,11 @@
#include "base/prefs/pref_service.h"
#include "base/strings/utf_string_conversions.h"
-#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
-#include "chrome/browser/extensions/context_menu_matcher.h"
#include "chrome/browser/extensions/extension_action.h"
#include "chrome/browser/extensions/extension_action_manager.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_tab_util.h"
-#include "chrome/browser/extensions/menu_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
@@ -24,9 +21,7 @@
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
#include "content/public/browser/web_contents.h"
-#include "content/public/common/context_menu_params.h"
#include "extensions/browser/extension_prefs.h"
-#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/management_policy.h"
#include "extensions/browser/uninstall_reason.h"
@@ -39,32 +34,6 @@
using content::Referrer;
using content::WebContents;
using extensions::Extension;
-using extensions::MenuItem;
-using extensions::MenuManager;
-
-namespace {
-
-// Returns true if the given |item| is of the given |type|.
-bool MenuItemMatchesAction(ExtensionContextMenuModel::ActionType type,
- const MenuItem* item) {
- if (type == ExtensionContextMenuModel::NO_ACTION)
- return false;
-
- const MenuItem::ContextList& contexts = item->contexts();
-
- if (contexts.Contains(MenuItem::ALL))
- return true;
- if (contexts.Contains(MenuItem::PAGE_ACTION) &&
- (type == ExtensionContextMenuModel::PAGE_ACTION))
- return true;
- if (contexts.Contains(MenuItem::BROWSER_ACTION) &&
- (type == ExtensionContextMenuModel::BROWSER_ACTION))
- return true;
-
- return false;
-}
-
-} // namespace
ExtensionContextMenuModel::ExtensionContextMenuModel(const Extension* extension,
Browser* browser,
@@ -73,9 +42,7 @@
extension_id_(extension->id()),
browser_(browser),
profile_(browser->profile()),
- delegate_(delegate),
- action_type_(NO_ACTION),
- extension_items_count_(0) {
+ delegate_(delegate) {
InitMenu(extension);
if (profile_->GetPrefs()->GetBoolean(prefs::kExtensionsUIDeveloperMode) &&
@@ -91,28 +58,20 @@
extension_id_(extension->id()),
browser_(browser),
profile_(browser->profile()),
- delegate_(NULL),
- action_type_(NO_ACTION),
- extension_items_count_(0) {
+ delegate_(NULL) {
InitMenu(extension);
}
bool ExtensionContextMenuModel::IsCommandIdChecked(int command_id) const {
- if (command_id >= IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST &&
- command_id <= IDC_EXTENSIONS_CONTEXT_CUSTOM_LAST)
- return extension_items_->IsCommandIdChecked(command_id);
return false;
}
bool ExtensionContextMenuModel::IsCommandIdEnabled(int command_id) const {
- const Extension* extension = GetExtension();
+ const Extension* extension = this->GetExtension();
if (!extension)
return false;
- if (command_id >= IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST &&
- command_id <= IDC_EXTENSIONS_CONTEXT_CUSTOM_LAST) {
- return extension_items_->IsCommandIdEnabled(command_id);
- } else if (command_id == CONFIGURE) {
+ if (command_id == CONFIGURE) {
return
extensions::ManifestURL::GetOptionsPage(extension).spec().length() > 0;
} else if (command_id == NAME) {
@@ -145,16 +104,6 @@
const Extension* extension = GetExtension();
if (!extension)
return;
-
- if (command_id >= IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST &&
- command_id <= IDC_EXTENSIONS_CONTEXT_CUSTOM_LAST) {
- WebContents* web_contents =
- browser_->tab_strip_model()->GetActiveWebContents();
- DCHECK(extension_items_);
- extension_items_->ExecuteCommand(
- command_id, web_contents, content::ContextMenuParams());
- return;
- }
switch (command_id) {
case NAME: {
@@ -219,26 +168,14 @@
extensions::ExtensionActionManager* extension_action_manager =
extensions::ExtensionActionManager::Get(profile_);
extension_action_ = extension_action_manager->GetBrowserAction(*extension);
- if (!extension_action_) {
+ if (!extension_action_)
extension_action_ = extension_action_manager->GetPageAction(*extension);
- if (extension_action_)
- action_type_ = PAGE_ACTION;
- } else {
- action_type_ = BROWSER_ACTION;
- }
-
- extension_items_.reset(new extensions::ContextMenuMatcher(
- profile_,
- this,
- this,
- base::Bind(MenuItemMatchesAction, action_type_)));
std::string extension_name = extension->name();
// Ampersands need to be escaped to avoid being treated like
// mnemonics in the menu.
base::ReplaceChars(extension_name, "&", "&&", &extension_name);
AddItem(NAME, base::UTF8ToUTF16(extension_name));
- AppendExtensionItems();
AddSeparator(ui::NORMAL_SEPARATOR);
AddItemWithStringId(CONFIGURE, IDS_EXTENSIONS_OPTIONS_MENU_ITEM);
AddItem(UNINSTALL, l10n_util::GetStringUTF16(IDS_EXTENSIONS_UNINSTALL));
@@ -249,24 +186,7 @@
}
const Extension* ExtensionContextMenuModel::GetExtension() const {
- return extensions::ExtensionRegistry::Get(profile_)
- ->enabled_extensions()
- .GetByID(extension_id_);
+ ExtensionService* extension_service =
+ extensions::ExtensionSystem::Get(profile_)->extension_service();
+ return extension_service->GetExtensionById(extension_id_, false);
}
-
-void ExtensionContextMenuModel::AppendExtensionItems() {
- extension_items_->Clear();
-
- MenuManager* menu_manager = MenuManager::Get(profile_);
- if (!menu_manager ||
- !menu_manager->MenuItems(MenuItem::ExtensionKey(extension_id_)))
- return;
-
- AddSeparator(ui::NORMAL_SEPARATOR);
-
- extension_items_count_ = 0;
- extension_items_->AppendExtensionItems(MenuItem::ExtensionKey(extension_id_),
- base::string16(),
- &extension_items_count_,
- true); // is_action_menu
-}

Powered by Google App Engine
This is Rietveld 408576698