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