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

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

Issue 2001843002: Use ink drop hover for focus states on toolbar buttons and location (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: layout Created 4 years, 6 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/app_menu_button.h" 5 #include "chrome/browser/ui/views/toolbar/app_menu_button.h"
6 6
7 #include "base/location.h" 7 #include "base/location.h"
8 #include "base/metrics/histogram_macros.h" 8 #include "base/metrics/histogram_macros.h"
9 #include "base/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "base/threading/thread_task_runner_handle.h" 10 #include "base/threading/thread_task_runner_handle.h"
(...skipping 23 matching lines...) Expand all
34 // static 34 // static
35 bool AppMenuButton::g_open_app_immediately_for_testing = false; 35 bool AppMenuButton::g_open_app_immediately_for_testing = false;
36 36
37 AppMenuButton::AppMenuButton(ToolbarView* toolbar_view) 37 AppMenuButton::AppMenuButton(ToolbarView* toolbar_view)
38 : views::MenuButton(base::string16(), toolbar_view, false), 38 : views::MenuButton(base::string16(), toolbar_view, false),
39 severity_(AppMenuIconPainter::SEVERITY_NONE), 39 severity_(AppMenuIconPainter::SEVERITY_NONE),
40 toolbar_view_(toolbar_view), 40 toolbar_view_(toolbar_view),
41 allow_extension_dragging_( 41 allow_extension_dragging_(
42 extensions::FeatureSwitch::extension_action_redesign()->IsEnabled()), 42 extensions::FeatureSwitch::extension_action_redesign()->IsEnabled()),
43 margin_trailing_(0), 43 margin_trailing_(0),
44 ink_drop_delegate_(new views::ButtonInkDropDelegate(this, this)),
45 weak_factory_(this) { 44 weak_factory_(this) {
46 set_ink_drop_delegate(ink_drop_delegate_.get()); 45 set_ink_drop_delegate(
46 base::WrapUnique(new views::ButtonInkDropDelegate(this, this)));
47 if (!ui::MaterialDesignController::IsModeMaterial()) 47 if (!ui::MaterialDesignController::IsModeMaterial())
48 icon_painter_.reset(new AppMenuIconPainter(this)); 48 icon_painter_.reset(new AppMenuIconPainter(this));
49 } 49 }
50 50
51 AppMenuButton::~AppMenuButton() {} 51 AppMenuButton::~AppMenuButton() {}
52 52
53 void AppMenuButton::SetSeverity(AppMenuIconPainter::Severity severity, 53 void AppMenuButton::SetSeverity(AppMenuIconPainter::Severity severity,
54 bool animate) { 54 bool animate) {
55 if (ui::MaterialDesignController::IsModeMaterial()) { 55 if (ui::MaterialDesignController::IsModeMaterial()) {
56 severity_ = severity; 56 severity_ = severity;
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 153
154 SetImage(views::Button::STATE_NORMAL, 154 SetImage(views::Button::STATE_NORMAL,
155 gfx::CreateVectorIcon(gfx::VectorIconId::BROWSER_TOOLS, color)); 155 gfx::CreateVectorIcon(gfx::VectorIconId::BROWSER_TOOLS, color));
156 } 156 }
157 157
158 void AppMenuButton::SetTrailingMargin(int margin) { 158 void AppMenuButton::SetTrailingMargin(int margin) {
159 margin_trailing_ = margin; 159 margin_trailing_ = margin;
160 160
161 UpdateThemedBorder(); 161 UpdateThemedBorder();
162 162
163 const int inset = LabelButton::kFocusRectInset; 163 if (!ui::MaterialDesignController::IsModeMaterial()) {
164 SetFocusPainter(views::Painter::CreateDashedFocusPainterWithInsets( 164 const int inset = LabelButton::kFocusRectInset;
165 gfx::Insets(inset, inset, inset, inset + margin))); 165 SetFocusPainter(views::Painter::CreateDashedFocusPainterWithInsets(
166 gfx::Insets(inset, inset, inset, inset + margin)));
167 }
168
166 InvalidateLayout(); 169 InvalidateLayout();
167 } 170 }
168 171
169 const char* AppMenuButton::GetClassName() const { 172 const char* AppMenuButton::GetClassName() const {
170 return "AppMenuButton"; 173 return "AppMenuButton";
171 } 174 }
172 175
173 std::unique_ptr<views::LabelButtonBorder> AppMenuButton::CreateDefaultBorder() 176 std::unique_ptr<views::LabelButtonBorder> AppMenuButton::CreateDefaultBorder()
174 const { 177 const {
175 std::unique_ptr<views::LabelButtonBorder> border = 178 std::unique_ptr<views::LabelButtonBorder> border =
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 views::MenuButton::OnPaint(canvas); 247 views::MenuButton::OnPaint(canvas);
245 if (ui::MaterialDesignController::IsModeMaterial()) 248 if (ui::MaterialDesignController::IsModeMaterial())
246 return; 249 return;
247 // Use GetPreferredSize() to center the icon inside the visible bounds rather 250 // Use GetPreferredSize() to center the icon inside the visible bounds rather
248 // than the whole size() (which may refer to hit test region extended to the 251 // than the whole size() (which may refer to hit test region extended to the
249 // end of the toolbar in maximized mode). 252 // end of the toolbar in maximized mode).
250 icon_painter_->Paint(canvas, GetThemeProvider(), 253 icon_painter_->Paint(canvas, GetThemeProvider(),
251 gfx::Rect(GetPreferredSize()), 254 gfx::Rect(GetPreferredSize()),
252 AppMenuIconPainter::BEZEL_NONE); 255 AppMenuIconPainter::BEZEL_NONE);
253 } 256 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/toolbar/app_menu_button.h ('k') | chrome/browser/ui/views/toolbar/toolbar_action_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698