Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(450)

Unified Diff: webkit/appcache/appcache_host.cc

Issue 3009005: Chrome side of changes required to populate appcache resource list.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/appcache/appcache_host.cc
===================================================================
--- webkit/appcache/appcache_host.cc (revision 53710)
+++ webkit/appcache/appcache_host.cc (working copy)
@@ -252,6 +252,25 @@
return NULL;
}
+void AppCacheHost::GetResourceList(
+ std::vector<AppCacheResourceInfo>* resource_infos) {
+ if (associated_cache_.get() && associated_cache_->is_complete()) {
+ for (AppCache::EntryMap::const_iterator it =
+ associated_cache_->entries().begin();
+ it != associated_cache_->entries().end(); ++it) {
+ AppCacheResourceInfo info;
+ info.url = it->first;
+ info.is_master = it->second.IsMaster();
+ info.is_manifest = it->second.IsManifest();
+ info.is_fallback = it->second.IsFallback();
+ info.is_foreign = it->second.IsForeign();
+ info.is_explicit = it->second.IsExplicit();
+ info.size = it->second.response_size();
+ resource_infos->push_back(info);
+ }
+ }
+}
+
Status AppCacheHost::GetStatus() {
// 6.9.8 Application cache API
AppCache* cache = associated_cache();
@@ -417,12 +436,23 @@
associated_cache_ = cache;
SetSwappableCache(cache ? cache->owning_group() : NULL);
-
+ AppCacheInfo info;
if (cache) {
cache->AssociateHost(this);
- frontend_->OnCacheSelected(host_id_, cache->cache_id(), GetStatus());
+ info.cache_id = cache->cache_id();
+ info.status = GetStatus();
+ info.is_complete = cache->is_complete();
+ if (cache->is_complete()) {
+ // TODO(kkanetkar): Get manifest URL info for NULL owning_group().
+ info.manifest_url = cache->owning_group()->manifest_url();
+ info.last_update_time = cache->update_time();
+ info.creation_time = cache->owning_group()->creation_time();
+ info.size = cache->cache_size();
+ }
+ frontend_->OnCacheSelected(host_id_, info);
} else {
- frontend_->OnCacheSelected(host_id_, kNoCacheId, UNCACHED);
+ // No Cache.
+ frontend_->OnCacheSelected(host_id_, info);
}
}

Powered by Google App Engine
This is Rietveld 408576698