More button modifications

Review URL: http://codereview.chromium.org/50047

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12233 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/views/controls/button/native_button_win.h b/chrome/views/controls/button/native_button_win.h
index 97eab47..4b34a20 100644
--- a/chrome/views/controls/button/native_button_win.h
+++ b/chrome/views/controls/button/native_button_win.h
@@ -37,6 +37,9 @@
   virtual void CreateNativeControl();
   virtual void NativeControlCreated(HWND control_hwnd);
 
+  // Returns true if this button is actually a checkbox or radio button.
+  virtual bool IsCheckbox() const { return false; }
+
  private:
   // The NativeButton we are bound to.
   NativeButton2* native_button_;
@@ -50,9 +53,12 @@
   explicit NativeCheckboxWin(Checkbox2* native_button);
   virtual ~NativeCheckboxWin();
 
+  // Overridden from View:
+  virtual gfx::Size GetPreferredSize();
+
   // Overridden from NativeButtonWrapper:
   virtual void UpdateChecked();
-  virtual void SetHighlight(bool highlight);
+  virtual void SetPushed(bool pushed);
 
   // Overridden from NativeControlWin:
   virtual LRESULT ProcessMessage(UINT message,
@@ -62,6 +68,7 @@
  protected:
   virtual void CreateNativeControl();
   virtual void NativeControlCreated(HWND control_hwnd);
+  virtual bool IsCheckbox() const { return true; }
 
  private:
   // The Checkbox we are bound to.
@@ -83,7 +90,7 @@
  private:
   DISALLOW_COPY_AND_ASSIGN(NativeRadioButtonWin);
 };
-  
+
 }  // namespace views
 
 #endif  // #ifndef CHROME_VIEWS_CONTROLS_BUTTON_NATIVE_BUTTON_WIN_H_