| Index: third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.cpp b/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.cpp
|
| index 4e36922c70355d078e08abda081bd83964d47f30..d62e88e3004f45b901f1571bd429a0236ae417ca 100644
|
| --- a/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.cpp
|
| +++ b/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.cpp
|
| @@ -136,7 +136,9 @@ class TokenPreloadScanner::StartTagScanner {
|
| STACK_ALLOCATED();
|
|
|
| public:
|
| - StartTagScanner(const StringImpl* tag_impl, MediaValuesCached* media_values)
|
| + StartTagScanner(const StringImpl* tag_impl,
|
| + MediaValuesCached* media_values,
|
| + TokenPreloadScanner::ScannerType scanner_type)
|
| : tag_impl_(tag_impl),
|
| link_is_style_sheet_(false),
|
| link_is_preconnect_(false),
|
| @@ -150,7 +152,8 @@ class TokenPreloadScanner::StartTagScanner {
|
| cross_origin_(kCrossOriginAttributeNotSet),
|
| media_values_(media_values),
|
| referrer_policy_set_(false),
|
| - referrer_policy_(kReferrerPolicyDefault) {
|
| + referrer_policy_(kReferrerPolicyDefault),
|
| + scanner_type_(scanner_type) {
|
| if (Match(tag_impl_, imgTag) || Match(tag_impl_, sourceTag)) {
|
| source_size_ = SizesAttributeParser(media_values_, String()).length();
|
| return;
|
| @@ -257,6 +260,8 @@ class TokenPreloadScanner::StartTagScanner {
|
| request->SetCharset(Charset());
|
| request->SetDefer(defer_);
|
| request->SetIntegrityMetadata(integrity_metadata_);
|
| + if (scanner_type_ == ScannerType::kInsertion)
|
| + request->SetFromInsertionScanner(true);
|
|
|
| return request;
|
| }
|
| @@ -564,12 +569,14 @@ class TokenPreloadScanner::StartTagScanner {
|
| bool referrer_policy_set_;
|
| ReferrerPolicy referrer_policy_;
|
| IntegrityMetadataSet integrity_metadata_;
|
| + TokenPreloadScanner::ScannerType scanner_type_;
|
| };
|
|
|
| TokenPreloadScanner::TokenPreloadScanner(
|
| const KURL& document_url,
|
| std::unique_ptr<CachedDocumentParameters> document_parameters,
|
| - const MediaValuesCached::MediaValuesCachedData& media_values_cached_data)
|
| + const MediaValuesCached::MediaValuesCachedData& media_values_cached_data,
|
| + const ScannerType scanner_type)
|
| : document_url_(document_url),
|
| in_style_(false),
|
| in_picture_(false),
|
| @@ -577,6 +584,7 @@ TokenPreloadScanner::TokenPreloadScanner(
|
| template_count_(0),
|
| document_parameters_(std::move(document_parameters)),
|
| media_values_(MediaValuesCached::Create(media_values_cached_data)),
|
| + scanner_type_(scanner_type),
|
| did_rewind_(false) {
|
| DCHECK(document_parameters_.get());
|
| DCHECK(media_values_.Get());
|
| @@ -844,7 +852,7 @@ void TokenPreloadScanner::ScanCommon(const Token& token,
|
| return;
|
| }
|
|
|
| - StartTagScanner scanner(tag_impl, media_values_);
|
| + StartTagScanner scanner(tag_impl, media_values_, scanner_type_);
|
| scanner.ProcessAttributes(token.Attributes());
|
| // TODO(yoav): ViewportWidth is currently racy and might be zero in some
|
| // cases, at least in tests. That problem will go away once
|
| @@ -878,10 +886,12 @@ HTMLPreloadScanner::HTMLPreloadScanner(
|
| const HTMLParserOptions& options,
|
| const KURL& document_url,
|
| std::unique_ptr<CachedDocumentParameters> document_parameters,
|
| - const MediaValuesCached::MediaValuesCachedData& media_values_cached_data)
|
| + const MediaValuesCached::MediaValuesCachedData& media_values_cached_data,
|
| + const TokenPreloadScanner::ScannerType scanner_type)
|
| : scanner_(document_url,
|
| std::move(document_parameters),
|
| - media_values_cached_data),
|
| + media_values_cached_data,
|
| + scanner_type),
|
| tokenizer_(HTMLTokenizer::Create(options)) {}
|
|
|
| HTMLPreloadScanner::~HTMLPreloadScanner() {}
|
|
|