OLD | NEW |
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/bookmarks/bookmark_bar_view.h" | 5 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <limits> | 10 #include <limits> |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 #include "ui/gfx/canvas.h" | 88 #include "ui/gfx/canvas.h" |
89 #include "ui/gfx/color_utils.h" | 89 #include "ui/gfx/color_utils.h" |
90 #include "ui/gfx/favicon_size.h" | 90 #include "ui/gfx/favicon_size.h" |
91 #include "ui/gfx/geometry/rect.h" | 91 #include "ui/gfx/geometry/rect.h" |
92 #include "ui/gfx/paint_vector_icon.h" | 92 #include "ui/gfx/paint_vector_icon.h" |
93 #include "ui/gfx/scoped_canvas.h" | 93 #include "ui/gfx/scoped_canvas.h" |
94 #include "ui/gfx/text_constants.h" | 94 #include "ui/gfx/text_constants.h" |
95 #include "ui/gfx/text_elider.h" | 95 #include "ui/gfx/text_elider.h" |
96 #include "ui/gfx/vector_icons_public.h" | 96 #include "ui/gfx/vector_icons_public.h" |
97 #include "ui/resources/grit/ui_resources.h" | 97 #include "ui/resources/grit/ui_resources.h" |
98 #include "ui/views/animation/button_ink_drop_delegate.h" | |
99 #include "ui/views/animation/flood_fill_ink_drop_ripple.h" | 98 #include "ui/views/animation/flood_fill_ink_drop_ripple.h" |
100 #include "ui/views/animation/ink_drop_highlight.h" | 99 #include "ui/views/animation/ink_drop_highlight.h" |
101 #include "ui/views/button_drag_utils.h" | 100 #include "ui/views/button_drag_utils.h" |
102 #include "ui/views/controls/button/label_button.h" | 101 #include "ui/views/controls/button/label_button.h" |
103 #include "ui/views/controls/button/label_button_border.h" | 102 #include "ui/views/controls/button/label_button_border.h" |
104 #include "ui/views/controls/button/menu_button.h" | 103 #include "ui/views/controls/button/menu_button.h" |
105 #include "ui/views/controls/label.h" | 104 #include "ui/views/controls/label.h" |
106 #include "ui/views/drag_utils.h" | 105 #include "ui/views/drag_utils.h" |
107 #include "ui/views/metrics.h" | 106 #include "ui/views/metrics.h" |
108 #include "ui/views/view_constants.h" | 107 #include "ui/views/view_constants.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 // BookmarkButtonBase ----------------------------------------------- | 198 // BookmarkButtonBase ----------------------------------------------- |
200 | 199 |
201 // Base class for non-menu hosting buttons used on the bookmark bar. | 200 // Base class for non-menu hosting buttons used on the bookmark bar. |
202 | 201 |
203 class BookmarkButtonBase : public views::LabelButton { | 202 class BookmarkButtonBase : public views::LabelButton { |
204 public: | 203 public: |
205 BookmarkButtonBase(views::ButtonListener* listener, | 204 BookmarkButtonBase(views::ButtonListener* listener, |
206 const base::string16& title) | 205 const base::string16& title) |
207 : LabelButton(listener, title) { | 206 : LabelButton(listener, title) { |
208 SetElideBehavior(kElideBehavior); | 207 SetElideBehavior(kElideBehavior); |
209 set_ink_drop_delegate( | 208 SetHasInkDrop(true); |
210 base::WrapUnique(new views::ButtonInkDropDelegate(this, this))); | |
211 set_has_ink_drop_action_on_click(true); | 209 set_has_ink_drop_action_on_click(true); |
212 show_animation_.reset(new gfx::SlideAnimation(this)); | 210 show_animation_.reset(new gfx::SlideAnimation(this)); |
213 if (!animations_enabled) { | 211 if (!animations_enabled) { |
214 // For some reason during testing the events generated by animating | 212 // For some reason during testing the events generated by animating |
215 // throw off the test. So, don't animate while testing. | 213 // throw off the test. So, don't animate while testing. |
216 show_animation_->Reset(1); | 214 show_animation_->Reset(1); |
217 } else { | 215 } else { |
218 show_animation_->Show(); | 216 show_animation_->Show(); |
219 } | 217 } |
220 } | 218 } |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 | 324 |
327 // BookmarkMenuButtonBase ----------------------------------------------------- | 325 // BookmarkMenuButtonBase ----------------------------------------------------- |
328 | 326 |
329 // Base class for menu hosting buttons used on the bookmark bar. | 327 // Base class for menu hosting buttons used on the bookmark bar. |
330 class BookmarkMenuButtonBase : public views::MenuButton { | 328 class BookmarkMenuButtonBase : public views::MenuButton { |
331 public: | 329 public: |
332 BookmarkMenuButtonBase(const base::string16& title, | 330 BookmarkMenuButtonBase(const base::string16& title, |
333 views::MenuButtonListener* menu_button_listener, | 331 views::MenuButtonListener* menu_button_listener, |
334 bool show_menu_marker) | 332 bool show_menu_marker) |
335 : MenuButton(title, menu_button_listener, show_menu_marker) { | 333 : MenuButton(title, menu_button_listener, show_menu_marker) { |
336 set_ink_drop_delegate( | 334 SetHasInkDrop(true); |
337 base::WrapUnique(new views::ButtonInkDropDelegate(this, this))); | |
338 } | 335 } |
339 | 336 |
340 std::unique_ptr<views::InkDropRipple> CreateInkDropRipple() const override { | 337 std::unique_ptr<views::InkDropRipple> CreateInkDropRipple() const override { |
341 return base::WrapUnique(new views::FloodFillInkDropRipple( | 338 return base::WrapUnique(new views::FloodFillInkDropRipple( |
342 CalculateInkDropBounds(size()), GetInkDropCenter(), | 339 CalculateInkDropBounds(size()), GetInkDropCenter(), |
343 GetInkDropBaseColor())); | 340 GetInkDropBaseColor())); |
344 } | 341 } |
345 | 342 |
346 std::unique_ptr<views::InkDropHighlight> CreateInkDropHighlight() | 343 std::unique_ptr<views::InkDropHighlight> CreateInkDropHighlight() |
347 const override { | 344 const override { |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 if (label()->GetPreferredSize().width() > label()->size().width()) | 385 if (label()->GetPreferredSize().width() > label()->size().width()) |
389 *tooltip = GetText(); | 386 *tooltip = GetText(); |
390 return !tooltip->empty(); | 387 return !tooltip->empty(); |
391 } | 388 } |
392 | 389 |
393 bool OnMousePressed(const ui::MouseEvent& event) override { | 390 bool OnMousePressed(const ui::MouseEvent& event) override { |
394 if (event.IsOnlyLeftMouseButton()) { | 391 if (event.IsOnlyLeftMouseButton()) { |
395 // TODO(bruthig): The ACTION_PENDING triggering logic should be in | 392 // TODO(bruthig): The ACTION_PENDING triggering logic should be in |
396 // MenuButton::OnPressed() however there is a bug with the pressed state | 393 // MenuButton::OnPressed() however there is a bug with the pressed state |
397 // logic in MenuButton. See http://crbug.com/567252. | 394 // logic in MenuButton. See http://crbug.com/567252. |
398 ink_drop_delegate()->OnAction(views::InkDropState::ACTION_PENDING); | 395 AnimateInkDrop(views::InkDropState::ACTION_PENDING); |
399 } | 396 } |
400 return MenuButton::OnMousePressed(event); | 397 return MenuButton::OnMousePressed(event); |
401 } | 398 } |
402 | 399 |
403 bool IsTriggerableEventType(const ui::Event& e) override { | 400 bool IsTriggerableEventType(const ui::Event& e) override { |
404 // Bookmark folders handle normal menu button events (i.e., left click) as | 401 // Bookmark folders handle normal menu button events (i.e., left click) as |
405 // well as clicks to open bookmarks in new tabs that would otherwise be | 402 // well as clicks to open bookmarks in new tabs that would otherwise be |
406 // ignored. | 403 // ignored. |
407 return BookmarkMenuButtonBase::IsTriggerableEventType(e) || | 404 return BookmarkMenuButtonBase::IsTriggerableEventType(e) || |
408 (e.IsMouseEvent() && | 405 (e.IsMouseEvent() && |
(...skipping 1748 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2157 return; | 2154 return; |
2158 apps_page_shortcut_->SetVisible(visible); | 2155 apps_page_shortcut_->SetVisible(visible); |
2159 UpdateBookmarksSeparatorVisibility(); | 2156 UpdateBookmarksSeparatorVisibility(); |
2160 LayoutAndPaint(); | 2157 LayoutAndPaint(); |
2161 } | 2158 } |
2162 | 2159 |
2163 void BookmarkBarView::OnShowManagedBookmarksPrefChanged() { | 2160 void BookmarkBarView::OnShowManagedBookmarksPrefChanged() { |
2164 if (UpdateOtherAndManagedButtonsVisibility()) | 2161 if (UpdateOtherAndManagedButtonsVisibility()) |
2165 LayoutAndPaint(); | 2162 LayoutAndPaint(); |
2166 } | 2163 } |
OLD | NEW |