diff options
author | michaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-03 02:29:14 +0000 |
---|---|---|
committer | michaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-03 02:29:14 +0000 |
commit | 6ed2a5a54b7bb8ccd33da7bc948fee169f128459 (patch) | |
tree | 3752c15899760eef346dc2c1f66768aa2f3e676a /webkit/appcache/appcache_request_handler.h | |
parent | d6bb669008e0308f3ee6e04e77fe903698864e7b (diff) | |
download | chromium_src-6ed2a5a54b7bb8ccd33da7bc948fee169f128459.zip chromium_src-6ed2a5a54b7bb8ccd33da7bc948fee169f128459.tar.gz chromium_src-6ed2a5a54b7bb8ccd33da7bc948fee169f128459.tar.bz2 |
Fix for WKBug 47000: a failure mode given bad content (in an unlikely form). The error occurs when an html page is put in an appcache as a fallback resource (so it's listed in a fallback section), but it contains a manifest attribute that refers to a different manifest file. The system should mark the resource as foreign and exclude it from main resource loads, but it was failing to do so. The fix is to do that.
BUG=WK47000
TEST=http/tests/appcache/foreign-fallback.html
Review URL: http://codereview.chromium.org/3529009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64868 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/appcache/appcache_request_handler.h')
-rw-r--r-- | webkit/appcache/appcache_request_handler.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/webkit/appcache/appcache_request_handler.h b/webkit/appcache/appcache_request_handler.h index 3a19a8f..8577232 100644 --- a/webkit/appcache/appcache_request_handler.h +++ b/webkit/appcache/appcache_request_handler.h @@ -53,7 +53,8 @@ class AppCacheRequestHandler : public URLRequest::UserData, // Helpers to instruct a waiting job with what response to // deliver for the request we're handling. void DeliverAppCachedResponse(const AppCacheEntry& entry, int64 cache_id, - const GURL& manifest_url, bool is_fallback); + const GURL& manifest_url, bool is_fallback, + const GURL& fallback_url); void DeliverNetworkResponse(); void DeliverErrorResponse(); @@ -72,7 +73,7 @@ class AppCacheRequestHandler : public URLRequest::UserData, // AppCacheStorage::Delegate methods virtual void OnMainResponseFound( const GURL& url, const AppCacheEntry& entry, - const AppCacheEntry& fallback_entry, + const GURL& fallback_url, const AppCacheEntry& fallback_entry, int64 cache_id, const GURL& mainfest_url, bool was_blocked_by_policy); @@ -98,9 +99,10 @@ class AppCacheRequestHandler : public URLRequest::UserData, // Info about the type of response we found for delivery. // These are relevant for both main and subresource requests. + int64 found_cache_id_; AppCacheEntry found_entry_; AppCacheEntry found_fallback_entry_; - int64 found_cache_id_; + GURL found_fallback_url_; GURL found_manifest_url_; bool found_network_namespace_; |