Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / location_bar / translate_decoration.h
1 // Copyright 2014 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_TRANSLATE_DECORATION_H_
6 #define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_TRANSLATE_DECORATION_H_
7
8 #import <Cocoa/Cocoa.h>
9
10 #include "chrome/browser/ui/cocoa/location_bar/image_decoration.h"
11
12 class CommandUpdater;
13 @class TranslateBubbleController;
14
15 // Translate icon on the right side of the field. This appears when
16 // translation is available on the current page. This icon is lit when
17 // translation is already done, otherwise not lit.
18 class TranslateDecoration : public ImageDecoration {
19  public:
20   explicit TranslateDecoration(CommandUpdater* command_updater);
21   ~TranslateDecoration() override;
22
23   // Toggles the icon on or off.
24   void SetLit(bool on);
25
26   // Implement |LocationBarDecoration|
27   bool AcceptsMousePress() override;
28   bool OnMousePressed(NSRect frame, NSPoint location) override;
29   NSString* GetToolTip() override;
30   NSPoint GetBubblePointInFrame(NSRect frame) override;
31
32  private:
33   // For showing the translate bubble up.
34   CommandUpdater* command_updater_;  // Weak, owned by Browser.
35
36   DISALLOW_COPY_AND_ASSIGN(TranslateDecoration);
37 };
38
39 #endif  // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_TRANSLATE_DECORATION_H_