summaryrefslogtreecommitdiffstats
path: root/webkit/appcache/manifest_parser.cc
diff options
context:
space:
mode:
authormichaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-22 20:03:01 +0000
committermichaeln@google.com <michaeln@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-22 20:03:01 +0000
commiteb2ee141e4b40cbc89baaa982c77fe10da6c9f48 (patch)
tree889fc7e7b89c0483cf97973289d4dff251c6f25b /webkit/appcache/manifest_parser.cc
parentf72298c8e0ce1427e8ed682ca5dad0573d6c2763 (diff)
downloadchromium_src-eb2ee141e4b40cbc89baaa982c77fe10da6c9f48.zip
chromium_src-eb2ee141e4b40cbc89baaa982c77fe10da6c9f48.tar.gz
chromium_src-eb2ee141e4b40cbc89baaa982c77fe10da6c9f48.tar.bz2
Appcache cross-origin HTTPS resources.
BUG=69594 TEST=updated unit tests Review URL: http://codereview.chromium.org/6526037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75622 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/appcache/manifest_parser.cc')
-rw-r--r--webkit/appcache/manifest_parser.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/webkit/appcache/manifest_parser.cc b/webkit/appcache/manifest_parser.cc
index 49ddd8c..1422bc6 100644
--- a/webkit/appcache/manifest_parser.cc
+++ b/webkit/appcache/manifest_parser.cc
@@ -165,12 +165,13 @@ bool ParseManifest(const GURL& manifest_url, const char* data, int length,
continue;
}
- // If the manifest's scheme is https:, then manifest URL must have same
- // origin as resulting absolute URL.
- if (mode == EXPLICIT && manifest_url.SchemeIsSecure() &&
- manifest_url.GetOrigin() != url.GetOrigin()) {
- continue;
- }
+ // See http://code.google.com/p/chromium/issues/detail?id=69594
+ // We willfully violate the HTML5 spec at this point in order
+ // to support the appcaching of cross-origin HTTPS resources.
+ // Per the spec, EXPLICIT cross-origin HTTS resources should be
+ // ignored here. We've opted for a milder constraint and allow
+ // caching unless the resource has a "no-store" header. That
+ // condition is enforced in AppCacheUpdateJob.
if (mode == EXPLICIT) {
manifest.explicit_urls.insert(url.spec());