Index: ui/native_theme/native_theme_base.cc |
diff --git a/ui/native_theme/native_theme_base.cc b/ui/native_theme/native_theme_base.cc |
index 6f2147f1a2bc58d96a44a9af01cb34f47a9ba5db..97961a106a0267e84fd76b5d4d3547e14f2603d5 100644 |
--- a/ui/native_theme/native_theme_base.cc |
+++ b/ui/native_theme/native_theme_base.cc |
@@ -473,52 +473,45 @@ void NativeThemeBase::PaintScrollbarThumb(SkCanvas* canvas, |
} |
} |
-bool NativeThemeBase::IsNewCheckboxStyleEnabled(SkCanvas* canvas) const { |
- // The new style is now the default. |
- // TODO(rbyers): Remove this flag once we're sure the new behavior is fine. |
- // http://crbug.com/133991 |
- if (!CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kOldCheckboxStyle)) |
- return true; |
- |
- return false; |
-} |
- |
void NativeThemeBase::PaintCheckbox(SkCanvas* canvas, |
State state, |
const gfx::Rect& rect, |
const ButtonExtraParams& button) const { |
- if (IsNewCheckboxStyleEnabled(canvas)) { |
- PaintCheckboxNew(canvas, state, rect, button); |
- return; |
- } |
- |
- ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
- gfx::ImageSkia* image = NULL; |
- if (button.indeterminate) { |
- image = state == kDisabled ? |
- rb.GetImageSkiaNamed(IDR_CHECKBOX_DISABLED_INDETERMINATE) : |
- rb.GetImageSkiaNamed(IDR_CHECKBOX_INDETERMINATE); |
- } else if (button.checked) { |
- image = state == kDisabled ? |
- rb.GetImageSkiaNamed(IDR_CHECKBOX_DISABLED_ON) : |
- rb.GetImageSkiaNamed(IDR_CHECKBOX_ON); |
- } else { |
- image = state == kDisabled ? |
- rb.GetImageSkiaNamed(IDR_CHECKBOX_DISABLED_OFF) : |
- rb.GetImageSkiaNamed(IDR_CHECKBOX_OFF); |
+ SkRect skrect = PaintCheckboxRadioCommon(canvas, state, rect, |
+ SkIntToScalar(2)); |
+ if (!skrect.isEmpty()) { |
+ // Draw the checkmark / dash. |
+ SkPaint paint; |
+ paint.setAntiAlias(true); |
+ paint.setStyle(SkPaint::kStroke_Style); |
+ if (state == kDisabled) |
+ paint.setColor(kCheckboxStrokeDisabledColor); |
+ else |
+ paint.setColor(kCheckboxStrokeColor); |
+ if (button.indeterminate) { |
+ SkPath dash; |
+ dash.moveTo(skrect.x() + skrect.width() * 0.16, |
+ (skrect.y() + skrect.bottom()) / 2); |
+ dash.rLineTo(skrect.width() * 0.68, 0); |
+ paint.setStrokeWidth(SkFloatToScalar(skrect.height() * 0.2)); |
+ canvas->drawPath(dash, paint); |
+ } else if (button.checked) { |
+ SkPath check; |
+ check.moveTo(skrect.x() + skrect.width() * 0.2, |
+ skrect.y() + skrect.height() * 0.5); |
+ check.rLineTo(skrect.width() * 0.2, skrect.height() * 0.2); |
+ paint.setStrokeWidth(SkFloatToScalar(skrect.height() * 0.23)); |
+ check.lineTo(skrect.right() - skrect.width() * 0.2, |
+ skrect.y() + skrect.height() * 0.2); |
+ canvas->drawPath(check, paint); |
+ } |
} |
- |
- gfx::Rect bounds = rect; |
- bounds.ClampToCenteredSize(gfx::Size(image->width(), image->height())); |
- DrawImageInt(canvas, *image, 0, 0, image->width(), image->height(), |
- bounds.x(), bounds.y(), bounds.width(), bounds.height()); |
} |
// Draws the common elements of checkboxes and radio buttons. |
// Returns the rectangle within which any additional decorations should be |
// drawn, or empty if none. |
-SkRect NativeThemeBase::PaintCheckboxRadioNewCommon( |
+SkRect NativeThemeBase::PaintCheckboxRadioCommon( |
SkCanvas* canvas, |
State state, |
const gfx::Rect& rect, |
@@ -607,78 +600,16 @@ SkRect NativeThemeBase::PaintCheckboxRadioNewCommon( |
return skrect; |
} |
-void NativeThemeBase::PaintCheckboxNew(SkCanvas* canvas, |
- State state, |
- const gfx::Rect& rect, |
- const ButtonExtraParams& button) const { |
- SkRect skrect = PaintCheckboxRadioNewCommon(canvas, state, rect, |
- SkIntToScalar(2)); |
- if (!skrect.isEmpty()) { |
- // Draw the checkmark / dash. |
- SkPaint paint; |
- paint.setAntiAlias(true); |
- paint.setStyle(SkPaint::kStroke_Style); |
- if (state == kDisabled) |
- paint.setColor(kCheckboxStrokeDisabledColor); |
- else |
- paint.setColor(kCheckboxStrokeColor); |
- if (button.indeterminate) { |
- SkPath dash; |
- dash.moveTo(skrect.x() + skrect.width() * 0.16, |
- (skrect.y() + skrect.bottom()) / 2); |
- dash.rLineTo(skrect.width() * 0.68, 0); |
- paint.setStrokeWidth(SkFloatToScalar(skrect.height() * 0.2)); |
- canvas->drawPath(dash, paint); |
- } else if (button.checked) { |
- SkPath check; |
- check.moveTo(skrect.x() + skrect.width() * 0.2, |
- skrect.y() + skrect.height() * 0.5); |
- check.rLineTo(skrect.width() * 0.2, skrect.height() * 0.2); |
- paint.setStrokeWidth(SkFloatToScalar(skrect.height() * 0.23)); |
- check.lineTo(skrect.right() - skrect.width() * 0.2, |
- skrect.y() + skrect.height() * 0.2); |
- canvas->drawPath(check, paint); |
- } |
- } |
-} |
- |
void NativeThemeBase::PaintRadio(SkCanvas* canvas, |
State state, |
const gfx::Rect& rect, |
const ButtonExtraParams& button) const { |
- if (IsNewCheckboxStyleEnabled(canvas)) { |
- PaintRadioNew(canvas, state, rect, button); |
- return; |
- } |
- |
- ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
- gfx::ImageSkia* image = NULL; |
- if (state == kDisabled) { |
- image = button.checked ? |
- rb.GetImageSkiaNamed(IDR_RADIO_DISABLED_ON) : |
- rb.GetImageSkiaNamed(IDR_RADIO_DISABLED_OFF); |
- } else { |
- image = button.checked ? |
- rb.GetImageSkiaNamed(IDR_RADIO_ON) : |
- rb.GetImageSkiaNamed(IDR_RADIO_OFF); |
- } |
- |
- gfx::Rect bounds = rect; |
- bounds.ClampToCenteredSize(gfx::Size(image->width(), image->height())); |
- DrawImageInt(canvas, *image, 0, 0, image->width(), image->height(), |
- bounds.x(), bounds.y(), bounds.width(), bounds.height()); |
-} |
- |
-void NativeThemeBase::PaintRadioNew(SkCanvas* canvas, |
- State state, |
- const gfx::Rect& rect, |
- const ButtonExtraParams& button) const { |
// Most of a radio button is the same as a checkbox, except the the rounded |
// square is a circle (i.e. border radius >= 100%). |
const SkScalar radius = SkFloatToScalar( |
static_cast<float>(std::max(rect.width(), rect.height())) / 2); |
- SkRect skrect = PaintCheckboxRadioNewCommon(canvas, state, rect, radius); |
+ SkRect skrect = PaintCheckboxRadioCommon(canvas, state, rect, radius); |
if (!skrect.isEmpty() && button.checked) { |
// Draw the dot. |
SkPaint paint; |