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

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

Issue 2036943002: Reduced the callers to the non-const version of CSSValueList::item() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@_make_cssvaluelist_take_const_ref
Patch Set: Rebase Created 4 years, 6 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 * Copyright (C) 2007, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 static void setCrossOriginAccessControl(FetchRequest& request, SecurityOrigin* s ecurityOrigin) 78 static void setCrossOriginAccessControl(FetchRequest& request, SecurityOrigin* s ecurityOrigin)
79 { 79 {
80 // Local fonts are accessible from file: URLs even when 80 // Local fonts are accessible from file: URLs even when
81 // allowFileAccessFromFileURLs is false. 81 // allowFileAccessFromFileURLs is false.
82 if (request.url().isLocalFile()) 82 if (request.url().isLocalFile())
83 return; 83 return;
84 84
85 request.setCrossOriginAccessControl(securityOrigin, CrossOriginAttributeAnon ymous); 85 request.setCrossOriginAccessControl(securityOrigin, CrossOriginAttributeAnon ymous);
86 } 86 }
87 87
88 FontResource* CSSFontFaceSrcValue::fetch(Document* document) 88 FontResource* CSSFontFaceSrcValue::fetch(Document* document) const
89 { 89 {
90 if (!m_fetched) { 90 if (!m_fetched) {
91 FetchRequest request(ResourceRequest(m_absoluteResource), FetchInitiator TypeNames::css); 91 FetchRequest request(ResourceRequest(m_absoluteResource), FetchInitiator TypeNames::css);
92 request.setContentSecurityCheck(m_shouldCheckContentSecurityPolicy); 92 request.setContentSecurityCheck(m_shouldCheckContentSecurityPolicy);
93 SecurityOrigin* securityOrigin = document->getSecurityOrigin(); 93 SecurityOrigin* securityOrigin = document->getSecurityOrigin();
94 setCrossOriginAccessControl(request, securityOrigin); 94 setCrossOriginAccessControl(request, securityOrigin);
95 request.mutableResourceRequest().setHTTPReferrer(SecurityPolicy::generat eReferrer(m_referrer.referrerPolicy, request.url(), m_referrer.referrer)); 95 request.mutableResourceRequest().setHTTPReferrer(SecurityPolicy::generat eReferrer(m_referrer.referrerPolicy, request.url(), m_referrer.referrer));
96 FontResource* resource = FontResource::fetch(request, document->fetcher( )); 96 FontResource* resource = FontResource::fetch(request, document->fetcher( ));
97 if (!resource) 97 if (!resource)
98 return nullptr; 98 return nullptr;
99 m_fetched = FontResourceHelper::create(resource); 99 m_fetched = FontResourceHelper::create(resource);
100 } else { 100 } else {
101 // FIXME: CSSFontFaceSrcValue::fetch is invoked when @font-face rule 101 // FIXME: CSSFontFaceSrcValue::fetch is invoked when @font-face rule
102 // is processed by StyleResolver / StyleEngine. 102 // is processed by StyleResolver / StyleEngine.
103 restoreCachedResourceIfNeeded(document); 103 restoreCachedResourceIfNeeded(document);
104 } 104 }
105 return m_fetched->resource(); 105 return m_fetched->resource();
106 } 106 }
107 107
108 void CSSFontFaceSrcValue::restoreCachedResourceIfNeeded(Document* document) 108 void CSSFontFaceSrcValue::restoreCachedResourceIfNeeded(Document* document) cons t
109 { 109 {
110 ASSERT(m_fetched); 110 ASSERT(m_fetched);
111 ASSERT(document && document->fetcher()); 111 ASSERT(document && document->fetcher());
112 112
113 const String resourceURL = document->completeURL(m_absoluteResource); 113 const String resourceURL = document->completeURL(m_absoluteResource);
114 if (document->fetcher()->cachedResource(KURL(ParsedURLString, resourceURL))) 114 if (document->fetcher()->cachedResource(KURL(ParsedURLString, resourceURL)))
115 return; 115 return;
116 116
117 FetchRequest request(ResourceRequest(resourceURL), FetchInitiatorTypeNames:: css); 117 FetchRequest request(ResourceRequest(resourceURL), FetchInitiatorTypeNames:: css);
118 request.setContentSecurityCheck(m_shouldCheckContentSecurityPolicy); 118 request.setContentSecurityCheck(m_shouldCheckContentSecurityPolicy);
119 MixedContentChecker::shouldBlockFetch(document->frame(), m_fetched->resource ()->lastResourceRequest(), 119 MixedContentChecker::shouldBlockFetch(document->frame(), m_fetched->resource ()->lastResourceRequest(),
120 m_fetched->resource()->lastResourceRequest().url(), MixedContentChecker: :SendReport); 120 m_fetched->resource()->lastResourceRequest().url(), MixedContentChecker: :SendReport);
121 document->fetcher()->requestLoadStarted(m_fetched->resource(), request, Reso urceFetcher::ResourceLoadingFromCache); 121 document->fetcher()->requestLoadStarted(m_fetched->resource(), request, Reso urceFetcher::ResourceLoadingFromCache);
122 } 122 }
123 123
124 bool CSSFontFaceSrcValue::equals(const CSSFontFaceSrcValue& other) const 124 bool CSSFontFaceSrcValue::equals(const CSSFontFaceSrcValue& other) const
125 { 125 {
126 return m_isLocal == other.m_isLocal && m_format == other.m_format && m_speci fiedResource == other.m_specifiedResource && m_absoluteResource == other.m_absol uteResource; 126 return m_isLocal == other.m_isLocal && m_format == other.m_format && m_speci fiedResource == other.m_specifiedResource && m_absoluteResource == other.m_absol uteResource;
127 } 127 }
128 128
129 } // namespace blink 129 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.h ('k') | third_party/WebKit/Source/core/css/CSSImageSetValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698