[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
jamesr at google.com
jamesr at google.com
Sun Feb 20 22:48:45 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit 81174f4087c2ba40a6cc09277b159ded2c87110b
Author: jamesr at google.com <jamesr at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jan 11 20:47:51 2011 +0000
2011-01-11 James Robinson <jamesr at chromium.org>
Reviewed by Dimitri Glazkov.
Set all RenderBlocks as replaced when an inline display type is specified
https://bugs.webkit.org/show_bug.cgi?id=50858
When a RenderBlock is created for an element with a specified display:inline style,
it should always be treated as inline-block. This situations often comes up for form
controls. Previously, RenderBlock::styleWillChange set the replaced flag for display
values of inline-block, inline-table, and inline-table and a number of subclasses of
RenderBlock set the replaced flag in styleDidChange for a display:inline. However
sometimes new subclasses would miss this step leading to bugs (such as with RenderDetails).
This patch sets the replaced flag for all inline display types in RenderBlock::styleWillChange.
Code cleanup only, no change in behavior so no new tests.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleWillChange):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::styleDidChange):
* rendering/RenderFieldset.cpp:
* rendering/RenderFieldset.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::styleDidChange):
* rendering/RenderListBox.cpp:
* rendering/RenderListBox.h:
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::styleDidChange):
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::styleDidChange):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::styleDidChange):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 0e7641c..67fb77f 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,37 @@
+2011-01-11 James Robinson <jamesr at chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Set all RenderBlocks as replaced when an inline display type is specified
+ https://bugs.webkit.org/show_bug.cgi?id=50858
+
+ When a RenderBlock is created for an element with a specified display:inline style,
+ it should always be treated as inline-block. This situations often comes up for form
+ controls. Previously, RenderBlock::styleWillChange set the replaced flag for display
+ values of inline-block, inline-table, and inline-table and a number of subclasses of
+ RenderBlock set the replaced flag in styleDidChange for a display:inline. However
+ sometimes new subclasses would miss this step leading to bugs (such as with RenderDetails).
+ This patch sets the replaced flag for all inline display types in RenderBlock::styleWillChange.
+
+ Code cleanup only, no change in behavior so no new tests.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::styleWillChange):
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::styleDidChange):
+ * rendering/RenderFieldset.cpp:
+ * rendering/RenderFieldset.h:
+ * rendering/RenderFileUploadControl.cpp:
+ (WebCore::RenderFileUploadControl::styleDidChange):
+ * rendering/RenderListBox.cpp:
+ * rendering/RenderListBox.h:
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::styleDidChange):
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::styleDidChange):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::styleDidChange):
+
2011-01-11 Dimitri Glazkov <dglazkov at chromium.org>
Reviewed by Eric Seidel.
diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp
index 7eba470..e39223a 100644
--- a/Source/WebCore/rendering/RenderBlock.cpp
+++ b/Source/WebCore/rendering/RenderBlock.cpp
@@ -188,7 +188,7 @@ void RenderBlock::destroy()
void RenderBlock::styleWillChange(StyleDifference diff, const RenderStyle* newStyle)
{
- setReplaced(newStyle->isDisplayReplacedType());
+ setReplaced(newStyle->isDisplayInlineType());
if (style() && parent() && diff == StyleDifferenceLayout && style()->position() != newStyle->position()) {
if (newStyle->position() == StaticPosition)
diff --git a/Source/WebCore/rendering/RenderButton.cpp b/Source/WebCore/rendering/RenderButton.cpp
index 2642f23..4bf7c19 100644
--- a/Source/WebCore/rendering/RenderButton.cpp
+++ b/Source/WebCore/rendering/RenderButton.cpp
@@ -92,7 +92,6 @@ void RenderButton::styleDidChange(StyleDifference diff, const RenderStyle* oldSt
m_buttonText->setStyle(style());
if (m_inner) // RenderBlock handled updating the anonymous block's style.
setupInnerStyle(m_inner->style());
- setReplaced(isInline());
if (!m_default && theme()->isDefault(this)) {
if (!m_timer)
diff --git a/Source/WebCore/rendering/RenderFieldset.cpp b/Source/WebCore/rendering/RenderFieldset.cpp
index c83396c..fd91472 100644
--- a/Source/WebCore/rendering/RenderFieldset.cpp
+++ b/Source/WebCore/rendering/RenderFieldset.cpp
@@ -208,16 +208,4 @@ void RenderFieldset::paintMask(PaintInfo& paintInfo, int tx, int ty)
paintMaskImages(paintInfo, tx, ty, w, h);
}
-void RenderFieldset::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
-{
- RenderBlock::styleDidChange(diff, oldStyle);
-
- // WinIE renders fieldsets with display:inline like they're inline-blocks. For us,
- // an inline-block is just a block element with replaced set to true and inline set
- // to true. Ensure that if we ended up being inline that we set our replaced flag
- // so that we're treated like an inline-block.
- if (isInline())
- setReplaced(true);
-}
-
} // namespace WebCore
diff --git a/Source/WebCore/rendering/RenderFieldset.h b/Source/WebCore/rendering/RenderFieldset.h
index b340794..267f352 100644
--- a/Source/WebCore/rendering/RenderFieldset.h
+++ b/Source/WebCore/rendering/RenderFieldset.h
@@ -44,8 +44,6 @@ private:
virtual bool avoidsFloats() const { return true; }
virtual bool stretchesToMinIntrinsicLogicalWidth() const { return true; }
- virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
-
virtual void paintBoxDecorations(PaintInfo&, int tx, int ty);
virtual void paintMask(PaintInfo&, int tx, int ty);
};
diff --git a/Source/WebCore/rendering/RenderFileUploadControl.cpp b/Source/WebCore/rendering/RenderFileUploadControl.cpp
index 3c10f43..8c50677 100644
--- a/Source/WebCore/rendering/RenderFileUploadControl.cpp
+++ b/Source/WebCore/rendering/RenderFileUploadControl.cpp
@@ -74,8 +74,6 @@ void RenderFileUploadControl::styleDidChange(StyleDifference diff, const RenderS
RenderBlock::styleDidChange(diff, oldStyle);
if (m_button)
m_button->renderer()->setStyle(createButtonStyle(style()));
-
- setReplaced(isInline());
}
void RenderFileUploadControl::valueChanged()
diff --git a/Source/WebCore/rendering/RenderListBox.cpp b/Source/WebCore/rendering/RenderListBox.cpp
index ed7f8ee..66a2342 100644
--- a/Source/WebCore/rendering/RenderListBox.cpp
+++ b/Source/WebCore/rendering/RenderListBox.cpp
@@ -87,12 +87,6 @@ RenderListBox::~RenderListBox()
setHasVerticalScrollbar(false);
}
-void RenderListBox::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
-{
- RenderBlock::styleDidChange(diff, oldStyle);
- setReplaced(isInline());
-}
-
void RenderListBox::updateFromElement()
{
if (m_optionsChanged) {
diff --git a/Source/WebCore/rendering/RenderListBox.h b/Source/WebCore/rendering/RenderListBox.h
index 1fbff0d..243fcbe 100644
--- a/Source/WebCore/rendering/RenderListBox.h
+++ b/Source/WebCore/rendering/RenderListBox.h
@@ -94,8 +94,6 @@ private:
virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction);
- virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
-
// ScrollbarClient interface.
virtual int scrollSize(ScrollbarOrientation orientation) const;
virtual void setScrollOffsetFromAnimation(const IntPoint&);
diff --git a/Source/WebCore/rendering/RenderMenuList.cpp b/Source/WebCore/rendering/RenderMenuList.cpp
index 5ad661f..61f1084 100644
--- a/Source/WebCore/rendering/RenderMenuList.cpp
+++ b/Source/WebCore/rendering/RenderMenuList.cpp
@@ -123,8 +123,6 @@ void RenderMenuList::styleDidChange(StyleDifference diff, const RenderStyle* old
if (m_innerBlock) // RenderBlock handled updating the anonymous block's style.
adjustInnerStyle();
- setReplaced(isInline());
-
bool fontChanged = !oldStyle || oldStyle->font() != style()->font();
if (fontChanged)
updateOptionsWidth();
diff --git a/Source/WebCore/rendering/RenderSlider.cpp b/Source/WebCore/rendering/RenderSlider.cpp
index b73a1ac..ef88c1d 100644
--- a/Source/WebCore/rendering/RenderSlider.cpp
+++ b/Source/WebCore/rendering/RenderSlider.cpp
@@ -106,8 +106,6 @@ void RenderSlider::styleDidChange(StyleDifference diff, const RenderStyle* oldSt
if (m_thumb)
m_thumb->renderer()->setStyle(createThumbStyle(style()));
-
- setReplaced(isInline());
}
PassRefPtr<RenderStyle> RenderSlider::createThumbStyle(const RenderStyle* parentStyle)
diff --git a/Source/WebCore/rendering/RenderTextControl.cpp b/Source/WebCore/rendering/RenderTextControl.cpp
index 0192ee4..b2db9e8 100644
--- a/Source/WebCore/rendering/RenderTextControl.cpp
+++ b/Source/WebCore/rendering/RenderTextControl.cpp
@@ -97,8 +97,6 @@ void RenderTextControl::styleDidChange(StyleDifference diff, const RenderStyle*
textBlockRenderer->style()->setWidth(Length());
setInnerTextStyle(textBlockStyle);
}
-
- setReplaced(isInline());
}
void RenderTextControl::setInnerTextStyle(PassRefPtr<RenderStyle> style)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list