Changeset 252155 in webkit
- Timestamp:
- Nov 6, 2019 3:53:42 PM (4 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r252141 r252155 1 2019-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 1 14 2019-11-06 Chris Dumez <cdumez@apple.com> 2 15 -
trunk/Source/WebKit/Shared/WebBackForwardListItem.cpp
r251907 r252155 183 183 } 184 184 185 bool WebBackForwardListItem::hasCachedWebPage() const186 {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 195 185 #if !LOG_DISABLED 196 186 const char* WebBackForwardListItem::loggingString() -
trunk/Source/WebKit/Shared/WebBackForwardListItem.h
r251907 r252155 83 83 void wasRemovedFromBackForwardList(); 84 84 85 bool hasCachedWebPage() const;86 85 WebBackForwardCacheEntry* backForwardCacheEntry() const { return m_backForwardCacheEntry.get(); } 87 86 SuspendedPageProxy* suspendedPage() const; -
trunk/Source/WebKit/UIProcess/ViewGestureController.cpp
r251907 r252155 591 591 } 592 592 593 SnapshotRemovalTracker::Events desiredEvents; 594 if (targetItem->hasCachedWebPage()) { 595 desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout 593 SnapshotRemovalTracker::Events desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout 596 594 | SnapshotRemovalTracker::MainFrameLoad 597 595 | SnapshotRemovalTracker::SubresourceLoads 598 596 | SnapshotRemovalTracker::ScrollPositionRestoration; 599 } else {600 desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout;601 makeSnapshotBlank();602 }603 597 604 598 if (renderTreeSizeThreshold) { -
trunk/Source/WebKit/UIProcess/ViewGestureController.h
r251907 r252155 311 311 #endif 312 312 313 void makeSnapshotBlank();314 315 313 WebPageProxy& m_webPageProxy; 316 314 ViewGestureType m_activeGestureType { ViewGestureType::None }; -
trunk/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp
r251907 r252155 571 571 } 572 572 573 void ViewGestureController::makeSnapshotBlank()574 {575 }576 577 573 } // namespace WebKit -
trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm
r251907 r252155 268 268 } 269 269 270 void ViewGestureController::makeSnapshotBlank()271 {272 [m_snapshotView layer].contents = nil;273 }274 275 270 void ViewGestureController::endSwipeGesture(WebBackForwardListItem* targetItem, _UIViewControllerTransitionContext *context, bool cancelled) 276 271 { … … 318 313 } 319 314 320 SnapshotRemovalTracker::Events desiredEvents;321 if (targetItem->hasCachedWebPage()) {322 desiredEvents = SnapshotRemovalTracker::RenderTreeSizeThreshold323 | SnapshotRemovalTracker::RepaintAfterNavigation324 | SnapshotRemovalTracker::MainFrameLoad325 | SnapshotRemovalTracker::SubresourceLoads326 | SnapshotRemovalTracker::ScrollPositionRestoration;327 } else {328 desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout;329 makeSnapshotBlank();330 }331 332 315 // 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] { 334 321 this->removeSwipeSnapshot(); 335 322 }); -
trunk/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm
r251907 r252155 172 172 if (event.phase == NSEventPhaseEnded || event.phase == NSEventPhaseCancelled) 173 173 endMagnificationGesture(); 174 }175 176 void ViewGestureController::makeSnapshotBlank()177 {178 [m_swipeSnapshotLayer setContents:nil];179 174 } 180 175
Note: See TracChangeset
for help on using the changeset viewer.