Title: [179643] branches/safari-600.1.4.15-branch

Diff

Modified: branches/safari-600.1.4.15-branch/LayoutTests/ChangeLog (179642 => 179643)


--- branches/safari-600.1.4.15-branch/LayoutTests/ChangeLog	2015-02-04 23:28:17 UTC (rev 179642)
+++ branches/safari-600.1.4.15-branch/LayoutTests/ChangeLog	2015-02-04 23:29:30 UTC (rev 179643)
@@ -1,5 +1,20 @@
 2015-02-04  Lucas Forschler  <[email protected]>
 
+        Merge r175641
+
+    2014-11-04  David Hyatt  <[email protected]>
+
+            Descendant ends up in wrong flow thread with nested columns and spans.
+            https://bugs.webkit.org/show_bug.cgi?id=137273
+
+            Reviewed by Simon Fraser.
+
+            Unskipped the two problematic span tests.
+
+            * TestExpectations:
+
+2015-02-04  Lucas Forschler  <[email protected]>
+
         Merge r174085
 
     2014-09-29  David Hyatt  <[email protected]>

Modified: branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog (179642 => 179643)


--- branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog	2015-02-04 23:28:17 UTC (rev 179642)
+++ branches/safari-600.1.4.15-branch/Source/WebCore/ChangeLog	2015-02-04 23:29:30 UTC (rev 179643)
@@ -1,5 +1,32 @@
 2015-02-04  Lucas Forschler  <[email protected]>
 
+        Merge r175641
+
+    2014-11-04  David Hyatt  <[email protected]>
+
+            Descendant ends up in wrong flow thread with nested columns and spans.
+            https://bugs.webkit.org/show_bug.cgi?id=137273
+
+            Reviewed by Simon Fraser.
+
+            Unskipped the two problematic span tests.
+
+            * rendering/RenderMultiColumnFlowThread.cpp:
+            (WebCore::isValidColumnSpanner):
+            Remove the guard and comment and added the assertion back in.
+
+            (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
+            Changed to no longer use handleSpannerRemoval. Because the spanner was removed from the flow thread's map,
+            handleSpannerRemoval was a no-op. So instead I just removed the placeholder by hand.
+
+            The second fix was to stop destroying the placeholder. Since the placeholder can just have been inserted, you
+            can't delete it, since otherwise code further up the stack will access the deleted object. For now, we just
+            leak the placeholder.
+
+            The third fix is to make sure the subtreeRoot is properly updated to be the new placeholder.
+
+2015-02-04  Lucas Forschler  <[email protected]>
+
         Merge r174085
 
     2014-09-29  David Hyatt  <[email protected]>

Modified: branches/safari-600.1.4.15-branch/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp (179642 => 179643)


--- branches/safari-600.1.4.15-branch/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp	2015-02-04 23:28:17 UTC (rev 179642)
+++ branches/safari-600.1.4.15-branch/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp	2015-02-04 23:29:30 UTC (rev 179643)
@@ -385,9 +385,10 @@
                 
                 // We have to nuke the placeholder, since the ancestor already lost the mapping to it when
                 // we shifted the placeholder down into this flow thread.
-                ancestorBlock->multiColumnFlowThread()->handleSpannerRemoval(spanner);
-                placeholder->destroy();
-                
+                if (subtreeRoot == descendant)
+                    subtreeRoot = spanner;
+                placeholder->parent()->removeChild(*placeholder);
+
                 // Now we process the spanner.
                 descendant = processPossibleSpannerDescendant(subtreeRoot, spanner);
                 continue;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to