| 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_)
|
|
|