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

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: Removed explicit deletes of the ink drop delegates. Created 5 years 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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 : MenuButton(nullptr, base::string16(), this, false), 63 : MenuButton(nullptr, base::string16(), this, false),
64 view_controller_(view_controller), 64 view_controller_(view_controller),
65 profile_(profile), 65 profile_(profile),
66 delegate_(delegate), 66 delegate_(delegate),
67 called_register_command_(false), 67 called_register_command_(false),
68 wants_to_run_(false), 68 wants_to_run_(false),
69 menu_(nullptr), 69 menu_(nullptr),
70 ink_drop_delegate_(new views::ButtonInkDropDelegate(this, this)), 70 ink_drop_delegate_(new views::ButtonInkDropDelegate(this, this)),
71 weak_factory_(this) { 71 weak_factory_(this) {
72 set_ink_drop_delegate(ink_drop_delegate_.get()); 72 set_ink_drop_delegate(ink_drop_delegate_.get());
73 set_has_ink_drop_action_on_click(true);
73 set_id(VIEW_ID_BROWSER_ACTION); 74 set_id(VIEW_ID_BROWSER_ACTION);
74 view_controller_->SetDelegate(this); 75 view_controller_->SetDelegate(this);
75 SetHorizontalAlignment(gfx::ALIGN_CENTER); 76 SetHorizontalAlignment(gfx::ALIGN_CENTER);
76 set_drag_controller(delegate_); 77 set_drag_controller(delegate_);
77 78
78 set_context_menu_controller(this); 79 set_context_menu_controller(this);
79 80
80 const int kInkDropLargeSize = 32; 81 const int kInkDropLargeSize = 32;
81 const int kInkDropLargeCornerRadius = 5; 82 const int kInkDropLargeCornerRadius = 5;
82 const int kInkDropSmallSize = 24; 83 const int kInkDropSmallSize = 24;
(...skipping 18 matching lines...) Expand all
101 SetFocusable(true); 102 SetFocusable(true);
102 } 103 }
103 104
104 UpdateState(); 105 UpdateState();
105 } 106 }
106 107
107 ToolbarActionView::~ToolbarActionView() { 108 ToolbarActionView::~ToolbarActionView() {
108 if (context_menu_owner == this) 109 if (context_menu_owner == this)
109 context_menu_owner = nullptr; 110 context_menu_owner = nullptr;
110 view_controller_->SetDelegate(nullptr); 111 view_controller_->SetDelegate(nullptr);
111 ink_drop_delegate_.reset();
112 set_ink_drop_delegate(nullptr);
113 } 112 }
114 113
115 void ToolbarActionView::GetAccessibleState(ui::AXViewState* state) { 114 void ToolbarActionView::GetAccessibleState(ui::AXViewState* state) {
116 views::MenuButton::GetAccessibleState(state); 115 views::MenuButton::GetAccessibleState(state);
117 state->role = ui::AX_ROLE_BUTTON; 116 state->role = ui::AX_ROLE_BUTTON;
118 } 117 }
119 118
120 scoped_ptr<LabelButtonBorder> ToolbarActionView::CreateDefaultBorder() const { 119 scoped_ptr<LabelButtonBorder> ToolbarActionView::CreateDefaultBorder() const {
121 scoped_ptr<LabelButtonBorder> border = LabelButton::CreateDefaultBorder(); 120 scoped_ptr<LabelButtonBorder> border = LabelButton::CreateDefaultBorder();
122 border->set_insets(gfx::Insets(kBorderInset, kBorderInset, 121 border->set_insets(gfx::Insets(kBorderInset, kBorderInset,
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 context_menu_callback = callback; 218 context_menu_callback = callback;
220 } 219 }
221 220
222 gfx::Size ToolbarActionView::GetPreferredSize() const { 221 gfx::Size ToolbarActionView::GetPreferredSize() const {
223 return gfx::Size(ToolbarActionsBar::IconWidth(false), 222 return gfx::Size(ToolbarActionsBar::IconWidth(false),
224 ToolbarActionsBar::IconHeight()); 223 ToolbarActionsBar::IconHeight());
225 } 224 }
226 225
227 bool ToolbarActionView::OnMousePressed(const ui::MouseEvent& event) { 226 bool ToolbarActionView::OnMousePressed(const ui::MouseEvent& event) {
228 // views::MenuButton actions are only triggered by left mouse clicks. 227 // views::MenuButton actions are only triggered by left mouse clicks.
229 if (event.IsOnlyLeftMouseButton()) 228 if (event.IsOnlyLeftMouseButton()) {
229 // TODO(bruthig): The ACTION_PENDING triggering logic should be in
230 // MenuButton::OnPressed() however there is a bug with the pressed state
231 // logic in MenuButton. See http://crbug.com/567252.
230 ink_drop_delegate()->OnAction(views::InkDropState::ACTION_PENDING); 232 ink_drop_delegate()->OnAction(views::InkDropState::ACTION_PENDING);
233 }
231 return MenuButton::OnMousePressed(event); 234 return MenuButton::OnMousePressed(event);
232 } 235 }
233 236
234 void ToolbarActionView::OnGestureEvent(ui::GestureEvent* event) { 237 void ToolbarActionView::OnGestureEvent(ui::GestureEvent* event) {
235 // While the dropdown menu is showing, the button should not handle gestures. 238 // While the dropdown menu is showing, the button should not handle gestures.
236 if (menu_) 239 if (menu_)
237 event->StopPropagation(); 240 event->StopPropagation();
238 else 241 else
239 MenuButton::OnGestureEvent(event); 242 MenuButton::OnGestureEvent(event);
240 } 243 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 if (menu_controller->in_nested_run()) { 389 if (menu_controller->in_nested_run()) {
387 // There is another menu showing. Close the outermost menu (since we are 390 // There is another menu showing. Close the outermost menu (since we are
388 // shown in the same menu, we don't want to close the whole thing). 391 // shown in the same menu, we don't want to close the whole thing).
389 menu_controller->Cancel(views::MenuController::EXIT_OUTERMOST); 392 menu_controller->Cancel(views::MenuController::EXIT_OUTERMOST);
390 return true; 393 return true;
391 } 394 }
392 } 395 }
393 396
394 return false; 397 return false;
395 } 398 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698