Title: [168514] trunk/Source/WebCore
- Revision
- 168514
- Author
- simon.fra...@apple.com
- Date
- 2014-05-08 19:26:22 -0700 (Thu, 08 May 2014)
Log Message
Occasional crash under AsyncScrollingCoordinator::frameViewRootLayerDidChange() on history navigation
https://bugs.webkit.org/show_bug.cgi?id=132723
Reviewed by Sam Weinig.
Crash reports suggest that when we call AsyncScrollingCoordinator::frameViewRootLayerDidChange()
from HistoryController::restoreScrollPositionAndViewState(), the FrameView may not have a
scrolling node ID, which suggests that either the FrameView doesn't have a RenderView,
or compositing hasn't happened yet.
So if we enter AsyncScrollingCoordinator::frameViewRootLayerDidChange()
and the FrameView has no scrollLayerID, just return. We'll fix things up
when compositing kicks in later.
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (168513 => 168514)
--- trunk/Source/WebCore/ChangeLog 2014-05-09 01:08:30 UTC (rev 168513)
+++ trunk/Source/WebCore/ChangeLog 2014-05-09 02:26:22 UTC (rev 168514)
@@ -1,5 +1,24 @@
2014-05-08 Simon Fraser <simon.fra...@apple.com>
+ Occasional crash under AsyncScrollingCoordinator::frameViewRootLayerDidChange() on history navigation
+ https://bugs.webkit.org/show_bug.cgi?id=132723
+
+ Reviewed by Sam Weinig.
+
+ Crash reports suggest that when we call AsyncScrollingCoordinator::frameViewRootLayerDidChange()
+ from HistoryController::restoreScrollPositionAndViewState(), the FrameView may not have a
+ scrolling node ID, which suggests that either the FrameView doesn't have a RenderView,
+ or compositing hasn't happened yet.
+
+ So if we enter AsyncScrollingCoordinator::frameViewRootLayerDidChange()
+ and the FrameView has no scrollLayerID, just return. We'll fix things up
+ when compositing kicks in later.
+
+ * page/scrolling/AsyncScrollingCoordinator.cpp:
+ (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
+
+2014-05-08 Simon Fraser <simon.fra...@apple.com>
+
[iOS WK2] Bottom-relative position:fixed elements are misplaced on page load
https://bugs.webkit.org/show_bug.cgi?id=132719
<rdar://problem/16860837>
Modified: trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp (168513 => 168514)
--- trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp 2014-05-09 01:08:30 UTC (rev 168513)
+++ trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp 2014-05-09 02:26:22 UTC (rev 168514)
@@ -119,7 +119,12 @@
if (!coordinatesScrollingForFrameView(frameView))
return;
-
+
+ // FIXME: In some navigation scenarios, the FrameView has no RenderView or that RenderView has not been composited.
+ // This needs cleaning up: https://bugs.webkit.org/show_bug.cgi?id=132724
+ if (!frameView->scrollLayerID())
+ return;
+
// If the root layer does not have a ScrollingStateNode, then we should create one.
ensureRootStateNodeForFrameView(frameView);
ASSERT(m_scrollingStateTree->rootStateNode());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes