Title: [139258] trunk/Source/WebCore
- Revision
- 139258
- Author
- [email protected]
- Date
- 2013-01-09 16:50:24 -0800 (Wed, 09 Jan 2013)
Log Message
Don't drop to huge tile mode if we're only slow-scrolling because of a page overlay
https://bugs.webkit.org/show_bug.cgi?id=106502
<rdar://problem/12959143>
Reviewed by Simon Fraser.
We only use the MainThreadScrollingReason "ForcedOnMainThread" if WebKit2 installs
a page overlay (TiledCoreAnimationDrawingArea::didInstallPageOverlay), which clients
can cause arbitrarily.
We probably should still use default-sized tiles in this case (this will also
prevent us from falling into gigantic tiles for WebKit2 find-in-page, among other things).
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::adjustTileCacheCoverage):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (139257 => 139258)
--- trunk/Source/WebCore/ChangeLog 2013-01-10 00:46:30 UTC (rev 139257)
+++ trunk/Source/WebCore/ChangeLog 2013-01-10 00:50:24 UTC (rev 139258)
@@ -1,3 +1,21 @@
+2013-01-09 Tim Horton <[email protected]>
+
+ Don't drop to huge tile mode if we're only slow-scrolling because of a page overlay
+ https://bugs.webkit.org/show_bug.cgi?id=106502
+ <rdar://problem/12959143>
+
+ Reviewed by Simon Fraser.
+
+ We only use the MainThreadScrollingReason "ForcedOnMainThread" if WebKit2 installs
+ a page overlay (TiledCoreAnimationDrawingArea::didInstallPageOverlay), which clients
+ can cause arbitrarily.
+
+ We probably should still use default-sized tiles in this case (this will also
+ prevent us from falling into gigantic tiles for WebKit2 find-in-page, among other things).
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::adjustTileCacheCoverage):
+
2013-01-09 Takashi Sakamoto <[email protected]>
border-radius with box-shadow is not rendered correctly
Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (139257 => 139258)
--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp 2013-01-10 00:46:30 UTC (rev 139257)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp 2013-01-10 00:50:24 UTC (rev 139258)
@@ -201,7 +201,9 @@
tileCoverage |= TiledBacking::CoverageForVerticalScrolling;
if (ScrollingCoordinator* scrollingCoordinator = frame->page()->scrollingCoordinator()) {
- if (scrollingCoordinator->shouldUpdateScrollLayerPositionOnMainThread())
+ // Ask our TiledBacking for large tiles unless the only reason we're main-thread-scrolling
+ // is a page overlay (find-in-page, the Web Inspector highlight mechanism, etc.).
+ if (scrollingCoordinator->mainThreadScrollingReasons() & ~ScrollingCoordinator::ForcedOnMainThread)
tileCoverage |= TiledBacking::CoverageForSlowScrolling;
}
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes