diff options
-rw-r--r-- | WebKit/android/RenderSkinCombo.cpp | 12 |
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()); |