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

Unified Diff: chrome/browser/ui/views/location_bar/content_setting_image_view.h

Issue 2720183002: [Views] Update ink drop for omnibox icons (Closed)
Patch Set: Removed CanProcessEventsWithinSubtree Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/location_bar/content_setting_image_view.h
diff --git a/chrome/browser/ui/views/location_bar/content_setting_image_view.h b/chrome/browser/ui/views/location_bar/content_setting_image_view.h
index d2b7de509ee17537b0bc4857ed66346d2077fcf7..495c3fb171b2ae59ffcf09e4ac1babf475d050e5 100644
--- a/chrome/browser/ui/views/location_bar/content_setting_image_view.h
+++ b/chrome/browser/ui/views/location_bar/content_setting_image_view.h
@@ -15,7 +15,6 @@
#include "ui/gfx/animation/slide_animation.h"
#include "ui/views/painter.h"
#include "ui/views/view.h"
-#include "ui/views/widget/widget_observer.h"
class ContentSettingImageModel;
class LocationBarView;
@@ -35,9 +34,7 @@ class BubbleDialogDelegateView;
// The ContentSettingImageView displays an icon and optional text label for
// various content settings affordances in the location bar (i.e. plugin
// blocking, geolocation).
-class ContentSettingImageView : public IconLabelBubbleView,
- public gfx::AnimationDelegate,
- public views::WidgetObserver {
+class ContentSettingImageView : public IconLabelBubbleView {
public:
ContentSettingImageView(std::unique_ptr<ContentSettingImageModel> image_model,
LocationBarView* parent,
@@ -55,18 +52,15 @@ class ContentSettingImageView : public IconLabelBubbleView,
// IconLabelBubbleView:
const char* GetClassName() const override;
void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
- bool OnMousePressed(const ui::MouseEvent& event) override;
- void OnMouseReleased(const ui::MouseEvent& event) override;
- void OnGestureEvent(ui::GestureEvent* event) override;
bool GetTooltipText(const gfx::Point& p,
base::string16* tooltip) const override;
void OnNativeThemeChanged(const ui::NativeTheme* native_theme) override;
- std::unique_ptr<views::InkDrop> CreateInkDrop() override;
SkColor GetTextColor() const override;
bool ShouldShowLabel() const override;
double WidthMultiplier() const override;
bool IsShrinking() const override;
- bool OnActivate(const ui::Event& event) override;
+ bool ShowBubble(const ui::Event& event) override;
+ bool IsBubbleShowing() const override;
// gfx::AnimationDelegate:
void AnimationEnded(const gfx::Animation* animation) override;
@@ -80,6 +74,12 @@ class ContentSettingImageView : public IconLabelBubbleView,
// Updates the image and tooltip to match the current model state.
void UpdateImage();
+ // Animates the view in and disables highlighting for hover and focus.
+ // TODO(bruthig): See crbug.com/669253. Since the ink drop highlight currently
+ // cannot handle host resizes, the highlight needs to be disabled when the
+ // animation is running.
+ void AnimateIn();
+
LocationBarView* parent_; // Weak, owns us.
std::unique_ptr<ContentSettingImageModel> content_setting_image_model_;
gfx::SlideAnimation slide_animator_;
@@ -87,11 +87,6 @@ class ContentSettingImageView : public IconLabelBubbleView,
double pause_animation_state_;
views::BubbleDialogDelegateView* bubble_view_;
- // This is used to check if the bubble was showing during the mouse pressed
- // event. If this is true then the mouse released event is ignored to prevent
- // the bubble from reshowing.
- bool suppress_mouse_released_action_;
-
DISALLOW_COPY_AND_ASSIGN(ContentSettingImageView);
};

Powered by Google App Engine
This is Rietveld 408576698