Index: ui/native_theme/common_theme.cc |
diff --git a/ui/native_theme/common_theme.cc b/ui/native_theme/common_theme.cc |
index 045a9369d38256eb80b44f5b00d73732ca4e09f8..443413b9a4c5fcb6cd58b82900fd728e1eaa8e8a 100644 |
--- a/ui/native_theme/common_theme.cc |
+++ b/ui/native_theme/common_theme.cc |
@@ -460,9 +460,11 @@ void CommonThemePaintMenuBackground(SkCanvas* canvas, const gfx::Rect& rect) { |
canvas->drawRect(gfx::RectToSkRect(rect), paint); |
} |
-void CommonThemePaintMenuItemBackground(SkCanvas* canvas, |
- NativeTheme::State state, |
- const gfx::Rect& rect) { |
+void CommonThemePaintMenuItemBackground( |
+ SkCanvas* canvas, |
+ NativeTheme::State state, |
+ const gfx::Rect& rect, |
+ const NativeTheme::MenuItemExtraParams& menu_item) { |
SkPaint paint; |
switch (state) { |
case NativeTheme::kNormal: |
@@ -478,6 +480,12 @@ void CommonThemePaintMenuItemBackground(SkCanvas* canvas, |
NOTREACHED() << "Invalid state " << state; |
break; |
} |
+ if (menu_item.corner_radius > 0) { |
+ canvas->drawRoundRect(gfx::RectToSkRect(rect), |
+ SkIntToScalar(menu_item.corner_radius), |
+ SkIntToScalar(menu_item.corner_radius), paint); |
+ return; |
+ } |
canvas->drawRect(gfx::RectToSkRect(rect), paint); |
} |