Home | History | Annotate | Download | only in location_bar
      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   virtual ~TranslateDecoration();
     22 
     23   // Toggles the icon on or off.
     24   void SetLit(bool on);
     25 
     26   // Implement |LocationBarDecoration|
     27   virtual bool AcceptsMousePress() OVERRIDE;
     28   virtual bool OnMousePressed(NSRect frame, NSPoint location) OVERRIDE;
     29   virtual NSString* GetToolTip() OVERRIDE;
     30   virtual 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_
     40