From 397ffb035ab969a213d69588ea8afcd7e7a3278a Mon Sep 17 00:00:00 2001 From: "simon.fraser@apple.com" Date: Fri, 3 Oct 2008 00:43:39 +0000 Subject: [PATCH] 2008-10-01 Simon Fraser Reviewed by Dave Hyatt Fix RenderFileUploadControl::setStyle() and RenderMenuList::setStyle() to not touch the style; replace with html4.css and CSSStyleSelector changes. https://bugs.webkit.org/show_bug.cgi?id=21287 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): * css/html4.css: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::setStyle): * rendering/RenderFileUploadControl.cpp: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37220 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- WebCore/ChangeLog | 19 +++++++++++++++++++ WebCore/css/CSSStyleSelector.cpp | 6 ++++++ WebCore/css/html4.css | 1 + WebCore/rendering/RenderBlock.cpp | 6 +++--- WebCore/rendering/RenderFileUploadControl.cpp | 6 ------ WebCore/rendering/RenderMenuList.cpp | 4 ++-- 6 files changed, 31 insertions(+), 11 deletions(-) diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 4508c1b96ea..5744e4e5436 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,22 @@ +2008-10-01 Simon Fraser + + Reviewed by Dave Hyatt + + Fix RenderFileUploadControl::setStyle() and + RenderMenuList::setStyle() to not touch the style; replace + with html4.css and CSSStyleSelector changes. + + https://bugs.webkit.org/show_bug.cgi?id=21287 + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + * css/html4.css: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::setStyle): + * rendering/RenderFileUploadControl.cpp: + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::setStyle): + 2008-10-01 Simon Fraser Reviewed by Dave Hyatt diff --git a/WebCore/css/CSSStyleSelector.cpp b/WebCore/css/CSSStyleSelector.cpp index c0e16b1f382..b721d1cf900 100644 --- a/WebCore/css/CSSStyleSelector.cpp +++ b/WebCore/css/CSSStyleSelector.cpp @@ -1464,6 +1464,12 @@ void CSSStyleSelector::adjustRenderStyle(RenderStyle* style, Element *e) style->setOverflowY(OVISIBLE); } + // Menulists should have visible overflow + if (style->appearance() == MenulistAppearance) { + style->setOverflowX(OVISIBLE); + style->setOverflowY(OVISIBLE); + } + // Cull out any useless layers and also repeat patterns into additional layers. style->adjustBackgroundLayers(); style->adjustMaskLayers(); diff --git a/WebCore/css/html4.css b/WebCore/css/html4.css index c76c2ec3d22..8e8b4378997 100644 --- a/WebCore/css/html4.css +++ b/WebCore/css/html4.css @@ -378,6 +378,7 @@ input[type="hidden"], input[type="image"], input[type="file"] { input[type="file"] { -webkit-box-align: baseline; + text-align: start !important; } input:-webkit-autofill { diff --git a/WebCore/rendering/RenderBlock.cpp b/WebCore/rendering/RenderBlock.cpp index a083574d4fd..e11240d6a75 100644 --- a/WebCore/rendering/RenderBlock.cpp +++ b/WebCore/rendering/RenderBlock.cpp @@ -146,11 +146,11 @@ RenderBlock::~RenderBlock() } } -void RenderBlock::setStyle(RenderStyle* _style) +void RenderBlock::setStyle(RenderStyle* newStyle) { - setReplaced(_style->isDisplayReplacedType()); + setReplaced(newStyle->isDisplayReplacedType()); - RenderFlow::setStyle(_style); + RenderFlow::setStyle(newStyle); // FIXME: We could save this call when the change only affected non-inherited properties for (RenderObject* child = firstChild(); child; child = child->nextSibling()) { diff --git a/WebCore/rendering/RenderFileUploadControl.cpp b/WebCore/rendering/RenderFileUploadControl.cpp index ddd887e5ddb..dbee465d42b 100644 --- a/WebCore/rendering/RenderFileUploadControl.cpp +++ b/WebCore/rendering/RenderFileUploadControl.cpp @@ -73,12 +73,6 @@ RenderFileUploadControl::~RenderFileUploadControl() void RenderFileUploadControl::setStyle(RenderStyle* newStyle) { - // Force text-align to match the direction - if (newStyle->direction() == LTR) - newStyle->setTextAlign(LEFT); - else - newStyle->setTextAlign(RIGHT); - RenderBlock::setStyle(newStyle); if (m_button) m_button->renderer()->setStyle(createButtonStyle(newStyle)); diff --git a/WebCore/rendering/RenderMenuList.cpp b/WebCore/rendering/RenderMenuList.cpp index 679dce7bd87..7918c164a58 100644 --- a/WebCore/rendering/RenderMenuList.cpp +++ b/WebCore/rendering/RenderMenuList.cpp @@ -122,8 +122,8 @@ void RenderMenuList::setStyle(RenderStyle* newStyle) bool fontChanged = !style() || style()->font() != newStyle->font(); // Don't allow overflow on menu lists. - newStyle->setOverflowX(OVISIBLE); - newStyle->setOverflowY(OVISIBLE); + ASSERT(newStyle->overflowX() == OVISIBLE); + ASSERT(newStyle->overflowY() == OVISIBLE); RenderBlock::setStyle(newStyle); -- GitLab