diff options
author | michaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-21 19:18:36 +0000 |
---|---|---|
committer | michaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-21 19:18:36 +0000 |
commit | 4252f6098889f2c5a8649d1688b269e53a51d42d (patch) | |
tree | bbb1040a665b91ac297685ee6b7add579822a911 /webkit/appcache/appcache_storage.cc | |
parent | 29a6c9738ebb608d40567189452fd9c19f55569c (diff) | |
download | chromium_src-4252f6098889f2c5a8649d1688b269e53a51d42d.zip chromium_src-4252f6098889f2c5a8649d1688b269e53a51d42d.tar.gz chromium_src-4252f6098889f2c5a8649d1688b269e53a51d42d.tar.bz2 |
More groundwork for filestream based response storage.
This CL touches many files, but it amounts to mindless plumbing of a group_id value.
This doesn't involve any new database or fileio or task scheduling.
In order to read or write a response, callers now need to provide the group_id of
the corresponding manifest, so the AppCacheStorage CreateRepsonseReader() and
CreateResponseWriter() methods now take this additional parameter.
The current disk_cache based impl doesn't use this param for anything, but the
filestream based impl will use it to keep responses for a group in a particular
subdirectory.
When looking up the main resource for a page load via FindResponseForMainRequest,
the group_id needs to be returned so the response may later be read, the
AppCacheStorage::Delegate OnMainResponseFound() method has a param for that.
A bunch of callsites, tests, and mocks are updated accordingly.
BUG=78359
Review URL: http://codereview.chromium.org/8343018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106755 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/appcache/appcache_storage.cc')
-rw-r--r-- | webkit/appcache/appcache_storage.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/webkit/appcache/appcache_storage.cc b/webkit/appcache/appcache_storage.cc index 47e64db..7247c40 100644 --- a/webkit/appcache/appcache_storage.cc +++ b/webkit/appcache/appcache_storage.cc @@ -39,10 +39,12 @@ AppCacheStorage::DelegateReference::~DelegateReference() { AppCacheStorage::ResponseInfoLoadTask::ResponseInfoLoadTask( const GURL& manifest_url, + int64 group_id, int64 response_id, AppCacheStorage* storage) : storage_(storage), manifest_url_(manifest_url), + group_id_(group_id), response_id_(response_id), info_buffer_(new HttpResponseInfoIOBuffer), ALLOW_THIS_IN_INITIALIZER_LIST(read_callback_( @@ -58,7 +60,7 @@ void AppCacheStorage::ResponseInfoLoadTask::StartIfNeeded() { if (reader_.get()) return; reader_.reset( - storage_->CreateResponseReader(manifest_url_, response_id_)); + storage_->CreateResponseReader(manifest_url_, group_id_, response_id_)); reader_->ReadInfo(info_buffer_, &read_callback_); } @@ -76,15 +78,16 @@ void AppCacheStorage::ResponseInfoLoadTask::OnReadComplete(int result) { } void AppCacheStorage::LoadResponseInfo( - const GURL& manifest_url, int64 id, Delegate* delegate) { + const GURL& manifest_url, int64 group_id, int64 id, Delegate* delegate) { AppCacheResponseInfo* info = working_set_.GetResponseInfo(id); if (info) { delegate->OnResponseInfoLoaded(info, id); return; } ResponseInfoLoadTask* info_load = - GetOrCreateResponseInfoLoadTask(manifest_url, id); + GetOrCreateResponseInfoLoadTask(manifest_url, group_id, id); DCHECK(manifest_url == info_load->manifest_url()); + DCHECK(group_id == info_load->group_id()); DCHECK(id == info_load->response_id()); info_load->AddDelegate(GetOrCreateDelegateReference(delegate)); info_load->StartIfNeeded(); |