⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 145389 in webkit


Ignore:
Timestamp:
Mar 11, 2013, 12:57:23 PM (14 years ago)
Author:
timothy_horton@apple.com
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):

Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r145387 r145389  
     12013-03-11  Tim Horton  <timothy_horton@apple.com>
     2
     3        TiledBacking scrolling coverage can be unfairly limited for clients who do scrolling outside the web view
     4        https://bugs.webkit.org/show_bug.cgi?id=111958
     5        <rdar://problem/13356896>
     6
     7        Reviewed by Darin Adler.
     8
     9        Don't limit TiledBacking coverage if the client has opted into using
     10        its exposed rect to allow scrolling above the web view.
     11
     12        * platform/graphics/TiledBacking.h:
     13        * platform/graphics/ca/mac/TileController.h:
     14        * rendering/RenderLayerBacking.cpp:
     15        (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
     16
    1172013-03-11  Rajeev Sarvaria  <rsarvaria@blackberry.com>
    218
  • trunk/Source/WebCore/platform/graphics/TiledBacking.h

    r144959 r145389  
    5050    virtual void setExposedRect(const FloatRect&) = 0;
    5151    virtual void setClipsToExposedRect(bool) = 0;
     52    virtual bool clipsToExposedRect() = 0;
    5253
    5354    virtual void prepopulateRect(const FloatRect&) = 0;
  • trunk/Source/WebCore/platform/graphics/ca/mac/TileController.h

    r145148 r145389  
    109109    virtual void setVisibleRect(const FloatRect&) OVERRIDE;
    110110    virtual void setExposedRect(const FloatRect&) OVERRIDE;
     111    virtual bool clipsToExposedRect() OVERRIDE { return m_clipsToExposedRect; }
    111112    virtual void setClipsToExposedRect(bool) OVERRIDE;
    112113    virtual void prepopulateRect(const FloatRect&) OVERRIDE;
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r145148 r145389  
    206206    if (frame) {
    207207        FrameView* frameView = frame->view();
    208         if (frameView->horizontalScrollbarMode() != ScrollbarAlwaysOff)
     208        bool clipsToExposedRect = tiledBacking()->clipsToExposedRect();
     209        if (frameView->horizontalScrollbarMode() != ScrollbarAlwaysOff || clipsToExposedRect)
    209210            tileCoverage |= TiledBacking::CoverageForHorizontalScrolling;
    210211
    211         if (frameView->verticalScrollbarMode() != ScrollbarAlwaysOff)
     212        if (frameView->verticalScrollbarMode() != ScrollbarAlwaysOff || clipsToExposedRect)
    212213            tileCoverage |= TiledBacking::CoverageForVerticalScrolling;
    213214
Note: See TracChangeset for help on using the changeset viewer.