OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. | 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. |
3 * Copyright (C) 2009 Torch Mobile, Inc. http://www.torchmobile.com/ | 3 * Copyright (C) 2009 Torch Mobile, Inc. http://www.torchmobile.com/ |
4 * Copyright (C) 2010 Google Inc. All Rights Reserved. | 4 * Copyright (C) 2010 Google Inc. All Rights Reserved. |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 { | 214 { |
215 // FIXME - Don't set crossorigin multiple times. | 215 // FIXME - Don't set crossorigin multiple times. |
216 if (match(attributeName, srcAttr)) | 216 if (match(attributeName, srcAttr)) |
217 setUrlToLoad(attributeValue, DisallowURLReplacement); | 217 setUrlToLoad(attributeValue, DisallowURLReplacement); |
218 else if (match(attributeName, crossoriginAttr)) | 218 else if (match(attributeName, crossoriginAttr)) |
219 setCrossOrigin(attributeValue); | 219 setCrossOrigin(attributeValue); |
220 else if (match(attributeName, asyncAttr)) | 220 else if (match(attributeName, asyncAttr)) |
221 setDefer(FetchRequest::LazyLoad); | 221 setDefer(FetchRequest::LazyLoad); |
222 else if (match(attributeName, deferAttr)) | 222 else if (match(attributeName, deferAttr)) |
223 setDefer(FetchRequest::LazyLoad); | 223 setDefer(FetchRequest::LazyLoad); |
| 224 // Note that only scripts need to have the integrity metadata set on |
| 225 // preloads. This is because script resources fetches, and only script |
| 226 // resource fetches, need to re-request resources if a cached version |
| 227 // has different metadata (including empty) from the metadata on the |
| 228 // request. See the comment before the call to |
| 229 // mustRefetchDueToIntegrityMismatch() in |
| 230 // Source/core/fetch/ResourceFetcher.cpp for a more complete |
| 231 // explanation. |
224 else if (match(attributeName, integrityAttr)) | 232 else if (match(attributeName, integrityAttr)) |
225 SubresourceIntegrity::parseIntegrityAttribute(attributeValue, m_inte
grityMetadata); | 233 SubresourceIntegrity::parseIntegrityAttribute(attributeValue, m_inte
grityMetadata); |
226 } | 234 } |
227 | 235 |
228 template<typename NameType> | 236 template<typename NameType> |
229 void processImgAttribute(const NameType& attributeName, const String& attrib
uteValue) | 237 void processImgAttribute(const NameType& attributeName, const String& attrib
uteValue) |
230 { | 238 { |
231 if (match(attributeName, srcAttr) && m_imgSrcUrl.isNull()) { | 239 if (match(attributeName, srcAttr) && m_imgSrcUrl.isNull()) { |
232 m_imgSrcUrl = attributeValue; | 240 m_imgSrcUrl = attributeValue; |
233 setUrlToLoad(bestFitSourceForImageAttributes(m_mediaValues->devicePi
xelRatio(), m_sourceSize, attributeValue, m_srcsetImageCandidate), AllowURLRepla
cement); | 241 setUrlToLoad(bestFitSourceForImageAttributes(m_mediaValues->devicePi
xelRatio(), m_sourceSize, attributeValue, m_srcsetImageCandidate), AllowURLRepla
cement); |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 return true; | 383 return true; |
376 } | 384 } |
377 void setCrossOrigin(const String& corsSetting) | 385 void setCrossOrigin(const String& corsSetting) |
378 { | 386 { |
379 m_crossOrigin = crossOriginAttributeValue(corsSetting); | 387 m_crossOrigin = crossOriginAttributeValue(corsSetting); |
380 } | 388 } |
381 | 389 |
382 void setDefer(FetchRequest::DeferOption defer) | 390 void setDefer(FetchRequest::DeferOption defer) |
383 { | 391 { |
384 m_defer = defer; | 392 m_defer = defer; |
385 | |
386 } | 393 } |
387 | 394 |
388 bool defer() const | 395 bool defer() const |
389 { | 396 { |
390 return m_defer; | 397 return m_defer; |
391 } | 398 } |
392 | 399 |
393 const StringImpl* m_tagImpl; | 400 const StringImpl* m_tagImpl; |
394 String m_urlToLoad; | 401 String m_urlToLoad; |
395 ImageCandidate m_srcsetImageCandidate; | 402 ImageCandidate m_srcsetImageCandidate; |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
659 else | 666 else |
660 mediaValues = MediaValuesCached::create(*document); | 667 mediaValues = MediaValuesCached::create(*document); |
661 ASSERT(mediaValues->isSafeToSendToAnotherThread()); | 668 ASSERT(mediaValues->isSafeToSendToAnotherThread()); |
662 defaultViewportMinWidth = document->viewportDefaultMinWidth(); | 669 defaultViewportMinWidth = document->viewportDefaultMinWidth(); |
663 viewportMetaZeroValuesQuirk = document->settings() && document->settings()->
viewportMetaZeroValuesQuirk(); | 670 viewportMetaZeroValuesQuirk = document->settings() && document->settings()->
viewportMetaZeroValuesQuirk(); |
664 viewportMetaEnabled = document->settings() && document->settings()->viewport
MetaEnabled(); | 671 viewportMetaEnabled = document->settings() && document->settings()->viewport
MetaEnabled(); |
665 referrerPolicy = ReferrerPolicyDefault; | 672 referrerPolicy = ReferrerPolicyDefault; |
666 } | 673 } |
667 | 674 |
668 } | 675 } |
OLD | NEW |