Title: [209865] trunk/Source
- Revision
- 209865
- Author
- [email protected]
- Date
- 2016-12-15 10:37:18 -0800 (Thu, 15 Dec 2016)
Log Message
Always clear RenderLayer backing stores when going into page cache.
<https://webkit.org/b/165901>
Reviewed by Simon Fraser.
Source/WebCore:
We were already doing this for the iOS and GTK+ ports, let's do it everywhere
for consistency, and a bit of memory usage improvement.
This patch just removes the setting and always calls FrameView::clearBackingStores()
when there is composited content going into page cache.
* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
* history/PageCache.h:
(WebCore::PageCache::shouldClearBackingStores): Deleted.
(WebCore::PageCache::setShouldClearBackingStores): Deleted.
Source/WebKit/mac:
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
Source/WebKit2:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (209864 => 209865)
--- trunk/Source/WebCore/ChangeLog 2016-12-15 17:25:53 UTC (rev 209864)
+++ trunk/Source/WebCore/ChangeLog 2016-12-15 18:37:18 UTC (rev 209865)
@@ -1,3 +1,22 @@
+2016-12-15 Andreas Kling <[email protected]>
+
+ Always clear RenderLayer backing stores when going into page cache.
+ <https://webkit.org/b/165901>
+
+ Reviewed by Simon Fraser.
+
+ We were already doing this for the iOS and GTK+ ports, let's do it everywhere
+ for consistency, and a bit of memory usage improvement.
+
+ This patch just removes the setting and always calls FrameView::clearBackingStores()
+ when there is composited content going into page cache.
+
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrame::CachedFrame):
+ * history/PageCache.h:
+ (WebCore::PageCache::shouldClearBackingStores): Deleted.
+ (WebCore::PageCache::setShouldClearBackingStores): Deleted.
+
2016-12-15 Darin Adler <[email protected]>
Remove custom binding for MediaDevices
Modified: trunk/Source/WebCore/history/CachedFrame.cpp (209864 => 209865)
--- trunk/Source/WebCore/history/CachedFrame.cpp 2016-12-15 17:25:53 UTC (rev 209864)
+++ trunk/Source/WebCore/history/CachedFrame.cpp 2016-12-15 18:37:18 UTC (rev 209865)
@@ -164,7 +164,7 @@
frame.loader().client().savePlatformDataToCachedFrame(this);
- if (m_isComposited && PageCache::singleton().shouldClearBackingStores())
+ if (m_isComposited)
frame.view()->clearBackingStores();
// documentWillSuspendForPageCache() can set up a layout timer on the FrameView, so clear timers after that.
Modified: trunk/Source/WebCore/history/PageCache.h (209864 => 209865)
--- trunk/Source/WebCore/history/PageCache.h 2016-12-15 17:25:53 UTC (rev 209864)
+++ trunk/Source/WebCore/history/PageCache.h 2016-12-15 18:37:18 UTC (rev 209865)
@@ -66,9 +66,6 @@
void markPagesForCaptionPreferencesChanged();
#endif
- bool shouldClearBackingStores() const { return m_shouldClearBackingStores; }
- void setShouldClearBackingStores(bool flag) { m_shouldClearBackingStores = flag; }
-
private:
PageCache() = default; // Use singleton() instead.
~PageCache() = delete; // Make sure nobody accidentally calls delete -- WebCore does not delete singletons.
@@ -79,7 +76,6 @@
ListHashSet<RefPtr<HistoryItem>> m_items;
unsigned m_maxSize {0};
- bool m_shouldClearBackingStores {false};
friend class WTF::NeverDestroyed<PageCache>;
};
Modified: trunk/Source/WebKit/mac/ChangeLog (209864 => 209865)
--- trunk/Source/WebKit/mac/ChangeLog 2016-12-15 17:25:53 UTC (rev 209864)
+++ trunk/Source/WebKit/mac/ChangeLog 2016-12-15 18:37:18 UTC (rev 209865)
@@ -1,3 +1,13 @@
+2016-12-15 Andreas Kling <[email protected]>
+
+ Always clear RenderLayer backing stores when going into page cache.
+ <https://webkit.org/b/165901>
+
+ Reviewed by Simon Fraser.
+
+ * WebView/WebView.mm:
+ (+[WebView _setCacheModel:]):
+
2016-12-12 Alex Christensen <[email protected]>
Remove unused workaround for Silverlight
Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (209864 => 209865)
--- trunk/Source/WebKit/mac/WebView/WebView.mm 2016-12-15 17:25:53 UTC (rev 209864)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm 2016-12-15 18:37:18 UTC (rev 209865)
@@ -8520,7 +8520,6 @@
auto& pageCache = PageCache::singleton();
pageCache.setMaxSize(pageCacheSize);
#if PLATFORM(IOS)
- pageCache.setShouldClearBackingStores(true);
nsurlCacheMemoryCapacity = std::max(nsurlCacheMemoryCapacity, [nsurlCache memoryCapacity]);
CFURLCacheRef cfCache;
if ([nsurlCache respondsToSelector:@selector(_CFURLCache)] && (cfCache = [nsurlCache _CFURLCache]))
Modified: trunk/Source/WebKit2/ChangeLog (209864 => 209865)
--- trunk/Source/WebKit2/ChangeLog 2016-12-15 17:25:53 UTC (rev 209864)
+++ trunk/Source/WebKit2/ChangeLog 2016-12-15 18:37:18 UTC (rev 209865)
@@ -1,3 +1,13 @@
+2016-12-15 Andreas Kling <[email protected]>
+
+ Always clear RenderLayer backing stores when going into page cache.
+ <https://webkit.org/b/165901>
+
+ Reviewed by Simon Fraser.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+
2016-12-15 Darin Adler <[email protected]>
Remove custom binding for MediaDevices
Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (209864 => 209865)
--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp 2016-12-15 17:25:53 UTC (rev 209864)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp 2016-12-15 18:37:18 UTC (rev 209865)
@@ -203,10 +203,6 @@
RuntimeEnabledFeatures::sharedFeatures().setWebkitIndexedDBEnabled(true);
#endif
-#if PLATFORM(IOS) || PLATFORM(GTK)
- PageCache::singleton().setShouldClearBackingStores(true);
-#endif
-
ResourceLoadObserver::sharedObserver().setStatisticsStore(m_resourceLoadStatisticsStorage.copyRef());
m_resourceLoadStatisticsStorage->setNotificationCallback([this] {
if (m_statisticsChangedTimer.isActive())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes