Title: [114939] branches/chromium/1025
- Revision
- 114939
- Author
- cev...@google.com
- Date
- 2012-04-23 13:47:05 -0700 (Mon, 23 Apr 2012)
Log Message
Revert 114853 - Merge 112935
BUG=106413
Review URL: https://chromiumcodereview.appspot.com/10164022
TBR=cev...@google.com
Review URL: https://chromiumcodereview.appspot.com/10182013
Modified Paths
Removed Paths
Diff
Deleted: branches/chromium/1025/LayoutTests/fast/block/float/intruding-float-not-removed-from-descendant-crash-expected.txt (114938 => 114939)
--- branches/chromium/1025/LayoutTests/fast/block/float/intruding-float-not-removed-from-descendant-crash-expected.txt 2012-04-23 20:32:49 UTC (rev 114938)
+++ branches/chromium/1025/LayoutTests/fast/block/float/intruding-float-not-removed-from-descendant-crash-expected.txt 2012-04-23 20:47:05 UTC (rev 114939)
@@ -1,3 +0,0 @@
-Test passes if it does not crash.
-PASS
-
Deleted: branches/chromium/1025/LayoutTests/fast/block/float/intruding-float-not-removed-from-descendant-crash.html (114938 => 114939)
--- branches/chromium/1025/LayoutTests/fast/block/float/intruding-float-not-removed-from-descendant-crash.html 2012-04-23 20:32:49 UTC (rev 114938)
+++ branches/chromium/1025/LayoutTests/fast/block/float/intruding-float-not-removed-from-descendant-crash.html 2012-04-23 20:47:05 UTC (rev 114939)
@@ -1,54 +0,0 @@
-<html>
-Test passes if it does not crash.
-<style>
-.div2 { float: none; width: 100px; }
-.div2:nth-last-child(odd) { float: right; }
-.span1 { float: right; height: 100px; }
-.td1 { height: 100px; }
-</style>
-<script>
-if (window.layoutTestController)
- layoutTestController.dumpAsText();
-
-function runTest() {
-span1 = document.createElement('span');
-span1.setAttribute('class', 'span1');
-document.documentElement.appendChild(span1);
-
-div2 = document.createElement('div');
-div2.setAttribute('class', 'div2');
-document.documentElement.appendChild(div2);
-
-document.documentElement.appendChild(document.createElement('div'));
-
-div3 = document.createElement('div');
-document.documentElement.appendChild(div3);
-
-document.documentElement.appendChild(document.createElement('span'));
-document.documentElement.appendChild(document.createElement('span'));
-document.documentElement.appendChild(document.createElement('span'));
-
-span2 = document.createElement('span');
-document.documentElement.appendChild(span2);
-
-document.documentElement.appendChild(document.createElement('div'));
-
-document.body.offsetTop;
-div1 = document.createElement('div');
-td1 = document.createElement('td');
-td1.appendChild(document.createTextNode('PASS'));
-td1.setAttribute('class', 'td1');
-div1.appendChild(td1);
-div2.appendChild(div1);
-
-document.body.offsetTop;
-document.body.appendChild(div3);
-
-document.body.offsetTop;
-span2.appendChild(span1);
-document.createElement("span").appendChild(span2);
-}
-
-window._onload_ = runTest;
-</script>
-</html>
Modified: branches/chromium/1025/Source/WebCore/rendering/RenderBlock.cpp (114938 => 114939)
--- branches/chromium/1025/Source/WebCore/rendering/RenderBlock.cpp 2012-04-23 20:32:49 UTC (rev 114938)
+++ branches/chromium/1025/Source/WebCore/rendering/RenderBlock.cpp 2012-04-23 20:47:05 UTC (rev 114939)
@@ -3987,17 +3987,6 @@
// Clear our positioned floats boolean.
m_hasPositionedFloats = false;
- HashSet<RenderBox*> oldIntrudingFloatSet;
- if (!childrenInline() && m_floatingObjects) {
- const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set();
- FloatingObjectSetIterator end = floatingObjectSet.end();
- for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++it) {
- FloatingObject* floatingObject = *it;
- if (!floatingObject->isDescendant())
- oldIntrudingFloatSet.add(floatingObject->m_renderer);
- }
- }
-
// Inline blocks are covered by the isReplaced() check in the avoidFloats method.
if (avoidsFloats() || isRoot() || isRenderView() || isFloatingOrPositioned() || isTableCell()) {
if (m_floatingObjects) {
@@ -4006,8 +3995,6 @@
}
if (layoutPass == PositionedFloatLayoutPass)
addPositionedFloats();
- if (!oldIntrudingFloatSet.isEmpty())
- markAllDescendantsWithFloatsForLayout();
return;
}
@@ -4110,15 +4097,6 @@
deleteAllValues(floatMap);
markLinesDirtyInBlockRange(changeLogicalTop, changeLogicalBottom);
- } else if (!oldIntrudingFloatSet.isEmpty()) {
- // If there are previously intruding floats that no longer intrude, then children with floats
- // should also get layout because they might need their floating object lists cleared.
- const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set();
- FloatingObjectSetIterator end = floatingObjectSet.end();
- for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++it)
- oldIntrudingFloatSet.remove((*it)->m_renderer);
- if (!oldIntrudingFloatSet.isEmpty())
- markAllDescendantsWithFloatsForLayout();
}
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes