1 // Copyright (c) 2011 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.
5 #ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_ICON_DECORATION_H_
6 #define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_ICON_DECORATION_H_
8 #import <Cocoa/Cocoa.h>
10 #include "chrome/browser/ui/cocoa/location_bar/image_decoration.h"
12 class LocationBarViewMac;
14 // LocationIconDecoration is used to display an icon to the left of
17 class LocationIconDecoration : public ImageDecoration {
19 explicit LocationIconDecoration(LocationBarViewMac* owner);
20 virtual ~LocationIconDecoration();
22 // Allow dragging the current URL.
23 virtual bool IsDraggable() OVERRIDE;
24 virtual NSPasteboard* GetDragPasteboard() OVERRIDE;
25 virtual NSImage* GetDragImage() OVERRIDE;
26 virtual NSRect GetDragImageFrame(NSRect frame) OVERRIDE;
28 // Get the point where the page info bubble should point within the
29 // decoration's frame, in the |owner_|'s coordinates.
30 NSPoint GetBubblePointInFrame(NSRect frame);
32 // Show the page info panel on click.
33 virtual bool OnMousePressed(NSRect frame) OVERRIDE;
34 virtual bool AcceptsMousePress() OVERRIDE;
35 virtual NSString* GetToolTip() OVERRIDE;
39 // The location bar view that owns us.
40 LocationBarViewMac* owner_;
42 DISALLOW_COPY_AND_ASSIGN(LocationIconDecoration);
45 #endif // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_ICON_DECORATION_H_