Chromium Code Reviews| Index: Source/core/frame/csp/ContentSecurityPolicy.cpp |
| diff --git a/Source/core/frame/csp/ContentSecurityPolicy.cpp b/Source/core/frame/csp/ContentSecurityPolicy.cpp |
| index 1707163d1de4c04cd764c3f52b6271781cd10f27..57df1d6a8509cde7e82e39c14f0233e3a7582c1b 100644 |
| --- a/Source/core/frame/csp/ContentSecurityPolicy.cpp |
| +++ b/Source/core/frame/csp/ContentSecurityPolicy.cpp |
| @@ -136,7 +136,7 @@ static ReferrerPolicy mergeReferrerPolicies(ReferrerPolicy a, ReferrerPolicy b) |
| } |
| ContentSecurityPolicy::ContentSecurityPolicy() |
| - : m_executionContext(0) |
| + : m_executionContext(nullptr) |
| , m_overrideInlineStyleAllowed(false) |
| , m_scriptHashAlgorithmsUsed(ContentSecurityPolicyHashAlgorithmNone) |
| , m_styleHashAlgorithmsUsed(ContentSecurityPolicyHashAlgorithmNone) |
| @@ -186,7 +186,7 @@ ContentSecurityPolicy::~ContentSecurityPolicy() |
| Document* ContentSecurityPolicy::document() const |
| { |
| - return m_executionContext->isDocument() ? toDocument(m_executionContext) : 0; |
| + return m_executionContext->isDocument() ? toDocument(m_executionContext) : nullptr; |
| } |
| void ContentSecurityPolicy::copyStateFrom(const ContentSecurityPolicy* other) |
| @@ -284,8 +284,8 @@ ContentSecurityPolicyHeaderType ContentSecurityPolicy::deprecatedHeaderType() co |
| template<bool (CSPDirectiveList::*allowed)(ContentSecurityPolicy::ReportingStatus) const> |
| bool isAllowedByAll(const CSPDirectiveListVector& policies, ContentSecurityPolicy::ReportingStatus reportingStatus) |
| { |
| - for (size_t i = 0; i < policies.size(); ++i) { |
| - if (!(policies[i].get()->*allowed)(reportingStatus)) |
| + for (const auto& cspDirective : policies) { |
| + if (!(cspDirective.get()->*allowed)(reportingStatus)) |
| return false; |
| } |
| return true; |
| @@ -294,8 +294,8 @@ bool isAllowedByAll(const CSPDirectiveListVector& policies, ContentSecurityPolic |
| template<bool (CSPDirectiveList::*allowed)(ScriptState* scriptState, ContentSecurityPolicy::ReportingStatus) const> |
| bool isAllowedByAllWithState(const CSPDirectiveListVector& policies, ScriptState* scriptState, ContentSecurityPolicy::ReportingStatus reportingStatus) |
| { |
| - for (size_t i = 0; i < policies.size(); ++i) { |
| - if (!(policies[i].get()->*allowed)(scriptState, reportingStatus)) |
| + for (const auto& cspDirective : policies) { |
| + if (!(cspDirective.get()->*allowed)(scriptState, reportingStatus)) |
| return false; |
| } |
| return true; |
| @@ -304,8 +304,8 @@ bool isAllowedByAllWithState(const CSPDirectiveListVector& policies, ScriptState |
| template<bool (CSPDirectiveList::*allowed)(const String&, const WTF::OrdinalNumber&, ContentSecurityPolicy::ReportingStatus) const> |
| bool isAllowedByAllWithContext(const CSPDirectiveListVector& policies, const String& contextURL, const WTF::OrdinalNumber& contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) |
| { |
| - for (size_t i = 0; i < policies.size(); ++i) { |
| - if (!(policies[i].get()->*allowed)(contextURL, contextLine, reportingStatus)) |
| + for (const auto& cspDirective : policies) { |
| + if (!(cspDirective.get()->*allowed)(contextURL, contextLine, reportingStatus)) |
| return false; |
| } |
| return true; |
| @@ -314,8 +314,8 @@ bool isAllowedByAllWithContext(const CSPDirectiveListVector& policies, const Str |
| template<bool (CSPDirectiveList::*allowed)(const String&) const> |
| bool isAllowedByAllWithNonce(const CSPDirectiveListVector& policies, const String& nonce) |
| { |
| - for (size_t i = 0; i < policies.size(); ++i) { |
| - if (!(policies[i].get()->*allowed)(nonce)) |
| + for (const auto& cspDirective : policies) { |
| + if (!(cspDirective.get()->*allowed)(nonce)) |
| return false; |
| } |
| return true; |
| @@ -324,8 +324,8 @@ bool isAllowedByAllWithNonce(const CSPDirectiveListVector& policies, const Strin |
| template<bool (CSPDirectiveList::*allowed)(const CSPHashValue&) const> |
| bool isAllowedByAllWithHash(const CSPDirectiveListVector& policies, const CSPHashValue& hashValue) |
| { |
| - for (size_t i = 0; i < policies.size(); ++i) { |
| - if (!(policies[i].get()->*allowed)(hashValue)) |
| + for (const auto& cspDirective : policies) { |
| + if (!(cspDirective.get()->*allowed)(hashValue)) |
| return false; |
| } |
| return true; |
| @@ -337,8 +337,8 @@ bool isAllowedByAllWithURL(const CSPDirectiveListVector& policies, const KURL& u |
| if (SchemeRegistry::schemeShouldBypassContentSecurityPolicy(url.protocol())) |
| return true; |
| - for (size_t i = 0; i < policies.size(); ++i) { |
| - if (!(policies[i].get()->*allowFromURL)(url, reportingStatus)) |
| + for (const auto& cspDirective : policies) { |
| + if (!(cspDirective.get()->*allowFromURL)(url, reportingStatus)) |
| return false; |
| } |
| return true; |
| @@ -347,8 +347,8 @@ bool isAllowedByAllWithURL(const CSPDirectiveListVector& policies, const KURL& u |
| template<bool (CSPDirectiveList::*allowed)(LocalFrame*, const KURL&, ContentSecurityPolicy::ReportingStatus) const> |
| bool isAllowedByAllWithFrame(const CSPDirectiveListVector& policies, LocalFrame* frame, const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) |
| { |
| - for (size_t i = 0; i < policies.size(); ++i) { |
| - if (!(policies[i].get()->*allowed)(frame, url, reportingStatus)) |
| + for (const auto& cspDirective : policies) { |
| + if (!(cspDirective.get()->*allowed)(frame, url, reportingStatus)) |
| return false; |
| } |
| return true; |
| @@ -419,17 +419,17 @@ bool ContentSecurityPolicy::allowEval(ScriptState* scriptState, ContentSecurityP |
| String ContentSecurityPolicy::evalDisabledErrorMessage() const |
| { |
| - for (size_t i = 0; i < m_policies.size(); ++i) { |
| - if (!m_policies[i]->allowEval(0, SuppressReport)) |
| - return m_policies[i]->evalDisabledErrorMessage(); |
| + for (const auto& cspDirective : m_policies) { |
| + if (!cspDirective->allowEval(0, SuppressReport)) |
| + return cspDirective->evalDisabledErrorMessage(); |
| } |
| return String(); |
| } |
| bool ContentSecurityPolicy::allowPluginType(const String& type, const String& typeAttribute, const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) const |
| { |
| - for (size_t i = 0; i < m_policies.size(); ++i) { |
| - if (!m_policies[i]->allowPluginType(type, typeAttribute, url, reportingStatus)) |
| + for (const auto& cspDirective : m_policies) { |
| + if (!cspDirective->allowPluginType(type, typeAttribute, url, reportingStatus)) |
| return false; |
| } |
| return true; |
| @@ -550,9 +550,9 @@ bool ContentSecurityPolicy::isActive() const |
| ReflectedXSSDisposition ContentSecurityPolicy::reflectedXSSDisposition() const |
| { |
| ReflectedXSSDisposition disposition = ReflectedXSSUnset; |
| - for (size_t i = 0; i < m_policies.size(); ++i) { |
| - if (m_policies[i]->reflectedXSSDisposition() > disposition) |
| - disposition = std::max(disposition, m_policies[i]->reflectedXSSDisposition()); |
| + for (const auto& cspDirective : m_policies) { |
| + if (cspDirective->reflectedXSSDisposition() > disposition) |
| + disposition = std::max(disposition, cspDirective->reflectedXSSDisposition()); |
| } |
| return disposition; |
| } |
| @@ -561,12 +561,12 @@ ReferrerPolicy ContentSecurityPolicy::referrerPolicy() const |
| { |
| ReferrerPolicy policy = ReferrerPolicyDefault; |
| bool first = true; |
| - for (size_t i = 0; i < m_policies.size(); ++i) { |
| - if (m_policies[i]->didSetReferrerPolicy()) { |
| + for (const auto& cspDirective : m_policies) { |
| + if (cspDirective->didSetReferrerPolicy()) { |
| if (first) |
| - policy = m_policies[i]->referrerPolicy(); |
| + policy = cspDirective->referrerPolicy(); |
| else |
| - policy = mergeReferrerPolicies(policy, m_policies[i]->referrerPolicy()); |
| + policy = mergeReferrerPolicies(policy, cspDirective->referrerPolicy()); |
| } |
| } |
| return policy; |
| @@ -574,8 +574,8 @@ ReferrerPolicy ContentSecurityPolicy::referrerPolicy() const |
| bool ContentSecurityPolicy::didSetReferrerPolicy() const |
| { |
| - for (size_t i = 0; i < m_policies.size(); ++i) { |
| - if (m_policies[i]->didSetReferrerPolicy()) |
| + for (const auto& cspDirective : m_policies) { |
|
Mike West
2014/10/16 19:35:07
Nit: Here, and pretty much everywhere else, s/cspD
|
| + if (cspDirective->didSetReferrerPolicy()) |
| return true; |
| } |
| return false; |
| @@ -702,14 +702,15 @@ void ContentSecurityPolicy::reportViolation(const String& directiveText, const S |
| RefPtr<FormData> report = FormData::create(stringifiedReport.utf8()); |
| - for (size_t i = 0; i < reportEndpoints.size(); ++i) { |
| + for (const String& endpoint : reportEndpoints) { |
| // If we have a context frame we're dealing with 'frame-ancestors' and we don't have our |
| // own execution context. Use the frame's document to complete the endpoint URL, overriding |
| // its URL with the blocked document's URL. |
| ASSERT(!contextFrame || !m_executionContext); |
| ASSERT(!contextFrame || equalIgnoringCase(effectiveDirective, FrameAncestors)); |
| - KURL endpoint = contextFrame ? frame->document()->completeURLWithOverride(reportEndpoints[i], blockedURL) : completeURL(reportEndpoints[i]); |
| - PingLoader::sendViolationReport(frame, completeURL(reportEndpoints[i]), report, PingLoader::ContentSecurityPolicyViolationReport); |
| + // FIXME: What is the below line used for? |
| + KURL url = contextFrame ? frame->document()->completeURLWithOverride(endpoint, blockedURL) : completeURL(endpoint); |
| + PingLoader::sendViolationReport(frame, completeURL(endpoint), report, PingLoader::ContentSecurityPolicyViolationReport); |
|
Mike West
2014/10/16 19:35:07
Oops. Please s/completeURL(endpoint)/url/g in this
|
| } |
| didSendViolationReport(stringifiedReport); |