summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/views/browser_actions_container.cc
diff options
context:
space:
mode:
authorkalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-24 01:48:48 +0000
committerkalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-24 01:48:48 +0000
commit78ce30267a216a687f063f4413fbf4364d139c56 (patch)
tree632d30e1e3d1035cc3eb1637f75a4a34c830ea72 /chrome/browser/ui/views/browser_actions_container.cc
parent135bacd7a10e2644e2686fe384b58320208b631d (diff)
downloadchromium_src-78ce30267a216a687f063f4413fbf4364d139c56.zip
chromium_src-78ce30267a216a687f063f4413fbf4364d139c56.tar.gz
chromium_src-78ce30267a216a687f063f4413fbf4364d139c56.tar.bz2
Make extension commands grant the activeTab permission.
BUG=138203 TEST=Install an extension with commands and the activeTab permission. Activating commands should grant it. See chrome/test/data/extensions/api_test/keybinding/... for examples. Review URL: https://chromiumcodereview.appspot.com/10880064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158224 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/views/browser_actions_container.cc')
-rw-r--r--chrome/browser/ui/views/browser_actions_container.cc21
1 files changed, 18 insertions, 3 deletions
diff --git a/chrome/browser/ui/views/browser_actions_container.cc b/chrome/browser/ui/views/browser_actions_container.cc
index 70d6737e..9bbf14f 100644
--- a/chrome/browser/ui/views/browser_actions_container.cc
+++ b/chrome/browser/ui/views/browser_actions_container.cc
@@ -4,8 +4,10 @@
#include "chrome/browser/ui/views/browser_actions_container.h"
+#include "base/compiler_specific.h"
#include "base/stl_util.h"
#include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/extensions/tab_helper.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sessions/session_tab_helper.h"
@@ -15,6 +17,7 @@
#include "chrome/browser/ui/view_ids.h"
#include "chrome/browser/ui/views/browser_action_view.h"
#include "chrome/browser/ui/views/extensions/browser_action_drag_data.h"
+#include "chrome/browser/ui/views/extensions/extension_keybinding_registry_views.h"
#include "chrome/browser/ui/views/extensions/extension_popup.h"
#include "chrome/browser/ui/views/toolbar_view.h"
#include "chrome/common/pref_names.h"
@@ -68,9 +71,6 @@ BrowserActionsContainer::BrowserActionsContainer(Browser* browser,
container_width_(0),
chevron_(NULL),
overflow_menu_(NULL),
- extension_keybinding_registry_(browser->profile(),
- owner_view->GetFocusManager(),
- extensions::ExtensionKeybindingRegistry::ALL_EXTENSIONS),
suppress_chevron_(false),
resize_amount_(0),
animation_target_size_(0),
@@ -84,6 +84,12 @@ BrowserActionsContainer::BrowserActionsContainer(Browser* browser,
model_->AddObserver(this);
}
+ extension_keybinding_registry_.reset(new ExtensionKeybindingRegistryViews(
+ browser->profile(),
+ owner_view->GetFocusManager(),
+ extensions::ExtensionKeybindingRegistry::ALL_EXTENSIONS,
+ this)),
+
resize_animation_.reset(new ui::SlideAnimation(this));
resize_area_ = new views::ResizeArea(this);
AddChildView(resize_area_);
@@ -484,6 +490,15 @@ gfx::Point BrowserActionsContainer::GetViewContentOffset() const {
return gfx::Point(0, ToolbarView::kVertSpacing);
}
+extensions::ActiveTabPermissionGranter*
+ BrowserActionsContainer::GetActiveTabPermissionGranter() {
+ content::WebContents* web_contents = chrome::GetActiveWebContents(browser_);
+ if (!web_contents)
+ return NULL;
+ return extensions::TabHelper::FromWebContents(web_contents)->
+ active_tab_permission_granter();
+}
+
void BrowserActionsContainer::MoveBrowserAction(const std::string& extension_id,
size_t new_index) {
ExtensionService* service = profile_->GetExtensionService();