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

Side by Side Diff: third_party/WebKit/Source/core/loader/HttpEquiv.cpp

Issue 2415373002: Loading: bulk style errors fix in core/loader (Closed)
Patch Set: Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/loader/HttpEquiv.h" 5 #include "core/loader/HttpEquiv.h"
6 6
7 #include "core/dom/Document.h" 7 #include "core/dom/Document.h"
8 #include "core/dom/ScriptableDocumentParser.h" 8 #include "core/dom/ScriptableDocumentParser.h"
9 #include "core/dom/StyleEngine.h" 9 #include "core/dom/StyleEngine.h"
10 #include "core/fetch/ClientHintsPreferences.h" 10 #include "core/fetch/ClientHintsPreferences.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 OriginTrialContext::from(&document)->addToken(content); 60 OriginTrialContext::from(&document)->addToken(content);
61 } 61 }
62 } 62 }
63 63
64 void HttpEquiv::processHttpEquivContentSecurityPolicy( 64 void HttpEquiv::processHttpEquivContentSecurityPolicy(
65 Document& document, 65 Document& document,
66 const AtomicString& equiv, 66 const AtomicString& equiv,
67 const AtomicString& content) { 67 const AtomicString& content) {
68 if (document.importLoader()) 68 if (document.importLoader())
69 return; 69 return;
70 if (equalIgnoringCase(equiv, "content-security-policy")) 70 if (equalIgnoringCase(equiv, "content-security-policy")) {
71 document.contentSecurityPolicy()->didReceiveHeader( 71 document.contentSecurityPolicy()->didReceiveHeader(
72 content, ContentSecurityPolicyHeaderTypeEnforce, 72 content, ContentSecurityPolicyHeaderTypeEnforce,
73 ContentSecurityPolicyHeaderSourceMeta); 73 ContentSecurityPolicyHeaderSourceMeta);
74 else if (equalIgnoringCase(equiv, "content-security-policy-report-only")) 74 } else if (equalIgnoringCase(equiv, "content-security-policy-report-only")) {
75 document.contentSecurityPolicy()->didReceiveHeader( 75 document.contentSecurityPolicy()->didReceiveHeader(
76 content, ContentSecurityPolicyHeaderTypeReport, 76 content, ContentSecurityPolicyHeaderTypeReport,
77 ContentSecurityPolicyHeaderSourceMeta); 77 ContentSecurityPolicyHeaderSourceMeta);
78 else 78 } else {
79 NOTREACHED(); 79 NOTREACHED();
80 }
80 } 81 }
81 82
82 void HttpEquiv::processHttpEquivAcceptCH(Document& document, 83 void HttpEquiv::processHttpEquivAcceptCH(Document& document,
83 const AtomicString& content) { 84 const AtomicString& content) {
84 if (!document.frame()) 85 if (!document.frame())
85 return; 86 return;
86 87
87 UseCounter::count(document, UseCounter::ClientHintsMetaAcceptCH); 88 UseCounter::count(document, UseCounter::ClientHintsMetaAcceptCH);
88 document.clientHintsPreferences().updateFromAcceptClientHintsHeader( 89 document.clientHintsPreferences().updateFromAcceptClientHintsHeader(
89 content, document.fetcher()); 90 content, document.fetcher());
90 } 91 }
91 92
92 void HttpEquiv::processHttpEquivDefaultStyle(Document& document, 93 void HttpEquiv::processHttpEquivDefaultStyle(Document& document,
93 const AtomicString& content) { 94 const AtomicString& content) {
94 document.styleEngine().setHttpDefaultStyle(content); 95 document.styleEngine().setHttpDefaultStyle(content);
95 } 96 }
96 97
97 void HttpEquiv::processHttpEquivRefresh(Document& document, 98 void HttpEquiv::processHttpEquivRefresh(Document& document,
98 const AtomicString& content) { 99 const AtomicString& content) {
99 UseCounter::count(document, UseCounter::MetaRefresh); 100 UseCounter::count(document, UseCounter::MetaRefresh);
100 if (!document.contentSecurityPolicy()->allowInlineScript( 101 if (!document.contentSecurityPolicy()->allowInlineScript(
101 KURL(), "", ParserInserted, OrdinalNumber(), "", 102 KURL(), "", ParserInserted, OrdinalNumber(), "",
102 ContentSecurityPolicy::SuppressReport)) 103 ContentSecurityPolicy::SuppressReport)) {
103 UseCounter::count(document, 104 UseCounter::count(document,
104 UseCounter::MetaRefreshWhenCSPBlocksInlineScript); 105 UseCounter::MetaRefreshWhenCSPBlocksInlineScript);
106 }
105 107
106 document.maybeHandleHttpRefresh(content, Document::HttpRefreshFromMetaTag); 108 document.maybeHandleHttpRefresh(content, Document::HttpRefreshFromMetaTag);
107 } 109 }
108 110
109 void HttpEquiv::processHttpEquivSetCookie(Document& document, 111 void HttpEquiv::processHttpEquivSetCookie(Document& document,
110 const AtomicString& content) { 112 const AtomicString& content) {
111 // FIXME: make setCookie work on XML documents too; e.g. in case of 113 // FIXME: make setCookie work on XML documents too; e.g. in case of
112 // <html:meta.....> 114 // <html:meta.....>
113 if (!document.isHTMLDocument()) 115 if (!document.isHTMLDocument())
114 return; 116 return;
115 117
116 UseCounter::count(document, UseCounter::MetaSetCookie); 118 UseCounter::count(document, UseCounter::MetaSetCookie);
117 if (!document.contentSecurityPolicy()->allowInlineScript( 119 if (!document.contentSecurityPolicy()->allowInlineScript(
118 KURL(), "", ParserInserted, OrdinalNumber(), "", 120 KURL(), "", ParserInserted, OrdinalNumber(), "",
119 ContentSecurityPolicy::SuppressReport)) 121 ContentSecurityPolicy::SuppressReport)) {
120 UseCounter::count(document, 122 UseCounter::count(document,
121 UseCounter::MetaSetCookieWhenCSPBlocksInlineScript); 123 UseCounter::MetaSetCookieWhenCSPBlocksInlineScript);
124 }
122 125
123 // Exception (for sandboxed documents) ignored. 126 // Exception (for sandboxed documents) ignored.
124 document.setCookie(content, IGNORE_EXCEPTION); 127 document.setCookie(content, IGNORE_EXCEPTION);
125 } 128 }
126 129
127 } // namespace blink 130 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/loader/FrameLoader.cpp ('k') | third_party/WebKit/Source/core/loader/ImageLoader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698