Commit b1e6c858 authored by Fernando Serboncini's avatar Fernando Serboncini Committed by Commit Bot

Creates a new CSSParserContext constructor for workers

Bug: 722511
Change-Id: I0fb1f4a027cc1c90d026583e6f3ab3ca03bb801b
Reviewed-on: https://chromium-review.googlesource.com/677405Reviewed-by: default avatarDominik Röttsches <drott@chromium.org>
Commit-Queue: Fernando Serboncini <fserb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503647}
parent bc985e7f
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "core/css/CSSStyleSheet.h" #include "core/css/CSSStyleSheet.h"
#include "core/css/StyleSheetContents.h" #include "core/css/StyleSheetContents.h"
#include "core/dom/ExecutionContext.h"
#include "core/frame/Deprecation.h" #include "core/frame/Deprecation.h"
#include "core/frame/Settings.h" #include "core/frame/Settings.h"
#include "core/frame/csp/ContentSecurityPolicy.h" #include "core/frame/csp/ContentSecurityPolicy.h"
...@@ -14,6 +15,23 @@ ...@@ -14,6 +15,23 @@
namespace blink { namespace blink {
// static
CSSParserContext* CSSParserContext::Create(const ExecutionContext& context) {
const Referrer referrer(context.Url().StrippedForUseAsReferrer(),
context.GetReferrerPolicy());
ContentSecurityPolicyDisposition policy_disposition;
if (ContentSecurityPolicy::ShouldBypassMainWorld(&context))
policy_disposition = kDoNotCheckContentSecurityPolicy;
else
policy_disposition = kCheckContentSecurityPolicy;
return new CSSParserContext(
context.Url(), WTF::TextEncoding(), kHTMLStandardMode, kHTMLStandardMode,
kDynamicProfile, referrer, true, false, policy_disposition,
context.IsDocument() ? &ToDocument(context) : nullptr);
}
// static // static
CSSParserContext* CSSParserContext::CreateWithStyleSheet( CSSParserContext* CSSParserContext::CreateWithStyleSheet(
const CSSParserContext* other, const CSSParserContext* other,
......
...@@ -55,6 +55,8 @@ class CORE_EXPORT CSSParserContext ...@@ -55,6 +55,8 @@ class CORE_EXPORT CSSParserContext
ReferrerPolicy referrer_policy_override, ReferrerPolicy referrer_policy_override,
const WTF::TextEncoding& charset = WTF::TextEncoding(), const WTF::TextEncoding& charset = WTF::TextEncoding(),
SelectorProfile = kDynamicProfile); SelectorProfile = kDynamicProfile);
// This is used for workers, where we don't have a document.
static CSSParserContext* Create(const ExecutionContext&);
bool operator==(const CSSParserContext&) const; bool operator==(const CSSParserContext&) const;
bool operator!=(const CSSParserContext& other) const { bool operator!=(const CSSParserContext& other) const {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment