summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebKit/android/RenderSkinCombo.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/WebKit/android/RenderSkinCombo.cpp b/WebKit/android/RenderSkinCombo.cpp
index 00f2d3b..b30dc29 100644
--- a/WebKit/android/RenderSkinCombo.cpp
+++ b/WebKit/android/RenderSkinCombo.cpp
@@ -125,10 +125,14 @@ bool RenderSkinCombo::Draw(SkCanvas* canvas, Node* element, int x, int y, int wi
bounds.set(SkIntToScalar(x), SkIntToScalar(y), SkIntToScalar(x + width), SkIntToScalar(y + height));
- if (style->visitedDependentColor(CSSPropertyBorderLeftColor).isValid() ||
- style->visitedDependentColor(CSSPropertyBorderRightColor).isValid() ||
- style->visitedDependentColor(CSSPropertyBorderTopColor).isValid() ||
- style->visitedDependentColor(CSSPropertyBorderBottomColor).isValid()) {
+ // If this is an appearance where RenderTheme::paint returns true
+ // without doing anything, this means that
+ // RenderBox::PaintBoxDecorationWithSize will end up painting the
+ // border, so we shouldn't paint a border here.
+ if (style->appearance() == MenulistButtonPart ||
+ style->appearance() == ListboxPart ||
+ style->appearance() == TextFieldPart ||
+ style->appearance() == TextAreaPart) {
bounds.fLeft += SkIntToScalar(width - RenderSkinCombo::extraWidth());
bounds.fRight -= SkIntToScalar(style->borderRightWidth());
bounds.fTop += SkIntToScalar(style->borderTopWidth());