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

Side by Side Diff: chrome/browser/ui/views/toolbar/toolbar_action_view.cc

Issue 1478303003: Converted all Views to use an InkDropDelegate instead of a InkDropAnimationController. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge with master. Created 4 years, 12 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/toolbar/toolbar_action_view.h" 5 #include "chrome/browser/ui/views/toolbar/toolbar_action_view.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "chrome/browser/chrome_notification_types.h" 10 #include "chrome/browser/chrome_notification_types.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 : MenuButton(nullptr, base::string16(), this, false), 61 : MenuButton(nullptr, base::string16(), this, false),
62 view_controller_(view_controller), 62 view_controller_(view_controller),
63 profile_(profile), 63 profile_(profile),
64 delegate_(delegate), 64 delegate_(delegate),
65 called_register_command_(false), 65 called_register_command_(false),
66 wants_to_run_(false), 66 wants_to_run_(false),
67 menu_(nullptr), 67 menu_(nullptr),
68 ink_drop_delegate_(new views::ButtonInkDropDelegate(this, this)), 68 ink_drop_delegate_(new views::ButtonInkDropDelegate(this, this)),
69 weak_factory_(this) { 69 weak_factory_(this) {
70 set_ink_drop_delegate(ink_drop_delegate_.get()); 70 set_ink_drop_delegate(ink_drop_delegate_.get());
71 set_has_ink_drop_action_on_click(true);
71 set_id(VIEW_ID_BROWSER_ACTION); 72 set_id(VIEW_ID_BROWSER_ACTION);
72 view_controller_->SetDelegate(this); 73 view_controller_->SetDelegate(this);
73 SetHorizontalAlignment(gfx::ALIGN_CENTER); 74 SetHorizontalAlignment(gfx::ALIGN_CENTER);
74 set_drag_controller(delegate_); 75 set_drag_controller(delegate_);
75 76
76 set_context_menu_controller(this); 77 set_context_menu_controller(this);
77 78
78 const int kInkDropLargeSize = 32; 79 const int kInkDropLargeSize = 32;
79 const int kInkDropLargeCornerRadius = 5; 80 const int kInkDropLargeCornerRadius = 5;
80 const int kInkDropSmallSize = 24; 81 const int kInkDropSmallSize = 24;
(...skipping 10 matching lines...) Expand all
91 SetFocusable(true); 92 SetFocusable(true);
92 } 93 }
93 94
94 UpdateState(); 95 UpdateState();
95 } 96 }
96 97
97 ToolbarActionView::~ToolbarActionView() { 98 ToolbarActionView::~ToolbarActionView() {
98 if (context_menu_owner == this) 99 if (context_menu_owner == this)
99 context_menu_owner = nullptr; 100 context_menu_owner = nullptr;
100 view_controller_->SetDelegate(nullptr); 101 view_controller_->SetDelegate(nullptr);
101 ink_drop_delegate_.reset();
102 set_ink_drop_delegate(nullptr);
103 } 102 }
104 103
105 void ToolbarActionView::GetAccessibleState(ui::AXViewState* state) { 104 void ToolbarActionView::GetAccessibleState(ui::AXViewState* state) {
106 views::MenuButton::GetAccessibleState(state); 105 views::MenuButton::GetAccessibleState(state);
107 state->role = ui::AX_ROLE_BUTTON; 106 state->role = ui::AX_ROLE_BUTTON;
108 } 107 }
109 108
110 scoped_ptr<LabelButtonBorder> ToolbarActionView::CreateDefaultBorder() const { 109 scoped_ptr<LabelButtonBorder> ToolbarActionView::CreateDefaultBorder() const {
111 scoped_ptr<LabelButtonBorder> border = LabelButton::CreateDefaultBorder(); 110 scoped_ptr<LabelButtonBorder> border = LabelButton::CreateDefaultBorder();
112 border->set_insets(gfx::Insets(kBorderInset, kBorderInset, 111 border->set_insets(gfx::Insets(kBorderInset, kBorderInset,
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 context_menu_callback = callback; 200 context_menu_callback = callback;
202 } 201 }
203 202
204 gfx::Size ToolbarActionView::GetPreferredSize() const { 203 gfx::Size ToolbarActionView::GetPreferredSize() const {
205 return gfx::Size(ToolbarActionsBar::IconWidth(false), 204 return gfx::Size(ToolbarActionsBar::IconWidth(false),
206 ToolbarActionsBar::IconHeight()); 205 ToolbarActionsBar::IconHeight());
207 } 206 }
208 207
209 bool ToolbarActionView::OnMousePressed(const ui::MouseEvent& event) { 208 bool ToolbarActionView::OnMousePressed(const ui::MouseEvent& event) {
210 // views::MenuButton actions are only triggered by left mouse clicks. 209 // views::MenuButton actions are only triggered by left mouse clicks.
211 if (event.IsOnlyLeftMouseButton()) 210 if (event.IsOnlyLeftMouseButton()) {
211 // TODO(bruthig): The ACTION_PENDING triggering logic should be in
212 // MenuButton::OnPressed() however there is a bug with the pressed state
213 // logic in MenuButton. See http://crbug.com/567252.
212 ink_drop_delegate()->OnAction(views::InkDropState::ACTION_PENDING); 214 ink_drop_delegate()->OnAction(views::InkDropState::ACTION_PENDING);
215 }
213 return MenuButton::OnMousePressed(event); 216 return MenuButton::OnMousePressed(event);
214 } 217 }
215 218
216 void ToolbarActionView::OnGestureEvent(ui::GestureEvent* event) { 219 void ToolbarActionView::OnGestureEvent(ui::GestureEvent* event) {
217 // While the dropdown menu is showing, the button should not handle gestures. 220 // While the dropdown menu is showing, the button should not handle gestures.
218 if (menu_) 221 if (menu_)
219 event->StopPropagation(); 222 event->StopPropagation();
220 else 223 else
221 MenuButton::OnGestureEvent(event); 224 MenuButton::OnGestureEvent(event);
222 } 225 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 if (menu_controller->in_nested_run()) { 371 if (menu_controller->in_nested_run()) {
369 // There is another menu showing. Close the outermost menu (since we are 372 // There is another menu showing. Close the outermost menu (since we are
370 // shown in the same menu, we don't want to close the whole thing). 373 // shown in the same menu, we don't want to close the whole thing).
371 menu_controller->Cancel(views::MenuController::EXIT_OUTERMOST); 374 menu_controller->Cancel(views::MenuController::EXIT_OUTERMOST);
372 return true; 375 return true;
373 } 376 }
374 } 377 }
375 378
376 return false; 379 return false;
377 } 380 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698