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

Unified Diff: webkit/appcache/appcache_group.cc

Issue 326002: Add storage code to appcache update process. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 2 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_group.cc
===================================================================
--- webkit/appcache/appcache_group.cc (revision 30060)
+++ webkit/appcache/appcache_group.cc (working copy)
@@ -75,20 +75,32 @@
void AppCacheGroup::RemoveCache(AppCache* cache) {
DCHECK(cache->associated_hosts().empty());
if (cache == newest_complete_cache_) {
- AppCache* cache = newest_complete_cache_;
+ AppCache* tmp_cache = newest_complete_cache_;
newest_complete_cache_ = NULL;
- cache->set_owning_group(NULL); // may cause this group to be deleted
+ tmp_cache->set_owning_group(NULL); // may cause this group to be deleted
} else {
Caches::iterator it =
std::find(old_caches_.begin(), old_caches_.end(), cache);
if (it != old_caches_.end()) {
- AppCache* cache = *it;
+ AppCache* tmp_cache = *it;
old_caches_.erase(it);
- cache->set_owning_group(NULL); // may cause group to be deleted
+ tmp_cache->set_owning_group(NULL); // may cause group to be deleted
}
}
}
+void AppCacheGroup::RestoreCacheAsNewest(AppCache* former_newest_cache) {
+ newest_complete_cache_->set_owning_group(NULL);
+ newest_complete_cache_ = former_newest_cache;
+ if (former_newest_cache) {
+ DCHECK(former_newest_cache->owning_group() == this);
+ Caches::iterator it =
+ std::find(old_caches_.begin(), old_caches_.end(), former_newest_cache);
+ DCHECK(it != old_caches_.end());
+ old_caches_.erase(it);
+ }
+}
+
void AppCacheGroup::StartUpdateWithNewMasterEntry(
AppCacheHost* host, const GURL& new_master_resource) {
if (!update_job_)

Powered by Google App Engine
This is Rietveld 408576698