Index: third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.h |
diff --git a/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.h b/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.h |
index 6c83f39042d35ce2562bfb78fd625622f11b28a9..a583d021e4a2a395dce206c69193d36e9e117086 100644 |
--- a/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.h |
+++ b/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.h |
@@ -48,25 +48,26 @@ |
struct CORE_EXPORT CachedDocumentParameters { |
USING_FAST_MALLOC(CachedDocumentParameters); |
public: |
- static PassOwnPtr<CachedDocumentParameters> create(Document* document) |
+ static PassOwnPtr<CachedDocumentParameters> create(Document* document, PassRefPtrWillBeRawPtr<MediaValuesCached> mediaValues = nullptr) |
{ |
- return adoptPtr(new CachedDocumentParameters(document)); |
+ return adoptPtr(new CachedDocumentParameters(document, mediaValues)); |
} |
bool doHtmlPreloadScanning; |
+ RefPtrWillBeCrossThreadPersistent<MediaValuesCached> mediaValues; |
Length defaultViewportMinWidth; |
bool viewportMetaZeroValuesQuirk; |
bool viewportMetaEnabled; |
ReferrerPolicy referrerPolicy; |
private: |
- explicit CachedDocumentParameters(Document*); |
+ CachedDocumentParameters(Document*, PassRefPtrWillBeRawPtr<MediaValuesCached>); |
}; |
class TokenPreloadScanner { |
WTF_MAKE_NONCOPYABLE(TokenPreloadScanner); USING_FAST_MALLOC(TokenPreloadScanner); |
public: |
- TokenPreloadScanner(const KURL& documentURL, PassOwnPtr<CachedDocumentParameters>, const MediaValuesCached::MediaValuesCachedData&); |
+ TokenPreloadScanner(const KURL& documentURL, PassOwnPtr<CachedDocumentParameters>); |
~TokenPreloadScanner(); |
void scan(const HTMLToken&, const SegmentedString&, PreloadRequestStream& requests); |
@@ -78,6 +79,12 @@ |
// at which point all outstanding checkpoints are invalidated. |
TokenPreloadScannerCheckpoint createCheckpoint(); |
void rewindTo(TokenPreloadScannerCheckpoint); |
+ |
+ bool isSafeToSendToAnotherThread() |
+ { |
+ return m_documentURL.isSafeToSendToAnotherThread() |
+ && m_predictedBaseElementURL.isSafeToSendToAnotherThread(); |
+ } |
private: |
class StartTagScanner; |
@@ -128,7 +135,6 @@ |
PictureData m_pictureData; |
size_t m_templateCount; |
OwnPtr<CachedDocumentParameters> m_documentParameters; |
- RefPtrWillBePersistent<MediaValuesCached> m_mediaValues; |
ClientHintsPreferences m_clientHintsPreferences; |
Vector<Checkpoint> m_checkpoints; |
@@ -137,20 +143,19 @@ |
class CORE_EXPORT HTMLPreloadScanner { |
WTF_MAKE_NONCOPYABLE(HTMLPreloadScanner); USING_FAST_MALLOC(HTMLPreloadScanner); |
public: |
- static PassOwnPtr<HTMLPreloadScanner> create(const HTMLParserOptions& options, const KURL& documentURL, PassOwnPtr<CachedDocumentParameters> documentParameters, const MediaValuesCached::MediaValuesCachedData& mediaValuesCachedData) |
+ static PassOwnPtr<HTMLPreloadScanner> create(const HTMLParserOptions& options, const KURL& documentURL, PassOwnPtr<CachedDocumentParameters> documentParameters) |
{ |
- return adoptPtr(new HTMLPreloadScanner(options, documentURL, documentParameters, mediaValuesCachedData)); |
+ return adoptPtr(new HTMLPreloadScanner(options, documentURL, documentParameters)); |
} |
+ HTMLPreloadScanner(const HTMLParserOptions&, const KURL& documentURL, PassOwnPtr<CachedDocumentParameters>); |
~HTMLPreloadScanner(); |
void appendToEnd(const SegmentedString&); |
void scan(ResourcePreloader*, const KURL& documentBaseElementURL); |
private: |
- HTMLPreloadScanner(const HTMLParserOptions&, const KURL& documentURL, PassOwnPtr<CachedDocumentParameters>, const MediaValuesCached::MediaValuesCachedData&); |
- |
TokenPreloadScanner m_scanner; |
SegmentedString m_source; |
HTMLToken m_token; |