Chromium Code Reviews| Index: chrome/browser/ui/views/location_bar/location_icon_view.cc | 
| diff --git a/chrome/browser/ui/views/location_bar/location_icon_view.cc b/chrome/browser/ui/views/location_bar/location_icon_view.cc | 
| index 03382cc2a54d3a2991f4245b0b071d5787b8ac90..fa81aef8825836fc52bbed7dcee9b085787c0091 100644 | 
| --- a/chrome/browser/ui/views/location_bar/location_icon_view.cc | 
| +++ b/chrome/browser/ui/views/location_bar/location_icon_view.cc | 
| @@ -4,6 +4,8 @@ | 
| #include "chrome/browser/ui/views/location_bar/location_icon_view.h" | 
| +#include <iostream> | 
| + | 
| #include "base/strings/utf_string_conversions.h" | 
| #include "chrome/browser/ssl/chrome_security_state_model_client.h" | 
| #include "chrome/browser/ui/view_ids.h" | 
| @@ -34,7 +36,9 @@ LocationIconView::LocationIconView(const gfx::FontList& font_list, | 
| parent_background_color, | 
| true), | 
| suppress_mouse_released_action_(false), | 
| - location_bar_(location_bar) { | 
| + location_bar_(location_bar), | 
| + animation_(this), | 
| + animation_already_started_(false) { | 
| set_id(VIEW_ID_LOCATION_ICON); | 
| #if defined(OS_MACOSX) | 
| @@ -44,12 +48,15 @@ LocationIconView::LocationIconView(const gfx::FontList& font_list, | 
| #endif | 
| SetBackground(false); | 
| + std::cout << "constructed " << (void*)this << "\n"; | 
| } | 
| LocationIconView::~LocationIconView() { | 
| + std::cout << "destructed " << (void*)this << "\n"; | 
| } | 
| bool LocationIconView::OnMousePressed(const ui::MouseEvent& event) { | 
| + std::cout << "pressed " << (void*)this << "\n"; | 
| if (event.IsOnlyMiddleMouseButton() && | 
| ui::Clipboard::IsSupportedClipboardType(ui::CLIPBOARD_TYPE_SELECTION)) { | 
| base::string16 text; | 
| @@ -166,3 +173,35 @@ void LocationIconView::SetBackground(bool should_show_ev) { | 
| else | 
| UnsetBackgroundImageGrid(); | 
| } | 
| + | 
| +void LocationIconView::StartAnimation() { | 
| + if (!animation_already_started_) { | 
| + std::cout << "width is " << label()->GetPreferredSize().width() << "\n"; | 
| + animation_.SetSlideDuration(label()->GetPreferredSize().width() * 10); | 
| + // They don't tell you but, to get it slide "down", you must do both: | 
| 
 
Peter Kasting
2016/07/19 21:17:21
Who doesn't tell you?  If you're trying to animate
 
Kevin Bailey
2016/08/12 18:49:15
slide_animation.h says:
  // Begin a hiding anima
 
 | 
| + animation_.Reset(1); | 
| + animation_.Hide(); | 
| + animation_already_started_ = true; | 
| + } | 
| +} | 
| + | 
| +void LocationIconView::AnimationProgressed(const gfx::Animation*) { | 
| + std::cout << "progressed " << animation_.GetCurrentValue() << "\n"; | 
| + // Since things are moving (sideways), we need a re-layout and paint. | 
| + location_bar_->Layout(); | 
| + location_bar_->SchedulePaint(); | 
| +} | 
| + | 
| +/* | 
| +int LocationIconView::GetLabelPreferredWidth() const { | 
| + gfx::Rect size(label()->GetPreferredSize()); | 
| + return size.width() * animation_.GetCurrentValue(); | 
| +} | 
| +*/ | 
| +double LocationIconView::WidthMultiplier() const { | 
| + return animation_.GetCurrentValue(); | 
| +} | 
| + | 
| +bool LocationIconView::IsShrinking() const { | 
| + return true; | 
| +} |