Title: [206902] trunk/Source/WebCore
- Revision
- 206902
- Author
- commit-qu...@webkit.org
- Date
- 2016-10-06 23:18:37 -0700 (Thu, 06 Oct 2016)
Log Message
CachedXSLStylesheet does not need to be updated according Origin/Fetch mode
https://bugs.webkit.org/show_bug.cgi?id=162389
Patch by Youenn Fablet <you...@apple.com> on 2016-10-06
Reviewed by Darin Adler.
No change of behavior.
Making clear that there is no reason to update cached XSLT resources according the origin, given that CORS is never checked and loading is always same-origin.
Renaming CachedResource::isClean to CachedResource::isCORSSameOrigin to better match spec terminology.
Updating HTMLLinkElement accordingly.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::initializeStyleSheet):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::isCORSSameOrigin): Ensuring that this method is not called for resource types for which CORS is not to be used.
(WebCore::CachedResource::isClean): Deleted.
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (206901 => 206902)
--- trunk/Source/WebCore/ChangeLog 2016-10-07 06:01:24 UTC (rev 206901)
+++ trunk/Source/WebCore/ChangeLog 2016-10-07 06:18:37 UTC (rev 206902)
@@ -1,5 +1,28 @@
2016-10-06 Youenn Fablet <you...@apple.com>
+ CachedXSLStylesheet does not need to be updated according Origin/Fetch mode
+ https://bugs.webkit.org/show_bug.cgi?id=162389
+
+ Reviewed by Darin Adler.
+
+ No change of behavior.
+
+ Making clear that there is no reason to update cached XSLT resources according the origin, given that CORS is never checked and loading is always same-origin.
+
+ Renaming CachedResource::isClean to CachedResource::isCORSSameOrigin to better match spec terminology.
+ Updating HTMLLinkElement accordingly.
+
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::initializeStyleSheet):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::isCORSSameOrigin): Ensuring that this method is not called for resource types for which CORS is not to be used.
+ (WebCore::CachedResource::isClean): Deleted.
+ * loader/cache/CachedResource.h:
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest):
+
+2016-10-06 Youenn Fablet <you...@apple.com>
+
Add a place for common HTTP Header values
https://bugs.webkit.org/show_bug.cgi?id=163002
Modified: trunk/Source/WebCore/html/HTMLLinkElement.cpp (206901 => 206902)
--- trunk/Source/WebCore/html/HTMLLinkElement.cpp 2016-10-07 06:01:24 UTC (rev 206901)
+++ trunk/Source/WebCore/html/HTMLLinkElement.cpp 2016-10-07 06:18:37 UTC (rev 206902)
@@ -341,7 +341,7 @@
// FIXME: originClean should be turned to false except if fetch mode is CORS.
Optional<bool> originClean;
if (cachedStyleSheet.options().mode == FetchOptions::Mode::Cors)
- originClean = cachedStyleSheet.isClean();
+ originClean = cachedStyleSheet.isCORSSameOrigin();
m_sheet = CSSStyleSheet::create(WTFMove(styleSheet), *this, originClean);
m_sheet->setMediaQueries(MediaQuerySet::createAllowingDescriptionSyntax(m_media));
Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (206901 => 206902)
--- trunk/Source/WebCore/loader/cache/CachedResource.cpp 2016-10-07 06:01:24 UTC (rev 206901)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp 2016-10-07 06:18:37 UTC (rev 206902)
@@ -442,8 +442,13 @@
return m_responseTainting != ResourceResponse::Tainting::Basic;
}
-bool CachedResource::isClean() const
+bool CachedResource::isCORSSameOrigin() const
{
+ // Following resource types do not use CORS
+ ASSERT(type() != CachedResource::Type::FontResource);
+ ASSERT(type() != CachedResource::Type::SVGFontResource);
+ ASSERT(type() != CachedResource::XSLStyleSheet);
+
// https://html.spec.whatwg.org/multipage/infrastructure.html#cors-same-origin
return !loadFailedOrCanceled() && m_responseTainting != ResourceResponse::Tainting::Opaque;
}
Modified: trunk/Source/WebCore/loader/cache/CachedResource.h (206901 => 206902)
--- trunk/Source/WebCore/loader/cache/CachedResource.h 2016-10-07 06:01:24 UTC (rev 206901)
+++ trunk/Source/WebCore/loader/cache/CachedResource.h 2016-10-07 06:18:37 UTC (rev 206902)
@@ -208,7 +208,7 @@
void setCrossOrigin();
bool isCrossOrigin() const;
- bool isClean() const;
+ bool isCORSSameOrigin() const;
ResourceResponse::Tainting responseTainting() const { return m_responseTainting; }
void loadFrom(const CachedResource&);
Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (206901 => 206902)
--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2016-10-07 06:01:24 UTC (rev 206901)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2016-10-07 06:18:37 UTC (rev 206902)
@@ -549,6 +549,12 @@
return false;
}
+#if ENABLE(XSLT)
+ // Load is same-origin, we do not check for CORS.
+ if (resource.type() == CachedResource::XSLStyleSheet)
+ return false;
+#endif
+
// FIXME: We should enable resource reuse for these resource types
switch (resource.type()) {
case CachedResource::SVGDocumentResource:
@@ -559,10 +565,6 @@
return false;
case CachedResource::MainResource:
return false;
-#if ENABLE(XSLT)
- case CachedResource::XSLStyleSheet:
- return false;
-#endif
#if ENABLE(LINK_PREFETCH)
case CachedResource::LinkPrefetch:
return false;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes