| Index: Source/core/html/parser/HTMLPreloadScanner.cpp
|
| diff --git a/Source/core/html/parser/HTMLPreloadScanner.cpp b/Source/core/html/parser/HTMLPreloadScanner.cpp
|
| index 1b21bc89b4408a9bbe189b2d614297b7651b7a3c..351484f93700fd21f533d62844d974acb262a155 100644
|
| --- a/Source/core/html/parser/HTMLPreloadScanner.cpp
|
| +++ b/Source/core/html/parser/HTMLPreloadScanner.cpp
|
| @@ -111,6 +111,7 @@ public:
|
| , m_sourceSize(0)
|
| , m_sourceSizeSet(false)
|
| , m_isCORSEnabled(false)
|
| + , m_defer(FetchRequest::NoDefer)
|
| , m_allowCredentials(DoNotAllowStoredCredentials)
|
| , m_mediaValues(mediaValues)
|
| {
|
| @@ -170,6 +171,7 @@ public:
|
| if (isCORSEnabled())
|
| request->setCrossOriginEnabled(allowStoredCredentials());
|
| request->setCharset(charset());
|
| + request->setDefer(m_defer);
|
| return request.release();
|
| }
|
|
|
| @@ -182,6 +184,10 @@ private:
|
| setUrlToLoad(attributeValue, DisallowURLReplacement);
|
| else if (match(attributeName, crossoriginAttr))
|
| setCrossOriginAllowed(attributeValue);
|
| + else if (match(attributeName, asyncAttr))
|
| + setDefer(FetchRequest::LazyLoad);
|
| + else if (match(attributeName, deferAttr))
|
| + setDefer(FetchRequest::LazyLoad);
|
| }
|
|
|
| template<typename NameType>
|
| @@ -337,6 +343,16 @@ private:
|
| m_allowCredentials = DoNotAllowStoredCredentials;
|
| }
|
|
|
| + void setDefer(FetchRequest::DeferOption defer)
|
| + {
|
| + m_defer = defer;
|
| + }
|
| +
|
| + bool defer() const
|
| + {
|
| + return m_defer;
|
| + }
|
| +
|
| const StringImpl* m_tagImpl;
|
| String m_urlToLoad;
|
| ImageCandidate m_srcsetImageCandidate;
|
| @@ -349,6 +365,7 @@ private:
|
| unsigned m_sourceSize;
|
| bool m_sourceSizeSet;
|
| bool m_isCORSEnabled;
|
| + FetchRequest::DeferOption m_defer;
|
| StoredCredentials m_allowCredentials;
|
| RefPtr<MediaValues> m_mediaValues;
|
| };
|
|
|