summaryrefslogtreecommitdiffstats
path: root/webkit/appcache/appcache_update_job.h
diff options
context:
space:
mode:
authormichaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-13 20:57:50 +0000
committermichaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-13 20:57:50 +0000
commita84e7b5ec1cbdfe2d6943693d8bd71fcb6c64ce7 (patch)
treedf6dbcf9a6bca8343355ffef01eeed49f6059b83 /webkit/appcache/appcache_update_job.h
parent45699d6054f62173d0cd9df0f43af65047d76d79 (diff)
downloadchromium_src-a84e7b5ec1cbdfe2d6943693d8bd71fcb6c64ce7.zip
chromium_src-a84e7b5ec1cbdfe2d6943693d8bd71fcb6c64ce7.tar.gz
chromium_src-a84e7b5ec1cbdfe2d6943693d8bd71fcb6c64ce7.tar.bz2
Trigger the deletion of unused responses when caches are updated and made obsolete (deleted).
BUG=none TEST=not yet Review URL: http://codereview.chromium.org/542021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36166 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/appcache/appcache_update_job.h')
-rw-r--r--webkit/appcache/appcache_update_job.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/webkit/appcache/appcache_update_job.h b/webkit/appcache/appcache_update_job.h
index e4d50ca..1eec1a4 100644
--- a/webkit/appcache/appcache_update_job.h
+++ b/webkit/appcache/appcache_update_job.h
@@ -174,6 +174,7 @@ class AppCacheUpdateJob : public URLRequest::Delegate,
void Cancel();
void ClearPendingMasterEntries();
void DiscardInprogressCache();
+ void DiscardDuplicateResponses();
// Deletes this object after letting the stack unwind.
void DeleteSoon();
@@ -240,6 +241,13 @@ class AppCacheUpdateJob : public URLRequest::Delegate,
// error conditions.
std::vector<int64> stored_response_ids_;
+ // In some cases we fetch the same resource multiple times, and then
+ // have to delete the duplicates upon successful update. These ids
+ // are also in the stored_response_ids_ collection so we only schedule
+ // these for deletion on success.
+ // TODO(michaeln): Rework when we no longer fetches master entries directly.
+ std::vector<int64> duplicate_response_ids_;
+
net::CompletionCallbackImpl<AppCacheUpdateJob> manifest_info_write_callback_;
net::CompletionCallbackImpl<AppCacheUpdateJob> manifest_data_write_callback_;
net::CompletionCallbackImpl<AppCacheUpdateJob> manifest_data_read_callback_;