Title: [147871] trunk
- Revision
- 147871
- Author
- [email protected]
- Date
- 2013-04-07 11:37:39 -0700 (Sun, 07 Apr 2013)
Log Message
table element may get larger when its contents are recreated
https://bugs.webkit.org/show_bug.cgi?id=111342
Reviewed by Darin Adler.
Source/WebCore:
Remove anonymous table section wrappers when destroying their children.
Test: fast/table/anonymous-table-section-removed.html
* rendering/RenderObject.cpp:
(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
LayoutTests:
* fast/table/anonymous-table-section-removed-expected.txt: Added.
* fast/table/anonymous-table-section-removed.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (147870 => 147871)
--- trunk/LayoutTests/ChangeLog 2013-04-07 18:31:09 UTC (rev 147870)
+++ trunk/LayoutTests/ChangeLog 2013-04-07 18:37:39 UTC (rev 147871)
@@ -1,3 +1,13 @@
+2013-04-07 Robert Hogan <[email protected]>
+
+ table element may get larger when its contents are recreated
+ https://bugs.webkit.org/show_bug.cgi?id=111342
+
+ Reviewed by Darin Adler.
+
+ * fast/table/anonymous-table-section-removed-expected.txt: Added.
+ * fast/table/anonymous-table-section-removed.html: Added.
+
2013-04-06 Timothy Hatcher <[email protected]>
Remove InjectedScriptHost.evaluateReturnsEvalFunction.
Added: trunk/LayoutTests/fast/table/anonymous-table-section-removed-expected.txt (0 => 147871)
--- trunk/LayoutTests/fast/table/anonymous-table-section-removed-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/table/anonymous-table-section-removed-expected.txt 2013-04-07 18:37:39 UTC (rev 147871)
@@ -0,0 +1,2 @@
+Table
+PASS
Added: trunk/LayoutTests/fast/table/anonymous-table-section-removed.html (0 => 147871)
--- trunk/LayoutTests/fast/table/anonymous-table-section-removed.html (rev 0)
+++ trunk/LayoutTests/fast/table/anonymous-table-section-removed.html 2013-04-07 18:37:39 UTC (rev 147871)
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <style>
+ table, tr, td {
+ font: 26px/1 Ahem;
+ border: 0px;
+ padding: 0px;
+ margin: 0px;
+ }
+ table {
+ border-spacing: 2px;
+ }
+ </style>
+ </head>
+ <body id="body">
+ <table id="table" data-expected-height="34"></table>
+ </body>
+ <script src=""
+ <script>
+ for (var i = 0; i < 20; i++) {
+ document.body.offsetHeight;
+ var p = document.getElementById('table');
+ p.innerHTML = '<tr><td>Table</td></tr>';
+ p.appendChild(document.createElement('tr'));
+ }
+ checkLayout('table');
+ </script>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (147870 => 147871)
--- trunk/Source/WebCore/ChangeLog 2013-04-07 18:31:09 UTC (rev 147870)
+++ trunk/Source/WebCore/ChangeLog 2013-04-07 18:37:39 UTC (rev 147871)
@@ -1,3 +1,17 @@
+2013-04-07 Robert Hogan <[email protected]>
+
+ table element may get larger when its contents are recreated
+ https://bugs.webkit.org/show_bug.cgi?id=111342
+
+ Reviewed by Darin Adler.
+
+ Remove anonymous table section wrappers when destroying their children.
+
+ Test: fast/table/anonymous-table-section-removed.html
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
+
2013-04-07 Patrick Gansterer <[email protected]>
[WIN] Fix build without precompiled header after r145827.
Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (147870 => 147871)
--- trunk/Source/WebCore/rendering/RenderObject.cpp 2013-04-07 18:31:09 UTC (rev 147870)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp 2013-04-07 18:37:39 UTC (rev 147871)
@@ -2555,9 +2555,9 @@
RenderObject* destroyRoot = this;
for (RenderObject* destroyRootParent = destroyRoot->parent(); destroyRootParent && destroyRootParent->isAnonymous(); destroyRoot = destroyRootParent, destroyRootParent = destroyRootParent->parent()) {
- // Currently we only remove anonymous cells' wrapper but we should remove all unneeded
+ // Currently we only remove anonymous cells' and table sections' wrappers but we should remove all unneeded
// wrappers. See http://webkit.org/b/52123 as an example where this is needed.
- if (!destroyRootParent->isTableCell())
+ if (!destroyRootParent->isTableCell() && !destroyRootParent->isTableSection())
break;
if (destroyRootParent->firstChild() != this || destroyRootParent->lastChild() != this)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes