Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / ash / system / user / button_from_view.h
index 1d391a6..23a632b 100644 (file)
@@ -6,7 +6,7 @@
 #define ASH_SYSTEM_USER_BUTTON_FROM_VIEW_H_
 
 #include "base/macros.h"
-
+#include "ui/gfx/insets.h"
 #include "ui/views/controls/button/custom_button.h"
 
 namespace ash {
@@ -15,9 +15,16 @@ namespace tray {
 // This view is used to wrap it's content and transform it into button.
 class ButtonFromView : public views::CustomButton {
  public:
+  // The |content| is the content which is shown within the button. The
+  // |button_listener| will be informed - if provided - when a button was
+  // pressed. If |highlight_on_hover| is set to true, the button will be
+  // highlighted upon hover and show the accessibility caret.
+  // The |tab_frame_inset| will be used to inset the blue tab frame inside the
+  // button.
   ButtonFromView(views::View* content,
                  views::ButtonListener* listener,
-                 bool highlight_on_hover);
+                 bool highlight_on_hover,
+                 const gfx::Insets& tab_frame_inset);
   virtual ~ButtonFromView();
 
   // Called when the border should remain even in the non highlighted state.
@@ -26,6 +33,9 @@ class ButtonFromView : public views::CustomButton {
   // Overridden from views::View
   virtual void OnMouseEntered(const ui::MouseEvent& event) OVERRIDE;
   virtual void OnMouseExited(const ui::MouseEvent& event) OVERRIDE;
+  virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
+  virtual void OnFocus() OVERRIDE;
+  virtual void OnBlur() OVERRIDE;
 
   // Check if the item is hovered.
   bool is_hovered_for_test() { return button_hovered_; }
@@ -46,6 +56,9 @@ class ButtonFromView : public views::CustomButton {
   // True if the border should be always visible.
   bool show_border_;
 
+  // The insets which get used for the drawn accessibility (tab) frame.
+  gfx::Insets tab_frame_inset_;
+
   DISALLOW_COPY_AND_ASSIGN(ButtonFromView);
 };