diff options
author | michaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-05 00:19:40 +0000 |
---|---|---|
committer | michaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-05 00:19:40 +0000 |
commit | 2abcade13437abb0a3b92cb0b7236b3dd5f1a236 (patch) | |
tree | 268c2baca793e8e865d4b24c69376cf212927133 /webkit/appcache/appcache_storage_impl.cc | |
parent | 17e6cde51ff33a5dac5290e978c4e7acf08a473c (diff) | |
download | chromium_src-2abcade13437abb0a3b92cb0b7236b3dd5f1a236.zip chromium_src-2abcade13437abb0a3b92cb0b7236b3dd5f1a236.tar.gz chromium_src-2abcade13437abb0a3b92cb0b7236b3dd5f1a236.tar.bz2 |
Fix some loose ends around recently introduced AppCache INTERCEPT namespaces
- if an intercept entry cant be fetched, the appcache update should fail
- properly mark the intercept entry as FORIEGN when thats detected
BUG=101565
Review URL: http://codereview.chromium.org/8949001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116417 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/appcache/appcache_storage_impl.cc')
-rw-r--r-- | webkit/appcache/appcache_storage_impl.cc | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/webkit/appcache/appcache_storage_impl.cc b/webkit/appcache/appcache_storage_impl.cc index 617bc27..4e3c3be 100644 --- a/webkit/appcache/appcache_storage_impl.cc +++ b/webkit/appcache/appcache_storage_impl.cc @@ -851,7 +851,7 @@ class AppCacheStorageImpl::FindMainResponseTask : public DatabaseTask { std::set<int64> cache_ids_in_use_; AppCacheEntry entry_; AppCacheEntry fallback_entry_; - GURL fallback_url_; + GURL namespace_entry_url_; int64 cache_id_; int64 group_id_; GURL manifest_url_; @@ -1004,13 +1004,12 @@ FindMainResponseTask::FindFirstValidNamespace( manifest_url_ = group_record.manifest_url; group_id_ = group_record.group_id; cache_id_ = (*iter)->cache_id; - if ((*iter)->type == FALLBACK_NAMESPACE) { - fallback_url_ = (*iter)->target_url; - fallback_entry_ = AppCacheEntry( - entry_record.flags, entry_record.response_id); - } else { + namespace_entry_url_ = (*iter)->target_url; + if ((*iter)->type == FALLBACK_NAMESPACE) + fallback_entry_ = AppCacheEntry(entry_record.flags, + entry_record.response_id); + else entry_ = AppCacheEntry(entry_record.flags, entry_record.response_id); - } return true; // We found one. } } @@ -1019,7 +1018,7 @@ FindMainResponseTask::FindFirstValidNamespace( void AppCacheStorageImpl::FindMainResponseTask::RunCompleted() { storage_->CallOnMainResponseFound( - &delegates_, url_, entry_, fallback_url_, fallback_entry_, + &delegates_, url_, entry_, namespace_entry_url_, fallback_entry_, cache_id_, group_id_, manifest_url_); } @@ -1453,12 +1452,12 @@ void AppCacheStorageImpl::DeliverShortCircuitedFindMainResponse( void AppCacheStorageImpl::CallOnMainResponseFound( DelegateReferenceVector* delegates, const GURL& url, const AppCacheEntry& entry, - const GURL& fallback_url, const AppCacheEntry& fallback_entry, + const GURL& namespace_entry_url, const AppCacheEntry& fallback_entry, int64 cache_id, int64 group_id, const GURL& manifest_url) { FOR_EACH_DELEGATE( (*delegates), OnMainResponseFound(url, entry, - fallback_url, fallback_entry, + namespace_entry_url, fallback_entry, cache_id, group_id, manifest_url)); } @@ -1479,9 +1478,11 @@ void AppCacheStorageImpl::FindResponseForSubRequest( } GURL fallback_namespace_not_used; + GURL intercept_namespace_not_used; cache->FindResponseForRequest( - url, found_entry, found_fallback_entry, - &fallback_namespace_not_used, found_network_namespace); + url, found_entry, &intercept_namespace_not_used, + found_fallback_entry, &fallback_namespace_not_used, + found_network_namespace); } void AppCacheStorageImpl::MarkEntryAsForeign( |