Title: [196641] trunk/Source/WebCore
Revision
196641
Author
[email protected]
Date
2016-02-16 10:48:36 -0800 (Tue, 16 Feb 2016)

Log Message

Rollout r188659. This broke scrolling of iframes and overflow when
navigating back to a page in the page cache.

The fix was overly agressive and had no layout test. I will fix the original
issue a different way.

* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
* page/FrameView.cpp:
(WebCore::FrameView::clearScrollableAreas): Deleted.
* page/FrameView.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (196640 => 196641)


--- trunk/Source/WebCore/ChangeLog	2016-02-16 18:15:37 UTC (rev 196640)
+++ trunk/Source/WebCore/ChangeLog	2016-02-16 18:48:36 UTC (rev 196641)
@@ -1,3 +1,17 @@
+2016-02-16  Simon Fraser  <[email protected]>
+
+        Rollout r188659. This broke scrolling of iframes and overflow when
+        navigating back to a page in the page cache.
+        
+        The fix was overly agressive and had no layout test. I will fix the original
+        issue a different way.
+
+        * history/CachedFrame.cpp:
+        (WebCore::CachedFrame::CachedFrame):
+        * page/FrameView.cpp:
+        (WebCore::FrameView::clearScrollableAreas): Deleted.
+        * page/FrameView.h:
+
 2016-02-16  Carlos Garcia Campos  <[email protected]>
 
         [GTK] No hover-horizontal scrolling available

Modified: trunk/Source/WebCore/history/CachedFrame.cpp (196640 => 196641)


--- trunk/Source/WebCore/history/CachedFrame.cpp	2016-02-16 18:15:37 UTC (rev 196640)
+++ trunk/Source/WebCore/history/CachedFrame.cpp	2016-02-16 18:48:36 UTC (rev 196641)
@@ -171,7 +171,8 @@
     if (m_isComposited && PageCache::singleton().shouldClearBackingStores())
         frame.view()->clearBackingStores();
 
-    frame.view()->clearScrollableAreas();
+    // documentWillSuspendForPageCache() can set up a layout timer on the FrameView, so clear timers after that.
+    frame.clearTimers();
 
     // Deconstruct the FrameTree, to restore it later.
     // We do this for two reasons:

Modified: trunk/Source/WebCore/page/FrameView.cpp (196640 => 196641)


--- trunk/Source/WebCore/page/FrameView.cpp	2016-02-16 18:15:37 UTC (rev 196640)
+++ trunk/Source/WebCore/page/FrameView.cpp	2016-02-16 18:48:36 UTC (rev 196641)
@@ -4523,12 +4523,6 @@
     return m_scrollableAreas && m_scrollableAreas->contains(scrollableArea);
 }
 
-void FrameView::clearScrollableAreas()
-{
-    if (m_scrollableAreas)
-        m_scrollableAreas->clear();
-}
-
 void FrameView::scrollableAreaSetChanged()
 {
     if (auto* page = frame().page()) {

Modified: trunk/Source/WebCore/page/FrameView.h (196640 => 196641)


--- trunk/Source/WebCore/page/FrameView.h	2016-02-16 18:15:37 UTC (rev 196640)
+++ trunk/Source/WebCore/page/FrameView.h	2016-02-16 18:48:36 UTC (rev 196641)
@@ -456,7 +456,6 @@
     WEBCORE_EXPORT bool removeScrollableArea(ScrollableArea*);
     bool containsScrollableArea(ScrollableArea*) const;
     const ScrollableAreaSet* scrollableAreas() const { return m_scrollableAreas.get(); }
-    void clearScrollableAreas();
 
     virtual void removeChild(Widget&) override;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to