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

Side by Side Diff: third_party/WebKit/Source/core/css/CSSImageValue.cpp

Issue 1667843003: Make Resource RefCountedWillBeGarbageCollectedFinalized, attempt #2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase + address review comments Created 4 years, 10 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 unified diff | Download patch
OLDNEW
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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 61
62 if (m_isCachePending) { 62 if (m_isCachePending) {
63 m_isCachePending = false; 63 m_isCachePending = false;
64 64
65 FetchRequest request(ResourceRequest(m_absoluteURL), m_initiatorName.isE mpty() ? FetchInitiatorTypeNames::css : m_initiatorName); 65 FetchRequest request(ResourceRequest(m_absoluteURL), m_initiatorName.isE mpty() ? FetchInitiatorTypeNames::css : m_initiatorName);
66 request.mutableResourceRequest().setHTTPReferrer(SecurityPolicy::generat eReferrer(m_referrer.referrerPolicy, request.url(), m_referrer.referrer)); 66 request.mutableResourceRequest().setHTTPReferrer(SecurityPolicy::generat eReferrer(m_referrer.referrerPolicy, request.url(), m_referrer.referrer));
67 67
68 if (crossOrigin != CrossOriginAttributeNotSet) 68 if (crossOrigin != CrossOriginAttributeNotSet)
69 request.setCrossOriginAccessControl(document->securityOrigin(), cros sOrigin); 69 request.setCrossOriginAccessControl(document->securityOrigin(), cros sOrigin);
70 70
71 if (ResourcePtr<ImageResource> cachedImage = ImageResource::fetch(reques t, document->fetcher())) 71 if (RefPtrWillBeRawPtr<ImageResource> cachedImage = ImageResource::fetch (request, document->fetcher()))
72 m_cachedImage = StyleFetchedImage::create(cachedImage.get(), documen t, request.url()); 72 m_cachedImage = StyleFetchedImage::create(cachedImage.get(), documen t, request.url());
73 } 73 }
74 74
75 return m_cachedImage.get(); 75 return m_cachedImage.get();
76 } 76 }
77 77
78 void CSSImageValue::restoreCachedResourceIfNeeded(Document& document) const 78 void CSSImageValue::restoreCachedResourceIfNeeded(Document& document) const
79 { 79 {
80 if (m_isCachePending || !m_cachedImage || !document.fetcher()) 80 if (m_isCachePending || !m_cachedImage || !document.fetcher())
81 return; 81 return;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 KURL url = document.completeURL(m_relativeURL); 127 KURL url = document.completeURL(m_relativeURL);
128 AtomicString urlString(url.string()); 128 AtomicString urlString(url.string());
129 if (urlString == m_absoluteURL) 129 if (urlString == m_absoluteURL)
130 return; 130 return;
131 m_absoluteURL = urlString; 131 m_absoluteURL = urlString;
132 m_isCachePending = true; 132 m_isCachePending = true;
133 m_cachedImage.clear(); 133 m_cachedImage.clear();
134 } 134 }
135 135
136 } // namespace blink 136 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/CSSImageSetValue.cpp ('k') | third_party/WebKit/Source/core/css/CSSSVGDocumentValue.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698