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

Unified Diff: chrome/browser/ui/cocoa/location_bar/secure_verbose_bubble_decoration.h

Issue 2119033002: [Material][Mac] Implement Omnibox Verbose State Chips (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed the verbose for "NOT SECURE" 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/location_bar/secure_verbose_bubble_decoration.h
diff --git a/chrome/browser/ui/cocoa/location_bar/ev_bubble_decoration.h b/chrome/browser/ui/cocoa/location_bar/secure_verbose_bubble_decoration.h
similarity index 58%
rename from chrome/browser/ui/cocoa/location_bar/ev_bubble_decoration.h
rename to chrome/browser/ui/cocoa/location_bar/secure_verbose_bubble_decoration.h
index 97cd4b8e8dba47c3dddd44198d3980a874e16ec3..8b0c07216a1b171ce892402fb9523289d3904ecd 100644
--- a/chrome/browser/ui/cocoa/location_bar/ev_bubble_decoration.h
+++ b/chrome/browser/ui/cocoa/location_bar/secure_verbose_bubble_decoration.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_EV_BUBBLE_DECORATION_H_
-#define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_EV_BUBBLE_DECORATION_H_
+#ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_SECURE_VERBOSE_BUBBLE_DECORATION_H_
+#define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_SECURE_VERBOSE_BUBBLE_DECORATION_H_
#import <Cocoa/Cocoa.h>
@@ -14,17 +14,22 @@
// icon plus a label from the certification, and will replace the
// location icon for URLs which have an EV cert. The |location_icon|
// is used to fulfill drag-related calls.
-
+// In Material Design, it will also draw the secure verbose bubble.
+// The bubble is exactly the same as the EV bubble, but potentially with a
+// different security icon and color.
// TODO(shess): Refactor to pull the |location_icon| functionality out
// into a distinct class like views |ClickHandler|.
// http://crbug.com/48866
+class LocationBarViewMac;
class LocationIconDecoration;
+@class SecureVerboseAnimation;
-class EVBubbleDecoration : public BubbleDecoration {
+class SecureVerboseBubbleDecoration : public BubbleDecoration {
public:
- explicit EVBubbleDecoration(LocationIconDecoration* location_icon);
- ~EVBubbleDecoration() override;
+ explicit SecureVerboseBubbleDecoration(LocationIconDecoration* location_icon,
+ LocationBarViewMac* owner);
+ ~SecureVerboseBubbleDecoration() override;
// Return the color used to draw the EvBubbleDecoration background in MD.
NSColor* GetBackgroundBorderColor() override;
@@ -33,6 +38,17 @@ class EVBubbleDecoration : public BubbleDecoration {
// fits, else it will set an elided version.
void SetFullLabel(NSString* full_label);
+ // Set the color of the label. If this is not set, the label color will
+ // default to kGoogleGreen700.
+ void SetLabelColor(NSColor* color);
+
+ // Called by SecureVerboseAnimation when the animation has progressed.
+ void OnAnimationProgressed();
+
+ // Starts the animation. If the animation has already started, it will
+ // restart.
+ void StartAnimation();
+
// Implement |LocationBarDecoration|.
CGFloat GetWidthForSpace(CGFloat width) override;
@@ -56,9 +72,17 @@ class EVBubbleDecoration : public BubbleDecoration {
// The real label. BubbleDecoration's label may be elided.
base::scoped_nsobject<NSString> full_label_;
+ // The color of the label's text.
+ base::scoped_nsobject<NSColor> label_color_;
+
LocationIconDecoration* location_icon_; // weak, owned by location bar.
- DISALLOW_COPY_AND_ASSIGN(EVBubbleDecoration);
+ // The animation.
+ base::scoped_nsobject<SecureVerboseAnimation> animation_;
+
+ LocationBarViewMac* owner_; // weak
+
+ DISALLOW_COPY_AND_ASSIGN(SecureVerboseBubbleDecoration);
};
-#endif // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_EV_BUBBLE_DECORATION_H_
+#endif // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_SECURE_VERBOSE_BUBBLE_DECORATION_H_

Powered by Google App Engine
This is Rietveld 408576698