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

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

Issue 1561903002: Fix double resource request for script resources with integrity attr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 4 years, 11 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.cpp
diff --git a/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.cpp b/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.cpp
index 50f18fdc624a039eb62d7ad7dc4fe76fa85037ab..3afe9168a531d44219c1e54d5444991219632c7a 100644
--- a/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.cpp
+++ b/third_party/WebKit/Source/core/html/parser/HTMLPreloadScanner.cpp
@@ -34,7 +34,9 @@
#include "core/css/MediaValuesCached.h"
#include "core/css/parser/SizesAttributeParser.h"
#include "core/dom/Document.h"
+#include "core/fetch/IntegrityMetadata.h"
#include "core/frame/Settings.h"
+#include "core/frame/SubresourceIntegrity.h"
#include "core/html/CrossOriginAttribute.h"
#include "core/html/HTMLImageElement.h"
#include "core/html/HTMLMetaElement.h"
@@ -202,6 +204,7 @@ public:
request->setCrossOrigin(m_crossOrigin);
request->setCharset(charset());
request->setDefer(m_defer);
+ request->setIntegrityMetadata(m_integrityMetadata);
return request.release();
}
@@ -218,6 +221,8 @@ private:
setDefer(FetchRequest::LazyLoad);
else if (match(attributeName, deferAttr))
setDefer(FetchRequest::LazyLoad);
+ else if (match(attributeName, integrityAttr))
+ SubresourceIntegrity::parseIntegrityAttribute(attributeValue, m_integrityMetadata);
}
template<typename NameType>
@@ -377,6 +382,7 @@ private:
void setDefer(FetchRequest::DeferOption defer)
{
m_defer = defer;
+
sof 2016/01/06 07:38:13 accidental edit?
jww 2016/01/06 18:37:53 Done.
}
bool defer() const
@@ -402,6 +408,7 @@ private:
RefPtrWillBeMember<MediaValues> m_mediaValues;
bool m_referrerPolicySet;
ReferrerPolicy m_referrerPolicy;
+ IntegrityMetadataSet m_integrityMetadata;
};
TokenPreloadScanner::TokenPreloadScanner(const KURL& documentURL, PassOwnPtr<CachedDocumentParameters> documentParameters)

Powered by Google App Engine
This is Rietveld 408576698