Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / location_bar / location_icon_decoration.h
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.
4
5 #ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_ICON_DECORATION_H_
6 #define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_ICON_DECORATION_H_
7
8 #import <Cocoa/Cocoa.h>
9
10 #include "chrome/browser/ui/cocoa/location_bar/image_decoration.h"
11
12 class LocationBarViewMac;
13
14 // LocationIconDecoration is used to display an icon to the left of
15 // the address.
16
17 class LocationIconDecoration : public ImageDecoration {
18  public:
19   explicit LocationIconDecoration(LocationBarViewMac* owner);
20   ~LocationIconDecoration() override;
21
22   // Allow dragging the current URL.
23   bool IsDraggable() override;
24   NSPasteboard* GetDragPasteboard() override;
25   NSImage* GetDragImage() override;
26   NSRect GetDragImageFrame(NSRect frame) override;
27
28   // Show the page info panel on click.
29   bool OnMousePressed(NSRect frame, NSPoint location) override;
30   bool AcceptsMousePress() override;
31   NSString* GetToolTip() override;
32   NSPoint GetBubblePointInFrame(NSRect frame) override;
33
34  private:
35   NSRect drag_frame_;
36   // The location bar view that owns us.
37   LocationBarViewMac* owner_;
38
39   DISALLOW_COPY_AND_ASSIGN(LocationIconDecoration);
40 };
41
42 #endif  // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_LOCATION_ICON_DECORATION_H_