summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/css/parser/css_parser_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/css/parser/css_parser_impl.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/css/parser/css_parser_impl.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/core/css/parser/css_parser_impl.cc b/chromium/third_party/blink/renderer/core/css/parser/css_parser_impl.cc
index dd681c46f74..7eabb762d87 100644
--- a/chromium/third_party/blink/renderer/core/css/parser/css_parser_impl.cc
+++ b/chromium/third_party/blink/renderer/core/css/parser/css_parser_impl.cc
@@ -265,12 +265,15 @@ ParseSheetResult CSSParserImpl::ParseStyleSheet(
ParseSheetResult result = ParseSheetResult::kSucceeded;
bool first_rule_valid = parser.ConsumeRuleList(
stream, kTopLevelRuleList,
- [&style_sheet, &result, allow_import_rules](StyleRuleBase* rule) {
+ [&style_sheet, &result, allow_import_rules,
+ context](StyleRuleBase* rule) {
if (rule->IsCharsetRule())
return;
- if (rule->IsImportRule() && !allow_import_rules) {
- result = ParseSheetResult::kHasUnallowedImportRule;
- return;
+ if (rule->IsImportRule()) {
+ if (!allow_import_rules || context->IsForMarkupSanitization()) {
+ result = ParseSheetResult::kHasUnallowedImportRule;
+ return;
+ }
}
style_sheet->ParserAppendRule(rule);
});