Changeset 183224 in webkit


Ignore:
Timestamp:
Apr 23, 2015 3:54:02 PM (9 years ago)
Author:
Simon Fraser
Message:

Changing TiledBacking velocity should schedule a tile revalidation
https://bugs.webkit.org/show_bug.cgi?id=144123

Reviewed by Tim Horton.
Source/WebCore:

Changing the velocity parameters on the TileController affect the computed
coverage rect, so whenever we make a change to velocity data that could
affect the outcome (basically any non-zero old or new velocities),
schedule a layer flush.

  • platform/graphics/TiledBacking.h:

(WebCore::VelocityData::velocityOrScaleIsChanging):

  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::setVelocity):

Source/WebKit2:

Drive-by fix: use the FrameView& that we have already.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

Location:
trunk/Source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r183221 r183224  
     12015-04-23  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Changing TiledBacking velocity should schedule a tile revalidation
     4        https://bugs.webkit.org/show_bug.cgi?id=144123
     5
     6        Reviewed by Tim Horton.
     7
     8        Changing the velocity parameters on the TileController affect the computed
     9        coverage rect, so whenever we make a change to velocity data that could
     10        affect the outcome (basically any non-zero old or new velocities),
     11        schedule a layer flush.
     12
     13        * platform/graphics/TiledBacking.h:
     14        (WebCore::VelocityData::velocityOrScaleIsChanging):
     15        * platform/graphics/ca/TileController.cpp:
     16        (WebCore::TileController::setVelocity):
     17
    1182015-04-23  Jer Noble  <jer.noble@apple.com>
    219
  • trunk/Source/WebCore/platform/graphics/TiledBacking.h

    r183173 r183224  
    5353        , lastUpdateTime(updateTime)
    5454    {
     55    }
     56   
     57    bool velocityOrScaleIsChanging() const
     58    {
     59        return horizontalVelocity || verticalVelocity || scaleChangeRate;
    5560    }
    5661};
  • trunk/Source/WebCore/platform/graphics/ca/TileController.cpp

    r183175 r183224  
    202202void TileController::setVelocity(const VelocityData& velocity)
    203203{
     204    bool changeAffectsTileCoverage = m_velocity.velocityOrScaleIsChanging() || velocity.velocityOrScaleIsChanging();
    204205    m_velocity = velocity;
     206   
     207    if (changeAffectsTileCoverage)
     208        setNeedsRevalidateTiles();
    205209}
    206210
  • trunk/Source/WebKit2/ChangeLog

    r183221 r183224  
     12015-04-23  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Changing TiledBacking velocity should schedule a tile revalidation
     4        https://bugs.webkit.org/show_bug.cgi?id=144123
     5
     6        Reviewed by Tim Horton.
     7       
     8        Drive-by fix: use the FrameView& that we have already.
     9
     10        * WebProcess/WebPage/ios/WebPageIOS.mm:
     11        (WebKit::WebPage::updateVisibleContentRects):
     12
    1132015-04-23  Jer Noble  <jer.noble@apple.com>
    214
  • trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm

    r182896 r183224  
    27872787
    27882788    if (m_isInStableState)
    2789         m_page->mainFrame().view()->setCustomFixedPositionLayoutRect(enclosingIntRect(visibleContentRectUpdateInfo.customFixedPositionRect()));
     2789        frameView.setCustomFixedPositionLayoutRect(enclosingIntRect(visibleContentRectUpdateInfo.customFixedPositionRect()));
    27902790
    27912791    if (!visibleContentRectUpdateInfo.isChangingObscuredInsetsInteractively())
Note: See TracChangeset for help on using the changeset viewer.