Index: chrome/browser/cocoa/location_bar/location_bar_view_mac.h |
diff --git a/chrome/browser/cocoa/location_bar/location_bar_view_mac.h b/chrome/browser/cocoa/location_bar/location_bar_view_mac.h |
index 8d476b6a594ad3d376c319970da132c0c9bf7f46..eb84998f9e79d5f9d0c6cab1f619a6cc540dab88 100644 |
--- a/chrome/browser/cocoa/location_bar/location_bar_view_mac.h |
+++ b/chrome/browser/cocoa/location_bar/location_bar_view_mac.h |
@@ -25,6 +25,7 @@ |
@class AutocompleteTextField; |
class CommandUpdater; |
+class ContentSettingDecoration; |
class ContentSettingImageModel; |
class EVBubbleDecoration; |
@class ExtensionPopupController; |
@@ -135,95 +136,6 @@ class LocationBarViewMac : public AutocompleteEditController, |
const NotificationSource& source, |
const NotificationDetails& details); |
- // Used to display a clickable icon in the location bar. |
- class LocationBarImageView { |
- public: |
- explicit LocationBarImageView() : image_(nil), |
- label_(nil), |
- visible_(false) {} |
- virtual ~LocationBarImageView() {} |
- |
- // Sets the image. |
- void SetImage(NSImage* image); |
- |
- // Get the |resource_id| image resource and set the image. |
- void SetIcon(int resource_id); |
- |
- // Sets the label text, font, and color. |text| may be nil; |color| and |
- // |font| are ignored if |text| is nil. |
- void SetLabel(NSString* text, NSFont* baseFont, NSColor* color); |
- |
- // Sets the visibility. SetImage() should be called with a valid image |
- // before the visibility is set to |true|. |
- void SetVisible(bool visible); |
- |
- NSImage* GetImage() const { return image_; } |
- NSAttributedString* GetLabel() const { return label_; } |
- bool IsVisible() const { return visible_; } |
- |
- // Default size when no image is present. |
- virtual NSSize GetDefaultImageSize() const; |
- |
- // Returns the size of the image, else the default size. |
- NSSize GetImageSize() const; |
- |
- // Returns the tooltip for this image view or |nil| if there is none. |
- virtual NSString* GetToolTip() { return nil; } |
- |
- // Used to determinate if the item can act as a drag source. |
- virtual bool IsDraggable() { return false; } |
- |
- // The drag pasteboard to use if a drag is initiated. |
- virtual NSPasteboard* GetDragPasteboard() { return nil; } |
- |
- // Called on mouse down. |
- virtual void OnMousePressed(NSRect bounds) {} |
- |
- // Called to get the icon's context menu. Return |nil| for no menu. |
- virtual NSMenu* GetMenu() { return nil; } |
- |
- private: |
- scoped_nsobject<NSImage> image_; |
- |
- // The label shown next to the icon, or nil if none. |
- scoped_nsobject<NSAttributedString> label_; |
- |
- bool visible_; |
- |
- DISALLOW_COPY_AND_ASSIGN(LocationBarImageView); |
- }; |
- |
- // ContentSettingImageView is used to display the content settings images |
- // on the current page. |
- class ContentSettingImageView : public LocationBarImageView { |
- public: |
- ContentSettingImageView(ContentSettingsType settings_type, |
- LocationBarViewMac* owner, |
- Profile* profile); |
- virtual ~ContentSettingImageView(); |
- |
- // Shows a content settings bubble. |
- void OnMousePressed(NSRect bounds); |
- |
- // Updates the image and visibility state based on the supplied TabContents. |
- void UpdateFromTabContents(const TabContents* tab_contents); |
- |
- // Returns the tooltip for this Page Action image or |nil| if there is none. |
- virtual NSString* GetToolTip(); |
- |
- private: |
- void SetToolTip(NSString* tooltip); |
- |
- scoped_ptr<ContentSettingImageModel> content_setting_image_model_; |
- |
- LocationBarViewMac* owner_; |
- Profile* profile_; |
- scoped_nsobject<NSString> tooltip_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ContentSettingImageView); |
- }; |
- typedef ScopedVector<ContentSettingImageView> ContentSettingViews; |
- |
private: |
// Posts |notification| to the default notification center. |
void PostNotification(NSString* notification); |
@@ -240,7 +152,7 @@ class LocationBarViewMac : public AutocompleteEditController, |
// Updates visibility of the content settings icons based on the current |
// tab contents state. |
- void RefreshContentSettingsViews(); |
+ void RefreshContentSettingsDecorations(); |
void ShowFirstRunBubbleInternal(FirstRun::BubbleType bubble_type); |
@@ -274,8 +186,8 @@ class LocationBarViewMac : public AutocompleteEditController, |
// Any installed Page Actions. |
ScopedVector<PageActionDecoration> page_action_decorations_; |
- // The content blocked views. |
- ContentSettingViews content_setting_views_; |
+ // The content blocked decorations. |
+ ScopedVector<ContentSettingDecoration> content_setting_decorations_; |
Profile* profile_; |