Title: [167673] trunk/Source/WebCore
Revision
167673
Author
hy...@apple.com
Date
2014-04-22 12:00:06 -0700 (Tue, 22 Apr 2014)

Log Message

REGRESSION: Hitting asserts in new flow thread selection code.
https://bugs.webkit.org/show_bug.cgi?id=132019

Reviewed by Anders Carlsson.

Null checking flowThreadController is not enough. The list of threads
can be null even when the flowThreadController is not. That's why you
use hasRenderNamedFlowThreads. I patched the two bad places in the code
to use hasRenderNamedFlowThreads to stop the crashes.
        
* rendering/RenderView.cpp:
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::repaintSelection):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (167672 => 167673)


--- trunk/Source/WebCore/ChangeLog	2014-04-22 18:36:52 UTC (rev 167672)
+++ trunk/Source/WebCore/ChangeLog	2014-04-22 19:00:06 UTC (rev 167673)
@@ -1,3 +1,19 @@
+2014-04-22  David Hyatt  <hy...@apple.com>
+
+        REGRESSION: Hitting asserts in new flow thread selection code.
+        https://bugs.webkit.org/show_bug.cgi?id=132019
+
+        Reviewed by Anders Carlsson.
+
+        Null checking flowThreadController is not enough. The list of threads
+        can be null even when the flowThreadController is not. That's why you
+        use hasRenderNamedFlowThreads. I patched the two bad places in the code
+        to use hasRenderNamedFlowThreads to stop the crashes.
+        
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::selectionBounds):
+        (WebCore::RenderView::repaintSelection):
+
 2014-04-22  Brent Fulgham  <bfulg...@apple.com>
 
         Check (rather than assume) element is a RenderTableSection before using it

Modified: trunk/Source/WebCore/rendering/RenderView.cpp (167672 => 167673)


--- trunk/Source/WebCore/rendering/RenderView.cpp	2014-04-22 18:36:52 UTC (rev 167672)
+++ trunk/Source/WebCore/rendering/RenderView.cpp	2014-04-22 19:00:06 UTC (rev 167673)
@@ -663,7 +663,7 @@
 {
     LayoutRect selRect = subtreeSelectionBounds(*this, clipToVisibleContent);
 
-    if (m_flowThreadController) {
+    if (hasRenderNamedFlowThreads()) {
         for (auto* namedFlowThread : *m_flowThreadController->renderNamedFlowThreadList()) {
             LayoutRect currRect = subtreeSelectionBounds(*namedFlowThread, clipToVisibleContent);
             selRect.unite(currRect);
@@ -717,7 +717,7 @@
 {
     repaintSubtreeSelection(*this);
 
-    if (m_flowThreadController) {
+    if (hasRenderNamedFlowThreads()) {
         for (auto* namedFlowThread : *m_flowThreadController->renderNamedFlowThreadList())
             repaintSubtreeSelection(*namedFlowThread);
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to