| OLD | NEW |
| 1 /* | 1 /* |
| 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) |
| 3 * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 m_cachedImage(image) {} | 46 m_cachedImage(image) {} |
| 47 | 47 |
| 48 CSSImageValue::CSSImageValue(const AtomicString& absoluteURL) | 48 CSSImageValue::CSSImageValue(const AtomicString& absoluteURL) |
| 49 : CSSValue(ImageClass), | 49 : CSSValue(ImageClass), |
| 50 m_relativeURL(absoluteURL), | 50 m_relativeURL(absoluteURL), |
| 51 m_absoluteURL(absoluteURL) {} | 51 m_absoluteURL(absoluteURL) {} |
| 52 | 52 |
| 53 CSSImageValue::~CSSImageValue() {} | 53 CSSImageValue::~CSSImageValue() {} |
| 54 | 54 |
| 55 StyleImage* CSSImageValue::cacheImage(const Document& document, | 55 StyleImage* CSSImageValue::cacheImage(const Document& document, |
| 56 CrossOriginAttributeValue crossOrigin) { | 56 CrossOriginAttributeValue crossOrigin, |
| 57 bool allowImagePlaceholder) { |
| 57 if (!m_cachedImage) { | 58 if (!m_cachedImage) { |
| 58 if (m_absoluteURL.isEmpty()) | 59 if (m_absoluteURL.isEmpty()) |
| 59 reResolveURL(document); | 60 reResolveURL(document); |
| 60 ResourceRequest resourceRequest(m_absoluteURL); | 61 ResourceRequest resourceRequest(m_absoluteURL); |
| 61 resourceRequest.setHTTPReferrer(SecurityPolicy::generateReferrer( | 62 resourceRequest.setHTTPReferrer(SecurityPolicy::generateReferrer( |
| 62 m_referrer.referrerPolicy, resourceRequest.url(), m_referrer.referrer)); | 63 m_referrer.referrerPolicy, resourceRequest.url(), m_referrer.referrer)); |
| 63 FetchRequest request(resourceRequest, m_initiatorName.isEmpty() | 64 FetchRequest request(resourceRequest, m_initiatorName.isEmpty() |
| 64 ? FetchInitiatorTypeNames::css | 65 ? FetchInitiatorTypeNames::css |
| 65 : m_initiatorName); | 66 : m_initiatorName); |
| 66 | 67 |
| 67 if (crossOrigin != CrossOriginAttributeNotSet) | 68 if (crossOrigin != CrossOriginAttributeNotSet) |
| 68 request.setCrossOriginAccessControl(document.getSecurityOrigin(), | 69 request.setCrossOriginAccessControl(document.getSecurityOrigin(), |
| 69 crossOrigin); | 70 crossOrigin); |
| 70 if (document.settings() && document.settings()->getFetchImagePlaceholders()) | 71 if (document.settings() && |
| 72 document.settings()->getFetchImagePlaceholders() && |
| 73 allowImagePlaceholder) |
| 71 request.setAllowImagePlaceholder(); | 74 request.setAllowImagePlaceholder(); |
| 72 | 75 |
| 73 if (ImageResourceContent* cachedImage = | 76 if (ImageResourceContent* cachedImage = |
| 74 ImageResourceContent::fetch(request, document.fetcher())) | 77 ImageResourceContent::fetch(request, document.fetcher())) |
| 75 m_cachedImage = | 78 m_cachedImage = |
| 76 StyleFetchedImage::create(cachedImage, document, request.url()); | 79 StyleFetchedImage::create(cachedImage, document, request.url()); |
| 77 else | 80 else |
| 78 m_cachedImage = StyleInvalidImage::create(url()); | 81 m_cachedImage = StyleInvalidImage::create(url()); |
| 79 } | 82 } |
| 80 | 83 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 void CSSImageValue::reResolveURL(const Document& document) const { | 129 void CSSImageValue::reResolveURL(const Document& document) const { |
| 127 KURL url = document.completeURL(m_relativeURL); | 130 KURL url = document.completeURL(m_relativeURL); |
| 128 AtomicString urlString(url.getString()); | 131 AtomicString urlString(url.getString()); |
| 129 if (urlString == m_absoluteURL) | 132 if (urlString == m_absoluteURL) |
| 130 return; | 133 return; |
| 131 m_absoluteURL = urlString; | 134 m_absoluteURL = urlString; |
| 132 m_cachedImage.clear(); | 135 m_cachedImage.clear(); |
| 133 } | 136 } |
| 134 | 137 |
| 135 } // namespace blink | 138 } // namespace blink |
| OLD | NEW |