Title: [179620] branches/safari-600.5-branch

Diff

Modified: branches/safari-600.5-branch/LayoutTests/ChangeLog (179619 => 179620)


--- branches/safari-600.5-branch/LayoutTests/ChangeLog	2015-02-04 19:41:42 UTC (rev 179619)
+++ branches/safari-600.5-branch/LayoutTests/ChangeLog	2015-02-04 19:41:45 UTC (rev 179620)
@@ -1,5 +1,20 @@
 2015-02-04  David Kilzer  <[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  David Kilzer  <[email protected]>
+
         Merge r174085.
 
     2014-09-29  David Hyatt  <[email protected]>

Modified: branches/safari-600.5-branch/Source/WebCore/ChangeLog (179619 => 179620)


--- branches/safari-600.5-branch/Source/WebCore/ChangeLog	2015-02-04 19:41:42 UTC (rev 179619)
+++ branches/safari-600.5-branch/Source/WebCore/ChangeLog	2015-02-04 19:41:45 UTC (rev 179620)
@@ -1,5 +1,32 @@
 2015-02-04  David Kilzer  <[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  David Kilzer  <[email protected]>
+
         Merge r174085.
 
     2014-09-29  David Hyatt  <[email protected]>

Modified: branches/safari-600.5-branch/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp (179619 => 179620)


--- branches/safari-600.5-branch/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp	2015-02-04 19:41:42 UTC (rev 179619)
+++ branches/safari-600.5-branch/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp	2015-02-04 19:41:45 UTC (rev 179620)
@@ -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