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

Side by Side Diff: chrome/browser/ui/views/location_bar/page_action_image_view.cc

Issue 250943008: Move enum MenuAnchorPosition to reduce deps on menu_item_view.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix indent Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/location_bar/page_action_image_view.h" 5 #include "chrome/browser/ui/views/location_bar/page_action_image_view.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "chrome/browser/extensions/api/commands/command_service.h" 8 #include "chrome/browser/extensions/api/commands/command_service.h"
9 #include "chrome/browser/extensions/extension_action.h" 9 #include "chrome/browser/extensions/extension_action.h"
10 #include "chrome/browser/extensions/extension_action_icon_factory.h" 10 #include "chrome/browser/extensions/extension_action_icon_factory.h"
11 #include "chrome/browser/extensions/extension_action_manager.h" 11 #include "chrome/browser/extensions/extension_action_manager.h"
12 #include "chrome/browser/extensions/extension_context_menu_model.h" 12 #include "chrome/browser/extensions/extension_context_menu_model.h"
13 #include "chrome/browser/extensions/extension_service.h" 13 #include "chrome/browser/extensions/extension_service.h"
14 #include "chrome/browser/extensions/extension_tab_util.h" 14 #include "chrome/browser/extensions/extension_tab_util.h"
15 #include "chrome/browser/extensions/location_bar_controller.h" 15 #include "chrome/browser/extensions/location_bar_controller.h"
16 #include "chrome/browser/extensions/tab_helper.h" 16 #include "chrome/browser/extensions/tab_helper.h"
17 #include "chrome/browser/platform_util.h" 17 #include "chrome/browser/platform_util.h"
18 #include "chrome/browser/profiles/profile.h" 18 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/browser/sessions/session_id.h" 19 #include "chrome/browser/sessions/session_id.h"
20 #include "chrome/browser/ui/browser_list.h" 20 #include "chrome/browser/ui/browser_list.h"
21 #include "chrome/browser/ui/views/frame/browser_view.h" 21 #include "chrome/browser/ui/views/frame/browser_view.h"
22 #include "chrome/browser/ui/views/location_bar/location_bar_view.h" 22 #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
23 #include "chrome/browser/ui/webui/extensions/extension_info_ui.h" 23 #include "chrome/browser/ui/webui/extensions/extension_info_ui.h"
24 #include "extensions/common/extension.h" 24 #include "extensions/common/extension.h"
25 #include "ui/accessibility/ax_view_state.h" 25 #include "ui/accessibility/ax_view_state.h"
26 #include "ui/events/event.h" 26 #include "ui/events/event.h"
27 #include "ui/gfx/canvas.h" 27 #include "ui/gfx/canvas.h"
28 #include "ui/gfx/image/image.h" 28 #include "ui/gfx/image/image.h"
29 #include "ui/views/controls/menu/menu_item_view.h"
30 #include "ui/views/controls/menu/menu_runner.h" 29 #include "ui/views/controls/menu/menu_runner.h"
31 30
32 using content::WebContents; 31 using content::WebContents;
33 using extensions::LocationBarController; 32 using extensions::LocationBarController;
34 using extensions::Extension; 33 using extensions::Extension;
35 34
36 PageActionImageView::PageActionImageView(LocationBarView* owner, 35 PageActionImageView::PageActionImageView(LocationBarView* owner,
37 ExtensionAction* page_action, 36 ExtensionAction* page_action,
38 Browser* browser) 37 Browser* browser)
39 : owner_(owner), 38 : owner_(owner),
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 const Extension* extension = owner_->profile()->GetExtensionService()-> 152 const Extension* extension = owner_->profile()->GetExtensionService()->
154 GetExtensionById(page_action()->extension_id(), false); 153 GetExtensionById(page_action()->extension_id(), false);
155 if (!extension->ShowConfigureContextMenus()) 154 if (!extension->ShowConfigureContextMenus())
156 return; 155 return;
157 156
158 scoped_refptr<ExtensionContextMenuModel> context_menu_model( 157 scoped_refptr<ExtensionContextMenuModel> context_menu_model(
159 new ExtensionContextMenuModel(extension, browser_, this)); 158 new ExtensionContextMenuModel(extension, browser_, this));
160 menu_runner_.reset(new views::MenuRunner(context_menu_model.get())); 159 menu_runner_.reset(new views::MenuRunner(context_menu_model.get()));
161 gfx::Point screen_loc; 160 gfx::Point screen_loc;
162 views::View::ConvertPointToScreen(this, &screen_loc); 161 views::View::ConvertPointToScreen(this, &screen_loc);
163 if (menu_runner_->RunMenuAt(GetWidget(), NULL, gfx::Rect(screen_loc, size()), 162 if (menu_runner_->RunMenuAt(
164 views::MenuItemView::TOPLEFT, source_type, 163 GetWidget(),
164 NULL,
165 gfx::Rect(screen_loc, size()),
166 views::MENU_ANCHOR_TOPLEFT,
167 source_type,
165 views::MenuRunner::HAS_MNEMONICS | views::MenuRunner::CONTEXT_MENU) == 168 views::MenuRunner::HAS_MNEMONICS | views::MenuRunner::CONTEXT_MENU) ==
166 views::MenuRunner::MENU_DELETED) 169 views::MenuRunner::MENU_DELETED) {
167 return; 170 return;
171 }
168 } 172 }
169 173
170 bool PageActionImageView::AcceleratorPressed( 174 bool PageActionImageView::AcceleratorPressed(
171 const ui::Accelerator& accelerator) { 175 const ui::Accelerator& accelerator) {
172 DCHECK(visible()); // Should not have happened due to CanHandleAccelerator. 176 DCHECK(visible()); // Should not have happened due to CanHandleAccelerator.
173 177
174 ExecuteAction(ExtensionPopup::SHOW); 178 ExecuteAction(ExtensionPopup::SHOW);
175 return true; 179 return true;
176 } 180 }
177 181
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 250
247 popup_ = ExtensionPopup::ShowPopup(popup_url, browser_, this, arrow, 251 popup_ = ExtensionPopup::ShowPopup(popup_url, browser_, this, arrow,
248 show_action); 252 show_action);
249 popup_->GetWidget()->AddObserver(this); 253 popup_->GetWidget()->AddObserver(this);
250 } 254 }
251 255
252 void PageActionImageView::HidePopup() { 256 void PageActionImageView::HidePopup() {
253 if (popup_) 257 if (popup_)
254 popup_->GetWidget()->Close(); 258 popup_->GetWidget()->Close();
255 } 259 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/infobars/infobar_view.cc ('k') | chrome/browser/ui/views/menu_model_adapter_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698