summaryrefslogtreecommitdiffstats
path: root/webkit/appcache
diff options
context:
space:
mode:
authormichaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-14 00:26:18 +0000
committermichaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-14 00:26:18 +0000
commit19f813b9ced7f01906f50a5895303f310a11482c (patch)
treeddcb025098964eed21ba509f8357f91187bcc611 /webkit/appcache
parente23392c006de2fa3e862ce4874f0546b9f5ef1bf (diff)
downloadchromium_src-19f813b9ced7f01906f50a5895303f310a11482c.zip
chromium_src-19f813b9ced7f01906f50a5895303f310a11482c.tar.gz
chromium_src-19f813b9ced7f01906f50a5895303f310a11482c.tar.bz2
Small change to recently committed r88746 to avoid a potential crasher in an unlikely case.
BUG=none TEST=existing tests apply Review URL: http://codereview.chromium.org/7129077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88931 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/appcache')
-rw-r--r--webkit/appcache/appcache_service.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/webkit/appcache/appcache_service.cc b/webkit/appcache/appcache_service.cc
index 925e693..bc0f4cc 100644
--- a/webkit/appcache/appcache_service.cc
+++ b/webkit/appcache/appcache_service.cc
@@ -155,7 +155,7 @@ class AppCacheService::DeleteOriginHelper : public AsyncHelper {
AppCacheService* service, const GURL& origin,
net::CompletionCallback* callback)
: AsyncHelper(service, callback), origin_(origin),
- successes_(0), failures_(0) {
+ num_caches_to_delete_(0), successes_(0), failures_(0) {
}
virtual void Start() {
@@ -174,7 +174,7 @@ class AppCacheService::DeleteOriginHelper : public AsyncHelper {
void CacheCompleted(bool success);
GURL origin_;
- AppCacheInfoVector caches_to_delete_;
+ int num_caches_to_delete_;
int successes_;
int failures_;
DISALLOW_COPY_AND_ASSIGN(DeleteOriginHelper);
@@ -198,11 +198,12 @@ void AppCacheService::DeleteOriginHelper::OnAllInfo(
}
// We have some caches to delete.
- caches_to_delete_.swap(found->second);
+ const AppCacheInfoVector& caches_to_delete = found->second;
successes_ = 0;
failures_ = 0;
- for (AppCacheInfoVector::iterator iter = caches_to_delete_.begin();
- iter != caches_to_delete_.end(); ++iter) {
+ num_caches_to_delete_ = static_cast<int>(caches_to_delete.size());
+ for (AppCacheInfoVector::const_iterator iter = caches_to_delete.begin();
+ iter != caches_to_delete.end(); ++iter) {
service_->storage()->LoadOrCreateGroup(iter->manifest_url, this);
}
}
@@ -228,7 +229,7 @@ void AppCacheService::DeleteOriginHelper::CacheCompleted(bool success) {
++successes_;
else
++failures_;
- if ((successes_ + failures_) < static_cast<int>(caches_to_delete_.size()))
+ if ((successes_ + failures_) < num_caches_to_delete_)
return;
CallCallback(!failures_ ? net::OK : net::ERR_FAILED);