| Index: chrome/browser/ui/views/location_bar/origin_chip_view.cc
|
| diff --git a/chrome/browser/ui/views/location_bar/origin_chip_view.cc b/chrome/browser/ui/views/location_bar/origin_chip_view.cc
|
| index 09e385370cdcfe2b1cf547423b3fd39b5407bdf6..1da7a95a39f380f93964d6561eb521953cb43341 100644
|
| --- a/chrome/browser/ui/views/location_bar/origin_chip_view.cc
|
| +++ b/chrome/browser/ui/views/location_bar/origin_chip_view.cc
|
| @@ -25,8 +25,6 @@
|
| #include "chrome/browser/ui/views/location_bar/location_bar_view.h"
|
| #include "chrome/common/extensions/extension_constants.h"
|
| #include "chrome/common/extensions/manifest_handlers/icons_handler.h"
|
| -#include "content/public/browser/navigation_controller.h"
|
| -#include "content/public/browser/navigation_entry.h"
|
| #include "content/public/browser/user_metrics.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "content/public/common/url_constants.h"
|
| @@ -37,6 +35,8 @@
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/base/theme_provider.h"
|
| +#include "ui/gfx/animation/slide_animation.h"
|
| +#include "ui/gfx/canvas.h"
|
| #include "ui/gfx/font_list.h"
|
| #include "ui/views/background.h"
|
| #include "ui/views/controls/button/label_button.h"
|
| @@ -143,16 +143,7 @@ OriginChipView::OriginChipView(LocationBarView* location_bar_view,
|
| sb_service->ui_manager()->AddObserver(this);
|
|
|
| SetFontList(font_list);
|
| -}
|
|
|
| -OriginChipView::~OriginChipView() {
|
| - scoped_refptr<SafeBrowsingService> sb_service =
|
| - g_browser_process->safe_browsing_service();
|
| - if (sb_service.get() && sb_service->ui_manager())
|
| - sb_service->ui_manager()->RemoveObserver(this);
|
| -}
|
| -
|
| -void OriginChipView::Init() {
|
| image()->EnableCanvasFlippingForRTLUI(false);
|
|
|
| // TODO(gbillock): Would be nice to just use stock LabelButton stuff here.
|
| @@ -164,6 +155,17 @@ void OriginChipView::Init() {
|
|
|
| host_label_ = new views::Label(base::string16(), GetFontList());
|
| AddChildView(host_label_);
|
| +
|
| + fade_in_animation_.reset(new gfx::SlideAnimation(this));
|
| + fade_in_animation_->SetTweenType(gfx::Tween::LINEAR);
|
| + fade_in_animation_->SetSlideDuration(300);
|
| +}
|
| +
|
| +OriginChipView::~OriginChipView() {
|
| + scoped_refptr<SafeBrowsingService> sb_service =
|
| + g_browser_process->safe_browsing_service();
|
| + if (sb_service.get() && sb_service->ui_manager())
|
| + sb_service->ui_manager()->RemoveObserver(this);
|
| }
|
|
|
| bool OriginChipView::ShouldShow() {
|
| @@ -280,6 +282,24 @@ void OriginChipView::OnChanged() {
|
| // arrows are pointing to the right spot. Only needed for some edge cases.
|
| }
|
|
|
| +void OriginChipView::FadeIn() {
|
| + fade_in_animation_->Show();
|
| +}
|
| +
|
| +void OriginChipView::AnimationProgressed(const gfx::Animation* animation) {
|
| + if (animation == fade_in_animation_.get())
|
| + SchedulePaint();
|
| + else
|
| + views::LabelButton::AnimationProgressed(animation);
|
| +}
|
| +
|
| +void OriginChipView::AnimationEnded(const gfx::Animation* animation) {
|
| + if (animation == fade_in_animation_.get())
|
| + fade_in_animation_->Reset();
|
| + else
|
| + views::LabelButton::AnimationEnded(animation);
|
| +}
|
| +
|
| gfx::Size OriginChipView::GetPreferredSize() {
|
| gfx::Size label_size = host_label_->GetPreferredSize();
|
| gfx::Size icon_size = location_icon_view_->GetPreferredSize();
|
| @@ -312,6 +332,17 @@ void OriginChipView::Layout() {
|
| height() - 2 * LocationBarView::kNormalEdgeThickness);
|
| }
|
|
|
| +void OriginChipView::OnPaintBorder(gfx::Canvas* canvas) {
|
| + if (fade_in_animation_->is_animating()) {
|
| + canvas->SaveLayerAlpha(static_cast<uint8>(
|
| + fade_in_animation_->CurrentValueBetween(0, 255)));
|
| + views::LabelButton::OnPaintBorder(canvas);
|
| + canvas->Restore();
|
| + } else {
|
| + views::LabelButton::OnPaintBorder(canvas);
|
| + }
|
| +}
|
| +
|
| int OriginChipView::ElideDomainTarget(int target_max_width) {
|
| base::string16 host =
|
| OriginChip::LabelFromURLForProfile(url_displayed_, profile_);
|
| @@ -350,7 +381,7 @@ void OriginChipView::ButtonPressed(views::Button* sender,
|
| UMA_HISTOGRAM_COUNTS("OriginChip.Pressed", 1);
|
| content::RecordAction(base::UserMetricsAction("OriginChipPress"));
|
|
|
| - location_bar_view_->GetOmniboxView()->ShowURL();
|
| + location_bar_view_->ShowURL();
|
| }
|
|
|
| // Note: When OnSafeBrowsingHit would be called, OnSafeBrowsingMatch will
|
|
|