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

Unified Diff: third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.h

Issue 1679703002: Revert of Create MediaValuesCached and TokenPreloadScanner on the parser thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@TRV_MediaValuesCached
Patch Set: Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698