Title: [182551] trunk/Source
- Revision
- 182551
- Author
- [email protected]
- Date
- 2015-04-08 10:52:15 -0700 (Wed, 08 Apr 2015)
Log Message
Move some ApplicationCache static member functions to ApplicationCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=143524
Reviewed by Antti Koivisto.
Source/WebCore:
This is yet another step towards eliminating ApplicationCacheStorage::singleton() and making the storage be per page instead.
* loader/appcache/ApplicationCache.cpp:
(WebCore::ApplicationCache::deleteCacheForOrigin):
(WebCore::ApplicationCache::deleteAllCaches):
(WebCore::ApplicationCache::diskUsageForOrigin):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::deleteAllCaches):
(WebCore::ApplicationCacheStorage::deleteCacheForOrigin):
(WebCore::ApplicationCacheStorage::diskUsageForOrigin):
* loader/appcache/ApplicationCacheStorage.h:
Source/WebKit/mac:
* WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache diskUsageForOrigin:]):
(+[WebApplicationCache deleteAllApplicationCaches]):
(+[WebApplicationCache deleteCacheForOrigin:]):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (182550 => 182551)
--- trunk/Source/WebCore/ChangeLog 2015-04-08 17:51:17 UTC (rev 182550)
+++ trunk/Source/WebCore/ChangeLog 2015-04-08 17:52:15 UTC (rev 182551)
@@ -1,3 +1,22 @@
+2015-04-08 Anders Carlsson <[email protected]>
+
+ Move some ApplicationCache static member functions to ApplicationCacheStorage
+ https://bugs.webkit.org/show_bug.cgi?id=143524
+
+ Reviewed by Antti Koivisto.
+
+ This is yet another step towards eliminating ApplicationCacheStorage::singleton() and making the storage be per page instead.
+
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::deleteCacheForOrigin):
+ (WebCore::ApplicationCache::deleteAllCaches):
+ (WebCore::ApplicationCache::diskUsageForOrigin):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::deleteAllCaches):
+ (WebCore::ApplicationCacheStorage::deleteCacheForOrigin):
+ (WebCore::ApplicationCacheStorage::diskUsageForOrigin):
+ * loader/appcache/ApplicationCacheStorage.h:
+
2015-04-08 ChangSeok Oh <[email protected]>
Fill list style background with same color with that of list background.
Modified: trunk/Source/WebCore/loader/appcache/ApplicationCache.cpp (182550 => 182551)
--- trunk/Source/WebCore/loader/appcache/ApplicationCache.cpp 2015-04-08 17:51:17 UTC (rev 182550)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCache.cpp 2015-04-08 17:52:15 UTC (rev 182551)
@@ -192,45 +192,17 @@
void ApplicationCache::deleteCacheForOrigin(SecurityOrigin* origin)
{
- auto& cacheStorage = ApplicationCacheStorage::singleton();
-
- Vector<URL> urls;
- if (!cacheStorage.getManifestURLs(&urls)) {
- LOG_ERROR("Failed to retrieve ApplicationCache manifest URLs");
- return;
- }
-
- URL originURL(URL(), origin->toString());
-
- size_t count = urls.size();
- for (size_t i = 0; i < count; ++i) {
- if (protocolHostAndPortAreEqual(urls[i], originURL)) {
- ApplicationCacheGroup* group = cacheStorage.findInMemoryCacheGroup(urls[i]);
- if (group)
- group->makeObsolete();
- else
- cacheStorage.deleteCacheGroup(urls[i]);
- }
- }
+ ApplicationCacheStorage::singleton().deleteCacheForOrigin(*origin);
}
void ApplicationCache::deleteAllCaches()
{
- HashSet<RefPtr<SecurityOrigin>> origins;
-
- auto& cacheStorage = ApplicationCacheStorage::singleton();
- cacheStorage.getOriginsWithCache(origins);
- for (auto& origin : origins)
- deleteCacheForOrigin(origin.get());
-
- cacheStorage.vacuumDatabaseFile();
+ ApplicationCacheStorage::singleton().deleteAllCaches();
}
int64_t ApplicationCache::diskUsageForOrigin(SecurityOrigin* origin)
{
- int64_t usage = 0;
- ApplicationCacheStorage::singleton().calculateUsageForOrigin(origin, usage);
- return usage;
+ return ApplicationCacheStorage::singleton().diskUsageForOrigin(*origin);
}
#ifndef NDEBUG
Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp (182550 => 182551)
--- trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp 2015-04-08 17:51:17 UTC (rev 182550)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp 2015-04-08 17:52:15 UTC (rev 182551)
@@ -1542,6 +1542,45 @@
vacuumDatabaseFile();
}
+void ApplicationCacheStorage::deleteAllCaches()
+{
+ HashSet<RefPtr<SecurityOrigin>> origins;
+
+ getOriginsWithCache(origins);
+ for (auto& origin : origins)
+ deleteCacheForOrigin(*origin);
+
+ vacuumDatabaseFile();
+}
+
+void ApplicationCacheStorage::deleteCacheForOrigin(const SecurityOrigin& securityOrigin)
+{
+ Vector<URL> urls;
+ if (!getManifestURLs(&urls)) {
+ LOG_ERROR("Failed to retrieve ApplicationCache manifest URLs");
+ return;
+ }
+
+ URL originURL(URL(), securityOrigin.toString());
+
+ for (const auto& url : urls) {
+ if (!protocolHostAndPortAreEqual(url, originURL))
+ continue;
+
+ if (auto* group = findInMemoryCacheGroup(url))
+ group->makeObsolete();
+ else
+ deleteCacheGroup(url);
+ }
+}
+
+int64_t ApplicationCacheStorage::diskUsageForOrigin(const SecurityOrigin& securityOrigin)
+{
+ int64_t usage = 0;
+ calculateUsageForOrigin(&securityOrigin, usage);
+ return usage;
+}
+
ApplicationCacheStorage::ApplicationCacheStorage()
: m_maximumSize(ApplicationCacheStorage::noQuota())
, m_isMaximumSizeReached(false)
Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.h (182550 => 182551)
--- trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.h 2015-04-08 17:51:17 UTC (rev 182550)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.h 2015-04-08 17:52:15 UTC (rev 182551)
@@ -99,6 +99,15 @@
WEBCORE_EXPORT void getOriginsWithCache(HashSet<RefPtr<SecurityOrigin>, SecurityOriginHash>&);
WEBCORE_EXPORT void deleteAllEntries();
+ // FIXME: This should be consolidated with deleteAllEntries().
+ WEBCORE_EXPORT void deleteAllCaches();
+
+ // FIXME: This should be consolidated with deleteCacheGroup().
+ WEBCORE_EXPORT void deleteCacheForOrigin(const SecurityOrigin&);
+
+ // FIXME: This should be consolidated with calculateUsageForOrigin().
+ WEBCORE_EXPORT int64_t diskUsageForOrigin(const SecurityOrigin&);
+
static int64_t unknownQuota() { return -1; }
static int64_t noQuota() { return std::numeric_limits<int64_t>::max(); }
private:
Modified: trunk/Source/WebKit/mac/ChangeLog (182550 => 182551)
--- trunk/Source/WebKit/mac/ChangeLog 2015-04-08 17:51:17 UTC (rev 182550)
+++ trunk/Source/WebKit/mac/ChangeLog 2015-04-08 17:52:15 UTC (rev 182551)
@@ -1,3 +1,15 @@
+2015-04-08 Anders Carlsson <[email protected]>
+
+ Move some ApplicationCache static member functions to ApplicationCacheStorage
+ https://bugs.webkit.org/show_bug.cgi?id=143524
+
+ Reviewed by Antti Koivisto.
+
+ * WebCoreSupport/WebApplicationCache.mm:
+ (+[WebApplicationCache diskUsageForOrigin:]):
+ (+[WebApplicationCache deleteAllApplicationCaches]):
+ (+[WebApplicationCache deleteCacheForOrigin:]):
+
2015-04-08 Chris Dumez <[email protected]>
Rename ActiveDOMObject::canSuspend() to canSuspendForPageCache() for clarity
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebApplicationCache.mm (182550 => 182551)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebApplicationCache.mm 2015-04-08 17:51:17 UTC (rev 182550)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebApplicationCache.mm 2015-04-08 17:52:15 UTC (rev 182551)
@@ -82,17 +82,17 @@
+ (long long)diskUsageForOrigin:(WebSecurityOrigin *)origin
{
- return ApplicationCache::diskUsageForOrigin([origin _core]);
+ return webApplicationCacheStorage().diskUsageForOrigin(*[origin _core]);
}
+ (void)deleteAllApplicationCaches
{
- ApplicationCache::deleteAllCaches();
+ webApplicationCacheStorage().deleteAllCaches();
}
+ (void)deleteCacheForOrigin:(WebSecurityOrigin *)origin
{
- ApplicationCache::deleteCacheForOrigin([origin _core]);
+ webApplicationCacheStorage().deleteCacheForOrigin(*[origin _core]);
}
+ (NSArray *)originsWithCache
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes