summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/WebCore/platform/qt/RenderThemeQStyle.cpp16
-rw-r--r--Source/WebCore/platform/qt/RenderThemeQt.cpp1
-rw-r--r--Source/WebCore/platform/qt/RenderThemeQtMobile.cpp1
3 files changed, 13 insertions, 5 deletions
diff --git a/Source/WebCore/platform/qt/RenderThemeQStyle.cpp b/Source/WebCore/platform/qt/RenderThemeQStyle.cpp
index 14b989894..f14358c64 100644
--- a/Source/WebCore/platform/qt/RenderThemeQStyle.cpp
+++ b/Source/WebCore/platform/qt/RenderThemeQStyle.cpp
@@ -153,6 +153,13 @@ QRect RenderThemeQStyle::inflateButtonRect(const QRect& originalRect) const
return originalRect;
}
+int extendFixedPadding(Length oldPadding, int padding) {
+ if (oldPadding.isFixed()) {
+ return oldPadding.value() + padding;
+ }
+ return padding;
+}
+
void RenderThemeQStyle::computeSizeBasedOnStyle(RenderStyle* renderStyle) const
{
QSize size(0, 0);
@@ -163,13 +170,14 @@ void RenderThemeQStyle::computeSizeBasedOnStyle(RenderStyle* renderStyle) const
case SearchFieldPart:
case TextFieldPart: {
int padding = m_qStyle->findFrameLineWidth();
- renderStyle->setPaddingLeft(Length(padding, Fixed));
- renderStyle->setPaddingRight(Length(padding, Fixed));
- renderStyle->setPaddingTop(Length(padding, Fixed));
- renderStyle->setPaddingBottom(Length(padding, Fixed));
+ renderStyle->setPaddingLeft(Length(extendFixedPadding(renderStyle->paddingLeft(), padding), Fixed));
+ renderStyle->setPaddingRight(Length(extendFixedPadding(renderStyle->paddingRight(), padding), Fixed));
+ renderStyle->setPaddingTop(Length(extendFixedPadding(renderStyle->paddingTop(), padding), Fixed));
+ renderStyle->setPaddingBottom(Length(extendFixedPadding(renderStyle->paddingBottom(), padding), Fixed));
break;
}
default:
+ renderStyle->resetPadding();
break;
}
// If the width and height are both specified, then we have nothing to do.
diff --git a/Source/WebCore/platform/qt/RenderThemeQt.cpp b/Source/WebCore/platform/qt/RenderThemeQt.cpp
index 208a492a5..321fd1108 100644
--- a/Source/WebCore/platform/qt/RenderThemeQt.cpp
+++ b/Source/WebCore/platform/qt/RenderThemeQt.cpp
@@ -315,7 +315,6 @@ void RenderThemeQt::adjustTextFieldStyle(StyleResolver*, RenderStyle* style, Ele
// padding. Just worth keeping in mind!
style->setBackgroundColor(Color::transparent);
style->resetBorder();
- style->resetPadding();
computeSizeBasedOnStyle(style);
}
diff --git a/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp b/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp
index 07c868f18..ceee78c65 100644
--- a/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp
+++ b/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp
@@ -656,6 +656,7 @@ void RenderThemeQtMobile::computeSizeBasedOnStyle(RenderStyle* renderStyle) cons
break;
}
default:
+ renderStyle->resetPadding();
break;
}
// If the width and height are both specified, then we have nothing to do.