Title: [189317] branches/safari-601-branch/Source/WebCore
- Revision
- 189317
- Author
- [email protected]
- Date
- 2015-09-03 16:41:22 -0700 (Thu, 03 Sep 2015)
Log Message
Merged r188659. rdar://problem/22411804
Modified Paths
Diff
Modified: branches/safari-601-branch/Source/WebCore/ChangeLog (189316 => 189317)
--- branches/safari-601-branch/Source/WebCore/ChangeLog 2015-09-03 23:39:28 UTC (rev 189316)
+++ branches/safari-601-branch/Source/WebCore/ChangeLog 2015-09-03 23:41:22 UTC (rev 189317)
@@ -1,5 +1,25 @@
2015-09-03 Babak Shafiei <[email protected]>
+ Merge r188659.
+
+ 2015-08-19 Brent Fulgham <[email protected]>
+
+ Scrollable area container is not properly cleared when page is going into the PageCache
+ https://bugs.webkit.org/show_bug.cgi?id=148182
+ <rdar://problem/21969170>
+
+ Reviewed by Dean Jackson.
+
+ Must be tested manually going back and forth in history several times.
+
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrame::CachedFrame): Clear the cached ScrollableAreas from the FrameView.
+ * page/FrameView.cpp:
+ (WebCore::FrameView::clearScrollableAreas): Added.
+ * page/FrameView.h:
+
+2015-09-03 Babak Shafiei <[email protected]>
+
Merge r188370.
2015-08-12 Brent Fulgham <[email protected]>
Modified: branches/safari-601-branch/Source/WebCore/history/CachedFrame.cpp (189316 => 189317)
--- branches/safari-601-branch/Source/WebCore/history/CachedFrame.cpp 2015-09-03 23:39:28 UTC (rev 189316)
+++ branches/safari-601-branch/Source/WebCore/history/CachedFrame.cpp 2015-09-03 23:41:22 UTC (rev 189317)
@@ -177,6 +177,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();
Modified: branches/safari-601-branch/Source/WebCore/page/FrameView.cpp (189316 => 189317)
--- branches/safari-601-branch/Source/WebCore/page/FrameView.cpp 2015-09-03 23:39:28 UTC (rev 189316)
+++ branches/safari-601-branch/Source/WebCore/page/FrameView.cpp 2015-09-03 23:41:22 UTC (rev 189317)
@@ -4451,6 +4451,12 @@
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: branches/safari-601-branch/Source/WebCore/page/FrameView.h (189316 => 189317)
--- branches/safari-601-branch/Source/WebCore/page/FrameView.h 2015-09-03 23:39:28 UTC (rev 189316)
+++ branches/safari-601-branch/Source/WebCore/page/FrameView.h 2015-09-03 23:41:22 UTC (rev 189317)
@@ -462,6 +462,7 @@
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