Chromium Code Reviews| Index: third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.cpp |
| diff --git a/third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.cpp b/third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.cpp |
| index 2244957d6d2205d5a106d4647aade6816dcbb6f5..251590cad96c43448371c262e1471ec4902598d8 100644 |
| --- a/third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.cpp |
| +++ b/third_party/WebKit/Source/core/css/CSSFontFaceSrcValue.cpp |
| @@ -72,7 +72,7 @@ String CSSFontFaceSrcValue::customCSSText() const |
| bool CSSFontFaceSrcValue::hasFailedOrCanceledSubresources() const |
| { |
| - return m_fetched && m_fetched->loadFailedOrCanceled(); |
| + return m_fetched && m_fetched->resource()->loadFailedOrCanceled(); |
| } |
| static void setCrossOriginAccessControl(FetchRequest& request, SecurityOrigin* securityOrigin) |
| @@ -93,13 +93,15 @@ FontResource* CSSFontFaceSrcValue::fetch(Document* document) |
| SecurityOrigin* securityOrigin = document->securityOrigin(); |
| setCrossOriginAccessControl(request, securityOrigin); |
| request.mutableResourceRequest().setHTTPReferrer(SecurityPolicy::generateReferrer(m_referrer.referrerPolicy, request.url(), m_referrer.referrer)); |
| - m_fetched = FontResource::fetch(request, document->fetcher()); |
| + RefPtrWillBeRawPtr<FontResource> resource = FontResource::fetch(request, document->fetcher()); |
|
Nate Chapin
2016/02/04 23:24:38
This fixes https://code.google.com/p/chromium/issu
|
| + if (resource) |
| + m_fetched = FontResourceHelper::create(resource.release()); |
| } else { |
| // FIXME: CSSFontFaceSrcValue::fetch is invoked when @font-face rule |
| // is processed by StyleResolver / StyleEngine. |
| restoreCachedResourceIfNeeded(document); |
| } |
| - return m_fetched.get(); |
| + return m_fetched->resource(); |
|
haraken
2016/02/04 23:56:30
With the above fix, m_fetched can be null here. Is
Nate Chapin
2016/02/06 00:34:06
Yep. Fixed.
|
| } |
| void CSSFontFaceSrcValue::restoreCachedResourceIfNeeded(Document* document) |
| @@ -113,9 +115,9 @@ void CSSFontFaceSrcValue::restoreCachedResourceIfNeeded(Document* document) |
| FetchRequest request(ResourceRequest(resourceURL), FetchInitiatorTypeNames::css); |
| request.setContentSecurityCheck(m_shouldCheckContentSecurityPolicy); |
| - MixedContentChecker::shouldBlockFetch(document->frame(), m_fetched->lastResourceRequest(), |
| - m_fetched->lastResourceRequest().url(), MixedContentChecker::SendReport); |
| - document->fetcher()->requestLoadStarted(m_fetched.get(), request, ResourceFetcher::ResourceLoadingFromCache); |
| + MixedContentChecker::shouldBlockFetch(document->frame(), m_fetched->resource()->lastResourceRequest(), |
| + m_fetched->resource()->lastResourceRequest().url(), MixedContentChecker::SendReport); |
| + document->fetcher()->requestLoadStarted(m_fetched->resource(), request, ResourceFetcher::ResourceLoadingFromCache); |
| } |
| bool CSSFontFaceSrcValue::equals(const CSSFontFaceSrcValue& other) const |