Changeset 252155 in webkit


Ignore:
Timestamp:
Nov 6, 2019 3:53:42 PM (4 years ago)
Author:
Chris Dumez
Message:

Unreviewed, rolling out r251907.

Causes white flashing in some cases <rdar://problem/56957850>

Reverted changeset:

"Take down the gesture snapshot early when the back/forward
cache is not leveraged"
https://bugs.webkit.org/show_bug.cgi?id=203713
https://trac.webkit.org/changeset/251907

Location:
trunk/Source/WebKit
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r252141 r252155  
     12019-11-06  Chris Dumez  <cdumez@apple.com>
     2
     3        Unreviewed, rolling out r251907.
     4
     5        Causes white flashing in some cases <rdar://problem/56957850>
     6
     7        Reverted changeset:
     8
     9        "Take down the gesture snapshot early when the back/forward
     10        cache is not leveraged"
     11        https://bugs.webkit.org/show_bug.cgi?id=203713
     12        https://trac.webkit.org/changeset/251907
     13
    1142019-11-06  Chris Dumez  <cdumez@apple.com>
    215
  • trunk/Source/WebKit/Shared/WebBackForwardListItem.cpp

    r251907 r252155  
    183183}
    184184
    185 bool WebBackForwardListItem::hasCachedWebPage() const
    186 {
    187     if (!m_backForwardCacheEntry)
    188         return false;
    189     if (!m_backForwardCacheEntry->suspendedPage())
    190         return true; // In-process cached page without suspended page proxy.
    191     // Make sure the suspended page proxy has an associated WebPage.
    192     return !m_backForwardCacheEntry->suspendedPage()->pageIsClosedOrClosing();
    193 }
    194 
    195185#if !LOG_DISABLED
    196186const char* WebBackForwardListItem::loggingString()
  • trunk/Source/WebKit/Shared/WebBackForwardListItem.h

    r251907 r252155  
    8383    void wasRemovedFromBackForwardList();
    8484
    85     bool hasCachedWebPage() const;
    8685    WebBackForwardCacheEntry* backForwardCacheEntry() const { return m_backForwardCacheEntry.get(); }
    8786    SuspendedPageProxy* suspendedPage() const;
  • trunk/Source/WebKit/UIProcess/ViewGestureController.cpp

    r251907 r252155  
    591591    }
    592592
    593     SnapshotRemovalTracker::Events desiredEvents;
    594     if (targetItem->hasCachedWebPage()) {
    595         desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout
     593    SnapshotRemovalTracker::Events desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout
    596594        | SnapshotRemovalTracker::MainFrameLoad
    597595        | SnapshotRemovalTracker::SubresourceLoads
    598596        | SnapshotRemovalTracker::ScrollPositionRestoration;
    599     } else {
    600         desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout;
    601         makeSnapshotBlank();
    602     }
    603597
    604598    if (renderTreeSizeThreshold) {
  • trunk/Source/WebKit/UIProcess/ViewGestureController.h

    r251907 r252155  
    311311#endif
    312312
    313     void makeSnapshotBlank();
    314 
    315313    WebPageProxy& m_webPageProxy;
    316314    ViewGestureType m_activeGestureType { ViewGestureType::None };
  • trunk/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp

    r251907 r252155  
    571571}
    572572
    573 void ViewGestureController::makeSnapshotBlank()
    574 {
    575 }
    576 
    577573} // namespace WebKit
  • trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm

    r251907 r252155  
    268268}
    269269
    270 void ViewGestureController::makeSnapshotBlank()
    271 {
    272     [m_snapshotView layer].contents = nil;
    273 }
    274 
    275270void ViewGestureController::endSwipeGesture(WebBackForwardListItem* targetItem, _UIViewControllerTransitionContext *context, bool cancelled)
    276271{
     
    318313    }
    319314
    320     SnapshotRemovalTracker::Events desiredEvents;
    321     if (targetItem->hasCachedWebPage()) {
    322         desiredEvents = SnapshotRemovalTracker::RenderTreeSizeThreshold
    323             | SnapshotRemovalTracker::RepaintAfterNavigation
    324             | SnapshotRemovalTracker::MainFrameLoad
    325             | SnapshotRemovalTracker::SubresourceLoads
    326             | SnapshotRemovalTracker::ScrollPositionRestoration;
    327     } else {
    328         desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout;
    329         makeSnapshotBlank();
    330     }
    331 
    332315    // FIXME: Should we wait for VisuallyNonEmptyLayout like we do on Mac?
    333     m_snapshotRemovalTracker.start(desiredEvents, [this] {
     316    m_snapshotRemovalTracker.start(SnapshotRemovalTracker::RenderTreeSizeThreshold
     317        | SnapshotRemovalTracker::RepaintAfterNavigation
     318        | SnapshotRemovalTracker::MainFrameLoad
     319        | SnapshotRemovalTracker::SubresourceLoads
     320        | SnapshotRemovalTracker::ScrollPositionRestoration, [this] {
    334321            this->removeSwipeSnapshot();
    335322    });
  • trunk/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm

    r251907 r252155  
    172172    if (event.phase == NSEventPhaseEnded || event.phase == NSEventPhaseCancelled)
    173173        endMagnificationGesture();
    174 }
    175 
    176 void ViewGestureController::makeSnapshotBlank()
    177 {
    178     [m_swipeSnapshotLayer setContents:nil];
    179174}
    180175
Note: See TracChangeset for help on using the changeset viewer.