Index: third_party/WebKit/Source/core/loader/appcache/ApplicationCacheHost.cpp |
diff --git a/third_party/WebKit/Source/core/loader/appcache/ApplicationCacheHost.cpp b/third_party/WebKit/Source/core/loader/appcache/ApplicationCacheHost.cpp |
index 0335f713a547d8a2fe9fdd0db56b2caa109ef887..030818c1830b6d6e9de482eadfa48626dc0ab807 100644 |
--- a/third_party/WebKit/Source/core/loader/appcache/ApplicationCacheHost.cpp |
+++ b/third_party/WebKit/Source/core/loader/appcache/ApplicationCacheHost.cpp |
@@ -134,6 +134,12 @@ void ApplicationCacheHost::SelectCacheWithManifest(const KURL& manifest_url) { |
LocalFrame* frame = document_loader_->GetFrame(); |
Document* document = frame->GetDocument(); |
+ if (document->IsSandboxed(kSandboxOrigin) || |
+ document->GetSecurityOrigin()->HasSuborigin()) { |
+ // Prevent sandboxes and suborigins from establishing application caches. |
+ SelectCacheWithoutManifest(); |
+ return; |
+ } |
if (document->IsSecureContext()) { |
UseCounter::Count(document, |
UseCounter::kApplicationCacheManifestSelectSecureOrigin); |