Title: [152434] trunk/Source/WebCore
Revision
152434
Author
[email protected]
Date
2013-07-05 22:01:31 -0700 (Fri, 05 Jul 2013)

Log Message

Tons of crashes on bots after r152425
https://bugs.webkit.org/show_bug.cgi?id=118440
<rdar://problem/14366772>

Reviewed by Sam Weinig.

Null-check the frame's page and early return. It's OK to do this
because it only happens when we're being torn down.

* page/FrameView.cpp:
(WebCore::FrameView::minimumScrollPosition):
(WebCore::FrameView::maximumScrollPosition):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (152433 => 152434)


--- trunk/Source/WebCore/ChangeLog	2013-07-06 02:19:41 UTC (rev 152433)
+++ trunk/Source/WebCore/ChangeLog	2013-07-06 05:01:31 UTC (rev 152434)
@@ -1,5 +1,20 @@
 2013-07-05  Tim Horton  <[email protected]>
 
+        Tons of crashes on bots after r152425
+        https://bugs.webkit.org/show_bug.cgi?id=118440
+        <rdar://problem/14366772>
+
+        Reviewed by Sam Weinig.
+
+        Null-check the frame's page and early return. It's OK to do this
+        because it only happens when we're being torn down.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::minimumScrollPosition):
+        (WebCore::FrameView::maximumScrollPosition):
+
+2013-07-05  Tim Horton  <[email protected]>
+
         Fix r152265: FrameView's pagination mode is only one of two, and the logic was totally wrong
         https://bugs.webkit.org/show_bug.cgi?id=118439
         <rdar://problem/14366120>

Modified: trunk/Source/WebCore/page/FrameView.cpp (152433 => 152434)


--- trunk/Source/WebCore/page/FrameView.cpp	2013-07-06 02:19:41 UTC (rev 152433)
+++ trunk/Source/WebCore/page/FrameView.cpp	2013-07-06 05:01:31 UTC (rev 152434)
@@ -1642,7 +1642,10 @@
 IntPoint FrameView::minimumScrollPosition() const
 {
     IntPoint minimumPosition(ScrollView::minimumScrollPosition());
-    
+
+    if (!m_frame->page())
+        return minimumPosition;
+
     if (m_frame == m_frame->page()->mainFrame() && m_scrollPinningBehavior == PinToBottom)
         minimumPosition.setY(maximumScrollPosition().y());
     
@@ -1653,11 +1656,14 @@
 {
     IntPoint maximumOffset(contentsWidth() - visibleWidth() - scrollOrigin().x(), totalContentsSize().height() - visibleHeight() - scrollOrigin().y());
 
+    if (!m_frame->page())
+        return maximumOffset;
+
     // With pagination enabled, we can have a negative maximum scroll position.
     if ((m_frame->page()->pagination().mode == Pagination::Unpaginated && m_pagination.mode == Pagination::Unpaginated)
         || scrollOrigin() == IntPoint::zero())
         maximumOffset.clampNegativeToZero();
-    
+
     if (m_frame == m_frame->page()->mainFrame() && m_scrollPinningBehavior == PinToTop)
         maximumOffset.setY(minimumScrollPosition().y());
     
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to