diff options
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.cc | 11 |
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); }); |