Title: [172039] trunk/Source/WebCore
- Revision
- 172039
- Author
- an...@apple.com
- Date
- 2014-08-05 11:34:57 -0700 (Tue, 05 Aug 2014)
Log Message
REGRESSION: Extremely flashy scrolling while a page is still loading (because of flush throttling)
https://bugs.webkit.org/show_bug.cgi?id=135603
<rdar://problem/17876385>
Reviewed by Andreas Kling.
* page/FrameView.cpp:
(WebCore::determineLayerFlushThrottleState):
Disable throttling after user has scrolled the page.
This is consistent with the speculative tiling. It also gets enabled on first scroll.
(WebCore::FrameView::setWasScrolledByUser):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (172038 => 172039)
--- trunk/Source/WebCore/ChangeLog 2014-08-05 18:29:42 UTC (rev 172038)
+++ trunk/Source/WebCore/ChangeLog 2014-08-05 18:34:57 UTC (rev 172039)
@@ -1,3 +1,19 @@
+2014-08-05 Antti Koivisto <an...@apple.com>
+
+ REGRESSION: Extremely flashy scrolling while a page is still loading (because of flush throttling)
+ https://bugs.webkit.org/show_bug.cgi?id=135603
+ <rdar://problem/17876385>
+
+ Reviewed by Andreas Kling.
+
+ * page/FrameView.cpp:
+ (WebCore::determineLayerFlushThrottleState):
+
+ Disable throttling after user has scrolled the page.
+ This is consistent with the speculative tiling. It also gets enabled on first scroll.
+
+ (WebCore::FrameView::setWasScrolledByUser):
+
2014-08-05 Martin Hodovan <mhodovan.u-sze...@partner.samsung.com>
ASSERTION FAILED: name[0] == '@' && length >= 2 in WebCore::CSSParser::detectAtToken
Modified: trunk/Source/WebCore/page/FrameView.cpp (172038 => 172039)
--- trunk/Source/WebCore/page/FrameView.cpp 2014-08-05 18:29:42 UTC (rev 172038)
+++ trunk/Source/WebCore/page/FrameView.cpp 2014-08-05 18:34:57 UTC (rev 172039)
@@ -2276,6 +2276,9 @@
// We only throttle when constantly receiving new data during the inital page load.
if (!page.progress().isMainLoadProgressing())
return 0;
+ // Scrolling during page loading disables throttling.
+ if (page.mainFrame().view()->wasScrolledByUser())
+ return 0;
// Disable for image documents so large GIF animations don't get throttled during loading.
auto* document = page.mainFrame().document();
if (!document || isImageDocument(*document))
@@ -3566,6 +3569,7 @@
if (m_wasScrolledByUser == wasScrolledByUser)
return;
m_wasScrolledByUser = wasScrolledByUser;
+ updateLayerFlushThrottling();
adjustTiledBackingCoverage();
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes