Title: [93802] trunk
- Revision
- 93802
- Author
- [email protected]
- Date
- 2011-08-25 11:09:18 -0700 (Thu, 25 Aug 2011)
Log Message
REGRESSION(r90971): Fix an assertion failure with textarea placeholder.
https://bugs.webkit.org/show_bug.cgi?id=66164
Source/WebCore:
Patch by Kent Tamura <[email protected]> on 2011-08-25
Reviewed by Dave Hyatt.
Minor patch nits addressed by [email protected], on Hyatt's
review.
Test: fast/forms/textarea-placeholder-relayout-assertion.html
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::layoutSpecialExcludedChild):
Pass 'false' to the 'markParents' argument of setChildNeedsLayout().
We don't need to propagate needsLayout for ancestors because
layoutSpecialExcludedChild() is called from layout() of the
parent.
LayoutTests:
Patch by Kent Tamura <[email protected]> on 2011-08-25
Reviewed by Dave Hyatt.
* fast/forms/textarea-placeholder-relayout-assertion-expected.txt: Added.
* fast/forms/textarea-placeholder-relayout-assertion.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (93801 => 93802)
--- trunk/LayoutTests/ChangeLog 2011-08-25 18:07:02 UTC (rev 93801)
+++ trunk/LayoutTests/ChangeLog 2011-08-25 18:09:18 UTC (rev 93802)
@@ -1,3 +1,13 @@
+2011-08-25 Kent Tamura <[email protected]>
+
+ REGRESSION(r90971): Fix an assertion failure with textarea placeholder.
+ https://bugs.webkit.org/show_bug.cgi?id=66164
+
+ Reviewed by Dave Hyatt.
+
+ * fast/forms/textarea-placeholder-relayout-assertion-expected.txt: Added.
+ * fast/forms/textarea-placeholder-relayout-assertion.html: Added.
+
2011-08-25 Csaba Osztrogonác <[email protected]>
[Qt] Unreviewed gardening.
Added: trunk/LayoutTests/fast/forms/textarea-placeholder-relayout-assertion-expected.txt (0 => 93802)
--- trunk/LayoutTests/fast/forms/textarea-placeholder-relayout-assertion-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/forms/textarea-placeholder-relayout-assertion-expected.txt 2011-08-25 18:09:18 UTC (rev 93802)
@@ -0,0 +1,4 @@
+PASS if not crashed.
+
+>
+000000AA00A000A0A0A00A0000A0A00AAAAAA00AAAAAAA0A0AA00A00A000A0AA000AA0
Added: trunk/LayoutTests/fast/forms/textarea-placeholder-relayout-assertion.html (0 => 93802)
--- trunk/LayoutTests/fast/forms/textarea-placeholder-relayout-assertion.html (rev 0)
+++ trunk/LayoutTests/fast/forms/textarea-placeholder-relayout-assertion.html 2011-08-25 18:09:18 UTC (rev 93802)
@@ -0,0 +1,19 @@
+<script>
+if (window.layoutTestController) {
+ layoutTestController.waitUntilDone();
+ layoutTestController.dumpAsText();
+}
+
+function removeTextArea() {
+ var child = document.getElementById('test');
+ child.parentNode.removeChild(child);
+ if (window.layoutTestController) {
+ setTimeout("layoutTestController.notifyDone();", 0);
+ }
+}
+
+setTimeout(removeTextArea, 0);
+</script>
+<p>PASS if not crashed.</p>
+><fieldset><fieldset><button><fieldset><fieldset><select>A00000AA0A000<textarea></textarea>
+<figure><fieldset>000000AA00A000A0A0A00A0000A0A00AAAAAA00AAAAAAA0A0AA00A00A000A0AA000AA0<textarea id="test" placeholder="default disabled">A0AA000AAA0AA00AAAA0<track><center></center>
Modified: trunk/Source/WebCore/ChangeLog (93801 => 93802)
--- trunk/Source/WebCore/ChangeLog 2011-08-25 18:07:02 UTC (rev 93801)
+++ trunk/Source/WebCore/ChangeLog 2011-08-25 18:09:18 UTC (rev 93802)
@@ -1,3 +1,22 @@
+2011-08-25 Kent Tamura <[email protected]>
+
+ REGRESSION(r90971): Fix an assertion failure with textarea placeholder.
+ https://bugs.webkit.org/show_bug.cgi?id=66164
+
+ Reviewed by Dave Hyatt.
+
+ Minor patch nits addressed by [email protected], on Hyatt's
+ review.
+
+ Test: fast/forms/textarea-placeholder-relayout-assertion.html
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::layoutSpecialExcludedChild):
+ Pass 'false' to the 'markParents' argument of setChildNeedsLayout().
+ We don't need to propagate needsLayout for ancestors because
+ layoutSpecialExcludedChild() is called from layout() of the
+ parent.
+
2011-08-25 Igor Oliveira <[email protected]>
Text-overflow is broken for button elements
Modified: trunk/Source/WebCore/rendering/RenderTextControl.cpp (93801 => 93802)
--- trunk/Source/WebCore/rendering/RenderTextControl.cpp 2011-08-25 18:07:02 UTC (rev 93801)
+++ trunk/Source/WebCore/rendering/RenderTextControl.cpp 2011-08-25 18:09:18 UTC (rev 93802)
@@ -431,8 +431,12 @@
RenderObject* placeholderRenderer = placeholder ? placeholder->renderer() : 0;
if (!placeholderRenderer)
return 0;
- if (relayoutChildren)
- placeholderRenderer->setNeedsLayout(true);
+ if (relayoutChildren) {
+ // The markParents arguments should be false because this function is
+ // called from layout() of the parent and the placeholder layout doesn't
+ // affect the parent layout.
+ placeholderRenderer->setChildNeedsLayout(true, false);
+ }
return placeholderRenderer;
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes