Fix menu corners: the menu background was being painted as a rect when in fact,
the border is a rounded rect. In this CL, I change the menu background painting
code to paint a rounded rect instead. I also had to make the hosting widget
transparent to avoid showing black background around the rounded corners.
One more fix was needed: a selected item in a menu is indicated by painting a
highlight colored rectangle background for that item. Due to this, selecting the
topmost or the bottom-most item messes up the roundedness of the menu
background. I fix this by simply adding a padding inside the menu so that the
highlighted background of the item does not overlap the rounded corners of the
menu.

BUG=171703


Review URL: https://chromiumcodereview.appspot.com/12041085

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179267 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ui/native_theme/native_theme_base.h b/ui/native_theme/native_theme_base.h
index 07056650..633cb46 100644
--- a/ui/native_theme/native_theme_base.h
+++ b/ui/native_theme/native_theme_base.h
@@ -86,8 +86,10 @@
       const gfx::Rect& rect,
       const MenuListExtraParams& menu_list) const;
 
-  virtual void PaintMenuPopupBackground(SkCanvas* canvas,
-                                        const gfx::Size& size) const;
+  virtual void PaintMenuPopupBackground(
+      SkCanvas* canvas,
+      const gfx::Size& size,
+      const MenuBackgroundExtraParams& menu_background) const;
 
   virtual void PaintMenuItemBackground(
       SkCanvas* canvas,