It's weird that HistoryController::restoreScrollPositionAndViewState() calls something like frameViewRootLayerDidChange() on the ScrollingCoordinator. Why doesn't this happen when Frame ::setView is called? See also a related crash: <rdar://problem/16843650>