Title: [145389] trunk/Source/WebCore
- Revision
- 145389
- Author
- [email protected]
- Date
- 2013-03-11 12:57:23 -0700 (Mon, 11 Mar 2013)
Log Message
TiledBacking scrolling coverage can be unfairly limited for clients who do scrolling outside the web view
https://bugs.webkit.org/show_bug.cgi?id=111958
<rdar://problem/13356896>
Reviewed by Darin Adler.
Don't limit TiledBacking coverage if the client has opted into using
its exposed rect to allow scrolling above the web view.
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/mac/TileController.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (145388 => 145389)
--- trunk/Source/WebCore/ChangeLog 2013-03-11 19:54:06 UTC (rev 145388)
+++ trunk/Source/WebCore/ChangeLog 2013-03-11 19:57:23 UTC (rev 145389)
@@ -1,3 +1,19 @@
+2013-03-11 Tim Horton <[email protected]>
+
+ TiledBacking scrolling coverage can be unfairly limited for clients who do scrolling outside the web view
+ https://bugs.webkit.org/show_bug.cgi?id=111958
+ <rdar://problem/13356896>
+
+ Reviewed by Darin Adler.
+
+ Don't limit TiledBacking coverage if the client has opted into using
+ its exposed rect to allow scrolling above the web view.
+
+ * platform/graphics/TiledBacking.h:
+ * platform/graphics/ca/mac/TileController.h:
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
+
2013-03-11 Rajeev Sarvaria <[email protected]>
GetnUniform*vEXT (Robustness extension) passed incorrect parameter in WebGLRenderingContext
Modified: trunk/Source/WebCore/platform/graphics/TiledBacking.h (145388 => 145389)
--- trunk/Source/WebCore/platform/graphics/TiledBacking.h 2013-03-11 19:54:06 UTC (rev 145388)
+++ trunk/Source/WebCore/platform/graphics/TiledBacking.h 2013-03-11 19:57:23 UTC (rev 145389)
@@ -49,6 +49,7 @@
virtual void setExposedRect(const FloatRect&) = 0;
virtual void setClipsToExposedRect(bool) = 0;
+ virtual bool clipsToExposedRect() = 0;
virtual void prepopulateRect(const FloatRect&) = 0;
Modified: trunk/Source/WebCore/platform/graphics/ca/mac/TileController.h (145388 => 145389)
--- trunk/Source/WebCore/platform/graphics/ca/mac/TileController.h 2013-03-11 19:54:06 UTC (rev 145388)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/TileController.h 2013-03-11 19:57:23 UTC (rev 145389)
@@ -108,6 +108,7 @@
// TiledBacking member functions.
virtual void setVisibleRect(const FloatRect&) OVERRIDE;
virtual void setExposedRect(const FloatRect&) OVERRIDE;
+ virtual bool clipsToExposedRect() OVERRIDE { return m_clipsToExposedRect; }
virtual void setClipsToExposedRect(bool) OVERRIDE;
virtual void prepopulateRect(const FloatRect&) OVERRIDE;
virtual void setIsInWindow(bool) OVERRIDE;
Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (145388 => 145389)
--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp 2013-03-11 19:54:06 UTC (rev 145388)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp 2013-03-11 19:57:23 UTC (rev 145389)
@@ -205,10 +205,11 @@
Frame* frame = renderer()->frame();
if (frame) {
FrameView* frameView = frame->view();
- if (frameView->horizontalScrollbarMode() != ScrollbarAlwaysOff)
+ bool clipsToExposedRect = tiledBacking()->clipsToExposedRect();
+ if (frameView->horizontalScrollbarMode() != ScrollbarAlwaysOff || clipsToExposedRect)
tileCoverage |= TiledBacking::CoverageForHorizontalScrolling;
- if (frameView->verticalScrollbarMode() != ScrollbarAlwaysOff)
+ if (frameView->verticalScrollbarMode() != ScrollbarAlwaysOff || clipsToExposedRect)
tileCoverage |= TiledBacking::CoverageForVerticalScrolling;
if (ScrollingCoordinator* scrollingCoordinator = scrollingCoordinatorFromLayer(m_owningLayer)) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes