Diff
Modified: trunk/Source/WebKit/ChangeLog (252154 => 252155)
--- trunk/Source/WebKit/ChangeLog 2019-11-06 23:36:50 UTC (rev 252154)
+++ trunk/Source/WebKit/ChangeLog 2019-11-06 23:53:42 UTC (rev 252155)
@@ -1,5 +1,18 @@
2019-11-06 Chris Dumez <cdu...@apple.com>
+ 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
+
+2019-11-06 Chris Dumez <cdu...@apple.com>
+
Make sure we never end up with NetworkDataTaskCocoa TaskIdentifier conflicts
https://bugs.webkit.org/show_bug.cgi?id=203902
Modified: trunk/Source/WebKit/Shared/WebBackForwardListItem.cpp (252154 => 252155)
--- trunk/Source/WebKit/Shared/WebBackForwardListItem.cpp 2019-11-06 23:36:50 UTC (rev 252154)
+++ trunk/Source/WebKit/Shared/WebBackForwardListItem.cpp 2019-11-06 23:53:42 UTC (rev 252155)
@@ -182,16 +182,6 @@
return m_backForwardCacheEntry ? m_backForwardCacheEntry->suspendedPage() : nullptr;
}
-bool WebBackForwardListItem::hasCachedWebPage() const
-{
- if (!m_backForwardCacheEntry)
- return false;
- if (!m_backForwardCacheEntry->suspendedPage())
- return true; // In-process cached page without suspended page proxy.
- // Make sure the suspended page proxy has an associated WebPage.
- return !m_backForwardCacheEntry->suspendedPage()->pageIsClosedOrClosing();
-}
-
#if !LOG_DISABLED
const char* WebBackForwardListItem::loggingString()
{
Modified: trunk/Source/WebKit/Shared/WebBackForwardListItem.h (252154 => 252155)
--- trunk/Source/WebKit/Shared/WebBackForwardListItem.h 2019-11-06 23:36:50 UTC (rev 252154)
+++ trunk/Source/WebKit/Shared/WebBackForwardListItem.h 2019-11-06 23:53:42 UTC (rev 252155)
@@ -82,7 +82,6 @@
void wasRemovedFromBackForwardList();
- bool hasCachedWebPage() const;
WebBackForwardCacheEntry* backForwardCacheEntry() const { return m_backForwardCacheEntry.get(); }
SuspendedPageProxy* suspendedPage() const;
Modified: trunk/Source/WebKit/UIProcess/ViewGestureController.cpp (252154 => 252155)
--- trunk/Source/WebKit/UIProcess/ViewGestureController.cpp 2019-11-06 23:36:50 UTC (rev 252154)
+++ trunk/Source/WebKit/UIProcess/ViewGestureController.cpp 2019-11-06 23:53:42 UTC (rev 252155)
@@ -590,16 +590,10 @@
return;
}
- SnapshotRemovalTracker::Events desiredEvents;
- if (targetItem->hasCachedWebPage()) {
- desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout
+ SnapshotRemovalTracker::Events desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout
| SnapshotRemovalTracker::MainFrameLoad
| SnapshotRemovalTracker::SubresourceLoads
| SnapshotRemovalTracker::ScrollPositionRestoration;
- } else {
- desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout;
- makeSnapshotBlank();
- }
if (renderTreeSizeThreshold) {
desiredEvents |= SnapshotRemovalTracker::RenderTreeSizeThreshold;
Modified: trunk/Source/WebKit/UIProcess/ViewGestureController.h (252154 => 252155)
--- trunk/Source/WebKit/UIProcess/ViewGestureController.h 2019-11-06 23:36:50 UTC (rev 252154)
+++ trunk/Source/WebKit/UIProcess/ViewGestureController.h 2019-11-06 23:53:42 UTC (rev 252155)
@@ -310,8 +310,6 @@
GRefPtr<GtkStyleContext> createStyleContext(const char*);
#endif
- void makeSnapshotBlank();
-
WebPageProxy& m_webPageProxy;
ViewGestureType m_activeGestureType { ViewGestureType::None };
Modified: trunk/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp (252154 => 252155)
--- trunk/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp 2019-11-06 23:36:50 UTC (rev 252154)
+++ trunk/Source/WebKit/UIProcess/gtk/ViewGestureControllerGtk.cpp 2019-11-06 23:53:42 UTC (rev 252155)
@@ -570,8 +570,4 @@
return true;
}
-void ViewGestureController::makeSnapshotBlank()
-{
-}
-
} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm (252154 => 252155)
--- trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm 2019-11-06 23:36:50 UTC (rev 252154)
+++ trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm 2019-11-06 23:53:42 UTC (rev 252155)
@@ -267,11 +267,6 @@
[transition startInteractiveTransition:m_swipeTransitionContext.get()];
}
-void ViewGestureController::makeSnapshotBlank()
-{
- [m_snapshotView layer].contents = nil;
-}
-
void ViewGestureController::endSwipeGesture(WebBackForwardListItem* targetItem, _UIViewControllerTransitionContext *context, bool cancelled)
{
[context _setTransitionIsInFlight:NO];
@@ -317,20 +312,12 @@
return;
}
- SnapshotRemovalTracker::Events desiredEvents;
- if (targetItem->hasCachedWebPage()) {
- desiredEvents = SnapshotRemovalTracker::RenderTreeSizeThreshold
- | SnapshotRemovalTracker::RepaintAfterNavigation
- | SnapshotRemovalTracker::MainFrameLoad
- | SnapshotRemovalTracker::SubresourceLoads
- | SnapshotRemovalTracker::ScrollPositionRestoration;
- } else {
- desiredEvents = SnapshotRemovalTracker::VisuallyNonEmptyLayout;
- makeSnapshotBlank();
- }
-
// FIXME: Should we wait for VisuallyNonEmptyLayout like we do on Mac?
- m_snapshotRemovalTracker.start(desiredEvents, [this] {
+ m_snapshotRemovalTracker.start(SnapshotRemovalTracker::RenderTreeSizeThreshold
+ | SnapshotRemovalTracker::RepaintAfterNavigation
+ | SnapshotRemovalTracker::MainFrameLoad
+ | SnapshotRemovalTracker::SubresourceLoads
+ | SnapshotRemovalTracker::ScrollPositionRestoration, [this] {
this->removeSwipeSnapshot();
});
Modified: trunk/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm (252154 => 252155)
--- trunk/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm 2019-11-06 23:36:50 UTC (rev 252154)
+++ trunk/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm 2019-11-06 23:53:42 UTC (rev 252155)
@@ -173,11 +173,6 @@
endMagnificationGesture();
}
-void ViewGestureController::makeSnapshotBlank()
-{
- [m_swipeSnapshotLayer setContents:nil];
-}
-
void ViewGestureController::endMagnificationGesture()
{
if (m_activeGestureType != ViewGestureType::Magnification)