diff options
author | kalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-24 01:48:48 +0000 |
---|---|---|
committer | kalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-24 01:48:48 +0000 |
commit | 78ce30267a216a687f063f4413fbf4364d139c56 (patch) | |
tree | 632d30e1e3d1035cc3eb1637f75a4a34c830ea72 /chrome/browser/ui/views/browser_actions_container.cc | |
parent | 135bacd7a10e2644e2686fe384b58320208b631d (diff) | |
download | chromium_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.cc | 21 |
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(); |