WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-151677-20151130162027.patch (text/plain), 76.70 KB, created by
Kat Graff
on 2015-11-30 16:20:49 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Kat Graff
Created:
2015-11-30 16:20:49 PST
Size:
76.70 KB
patch
obsolete
>Subversion Revision: 192811 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 770a1df610822159823b7f5e82d6ec61f512d454..e5959addfc42c2c3bb8962f86ee884c0a83aea75 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,188 @@ >+2015-11-30 Katlyn Graff <kgraff@apple.com> >+ >+ Rename ActiveDOMObject/DOMWindow PageCacheSuspension code to support more reasons for suspension >+ https://bugs.webkit.org/show_bug.cgi?id=151677 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Simply a refactoring patch, so no new tests. >+ >+ * Modules/encryptedmedia/MediaKeySession.cpp: >+ (WebCore::MediaKeySession::canSuspendForDocumentSuspension): >+ (WebCore::MediaKeySession::canSuspendForPageCache): Deleted. >+ * Modules/encryptedmedia/MediaKeySession.h: >+ * Modules/geolocation/Geolocation.cpp: >+ (WebCore::Geolocation::canSuspendForDocumentSuspension): >+ (WebCore::Geolocation::canSuspendForPageCache): Deleted. >+ * Modules/geolocation/Geolocation.h: >+ * Modules/indexeddb/DOMWindowIndexedDatabase.cpp: >+ (WebCore::DOMWindowIndexedDatabase::disconnectFrameForDocumentSuspension): >+ (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromDocumentSuspension): >+ (WebCore::DOMWindowIndexedDatabase::disconnectFrameForPageCache): Deleted. >+ (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromPageCache): Deleted. >+ * Modules/indexeddb/DOMWindowIndexedDatabase.h: >+ * Modules/indexeddb/client/IDBDatabaseImpl.cpp: >+ (WebCore::IDBClient::IDBDatabase::canSuspendForDocumentSuspension): >+ (WebCore::IDBClient::IDBDatabase::canSuspendForPageCache): Deleted. >+ * Modules/indexeddb/client/IDBDatabaseImpl.h: >+ * Modules/indexeddb/client/IDBRequestImpl.cpp: >+ (WebCore::IDBClient::IDBRequest::canSuspendForDocumentSuspension): >+ (WebCore::IDBClient::IDBRequest::canSuspendForPageCache): Deleted. >+ * Modules/indexeddb/client/IDBRequestImpl.h: >+ * Modules/indexeddb/client/IDBTransactionImpl.cpp: >+ (WebCore::IDBClient::IDBTransaction::canSuspendForDocumentSuspension): >+ (WebCore::IDBClient::IDBTransaction::canSuspendForPageCache): Deleted. >+ * Modules/indexeddb/client/IDBTransactionImpl.h: >+ * Modules/indexeddb/legacy/LegacyDatabase.cpp: >+ (WebCore::LegacyDatabase::canSuspendForDocumentSuspension): >+ (WebCore::LegacyDatabase::canSuspendForPageCache): Deleted. >+ * Modules/indexeddb/legacy/LegacyDatabase.h: >+ * Modules/indexeddb/legacy/LegacyRequest.cpp: >+ (WebCore::LegacyRequest::canSuspendForDocumentSuspension): >+ (WebCore::LegacyRequest::canSuspendForPageCache): Deleted. >+ * Modules/indexeddb/legacy/LegacyRequest.h: >+ * Modules/indexeddb/legacy/LegacyTransaction.cpp: >+ (WebCore::LegacyTransaction::canSuspendForDocumentSuspension): >+ (WebCore::LegacyTransaction::canSuspendForPageCache): Deleted. >+ * Modules/indexeddb/legacy/LegacyTransaction.h: >+ * Modules/mediasource/MediaSource.cpp: >+ (WebCore::MediaSource::canSuspendForDocumentSuspension): >+ (WebCore::MediaSource::canSuspendForPageCache): Deleted. >+ * Modules/mediasource/MediaSource.h: >+ * Modules/mediasource/SourceBuffer.cpp: >+ (WebCore::SourceBuffer::canSuspendForDocumentSuspension): >+ (WebCore::SourceBuffer::canSuspendForPageCache): Deleted. >+ * Modules/mediasource/SourceBuffer.h: >+ * Modules/mediastream/MediaStreamTrack.cpp: >+ (WebCore::MediaStreamTrack::canSuspendForDocumentSuspension): >+ (WebCore::MediaStreamTrack::canSuspendForPageCache): Deleted. >+ * Modules/mediastream/MediaStreamTrack.h: >+ * Modules/mediastream/RTCDTMFSender.cpp: >+ (WebCore::RTCDTMFSender::canSuspendForDocumentSuspension): >+ (WebCore::RTCDTMFSender::canSuspendForPageCache): Deleted. >+ * Modules/mediastream/RTCDTMFSender.h: >+ * Modules/mediastream/RTCPeerConnection.cpp: >+ (WebCore::RTCPeerConnection::canSuspendForDocumentSuspension): >+ (WebCore::RTCPeerConnection::canSuspendForPageCache): Deleted. >+ * Modules/mediastream/RTCPeerConnection.h: >+ * Modules/notifications/DOMWindowNotifications.cpp: >+ (WebCore::DOMWindowNotifications::disconnectFrameForDocumentSuspension): >+ (WebCore::DOMWindowNotifications::reconnectFrameFromDocumentSuspension): >+ (WebCore::DOMWindowNotifications::disconnectFrameForPageCache): Deleted. >+ (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache): Deleted. >+ * Modules/notifications/DOMWindowNotifications.h: >+ * Modules/notifications/Notification.cpp: >+ (WebCore::Notification::canSuspendForDocumentSuspension): >+ (WebCore::Notification::canSuspendForPageCache): Deleted. >+ * Modules/notifications/Notification.h: >+ * Modules/notifications/NotificationCenter.cpp: >+ (WebCore::NotificationCenter::canSuspendForDocumentSuspension): >+ (WebCore::NotificationCenter::canSuspendForPageCache): Deleted. >+ * Modules/notifications/NotificationCenter.h: >+ * Modules/webaudio/AudioContext.cpp: >+ (WebCore::AudioContext::canSuspendForDocumentSuspension): >+ (WebCore::AudioContext::canSuspendForPageCache): Deleted. >+ * Modules/webaudio/AudioContext.h: >+ * Modules/webdatabase/DatabaseContext.cpp: >+ (WebCore::DatabaseContext::canSuspendForDocumentSuspension): >+ (WebCore::DatabaseContext::canSuspendForPageCache): Deleted. >+ * Modules/webdatabase/DatabaseContext.h: >+ * Modules/websockets/WebSocket.cpp: >+ (WebCore::WebSocket::canSuspendForDocumentSuspension): >+ (WebCore::WebSocket::canSuspendForPageCache): Deleted. >+ * Modules/websockets/WebSocket.h: >+ * css/FontLoader.cpp: >+ (WebCore::FontLoader::canSuspendForDocumentSuspension): >+ (WebCore::FontLoader::canSuspendForPageCache): Deleted. >+ * css/FontLoader.h: >+ * dom/ActiveDOMObject.cpp: >+ (WebCore::ActiveDOMObject::canSuspendForDocumentSuspension): >+ (WebCore::ActiveDOMObject::canSuspendForPageCache): Deleted. >+ * dom/ActiveDOMObject.h: >+ * dom/Document.cpp: >+ (WebCore::Document::~Document): >+ * dom/ScriptExecutionContext.cpp: >+ (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForTabSuspension): >+ (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForPageCache): Deleted. >+ * dom/ScriptExecutionContext.h: >+ * fileapi/FileReader.cpp: >+ (WebCore::FileReader::canSuspendForDocumentSuspension): >+ (WebCore::FileReader::canSuspendForPageCache): Deleted. >+ * fileapi/FileReader.h: >+ * history/CachedFrame.cpp: >+ (WebCore::CachedFrame::CachedFrame): >+ * history/PageCache.cpp: >+ (WebCore::canCacheFrame): >+ * html/HTMLMarqueeElement.cpp: >+ (WebCore::HTMLMarqueeElement::canSuspendForDocumentSuspension): >+ (WebCore::HTMLMarqueeElement::canSuspendForPageCache): Deleted. >+ * html/HTMLMarqueeElement.h: >+ * html/HTMLMediaElement.cpp: >+ (WebCore::HTMLMediaElement::canSuspendForDocumentSuspension): >+ (WebCore::HTMLMediaElement::canSuspendForPageCache): Deleted. >+ * html/HTMLMediaElement.h: >+ * html/HTMLSourceElement.cpp: >+ (WebCore::HTMLSourceElement::canSuspendForDocumentSuspension): >+ (WebCore::HTMLSourceElement::canSuspendForPageCache): Deleted. >+ * html/HTMLSourceElement.h: >+ * html/PublicURLManager.cpp: >+ (WebCore::PublicURLManager::canSuspendForDocumentSuspension): >+ (WebCore::PublicURLManager::canSuspendForPageCache): Deleted. >+ * html/PublicURLManager.h: >+ * html/canvas/WebGLRenderingContextBase.cpp: >+ (WebCore::WebGLRenderingContextBase::canSuspendForDocumentSuspension): >+ (WebCore::WebGLRenderingContextBase::canSuspendForPageCache): Deleted. >+ * html/canvas/WebGLRenderingContextBase.h: >+ * loader/FrameLoader.cpp: >+ (WebCore::FrameLoader::clear): >+ (WebCore::FrameLoader::open): >+ * loader/appcache/DOMApplicationCache.cpp: >+ (WebCore::DOMApplicationCache::disconnectFrameForDocumentSuspension): >+ (WebCore::DOMApplicationCache::reconnectFrameFromDocumentSuspension): >+ (WebCore::DOMApplicationCache::disconnectFrameForPageCache): Deleted. >+ (WebCore::DOMApplicationCache::reconnectFrameFromPageCache): Deleted. >+ * loader/appcache/DOMApplicationCache.h: >+ * page/DOMWindow.cpp: >+ (WebCore::DOMWindow::DOMWindow): >+ (WebCore::DOMWindow::~DOMWindow): >+ (WebCore::DOMWindow::resetUnlessSuspendedForDocumentSuspension): >+ (WebCore::DOMWindow::suspendForDocumentSuspension): >+ (WebCore::DOMWindow::resumeFromDocumentSuspension): >+ (WebCore::DOMWindow::disconnectDOMWindowProperties): >+ (WebCore::DOMWindow::reconnectDOMWindowProperties): >+ (WebCore::DOMWindow::resetUnlessSuspendedForPageCache): Deleted. >+ (WebCore::DOMWindow::suspendForPageCache): Deleted. >+ (WebCore::DOMWindow::resumeFromPageCache): Deleted. >+ * page/DOMWindow.h: >+ * page/DOMWindowExtension.cpp: >+ (WebCore::DOMWindowExtension::disconnectFrameForDocumentSuspension): >+ (WebCore::DOMWindowExtension::reconnectFrameFromDocumentSuspension): >+ (WebCore::DOMWindowExtension::disconnectFrameForPageCache): Deleted. >+ (WebCore::DOMWindowExtension::reconnectFrameFromPageCache): Deleted. >+ * page/DOMWindowExtension.h: >+ * page/DOMWindowProperty.cpp: >+ (WebCore::DOMWindowProperty::disconnectFrameForDocumentSuspension): >+ (WebCore::DOMWindowProperty::reconnectFrameFromDocumentSuspension): >+ (WebCore::DOMWindowProperty::disconnectFrameForPageCache): Deleted. >+ (WebCore::DOMWindowProperty::reconnectFrameFromPageCache): Deleted. >+ * page/DOMWindowProperty.h: >+ * page/EventSource.cpp: >+ (WebCore::EventSource::canSuspendForDocumentSuspension): >+ (WebCore::EventSource::canSuspendForPageCache): Deleted. >+ * page/EventSource.h: >+ * page/SuspendableTimer.cpp: >+ (WebCore::SuspendableTimer::canSuspendForDocumentSuspension): >+ (WebCore::SuspendableTimer::canSuspendForPageCache): Deleted. >+ * page/SuspendableTimer.h: >+ * workers/Worker.cpp: >+ (WebCore::Worker::canSuspendForDocumentSuspension): >+ (WebCore::Worker::canSuspendForPageCache): Deleted. >+ * workers/Worker.h: >+ * xml/XMLHttpRequest.cpp: >+ (WebCore::XMLHttpRequest::canSuspendForDocumentSuspension): >+ (WebCore::XMLHttpRequest::canSuspendForPageCache): Deleted. >+ * xml/XMLHttpRequest.h: >+ > 2015-11-30 Chris Dumez <cdumez@apple.com> > > location.origin is undefined in a web worker >diff --git a/Source/WebKit/mac/ChangeLog b/Source/WebKit/mac/ChangeLog >index 3b99f488191ca23061ed20d78e871331d451e460..93c5a570d57965d370c8db7f9d32ba02f0846bbe 100644 >--- a/Source/WebKit/mac/ChangeLog >+++ b/Source/WebKit/mac/ChangeLog >@@ -1 +1,11 @@ >+2015-11-30 Katlyn Graff <kgraff@apple.com> >+ >+ Rename ActiveDOMObject/DOMWindow PageCacheSuspension code to support more reasons for suspension >+ https://bugs.webkit.org/show_bug.cgi?id=151677 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * WebView/WebFrame.mm: >+ (-[WebFrame _cacheabilityDictionary]): >+ > == Rolled over to ChangeLog-2015-11-21 == >diff --git a/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp b/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp >index 1e4286cd42e97fd973153332eed6e27b74b6134f..b218104bd7a5e6c60afab174259777477c8504a4 100644 >--- a/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp >+++ b/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp >@@ -265,7 +265,7 @@ const char* MediaKeySession::activeDOMObjectName() const > return "MediaKeySession"; > } > >-bool MediaKeySession::canSuspendForPageCache() const >+bool MediaKeySession::canSuspendForDocumentSuspension() const > { > // FIXME: We should try and do better here. > return false; >diff --git a/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h b/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h >index 3f58a34a91dae2b1a5fc1cfbe5c5d7c959bfaa1d..a46dba47d157bb7adb655e8793c1b2617965b707 100644 >--- a/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h >+++ b/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h >@@ -113,7 +113,7 @@ private: > > // ActiveDOMObject API. > void stop() override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > const char* activeDOMObjectName() const override; > }; > >diff --git a/Source/WebCore/Modules/geolocation/Geolocation.cpp b/Source/WebCore/Modules/geolocation/Geolocation.cpp >index dc4726a2b81696717f7f1938a84334de85db1d4b..f923737ac354b25d1590a8654b812843c97d5946 100644 >--- a/Source/WebCore/Modules/geolocation/Geolocation.cpp >+++ b/Source/WebCore/Modules/geolocation/Geolocation.cpp >@@ -161,7 +161,7 @@ Page* Geolocation::page() const > return document() ? document()->page() : nullptr; > } > >-bool Geolocation::canSuspendForPageCache() const >+bool Geolocation::canSuspendForDocumentSuspension() const > { > return true; > } >diff --git a/Source/WebCore/Modules/geolocation/Geolocation.h b/Source/WebCore/Modules/geolocation/Geolocation.h >index e5feec52e79240960fb67d7feef9157d60b425ee..088352f10ab3a6b83b3b9a313a41e9c945849303 100644 >--- a/Source/WebCore/Modules/geolocation/Geolocation.h >+++ b/Source/WebCore/Modules/geolocation/Geolocation.h >@@ -79,7 +79,7 @@ private: > > // ActiveDOMObject > void stop() override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > void suspend(ReasonForSuspension) override; > void resume() override; > const char* activeDOMObjectName() const override; >diff --git a/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp b/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp >index 7c314159566dc99a18a3a25de3dac4c32aa6af32..cc19f410ed17cc5fa120003877085a6602f2be25 100644 >--- a/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp >+++ b/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.cpp >@@ -64,15 +64,15 @@ DOMWindowIndexedDatabase* DOMWindowIndexedDatabase::from(DOMWindow* window) > return supplement; > } > >-void DOMWindowIndexedDatabase::disconnectFrameForPageCache() >+void DOMWindowIndexedDatabase::disconnectFrameForDocumentSuspension() > { > m_suspendedIDBFactory = m_idbFactory.release(); >- DOMWindowProperty::disconnectFrameForPageCache(); >+ DOMWindowProperty::disconnectFrameForDocumentSuspension(); > } > >-void DOMWindowIndexedDatabase::reconnectFrameFromPageCache(Frame* frame) >+void DOMWindowIndexedDatabase::reconnectFrameFromDocumentSuspension(Frame* frame) > { >- DOMWindowProperty::reconnectFrameFromPageCache(frame); >+ DOMWindowProperty::reconnectFrameFromDocumentSuspension(frame); > m_idbFactory = m_suspendedIDBFactory.release(); > } > >diff --git a/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.h b/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.h >index a0be850eb198fc05f1d26d82fa6d58960ea6c93f..3ffb71c5cbc3d0fef8f8eeb9067875712bcc4e6c 100644 >--- a/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.h >+++ b/Source/WebCore/Modules/indexeddb/DOMWindowIndexedDatabase.h >@@ -46,8 +46,8 @@ public: > > static IDBFactory* indexedDB(DOMWindow*); > >- virtual void disconnectFrameForPageCache() override; >- virtual void reconnectFrameFromPageCache(Frame*) override; >+ virtual void disconnectFrameForDocumentSuspension() override; >+ virtual void reconnectFrameFromDocumentSuspension(Frame*) override; > virtual void willDestroyGlobalObjectInCachedFrame() override; > virtual void willDestroyGlobalObjectInFrame() override; > virtual void willDetachGlobalObjectFromFrame() override; >diff --git a/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp b/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp >index 89d43e9e457d90f75c82bea99c1bc3f439057512..927f017db3581a02ea7b5d39af17bc8ed7a89195 100644 >--- a/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp >+++ b/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.cpp >@@ -234,7 +234,7 @@ const char* IDBDatabase::activeDOMObjectName() const > return "IDBDatabase"; > } > >-bool IDBDatabase::canSuspendForPageCache() const >+bool IDBDatabase::canSuspendForDocumentSuspension() const > { > // FIXME: This value will sometimes be false when database operations are actually in progress. > // Such database operations do not yet exist. >diff --git a/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.h b/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.h >index fdc0bf8b44593e41a70b126d0576f1c645eaa79f..b13f60a67ca93cc7387f13deca084d585868ff25 100644 >--- a/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.h >+++ b/Source/WebCore/Modules/indexeddb/client/IDBDatabaseImpl.h >@@ -67,7 +67,7 @@ public: > virtual void derefEventTarget() override final { deref(); } > > virtual const char* activeDOMObjectName() const override final; >- virtual bool canSuspendForPageCache() const override final; >+ virtual bool canSuspendForDocumentSuspension() const override final; > > const IDBDatabaseInfo& info() const { return m_info; } > uint64_t databaseConnectionIdentifier() const { return m_databaseConnectionIdentifier; } >diff --git a/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp b/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp >index e9c4e74cf172fcf88ad066a03cbdf256258498bf..6e96010b4c0315d872e96b0e86824489c3bf004d 100644 >--- a/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp >+++ b/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.cpp >@@ -215,7 +215,7 @@ const char* IDBRequest::activeDOMObjectName() const > return "IDBRequest"; > } > >-bool IDBRequest::canSuspendForPageCache() const >+bool IDBRequest::canSuspendForDocumentSuspension() const > { > return false; > } >diff --git a/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h b/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h >index a3c46041fcbfcafd89bf462ccf33addea23cecfe..d2301ce6618d79390f28f27158c2be24038ee11c 100644 >--- a/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h >+++ b/Source/WebCore/Modules/indexeddb/client/IDBRequestImpl.h >@@ -106,7 +106,7 @@ protected: > > // ActiveDOMObject. > virtual const char* activeDOMObjectName() const override final; >- virtual bool canSuspendForPageCache() const override final; >+ virtual bool canSuspendForDocumentSuspension() const override final; > virtual bool hasPendingActivity() const override final; > > // EventTarget. >diff --git a/Source/WebCore/Modules/indexeddb/client/IDBTransactionImpl.cpp b/Source/WebCore/Modules/indexeddb/client/IDBTransactionImpl.cpp >index e4085df05d8ec965c36edbae0a7f2fee1773913b..a8619157f922abe45ad070aefc18adb86d25c4a4 100644 >--- a/Source/WebCore/Modules/indexeddb/client/IDBTransactionImpl.cpp >+++ b/Source/WebCore/Modules/indexeddb/client/IDBTransactionImpl.cpp >@@ -206,7 +206,7 @@ const char* IDBTransaction::activeDOMObjectName() const > return "IDBTransaction"; > } > >-bool IDBTransaction::canSuspendForPageCache() const >+bool IDBTransaction::canSuspendForDocumentSuspension() const > { > return false; > } >diff --git a/Source/WebCore/Modules/indexeddb/client/IDBTransactionImpl.h b/Source/WebCore/Modules/indexeddb/client/IDBTransactionImpl.h >index 142447bc2a56a63e3257ef224a167b38b2be6b3b..d1b05f059182215619019755e18f3f067cec7f76 100644 >--- a/Source/WebCore/Modules/indexeddb/client/IDBTransactionImpl.h >+++ b/Source/WebCore/Modules/indexeddb/client/IDBTransactionImpl.h >@@ -79,7 +79,7 @@ public: > virtual bool dispatchEvent(Event&) override final; > > virtual const char* activeDOMObjectName() const override final; >- virtual bool canSuspendForPageCache() const override final; >+ virtual bool canSuspendForDocumentSuspension() const override final; > virtual bool hasPendingActivity() const override final; > > const IDBTransactionInfo info() const { return m_info; } >diff --git a/Source/WebCore/Modules/indexeddb/legacy/LegacyDatabase.cpp b/Source/WebCore/Modules/indexeddb/legacy/LegacyDatabase.cpp >index d03f128cd311ed229bdc34c7c01e5ce0e11b67cc..865c9f29a5df26fa51bd1b91817232c3358ec398 100644 >--- a/Source/WebCore/Modules/indexeddb/legacy/LegacyDatabase.cpp >+++ b/Source/WebCore/Modules/indexeddb/legacy/LegacyDatabase.cpp >@@ -393,7 +393,7 @@ const char* LegacyDatabase::activeDOMObjectName() const > return "LegacyDatabase"; > } > >-bool LegacyDatabase::canSuspendForPageCache() const >+bool LegacyDatabase::canSuspendForDocumentSuspension() const > { > return m_isClosed; > } >diff --git a/Source/WebCore/Modules/indexeddb/legacy/LegacyDatabase.h b/Source/WebCore/Modules/indexeddb/legacy/LegacyDatabase.h >index ea1eb5f23da0f566d963368a68bc31af44fdb262..651ecb4ce2e39dad55bdcacc8be9503a2b86b2ee 100644 >--- a/Source/WebCore/Modules/indexeddb/legacy/LegacyDatabase.h >+++ b/Source/WebCore/Modules/indexeddb/legacy/LegacyDatabase.h >@@ -110,7 +110,7 @@ private: > // ActiveDOMObject API. > void stop() override; > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > > // EventTarget > virtual void refEventTarget() override final { ref(); } >diff --git a/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.cpp b/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.cpp >index 2c747a56aaad53cf7d4d3a3dd084f8d5f32a9ad2..c18447de395cab14639c45badd4fa8458c8f905f 100644 >--- a/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.cpp >+++ b/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.cpp >@@ -451,7 +451,7 @@ void LegacyRequest::stop() > markEarlyDeath(); > } > >-bool LegacyRequest::canSuspendForPageCache() const >+bool LegacyRequest::canSuspendForDocumentSuspension() const > { > return !m_hasPendingActivity; > } >diff --git a/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.h b/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.h >index eb1fbaef2ae6265e3217bbace5f1c07e5fd1bcbc..28169143c023787d2f1160787d9f6912cde5384d 100644 >--- a/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.h >+++ b/Source/WebCore/Modules/indexeddb/legacy/LegacyRequest.h >@@ -126,7 +126,7 @@ private: > // ActiveDOMObject API. > void stop() override; > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > > // EventTarget API. > virtual void refEventTarget() override final { ref(); } >diff --git a/Source/WebCore/Modules/indexeddb/legacy/LegacyTransaction.cpp b/Source/WebCore/Modules/indexeddb/legacy/LegacyTransaction.cpp >index ce849fd3f764a45fe801cade2106ded015e3b4eb..2e9497fc0b6914262439723310b5d39a7ea63fbc 100644 >--- a/Source/WebCore/Modules/indexeddb/legacy/LegacyTransaction.cpp >+++ b/Source/WebCore/Modules/indexeddb/legacy/LegacyTransaction.cpp >@@ -340,7 +340,7 @@ bool LegacyTransaction::dispatchEvent(Event& event) > return returnValue; > } > >-bool LegacyTransaction::canSuspendForPageCache() const >+bool LegacyTransaction::canSuspendForDocumentSuspension() const > { > // FIXME: Technically we can suspend before the first request is schedule > // and after the complete/abort event is enqueued. >diff --git a/Source/WebCore/Modules/indexeddb/legacy/LegacyTransaction.h b/Source/WebCore/Modules/indexeddb/legacy/LegacyTransaction.h >index f79dec33395da2a5bd6633a623c83a3f9707554f..9f7750ec34d79eeb133ab94812d9b5c29a875d2b 100644 >--- a/Source/WebCore/Modules/indexeddb/legacy/LegacyTransaction.h >+++ b/Source/WebCore/Modules/indexeddb/legacy/LegacyTransaction.h >@@ -111,7 +111,7 @@ private: > void unregisterOpenCursor(LegacyCursor*); > > // ActiveDOMObject API. >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > void stop() override; > const char* activeDOMObjectName() const override; > >diff --git a/Source/WebCore/Modules/mediasource/MediaSource.cpp b/Source/WebCore/Modules/mediasource/MediaSource.cpp >index 23c37bfa256c974e916cf25cd49f617c85d2feba..24cb0e5eb7f28dd2c327d61c582f17ac8f0a03e7 100644 >--- a/Source/WebCore/Modules/mediasource/MediaSource.cpp >+++ b/Source/WebCore/Modules/mediasource/MediaSource.cpp >@@ -814,7 +814,7 @@ void MediaSource::stop() > m_private = nullptr; > } > >-bool MediaSource::canSuspendForPageCache() const >+bool MediaSource::canSuspendForDocumentSuspension() const > { > return isClosed() && !m_asyncEventQueue.hasPendingEvents(); > } >diff --git a/Source/WebCore/Modules/mediasource/MediaSource.h b/Source/WebCore/Modules/mediasource/MediaSource.h >index 0599ef0254096a58011bc7e504eecb92df247cc4..a4f4a5c314f8ab0cceaecd69ea69dfd78a41eaf1 100644 >--- a/Source/WebCore/Modules/mediasource/MediaSource.h >+++ b/Source/WebCore/Modules/mediasource/MediaSource.h >@@ -119,7 +119,7 @@ protected: > > // ActiveDOMObject API. > void stop() override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > const char* activeDOMObjectName() const override; > > void onReadyStateChange(const AtomicString& oldState, const AtomicString& newState); >diff --git a/Source/WebCore/Modules/mediasource/SourceBuffer.cpp b/Source/WebCore/Modules/mediasource/SourceBuffer.cpp >index c86e820d8dd4a2b798db2de02487d6b87fcbdf6d..8d64616e1535555b2e4a8c02a53cfb31c3feff03 100644 >--- a/Source/WebCore/Modules/mediasource/SourceBuffer.cpp >+++ b/Source/WebCore/Modules/mediasource/SourceBuffer.cpp >@@ -510,7 +510,7 @@ void SourceBuffer::stop() > m_removeTimer.stop(); > } > >-bool SourceBuffer::canSuspendForPageCache() const >+bool SourceBuffer::canSuspendForDocumentSuspension() const > { > return !hasPendingActivity(); > } >diff --git a/Source/WebCore/Modules/mediasource/SourceBuffer.h b/Source/WebCore/Modules/mediasource/SourceBuffer.h >index eda43992105fbb576a8aa1c9e93a37e7756b6254..8f3d034651842337b65038e9f486bb4f16df4e6e 100644 >--- a/Source/WebCore/Modules/mediasource/SourceBuffer.h >+++ b/Source/WebCore/Modules/mediasource/SourceBuffer.h >@@ -139,7 +139,7 @@ private: > // ActiveDOMObject API. > void stop() override; > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > > // SourceBufferPrivateClient > virtual void sourceBufferPrivateDidEndStream(SourceBufferPrivate*, const WTF::AtomicString&) override; >diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp >index d7a2a5edbbe57acaef89431158032b5bd8f6f691..61d06ea0b95b8f791548573aef9e162cb27cc4b1 100644 >--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp >+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp >@@ -264,7 +264,7 @@ const char* MediaStreamTrack::activeDOMObjectName() const > return "MediaStreamTrack"; > } > >-bool MediaStreamTrack::canSuspendForPageCache() const >+bool MediaStreamTrack::canSuspendForDocumentSuspension() const > { > // FIXME: We should try and do better here. > return false; >diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h >index 72e75a658cc9ce1e8d422c4ee01237937b4ce7bb..8d78bdd96682bdd83f2328cd341abee96a0a9e7d 100644 >--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h >+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h >@@ -108,7 +108,7 @@ private: > // ActiveDOMObject API. > void stop() override final; > const char* activeDOMObjectName() const override final; >- bool canSuspendForPageCache() const override final; >+ bool canSuspendForDocumentSuspension() const override final; > > // EventTarget > virtual void refEventTarget() override final { ref(); } >diff --git a/Source/WebCore/Modules/mediastream/RTCDTMFSender.cpp b/Source/WebCore/Modules/mediastream/RTCDTMFSender.cpp >index c9e2ccac5c1a637cae252eaae39e18edaabd4e17..ac2b84f0212b2c8b9c919be50a9f5a020ef6fa3f 100644 >--- a/Source/WebCore/Modules/mediastream/RTCDTMFSender.cpp >+++ b/Source/WebCore/Modules/mediastream/RTCDTMFSender.cpp >@@ -139,7 +139,7 @@ const char* RTCDTMFSender::activeDOMObjectName() const > return "RTCDTMFSender"; > } > >-bool RTCDTMFSender::canSuspendForPageCache() const >+bool RTCDTMFSender::canSuspendForDocumentSuspension() const > { > // FIXME: We should try and do better here. > return false; >diff --git a/Source/WebCore/Modules/mediastream/RTCDTMFSender.h b/Source/WebCore/Modules/mediastream/RTCDTMFSender.h >index aa5dda91bb8f49456fa7de8bfe4ffafa6f035632..9992ce06bbbbef2a711af46f3d08fd45332c3d06 100644 >--- a/Source/WebCore/Modules/mediastream/RTCDTMFSender.h >+++ b/Source/WebCore/Modules/mediastream/RTCDTMFSender.h >@@ -69,7 +69,7 @@ private: > // ActiveDOMObject > void stop() override; > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > > void scheduleDispatchEvent(Ref<Event>&&); > void scheduledEventTimerFired(); >diff --git a/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp b/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp >index 1cc66a2198bc15ba6b0a2eff69d9f5990c437327..0352b0116c70d7bef28355c272f59a509a16438b 100644 >--- a/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp >+++ b/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp >@@ -398,7 +398,7 @@ const char* RTCPeerConnection::activeDOMObjectName() const > return "RTCPeerConnection"; > } > >-bool RTCPeerConnection::canSuspendForPageCache() const >+bool RTCPeerConnection::canSuspendForDocumentSuspension() const > { > // FIXME: We should try and do better here. > return false; >diff --git a/Source/WebCore/Modules/mediastream/RTCPeerConnection.h b/Source/WebCore/Modules/mediastream/RTCPeerConnection.h >index dea2ccc11a04bf584e3e600584b303ad9389c050..a4f9025eaec6ba7909a3aa21529b93b6e1f2b4f6 100644 >--- a/Source/WebCore/Modules/mediastream/RTCPeerConnection.h >+++ b/Source/WebCore/Modules/mediastream/RTCPeerConnection.h >@@ -117,7 +117,7 @@ private: > // ActiveDOMObject > void stop() override; > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > > // PeerConnectionBackendClient > void setSignalingState(PeerConnectionStates::SignalingState) override; >diff --git a/Source/WebCore/Modules/notifications/DOMWindowNotifications.cpp b/Source/WebCore/Modules/notifications/DOMWindowNotifications.cpp >index bd2a1a3093f27c5b37103f6e9e88e2fdaed85644..83b99aef8aaf239b5d9de8e29ada979ecce6ed59 100644 >--- a/Source/WebCore/Modules/notifications/DOMWindowNotifications.cpp >+++ b/Source/WebCore/Modules/notifications/DOMWindowNotifications.cpp >@@ -68,15 +68,15 @@ NotificationCenter* DOMWindowNotifications::webkitNotifications(DOMWindow* windo > return DOMWindowNotifications::from(window)->webkitNotifications(); > } > >-void DOMWindowNotifications::disconnectFrameForPageCache() >+void DOMWindowNotifications::disconnectFrameForDocumentSuspension() > { > m_suspendedNotificationCenter = m_notificationCenter.release(); >- DOMWindowProperty::disconnectFrameForPageCache(); >+ DOMWindowProperty::disconnectFrameForDocumentSuspension(); > } > >-void DOMWindowNotifications::reconnectFrameFromPageCache(Frame* frame) >+void DOMWindowNotifications::reconnectFrameFromDocumentSuspension(Frame* frame) > { >- DOMWindowProperty::reconnectFrameFromPageCache(frame); >+ DOMWindowProperty::reconnectFrameFromDocumentSuspension(frame); > m_notificationCenter = m_suspendedNotificationCenter.release(); > } > >diff --git a/Source/WebCore/Modules/notifications/DOMWindowNotifications.h b/Source/WebCore/Modules/notifications/DOMWindowNotifications.h >index 7e997280b0b878274f8e900963e20d42c760671a..e9d1bfe14268764893bd91cb13a7c1da40f5309a 100644 >--- a/Source/WebCore/Modules/notifications/DOMWindowNotifications.h >+++ b/Source/WebCore/Modules/notifications/DOMWindowNotifications.h >@@ -46,8 +46,8 @@ public: > static NotificationCenter* webkitNotifications(DOMWindow*); > static DOMWindowNotifications* from(DOMWindow*); > >- virtual void disconnectFrameForPageCache() override; >- virtual void reconnectFrameFromPageCache(Frame*) override; >+ virtual void disconnectFrameForDocumentSuspension() override; >+ virtual void reconnectFrameFromDocumentSuspension(Frame*) override; > virtual void willDestroyGlobalObjectInCachedFrame() override; > virtual void willDestroyGlobalObjectInFrame() override; > virtual void willDetachGlobalObjectFromFrame() override; >diff --git a/Source/WebCore/Modules/notifications/Notification.cpp b/Source/WebCore/Modules/notifications/Notification.cpp >index 8f70fe1345109b5e2416e35e1550a718555196fe..bfeaab9e8c9fb6d447813fbdf1418806bf4823b3 100644 >--- a/Source/WebCore/Modules/notifications/Notification.cpp >+++ b/Source/WebCore/Modules/notifications/Notification.cpp >@@ -175,7 +175,7 @@ const char* Notification::activeDOMObjectName() const > return "Notification"; > } > >-bool Notification::canSuspendForPageCache() const >+bool Notification::canSuspendForDocumentSuspension() const > { > // We can suspend if the Notification is not shown yet or after it is closed. > return m_state == Idle || m_state == Closed; >diff --git a/Source/WebCore/Modules/notifications/Notification.h b/Source/WebCore/Modules/notifications/Notification.h >index db693393feb915cc58a0994ae872a3a6c8e66bde..3c4d46b31c8d04d74f277550fb1adf38a222a8a1 100644 >--- a/Source/WebCore/Modules/notifications/Notification.h >+++ b/Source/WebCore/Modules/notifications/Notification.h >@@ -140,7 +140,7 @@ private: > // ActiveDOMObject API. > void contextDestroyed() override; > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > > // EventTarget API. > virtual void refEventTarget() override { ref(); } >diff --git a/Source/WebCore/Modules/notifications/NotificationCenter.cpp b/Source/WebCore/Modules/notifications/NotificationCenter.cpp >index 18b0093afb4323da5b4351676dfa94d26faeefd7..c7f06d139b193ba31e861e643455f23c23b9d17b 100644 >--- a/Source/WebCore/Modules/notifications/NotificationCenter.cpp >+++ b/Source/WebCore/Modules/notifications/NotificationCenter.cpp >@@ -137,7 +137,7 @@ const char* NotificationCenter::activeDOMObjectName() const > return "NotificationCenter"; > } > >-bool NotificationCenter::canSuspendForPageCache() const >+bool NotificationCenter::canSuspendForDocumentSuspension() const > { > // We don't need to worry about Notifications because those are ActiveDOMObject too. > // The NotificationCenter can safely be suspended if there are no pending permission requests. >diff --git a/Source/WebCore/Modules/notifications/NotificationCenter.h b/Source/WebCore/Modules/notifications/NotificationCenter.h >index 3581f451a1ac03ab5183cd243c014267a7bd300e..ffec9abd4ba72161f22d5b353cb26c71b5f14bb6 100644 >--- a/Source/WebCore/Modules/notifications/NotificationCenter.h >+++ b/Source/WebCore/Modules/notifications/NotificationCenter.h >@@ -65,7 +65,7 @@ private: > > void stop() override; > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > > void timerFired(); > >diff --git a/Source/WebCore/Modules/webaudio/AudioContext.cpp b/Source/WebCore/Modules/webaudio/AudioContext.cpp >index 40a40b19fa792102fcdb09439dd2c500be46c430..19cf7ccd660be8e00d64340053f301d5ddf6b995 100644 >--- a/Source/WebCore/Modules/webaudio/AudioContext.cpp >+++ b/Source/WebCore/Modules/webaudio/AudioContext.cpp >@@ -355,7 +355,7 @@ void AudioContext::stop() > }); > } > >-bool AudioContext::canSuspendForPageCache() const >+bool AudioContext::canSuspendForDocumentSuspension() const > { > // FIXME: We should be able to suspend while rendering as well with some more code. > return m_state == State::Suspended || m_state == State::Closed; >diff --git a/Source/WebCore/Modules/webaudio/AudioContext.h b/Source/WebCore/Modules/webaudio/AudioContext.h >index 37bac49fb9f5b700df26c14a9d1863985cf3343f..15311517fc0bb99ab807afb878d598702f009a14 100644 >--- a/Source/WebCore/Modules/webaudio/AudioContext.h >+++ b/Source/WebCore/Modules/webaudio/AudioContext.h >@@ -308,7 +308,7 @@ private: > > // ActiveDOMObject API. > void stop() override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > const char* activeDOMObjectName() const override; > > // When the context goes away, there might still be some sources which haven't finished playing. >diff --git a/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp b/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp >index 6030cc1ae5fb04d2852b36a64a9fa374cdf5f280..42be91b154e41eac75acd32f5163c56d85f9e78f 100644 >--- a/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp >+++ b/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp >@@ -142,7 +142,7 @@ void DatabaseContext::stop() > stopDatabases(); > } > >-bool DatabaseContext::canSuspendForPageCache() const >+bool DatabaseContext::canSuspendForDocumentSuspension() const > { > if (!hasOpenDatabases() || !m_databaseThread) > return true; >diff --git a/Source/WebCore/Modules/webdatabase/DatabaseContext.h b/Source/WebCore/Modules/webdatabase/DatabaseContext.h >index 54d54e024da5b0550cbc27f12bf3d3548a45792b..d5b912cf246cda8d55d91f17f533b3fe9d7b903c 100644 >--- a/Source/WebCore/Modules/webdatabase/DatabaseContext.h >+++ b/Source/WebCore/Modules/webdatabase/DatabaseContext.h >@@ -71,7 +71,7 @@ private: > > void contextDestroyed() override; > void stop() override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > const char* activeDOMObjectName() const override { return "DatabaseContext"; } > > RefPtr<DatabaseThread> m_databaseThread; >diff --git a/Source/WebCore/Modules/websockets/WebSocket.cpp b/Source/WebCore/Modules/websockets/WebSocket.cpp >index 41eb109e7bebd8bef1b96e864526255639251dc1..0f476815c541b0c1393cc8121560566768f3a6ce 100644 >--- a/Source/WebCore/Modules/websockets/WebSocket.cpp >+++ b/Source/WebCore/Modules/websockets/WebSocket.cpp >@@ -475,7 +475,7 @@ void WebSocket::contextDestroyed() > ActiveDOMObject::contextDestroyed(); > } > >-bool WebSocket::canSuspendForPageCache() const >+bool WebSocket::canSuspendForDocumentSuspension() const > { > return true; > } >diff --git a/Source/WebCore/Modules/websockets/WebSocket.h b/Source/WebCore/Modules/websockets/WebSocket.h >index 1200454402c9ff41a9a5380e6161847f9694b86e..e07f4085118d7a350cfa51232e13eca8b3b3db86 100644 >--- a/Source/WebCore/Modules/websockets/WebSocket.h >+++ b/Source/WebCore/Modules/websockets/WebSocket.h >@@ -115,7 +115,7 @@ private: > > // ActiveDOMObject API. > void contextDestroyed() override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > void suspend(ReasonForSuspension) override; > void resume() override; > void stop() override; >diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >index 8812f3e16bab3cdff8e60689a7e4a6818a839047..0d20e60f2c85aa0070c0a48a7f52ff15470d915e 100644 >--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj >+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >@@ -7927,7 +7927,7 @@ > 14476AA715DC4BB100305DB2 /* WritingMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WritingMode.h; sourceTree = "<group>"; }; > 1449E24A107D4A8400B5793F /* JSCallbackData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCallbackData.h; sourceTree = "<group>"; }; > 1449E286107D4DB400B5793F /* JSCallbackData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCallbackData.cpp; sourceTree = "<group>"; }; >- 1477E7740BF4134A00152872 /* PageCache.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PageCache.cpp; sourceTree = "<group>"; }; >+ 1477E7740BF4134A00152872 /* PageCache.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = PageCache.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; > 1477E7750BF4134A00152872 /* PageCache.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PageCache.h; sourceTree = "<group>"; }; > 1479FAE5109AE37500DED655 /* RenderRuby.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderRuby.cpp; sourceTree = "<group>"; }; > 1479FAE6109AE37500DED655 /* RenderRuby.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderRuby.h; sourceTree = "<group>"; }; >@@ -14148,8 +14148,8 @@ > E10B9CCA0B747A44003ED890 /* DOMCustomXPathNSResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMCustomXPathNSResolver.h; sourceTree = "<group>"; }; > E10B9CCB0B747A44003ED890 /* DOMCustomXPathNSResolver.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMCustomXPathNSResolver.mm; sourceTree = "<group>"; }; > E11AF15011B9A1A300805103 /* Cursor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Cursor.cpp; sourceTree = "<group>"; }; >- E11C9D9A0EB3681200E409DB /* ScriptExecutionContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptExecutionContext.h; sourceTree = "<group>"; }; >- E11C9DAF0EB3699500E409DB /* ScriptExecutionContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptExecutionContext.cpp; sourceTree = "<group>"; }; >+ E11C9D9A0EB3681200E409DB /* ScriptExecutionContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = ScriptExecutionContext.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; >+ E11C9DAF0EB3699500E409DB /* ScriptExecutionContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = ScriptExecutionContext.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; > E1233F0A185A3E3B008DFAF5 /* CryptoAlgorithmRSAES_PKCS1_v1_5.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoAlgorithmRSAES_PKCS1_v1_5.cpp; sourceTree = "<group>"; }; > E1233F0B185A3E3B008DFAF5 /* CryptoAlgorithmRSAES_PKCS1_v1_5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoAlgorithmRSAES_PKCS1_v1_5.h; sourceTree = "<group>"; }; > E1233F0E185A4130008DFAF5 /* CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp; sourceTree = "<group>"; }; >diff --git a/Source/WebCore/css/FontLoader.cpp b/Source/WebCore/css/FontLoader.cpp >index c9074605a3e609580f992aa61f7d5e3f058db55f..933b4a38240c0ab24ad362cd104e5e93a430fb7f 100644 >--- a/Source/WebCore/css/FontLoader.cpp >+++ b/Source/WebCore/css/FontLoader.cpp >@@ -161,7 +161,7 @@ const char* FontLoader::activeDOMObjectName() const > return "FontLoader"; > } > >-bool FontLoader::canSuspendForPageCache() const >+bool FontLoader::canSuspendForDocumentSuspension() const > { > return !m_numLoadingFromCSS && !m_numLoadingFromJS; > } >diff --git a/Source/WebCore/css/FontLoader.h b/Source/WebCore/css/FontLoader.h >index 3344594e618920c097ee01bedfc611aba9106d6d..e1008faef46b0808be5e7305e131ab595ddc070d 100644 >--- a/Source/WebCore/css/FontLoader.h >+++ b/Source/WebCore/css/FontLoader.h >@@ -89,7 +89,7 @@ private: > > // ActiveDOMObject API. > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > > void scheduleEvent(PassRefPtr<Event>); > void firePendingEvents(); >diff --git a/Source/WebCore/dom/ActiveDOMObject.cpp b/Source/WebCore/dom/ActiveDOMObject.cpp >index bd27cacc19ab9efc246b374ae8278e2975abbc52..d6cfe2971a6e2b450904d255b04c544c29901a45 100644 >--- a/Source/WebCore/dom/ActiveDOMObject.cpp >+++ b/Source/WebCore/dom/ActiveDOMObject.cpp >@@ -90,7 +90,7 @@ bool ActiveDOMObject::hasPendingActivity() const > return m_pendingActivityCount; > } > >-bool ActiveDOMObject::canSuspendForPageCache() const >+bool ActiveDOMObject::canSuspendForDocumentSuspension() const > { > return false; > } >diff --git a/Source/WebCore/dom/ActiveDOMObject.h b/Source/WebCore/dom/ActiveDOMObject.h >index 463c98bb1b1ed2a2b5f7672ecd448c827250f0df..fb1c04eecc84469168f70cee3cc476881871a1a7 100644 >--- a/Source/WebCore/dom/ActiveDOMObject.h >+++ b/Source/WebCore/dom/ActiveDOMObject.h >@@ -42,11 +42,11 @@ public: > > virtual bool hasPendingActivity() const; > >- // The canSuspendForPageCache() function is used by the caller if there is a choice between suspending >+ // The canSuspendForDocumentSuspension() function is used by the caller if there is a choice between suspending > // and stopping. For example, a page won't be suspended and placed in the back/forward > // cache if it contains any objects that cannot be suspended. > >- // However, the suspend function will sometimes be called even if canSuspendForPageCache() returns false. >+ // However, the suspend function will sometimes be called even if canSuspendForDocumentSuspension() returns false. > // That happens in step-by-step JS debugging for example - in this case it would be incorrect > // to stop the object. Exact semantics of suspend is up to the object in cases like that. > >@@ -62,7 +62,7 @@ public: > > // These three functions must not have a side effect of creating or destroying > // any ActiveDOMObject. That means they must not result in calls to arbitrary JavaScript. >- virtual bool canSuspendForPageCache() const = 0; // Returning false in canSuspendForPageCache() will prevent the page from entering the PageCache. >+ virtual bool canSuspendForDocumentSuspension() const = 0; // Returning false in canSuspendForDocumentSuspension() will prevent the page from entering the PageCache. > virtual void suspend(ReasonForSuspension); > virtual void resume(); > >diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp >index 519ffb03dbfa245d863b5101dbe5f713d00d3458..4c9e3694a107c87cd8d78c21fb927e5eeaec1c29 100644 >--- a/Source/WebCore/dom/Document.cpp >+++ b/Source/WebCore/dom/Document.cpp >@@ -604,7 +604,7 @@ Document::~Document() > > // FIXME: Should we reset m_domWindow when we detach from the Frame? > if (m_domWindow) >- m_domWindow->resetUnlessSuspendedForPageCache(); >+ m_domWindow->resetUnlessSuspendedForDocumentSuspension(); > > m_scriptRunner = nullptr; > m_moduleLoader = nullptr; >diff --git a/Source/WebCore/dom/ScriptExecutionContext.cpp b/Source/WebCore/dom/ScriptExecutionContext.cpp >index f052d86eb5450c27038bd54cddd56c8c85d099f7..366e16e9fdac03eb531d8254c0a778aa5e77f9a2 100644 >--- a/Source/WebCore/dom/ScriptExecutionContext.cpp >+++ b/Source/WebCore/dom/ScriptExecutionContext.cpp >@@ -176,7 +176,7 @@ void ScriptExecutionContext::didLoadResourceSynchronously(const ResourceRequest& > { > } > >-bool ScriptExecutionContext::canSuspendActiveDOMObjectsForPageCache(Vector<ActiveDOMObject*>* unsuspendableObjects) >+bool ScriptExecutionContext::canSuspendActiveDOMObjectsForDocumentSuspension(Vector<ActiveDOMObject*>* unsuspendableObjects) > { > checkConsistency(); > >@@ -193,7 +193,7 @@ bool ScriptExecutionContext::canSuspendActiveDOMObjectsForPageCache(Vector<Activ > // canSuspend functions so it will not happen! > NoEventDispatchAssertion assertNoEventDispatch; > for (auto* activeDOMObject : m_activeDOMObjects) { >- if (!activeDOMObject->canSuspendForPageCache()) { >+ if (!activeDOMObject->canSuspendForDocumentSuspension()) { > canSuspend = false; > if (unsuspendableObjects) > unsuspendableObjects->append(activeDOMObject); >diff --git a/Source/WebCore/dom/ScriptExecutionContext.h b/Source/WebCore/dom/ScriptExecutionContext.h >index 14030f82b15acab08b3f9a407d563e8cfca88a7d..9d0058cb3a3233609aa86eed7e1fd1f08e586c64 100644 >--- a/Source/WebCore/dom/ScriptExecutionContext.h >+++ b/Source/WebCore/dom/ScriptExecutionContext.h >@@ -85,9 +85,9 @@ public: > PublicURLManager& publicURLManager(); > > // Active objects are not garbage collected even if inaccessible, e.g. because their activity may result in callbacks being invoked. >- WEBCORE_EXPORT bool canSuspendActiveDOMObjectsForPageCache(Vector<ActiveDOMObject*>* unsuspendableObjects = nullptr); >+ WEBCORE_EXPORT bool canSuspendActiveDOMObjectsForDocumentSuspension(Vector<ActiveDOMObject*>* unsuspendableObjects = nullptr); > >- // Active objects can be asked to suspend even if canSuspendActiveDOMObjectsForPageCache() returns 'false' - >+ // Active objects can be asked to suspend even if canSuspendActiveDOMObjectsForDocumentSuspension() returns 'false' - > // step-by-step JS debugging is one example. > virtual void suspendActiveDOMObjects(ActiveDOMObject::ReasonForSuspension); > virtual void resumeActiveDOMObjects(ActiveDOMObject::ReasonForSuspension); >diff --git a/Source/WebCore/fileapi/FileReader.cpp b/Source/WebCore/fileapi/FileReader.cpp >index a0710185d4a89e4c6bba97ccee331ce64f644895..1d9a0958498b7ed85d14849577a037c2333ef206 100644 >--- a/Source/WebCore/fileapi/FileReader.cpp >+++ b/Source/WebCore/fileapi/FileReader.cpp >@@ -65,7 +65,7 @@ FileReader::~FileReader() > terminate(); > } > >-bool FileReader::canSuspendForPageCache() const >+bool FileReader::canSuspendForDocumentSuspension() const > { > // FIXME: It is not currently possible to suspend a FileReader, so pages with FileReader can not go into page cache. > return false; >diff --git a/Source/WebCore/fileapi/FileReader.h b/Source/WebCore/fileapi/FileReader.h >index 98ccf62e269a0e9991f2deeb6999152080138b07..27f4b6112899fc3acda5fdf2d0a613965246b574 100644 >--- a/Source/WebCore/fileapi/FileReader.h >+++ b/Source/WebCore/fileapi/FileReader.h >@@ -97,7 +97,7 @@ private: > > // ActiveDOMObject API. > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > void stop() override; > > // EventTarget >diff --git a/Source/WebCore/history/CachedFrame.cpp b/Source/WebCore/history/CachedFrame.cpp >index 45e64bae8ec5ad4c0f6f2b3a0f1f6a681980ff50..260fdb382ae35ec1cddb50501775611eb993ad45 100644 >--- a/Source/WebCore/history/CachedFrame.cpp >+++ b/Source/WebCore/history/CachedFrame.cpp >@@ -170,7 +170,7 @@ CachedFrame::CachedFrame(Frame& frame) > m_document->suspendActiveDOMObjects(ActiveDOMObject::PageCache); > m_cachedFrameScriptData = std::make_unique<ScriptCachedFrameData>(frame); > >- m_document->domWindow()->suspendForPageCache(); >+ m_document->domWindow()->suspendForDocumentSuspension(); > > frame.loader().client().savePlatformDataToCachedFrame(this); > >diff --git a/Source/WebCore/history/PageCache.cpp b/Source/WebCore/history/PageCache.cpp >index b854302306dbb9978b7b4281b20321aa2dc7bd91..523cb105b289a5d8391ea635d712288b4a878217 100644 >--- a/Source/WebCore/history/PageCache.cpp >+++ b/Source/WebCore/history/PageCache.cpp >@@ -149,7 +149,7 @@ static bool canCacheFrame(Frame& frame, DiagnosticLoggingClient& diagnosticLoggi > } > > Vector<ActiveDOMObject*> unsuspendableObjects; >- if (!frame.document()->canSuspendActiveDOMObjectsForPageCache(&unsuspendableObjects)) { >+ if (!frame.document()->canSuspendActiveDOMObjectsForDocumentSuspension(&unsuspendableObjects)) { > PCLOG(" -The document cannot suspend its active DOM Objects"); > for (auto* activeDOMObject : unsuspendableObjects) { > PCLOG(" - Unsuspendable: ", activeDOMObject->activeDOMObjectName()); >diff --git a/Source/WebCore/html/HTMLMarqueeElement.cpp b/Source/WebCore/html/HTMLMarqueeElement.cpp >index 23ffbb001e94bcd3da9009a8497fa1b6b431e919..9958ba1b339632ae61cad76fb6dc9e5ea34f78d4 100644 >--- a/Source/WebCore/html/HTMLMarqueeElement.cpp >+++ b/Source/WebCore/html/HTMLMarqueeElement.cpp >@@ -166,7 +166,7 @@ void HTMLMarqueeElement::setLoop(int loop, ExceptionCode& ec) > setIntegralAttribute(loopAttr, loop); > } > >-bool HTMLMarqueeElement::canSuspendForPageCache() const >+bool HTMLMarqueeElement::canSuspendForDocumentSuspension() const > { > return true; > } >diff --git a/Source/WebCore/html/HTMLMarqueeElement.h b/Source/WebCore/html/HTMLMarqueeElement.h >index eba3f79d91297ddbac69c3a4f57e52b2d2784708..394a163b5306d61849c9d611693680fc31dcdf65 100644 >--- a/Source/WebCore/html/HTMLMarqueeElement.h >+++ b/Source/WebCore/html/HTMLMarqueeElement.h >@@ -57,7 +57,7 @@ private: > virtual void collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStyleProperties&) override; > > // ActiveDOMObject >- virtual bool canSuspendForPageCache() const override; >+ virtual bool canSuspendForDocumentSuspension() const override; > virtual void suspend(ReasonForSuspension) override; > virtual void resume() override; > virtual const char* activeDOMObjectName() const override { return "HTMLMarqueeElement"; } >diff --git a/Source/WebCore/html/HTMLMediaElement.cpp b/Source/WebCore/html/HTMLMediaElement.cpp >index 4daf4a6eed477afe809b4a0b9464d705c2765c9f..e0cdb890a418a42e4d7ce16e64e9b41c68c29767 100644 >--- a/Source/WebCore/html/HTMLMediaElement.cpp >+++ b/Source/WebCore/html/HTMLMediaElement.cpp >@@ -4946,7 +4946,7 @@ void HTMLMediaElement::clearMediaPlayer(int flags) > updateSleepDisabling(); > } > >-bool HTMLMediaElement::canSuspendForPageCache() const >+bool HTMLMediaElement::canSuspendForDocumentSuspension() const > { > return true; > } >diff --git a/Source/WebCore/html/HTMLMediaElement.h b/Source/WebCore/html/HTMLMediaElement.h >index d4e38d0022af4a21b48505866e37afac540dc4d4..d4cc79648fbe31086f7e405a755ed4af70f455e5 100644 >--- a/Source/WebCore/html/HTMLMediaElement.h >+++ b/Source/WebCore/html/HTMLMediaElement.h >@@ -504,7 +504,7 @@ private: > > // ActiveDOMObject API. > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > void suspend(ReasonForSuspension) override; > void resume() override; > void stop() override; >diff --git a/Source/WebCore/html/HTMLSourceElement.cpp b/Source/WebCore/html/HTMLSourceElement.cpp >index 2931ce0d31222a3787d2924d99282d182cef11b4..1fec4fefe64bfe65df06dc86347657cb75336674 100644 >--- a/Source/WebCore/html/HTMLSourceElement.cpp >+++ b/Source/WebCore/html/HTMLSourceElement.cpp >@@ -129,7 +129,7 @@ const char* HTMLSourceElement::activeDOMObjectName() const > return "HTMLSourceElement"; > } > >-bool HTMLSourceElement::canSuspendForPageCache() const >+bool HTMLSourceElement::canSuspendForDocumentSuspension() const > { > return true; > } >diff --git a/Source/WebCore/html/HTMLSourceElement.h b/Source/WebCore/html/HTMLSourceElement.h >index f373fb9980ad9111668660000ee36b8c84b51fb6..5eaf135ade1faefc9925734b52be9615d17d9c2d 100644 >--- a/Source/WebCore/html/HTMLSourceElement.h >+++ b/Source/WebCore/html/HTMLSourceElement.h >@@ -54,7 +54,7 @@ private: > > // ActiveDOMObject. > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > void suspend(ReasonForSuspension) override; > void resume() override; > void stop() override; >diff --git a/Source/WebCore/html/PublicURLManager.cpp b/Source/WebCore/html/PublicURLManager.cpp >index 417f97c36c6cbacc1de1e7780c54fb481902d456..468d83f74232d81a22d84571702f4264dd4a5786 100644 >--- a/Source/WebCore/html/PublicURLManager.cpp >+++ b/Source/WebCore/html/PublicURLManager.cpp >@@ -80,7 +80,7 @@ void PublicURLManager::stop() > m_registryToURL.clear(); > } > >-bool PublicURLManager::canSuspendForPageCache() const >+bool PublicURLManager::canSuspendForDocumentSuspension() const > { > // Suspending an PublicURLManager is safe as it does not cause any JS to be executed. > return true; >diff --git a/Source/WebCore/html/PublicURLManager.h b/Source/WebCore/html/PublicURLManager.h >index 500054e30303347749147616a9c10a4bf7a990f0..4f94fc1ff4d7b3be51f54671ee6f81aade4284e0 100644 >--- a/Source/WebCore/html/PublicURLManager.h >+++ b/Source/WebCore/html/PublicURLManager.h >@@ -53,7 +53,7 @@ public: > private: > // ActiveDOMObject API. > void stop() override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > const char* activeDOMObjectName() const override; > > typedef HashSet<String> URLSet; >diff --git a/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp b/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp >index 61ba366a422f55c13e74377f4f4daa7ec3fc26cb..f6fca9d8783fbc465a19a247f44b9e555bc4ce46 100644 >--- a/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp >+++ b/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp >@@ -3927,7 +3927,7 @@ const char* WebGLRenderingContextBase::activeDOMObjectName() const > return "WebGLRenderingContext"; > } > >-bool WebGLRenderingContextBase::canSuspendForPageCache() const >+bool WebGLRenderingContextBase::canSuspendForDocumentSuspension() const > { > // FIXME: We should try and do better here. > return false; >diff --git a/Source/WebCore/html/canvas/WebGLRenderingContextBase.h b/Source/WebCore/html/canvas/WebGLRenderingContextBase.h >index ca058b1be0e94ddd4efb191d92e1f6692a36ee65..82902acadc14129814e154d5644415f5f01f8648 100644 >--- a/Source/WebCore/html/canvas/WebGLRenderingContextBase.h >+++ b/Source/WebCore/html/canvas/WebGLRenderingContextBase.h >@@ -384,7 +384,7 @@ protected: > virtual bool hasPendingActivity() const override; > virtual void stop() override; > virtual const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > > void addSharedObject(WebGLSharedObject*); > void addContextObject(WebGLContextObject*); >diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp >index 921bbf189f92cb89049005496142f0de70ba0e05..814888be97f4515fcb2210ee2ad53d6537d8edfc 100644 >--- a/Source/WebCore/loader/FrameLoader.cpp >+++ b/Source/WebCore/loader/FrameLoader.cpp >@@ -584,7 +584,7 @@ void FrameLoader::clear(Document* newDocument, bool clearWindowProperties, bool > // Do this after detaching the document so that the unload event works. > if (clearWindowProperties) { > InspectorInstrumentation::frameWindowDiscarded(&m_frame, m_frame.document()->domWindow()); >- m_frame.document()->domWindow()->resetUnlessSuspendedForPageCache(); >+ m_frame.document()->domWindow()->resetUnlessSuspendedForDocumentSuspension(); > m_frame.script().clearWindowShell(newDocument->domWindow(), m_frame.document()->inPageCache()); > } > >@@ -2074,7 +2074,7 @@ void FrameLoader::open(CachedFrameBase& cachedFrame) > view->setFrameRect(previousViewFrameRect.value()); > > m_frame.setDocument(document); >- document->domWindow()->resumeFromPageCache(); >+ document->domWindow()->resumeFromDocumentSuspension(); > > updateFirstPartyForCookies(); > >diff --git a/Source/WebCore/loader/appcache/DOMApplicationCache.cpp b/Source/WebCore/loader/appcache/DOMApplicationCache.cpp >index e58e2791e7218c3e5bbbcff30e3ff71fb76b5305..a7c07779ca7c729c93430968da36db760361a642 100644 >--- a/Source/WebCore/loader/appcache/DOMApplicationCache.cpp >+++ b/Source/WebCore/loader/appcache/DOMApplicationCache.cpp >@@ -46,16 +46,16 @@ DOMApplicationCache::DOMApplicationCache(Frame* frame) > cacheHost->setDOMApplicationCache(this); > } > >-void DOMApplicationCache::disconnectFrameForPageCache() >+void DOMApplicationCache::disconnectFrameForDocumentSuspension() > { > if (ApplicationCacheHost* cacheHost = applicationCacheHost()) > cacheHost->setDOMApplicationCache(nullptr); >- DOMWindowProperty::disconnectFrameForPageCache(); >+ DOMWindowProperty::disconnectFrameForDocumentSuspension(); > } > >-void DOMApplicationCache::reconnectFrameFromPageCache(Frame* frame) >+void DOMApplicationCache::reconnectFrameFromDocumentSuspension(Frame* frame) > { >- DOMWindowProperty::reconnectFrameFromPageCache(frame); >+ DOMWindowProperty::reconnectFrameFromDocumentSuspension(frame); > if (ApplicationCacheHost* cacheHost = applicationCacheHost()) > cacheHost->setDOMApplicationCache(this); > } >diff --git a/Source/WebCore/loader/appcache/DOMApplicationCache.h b/Source/WebCore/loader/appcache/DOMApplicationCache.h >index 44f12184e7d0ff68b44e91ca3354d5c97d995fe7..08101f487223576a345da134a0b29dbe16797739 100644 >--- a/Source/WebCore/loader/appcache/DOMApplicationCache.h >+++ b/Source/WebCore/loader/appcache/DOMApplicationCache.h >@@ -46,8 +46,8 @@ public: > static Ref<DOMApplicationCache> create(Frame* frame) { return adoptRef(*new DOMApplicationCache(frame)); } > virtual ~DOMApplicationCache() { ASSERT(!m_frame); } > >- virtual void disconnectFrameForPageCache() override; >- virtual void reconnectFrameFromPageCache(Frame*) override; >+ virtual void disconnectFrameForDocumentSuspension() override; >+ virtual void reconnectFrameFromDocumentSuspension(Frame*) override; > virtual void willDestroyGlobalObjectInFrame() override; > > unsigned short status() const; >diff --git a/Source/WebCore/page/DOMWindow.cpp b/Source/WebCore/page/DOMWindow.cpp >index a34a1edba30d88488b304b764b42133c7e3c5d58..1e9c70872b80a2b7217512a82c05860d673381ce 100644 >--- a/Source/WebCore/page/DOMWindow.cpp >+++ b/Source/WebCore/page/DOMWindow.cpp >@@ -393,7 +393,7 @@ DOMWindow::DOMWindow(Document* document) > : ContextDestructionObserver(document) > , FrameDestructionObserver(document->frame()) > , m_shouldPrintWhenFinishedLoading(false) >- , m_suspendedForPageCache(false) >+ , m_suspendedForDocumentSuspension(false) > , m_lastPageStatus(PageStatusNone) > , m_weakPtrFactory(this) > #if PLATFORM(IOS) >@@ -418,7 +418,7 @@ void DOMWindow::didSecureTransitionTo(Document* document) > DOMWindow::~DOMWindow() > { > #ifndef NDEBUG >- if (!m_suspendedForPageCache) { >+ if (!m_suspendedForDocumentSuspension) { > ASSERT(!m_screen); > ASSERT(!m_history); > ASSERT(!m_crypto); >@@ -440,7 +440,7 @@ DOMWindow::~DOMWindow() > } > #endif > >- if (m_suspendedForPageCache) >+ if (m_suspendedForDocumentSuspension) > willDestroyCachedFrame(); > else > willDestroyDocumentInFrame(); >@@ -542,45 +542,45 @@ void DOMWindow::unregisterProperty(DOMWindowProperty* property) > m_properties.remove(property); > } > >-void DOMWindow::resetUnlessSuspendedForPageCache() >+void DOMWindow::resetUnlessSuspendedForDocumentSuspension() > { >- if (m_suspendedForPageCache) >+ if (m_suspendedForDocumentSuspension) > return; > willDestroyDocumentInFrame(); > resetDOMWindowProperties(); > } > >-void DOMWindow::suspendForPageCache() >+void DOMWindow::suspendForDocumentSuspension() > { > disconnectDOMWindowProperties(); >- m_suspendedForPageCache = true; >+ m_suspendedForDocumentSuspension = true; > } > >-void DOMWindow::resumeFromPageCache() >+void DOMWindow::resumeFromDocumentSuspension() > { > reconnectDOMWindowProperties(); >- m_suspendedForPageCache = false; >+ m_suspendedForDocumentSuspension = false; > } > > void DOMWindow::disconnectDOMWindowProperties() > { > // It is necessary to copy m_properties to a separate vector because the DOMWindowProperties may >- // unregister themselves from the DOMWindow as a result of the call to disconnectFrameForPageCache. >+ // unregister themselves from the DOMWindow as a result of the call to disconnectFrameForDocumentSuspension. > Vector<DOMWindowProperty*> properties; > copyToVector(m_properties, properties); > for (auto& property : properties) >- property->disconnectFrameForPageCache(); >+ property->disconnectFrameForDocumentSuspension(); > } > > void DOMWindow::reconnectDOMWindowProperties() > { >- ASSERT(m_suspendedForPageCache); >+ ASSERT(m_suspendedForDocumentSuspension); > // It is necessary to copy m_properties to a separate vector because the DOMWindowProperties may > // unregister themselves from the DOMWindow as a result of the call to reconnectFromPageCache. > Vector<DOMWindowProperty*> properties; > copyToVector(m_properties, properties); > for (auto& property : properties) >- property->reconnectFrameFromPageCache(m_frame); >+ property->reconnectFrameFromDocumentSuspension(m_frame); > } > > void DOMWindow::resetDOMWindowProperties() >diff --git a/Source/WebCore/page/DOMWindow.h b/Source/WebCore/page/DOMWindow.h >index b5001bcf1b706fe70eb48f4a7871e726b2ba1a52..19474fbec27be4aa2a9acd91fa3dcaadbacbc4d3 100644 >--- a/Source/WebCore/page/DOMWindow.h >+++ b/Source/WebCore/page/DOMWindow.h >@@ -119,9 +119,9 @@ namespace WebCore { > void registerProperty(DOMWindowProperty*); > void unregisterProperty(DOMWindowProperty*); > >- void resetUnlessSuspendedForPageCache(); >- void suspendForPageCache(); >- void resumeFromPageCache(); >+ void resetUnlessSuspendedForDocumentSuspension(); >+ void suspendForDocumentSuspension(); >+ void resumeFromDocumentSuspension(); > > PassRefPtr<MediaQueryList> matchMedia(const String&); > >@@ -369,7 +369,7 @@ namespace WebCore { > #endif > > bool m_shouldPrintWhenFinishedLoading; >- bool m_suspendedForPageCache; >+ bool m_suspendedForDocumentSuspension; > > HashSet<DOMWindowProperty*> m_properties; > >diff --git a/Source/WebCore/page/DOMWindowExtension.cpp b/Source/WebCore/page/DOMWindowExtension.cpp >index 33561006675f5515056e05d46f994062f0fe0ecc..0e62b3437ab8bb5defe4c36f259239163f5cdb0e 100644 >--- a/Source/WebCore/page/DOMWindowExtension.cpp >+++ b/Source/WebCore/page/DOMWindowExtension.cpp >@@ -43,7 +43,7 @@ DOMWindowExtension::DOMWindowExtension(Frame* frame, DOMWrapperWorld& world) > ASSERT(this->frame()); > } > >-void DOMWindowExtension::disconnectFrameForPageCache() >+void DOMWindowExtension::disconnectFrameForDocumentSuspension() > { > // Calling out to the client might result in this DOMWindowExtension being destroyed > // while there is still work to do. >@@ -54,14 +54,14 @@ void DOMWindowExtension::disconnectFrameForPageCache() > > m_disconnectedFrame = frame; > >- DOMWindowProperty::disconnectFrameForPageCache(); >+ DOMWindowProperty::disconnectFrameForDocumentSuspension(); > } > >-void DOMWindowExtension::reconnectFrameFromPageCache(Frame* frame) >+void DOMWindowExtension::reconnectFrameFromDocumentSuspension(Frame* frame) > { > ASSERT(m_disconnectedFrame == frame); > >- DOMWindowProperty::reconnectFrameFromPageCache(frame); >+ DOMWindowProperty::reconnectFrameFromDocumentSuspension(frame); > m_disconnectedFrame = nullptr; > > this->frame()->loader().client().dispatchDidReconnectDOMWindowExtensionToGlobalObject(this); >diff --git a/Source/WebCore/page/DOMWindowExtension.h b/Source/WebCore/page/DOMWindowExtension.h >index a978ffc40d79e33c67e477e960c7ca17eb0c1788..36218d1d5a94384fe37bdeba79ab3405360d5bcb 100644 >--- a/Source/WebCore/page/DOMWindowExtension.h >+++ b/Source/WebCore/page/DOMWindowExtension.h >@@ -43,8 +43,8 @@ public: > return adoptRef(*new DOMWindowExtension(frame, world)); > } > >- virtual void disconnectFrameForPageCache() override; >- virtual void reconnectFrameFromPageCache(Frame*) override; >+ virtual void disconnectFrameForDocumentSuspension() override; >+ virtual void reconnectFrameFromDocumentSuspension(Frame*) override; > virtual void willDestroyGlobalObjectInCachedFrame() override; > virtual void willDestroyGlobalObjectInFrame() override; > virtual void willDetachGlobalObjectFromFrame() override; >diff --git a/Source/WebCore/page/DOMWindowProperty.cpp b/Source/WebCore/page/DOMWindowProperty.cpp >index e17e53fb2bcb745ba3238d5e02637f70a1c03fd3..a3770e8e700c6582626c64b985fdec6fc07f33f5 100644 >--- a/Source/WebCore/page/DOMWindowProperty.cpp >+++ b/Source/WebCore/page/DOMWindowProperty.cpp >@@ -55,7 +55,7 @@ DOMWindowProperty::~DOMWindowProperty() > m_frame = nullptr; > } > >-void DOMWindowProperty::disconnectFrameForPageCache() >+void DOMWindowProperty::disconnectFrameForDocumentSuspension() > { > // If this property is being disconnected from its Frame to enter the PageCache, it must have > // been created with a Frame in the first place. >@@ -65,7 +65,7 @@ void DOMWindowProperty::disconnectFrameForPageCache() > m_frame = nullptr; > } > >-void DOMWindowProperty::reconnectFrameFromPageCache(Frame* frame) >+void DOMWindowProperty::reconnectFrameFromDocumentSuspension(Frame* frame) > { > // If this property is being reconnected to its Frame to enter the PageCache, it must have > // been disconnected from its Frame in the first place and it should still have an associated DOMWindow. >diff --git a/Source/WebCore/page/DOMWindowProperty.h b/Source/WebCore/page/DOMWindowProperty.h >index e2dcc44371eacf12947a8b1a80cb0e2c7289a1b4..f6624adbeae2fcc843119c8555f0ce41c9e767ef 100644 >--- a/Source/WebCore/page/DOMWindowProperty.h >+++ b/Source/WebCore/page/DOMWindowProperty.h >@@ -35,8 +35,8 @@ class DOMWindowProperty { > public: > explicit DOMWindowProperty(Frame*); > >- virtual void disconnectFrameForPageCache(); >- virtual void reconnectFrameFromPageCache(Frame*); >+ virtual void disconnectFrameForDocumentSuspension(); >+ virtual void reconnectFrameFromDocumentSuspension(Frame*); > virtual void willDestroyGlobalObjectInCachedFrame(); > virtual void willDestroyGlobalObjectInFrame(); > virtual void willDetachGlobalObjectFromFrame(); >diff --git a/Source/WebCore/page/EventSource.cpp b/Source/WebCore/page/EventSource.cpp >index 4a101512d6866388600ed732fc3ca8416f7a40bb..b8341e6b6c07576f74f412345332af5e9926c464 100644 >--- a/Source/WebCore/page/EventSource.cpp >+++ b/Source/WebCore/page/EventSource.cpp >@@ -404,7 +404,7 @@ const char* EventSource::activeDOMObjectName() const > return "EventSource"; > } > >-bool EventSource::canSuspendForPageCache() const >+bool EventSource::canSuspendForDocumentSuspension() const > { > // FIXME: We should try and do better here. > return false; >diff --git a/Source/WebCore/page/EventSource.h b/Source/WebCore/page/EventSource.h >index 1d25458ee3d0bfadb123b01bf6f9fede0243de59..9e81a2af1138a2b3cbd646ec2d4f955c0022efe8 100644 >--- a/Source/WebCore/page/EventSource.h >+++ b/Source/WebCore/page/EventSource.h >@@ -90,7 +90,7 @@ private: > // ActiveDOMObject API. > void stop() override; > const char* activeDOMObjectName() const override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > > void connect(); > void networkRequestEnded(); >diff --git a/Source/WebCore/page/SuspendableTimer.cpp b/Source/WebCore/page/SuspendableTimer.cpp >index 79b04fdd9f1251d3f05580cc6306543c46425fdd..76583c12ba8291aaa6ae4bc5dfdd46b24c576435 100644 >--- a/Source/WebCore/page/SuspendableTimer.cpp >+++ b/Source/WebCore/page/SuspendableTimer.cpp >@@ -84,7 +84,7 @@ void SuspendableTimer::resume() > start(m_savedNextFireInterval, m_savedRepeatInterval); > } > >-bool SuspendableTimer::canSuspendForPageCache() const >+bool SuspendableTimer::canSuspendForDocumentSuspension() const > { > return true; > } >diff --git a/Source/WebCore/page/SuspendableTimer.h b/Source/WebCore/page/SuspendableTimer.h >index 578fc3bf63ae407bbe0b75b38b74d45ad2dee651..a01dd5e2968fc43a0d2219499218f02c08857ca3 100644 >--- a/Source/WebCore/page/SuspendableTimer.h >+++ b/Source/WebCore/page/SuspendableTimer.h >@@ -60,7 +60,7 @@ private: > // ActiveDOMObject API. > bool hasPendingActivity() const override final; > void stop() override final; >- bool canSuspendForPageCache() const override final; >+ bool canSuspendForDocumentSuspension() const override final; > void suspend(ReasonForSuspension) override final; > void resume() override final; > >diff --git a/Source/WebCore/workers/Worker.cpp b/Source/WebCore/workers/Worker.cpp >index e868906f88ca0dd46f993ac841b0e0abfb0b4400..de3d4e10def1ef5800307e78142a70a3cb05e2c3 100644 >--- a/Source/WebCore/workers/Worker.cpp >+++ b/Source/WebCore/workers/Worker.cpp >@@ -124,7 +124,7 @@ void Worker::terminate() > m_contextProxy->terminateWorkerGlobalScope(); > } > >-bool Worker::canSuspendForPageCache() const >+bool Worker::canSuspendForDocumentSuspension() const > { > // FIXME: It is not currently possible to suspend a worker, so pages with workers can not go into page cache. > return false; >diff --git a/Source/WebCore/workers/Worker.h b/Source/WebCore/workers/Worker.h >index d9dba4b99b59a6835d4e59836ba5225d654d3f12..0985751910b4e922dd05fb03c230e0fd1f920dcf 100644 >--- a/Source/WebCore/workers/Worker.h >+++ b/Source/WebCore/workers/Worker.h >@@ -75,7 +75,7 @@ namespace WebCore { > virtual void notifyFinished() override; > > // ActiveDOMObject API. >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > void stop() override; > const char* activeDOMObjectName() const override; > >diff --git a/Source/WebCore/xml/XMLHttpRequest.cpp b/Source/WebCore/xml/XMLHttpRequest.cpp >index 804b7081c1715ff05beec41e62f5f25bd09fa7e9..4c48c94f8b29336b4424112d6b2ecbb96083fc5e 100644 >--- a/Source/WebCore/xml/XMLHttpRequest.cpp >+++ b/Source/WebCore/xml/XMLHttpRequest.cpp >@@ -1246,7 +1246,7 @@ void XMLHttpRequest::didReachTimeout() > dispatchErrorEvents(eventNames().timeoutEvent); > } > >-bool XMLHttpRequest::canSuspendForPageCache() const >+bool XMLHttpRequest::canSuspendForDocumentSuspension() const > { > // If the load event has not fired yet, cancelling the load in suspend() may cause > // the load event to be fired and arbitrary JS execution, which would be unsafe. >diff --git a/Source/WebCore/xml/XMLHttpRequest.h b/Source/WebCore/xml/XMLHttpRequest.h >index a5d130bce1a74dba5f9e96e803e91a0b6aee8c6d..32c712f59b069dbc793a8c5893b1bd59b8ca9148 100644 >--- a/Source/WebCore/xml/XMLHttpRequest.h >+++ b/Source/WebCore/xml/XMLHttpRequest.h >@@ -148,7 +148,7 @@ private: > > // ActiveDOMObject > void contextDestroyed() override; >- bool canSuspendForPageCache() const override; >+ bool canSuspendForDocumentSuspension() const override; > void suspend(ReasonForSuspension) override; > void resume() override; > void stop() override; >diff --git a/Source/WebKit/WebKit.xcodeproj/project.pbxproj b/Source/WebKit/WebKit.xcodeproj/project.pbxproj >index 1c05cb84ee19364b48b3d0678b72767a55896375..db331451f8abd8618f0844de9c0e85f878fefbfe 100644 >--- a/Source/WebKit/WebKit.xcodeproj/project.pbxproj >+++ b/Source/WebKit/WebKit.xcodeproj/project.pbxproj >@@ -878,7 +878,7 @@ > EDE850CD06ECC79E005FAB05 /* WebPreferenceKeysPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPreferenceKeysPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; > F508946902B71D59018A9CD4 /* WebNSViewExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSViewExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; > F508946A02B71D59018A9CD4 /* WebNSViewExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSViewExtras.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; >- F5143A370221DCCE01A80181 /* WebFrame.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFrame.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; >+ F5143A370221DCCE01A80181 /* WebFrame.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 0; path = WebFrame.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; }; > F520FB190221DEFD01C1A525 /* WebHistory.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebHistory.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; > F528E3E9031E91AD01CA2ACA /* WebIconDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabase.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; > F528E3EA031E91AD01CA2ACA /* WebIconDatabase.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebIconDatabase.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; }; >diff --git a/Source/WebKit/mac/WebView/WebFrame.mm b/Source/WebKit/mac/WebView/WebFrame.mm >index f219060eaa67a1447dcc008103cb1e6bd92e87e6..797380023377dea7f91c048abc56757f257223c7 100644 >--- a/Source/WebKit/mac/WebView/WebFrame.mm >+++ b/Source/WebKit/mac/WebView/WebFrame.mm >@@ -2053,7 +2053,7 @@ - (NSMutableDictionary *)_cacheabilityDictionary > if (Document* document = _private->coreFrame->document()) { > if (DatabaseManager::singleton().hasOpenDatabases(document)) > [result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameUsesDatabases]; >- if (!document->canSuspendActiveDOMObjectsForPageCache()) >+ if (!document->canSuspendActiveDOMObjectsForDocumentSuspension()) > [result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameCanSuspendActiveDOMObjects]; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 151677
:
266295
|
266299