Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(678)

Unified Diff: Source/core/fetch/ResourceFetcher.cpp

Issue 25519002: Adding ASSERT for RuntimeEnabled feature XSLT (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/fetch/ResourceFetcher.cpp
diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp
index 8b03bb6589ec488ce49110e97efdd8acfd7653de..f57e95b5216c817d8d770f9fbfc41ed5646299ea 100644
--- a/Source/core/fetch/ResourceFetcher.cpp
+++ b/Source/core/fetch/ResourceFetcher.cpp
@@ -27,6 +27,7 @@
#include "config.h"
#include "core/fetch/ResourceFetcher.h"
+#include "RuntimeEnabledFeatures.h"
#include "bindings/v8/ScriptController.h"
#include "core/dom/Document.h"
#include "core/fetch/CSSStyleSheetResource.h"
@@ -89,6 +90,7 @@ static Resource* createResource(Resource::Type type, const ResourceRequest& requ
case Resource::MainResource:
return new RawResource(request, type);
case Resource::XSLStyleSheet:
+ ASSERT(RuntimeEnabledFeatures::xsltEnabled());
return new XSLStyleSheetResource(request);
case Resource::LinkPrefetch:
return new Resource(request, Resource::LinkPrefetch);
@@ -125,6 +127,7 @@ static ResourceLoadPriority loadPriority(Resource::Type type, const FetchRequest
case Resource::Image:
return request.forPreload() ? ResourceLoadPriorityVeryLow : ResourceLoadPriorityLow;
case Resource::XSLStyleSheet:
+ ASSERT(RuntimeEnabledFeatures::xsltEnabled());
return ResourceLoadPriorityHigh;
case Resource::SVGDocument:
return ResourceLoadPriorityLow;
@@ -298,6 +301,7 @@ ResourcePtr<ScriptResource> ResourceFetcher::fetchScript(FetchRequest& request)
ResourcePtr<XSLStyleSheetResource> ResourceFetcher::fetchXSLStyleSheet(FetchRequest& request)
{
+ ASSERT(RuntimeEnabledFeatures::xsltEnabled());
return static_cast<XSLStyleSheetResource*>(requestResource(Resource::XSLStyleSheet, request).get());
}
@@ -328,12 +332,16 @@ bool ResourceFetcher::checkInsecureContent(Resource::Type type, const KURL& url,
if (treatment == TreatAsDefaultForType) {
switch (type) {
case Resource::Script:
- case Resource::XSLStyleSheet:
case Resource::SVGDocument:
case Resource::CSSStyleSheet:
case Resource::ImportResource:
- // These resource can inject script into the current document (Script,
- // XSL) or exfiltrate the content of the current document (CSS).
+ // These resource can inject script into the current document (Script)
+ // or exfiltrate the content of the current document (CSS).
+ treatment = TreatAsActiveContent;
+ break;
+
+ case Resource::XSLStyleSheet:
+ ASSERT(RuntimeEnabledFeatures::xsltEnabled());
abarth-chromium 2013/10/01 15:06:09 I'm not sure this ASSERT is worth messing up the c
vivekg__ 2013/10/02 14:18:23 Done.
treatment = TreatAsActiveContent;
break;
@@ -406,7 +414,13 @@ bool ResourceFetcher::canRequest(Resource::Type type, const KURL& url, const Res
}
break;
case Resource::SVGDocument:
+ if (!m_document->securityOrigin()->canRequest(url)) {
+ printAccessDeniedMessage(url);
+ return false;
+ }
+ break;
case Resource::XSLStyleSheet:
+ ASSERT(RuntimeEnabledFeatures::xsltEnabled());
abarth-chromium 2013/10/01 15:06:09 You can do this with less duplicated code by putti
vivekg__ 2013/10/02 14:18:23 Done.
if (!m_document->securityOrigin()->canRequest(url)) {
printAccessDeniedMessage(url);
return false;
@@ -416,6 +430,7 @@ bool ResourceFetcher::canRequest(Resource::Type type, const KURL& url, const Res
switch (type) {
case Resource::XSLStyleSheet:
+ ASSERT(RuntimeEnabledFeatures::xsltEnabled());
if (!shouldBypassMainWorldContentSecurityPolicy && !m_document->contentSecurityPolicy()->allowScriptFromSource(url))
return false;
break;
@@ -620,7 +635,10 @@ void ResourceFetcher::determineTargetType(ResourceRequest& request, Resource::Ty
targetType = ResourceRequest::TargetIsMainFrame;
break;
case Resource::CSSStyleSheet:
+ targetType = ResourceRequest::TargetIsStyleSheet;
+ break;
case Resource::XSLStyleSheet:
+ ASSERT(RuntimeEnabledFeatures::xsltEnabled());
abarth-chromium 2013/10/01 15:06:09 Same here.
vivekg__ 2013/10/02 14:18:23 Done.
targetType = ResourceRequest::TargetIsStyleSheet;
break;
case Resource::Script:
« no previous file with comments | « no previous file | Source/core/fetch/XSLStyleSheetResource.cpp » ('j') | Source/core/fetch/XSLStyleSheetResource.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698