1// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_STAR_DECORATION_H_ 6#define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_STAR_DECORATION_H_ 7#pragma once 8 9#import <Cocoa/Cocoa.h> 10 11#include "chrome/browser/ui/cocoa/location_bar/image_decoration.h" 12 13class CommandUpdater; 14 15// Star icon on the right side of the field. 16 17class StarDecoration : public ImageDecoration { 18 public: 19 explicit StarDecoration(CommandUpdater* command_updater); 20 virtual ~StarDecoration(); 21 22 // Sets the image and tooltip based on |starred|. 23 void SetStarred(bool starred); 24 25 // Get the point where the bookmark bubble should point within the 26 // decoration's frame. 27 NSPoint GetBubblePointInFrame(NSRect frame); 28 29 // Implement |LocationBarDecoration|. 30 virtual bool AcceptsMousePress(); 31 virtual bool OnMousePressed(NSRect frame); 32 virtual NSString* GetToolTip(); 33 34 private: 35 // For bringing up bookmark bar. 36 CommandUpdater* command_updater_; // Weak, owned by Browser. 37 38 // The string to show for a tooltip. 39 scoped_nsobject<NSString> tooltip_; 40 41 DISALLOW_COPY_AND_ASSIGN(StarDecoration); 42}; 43 44#endif // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_STAR_DECORATION_H_ 45