diff options
| -rw-r--r-- | Source/WebCore/platform/qt/RenderThemeQStyle.cpp | 16 | ||||
| -rw-r--r-- | Source/WebCore/platform/qt/RenderThemeQt.cpp | 1 | ||||
| -rw-r--r-- | Source/WebCore/platform/qt/RenderThemeQtMobile.cpp | 1 |
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. |
