| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 return Resource::Media; | 180 return Resource::Media; |
| 181 if (equalIgnoringCase(as, "font")) | 181 if (equalIgnoringCase(as, "font")) |
| 182 return Resource::Font; | 182 return Resource::Font; |
| 183 if (equalIgnoringCase(as, "track")) | 183 if (equalIgnoringCase(as, "track")) |
| 184 return Resource::TextTrack; | 184 return Resource::TextTrack; |
| 185 if (document && !as.isEmpty()) | 185 if (document && !as.isEmpty()) |
| 186 document->addConsoleMessage(ConsoleMessage::create(OtherMessageSource, W
arningMessageLevel, String("<link rel=preload> must have a valid `as` value"))); | 186 document->addConsoleMessage(ConsoleMessage::create(OtherMessageSource, W
arningMessageLevel, String("<link rel=preload> must have a valid `as` value"))); |
| 187 return Resource::LinkPreload; | 187 return Resource::LinkPreload; |
| 188 } | 188 } |
| 189 | 189 |
| 190 void LinkLoader::createLinkPreloadResourceClient(ResourcePtr<Resource> resource) | 190 void LinkLoader::createLinkPreloadResourceClient(Resource* resource) |
| 191 { | 191 { |
| 192 if (!resource) | 192 if (!resource) |
| 193 return; | 193 return; |
| 194 switch (resource->type()) { | 194 switch (resource->type()) { |
| 195 case Resource::Image: | 195 case Resource::Image: |
| 196 m_linkPreloadResourceClient = LinkPreloadImageResourceClient::create(thi
s, toImageResource(resource.get())); | 196 m_linkPreloadResourceClient = LinkPreloadImageResourceClient::create(thi
s, toImageResource(resource)); |
| 197 break; | 197 break; |
| 198 case Resource::Script: | 198 case Resource::Script: |
| 199 m_linkPreloadResourceClient = LinkPreloadScriptResourceClient::create(th
is, toScriptResource(resource.get())); | 199 m_linkPreloadResourceClient = LinkPreloadScriptResourceClient::create(th
is, toScriptResource(resource)); |
| 200 break; | 200 break; |
| 201 case Resource::CSSStyleSheet: | 201 case Resource::CSSStyleSheet: |
| 202 m_linkPreloadResourceClient = LinkPreloadStyleResourceClient::create(thi
s, toCSSStyleSheetResource(resource.get())); | 202 m_linkPreloadResourceClient = LinkPreloadStyleResourceClient::create(thi
s, toCSSStyleSheetResource(resource)); |
| 203 break; | 203 break; |
| 204 case Resource::Font: | 204 case Resource::Font: |
| 205 m_linkPreloadResourceClient = LinkPreloadFontResourceClient::create(this
, toFontResource(resource.get())); | 205 m_linkPreloadResourceClient = LinkPreloadFontResourceClient::create(this
, toFontResource(resource)); |
| 206 break; | 206 break; |
| 207 case Resource::Media: | 207 case Resource::Media: |
| 208 case Resource::TextTrack: | 208 case Resource::TextTrack: |
| 209 case Resource::Raw: | 209 case Resource::Raw: |
| 210 case Resource::LinkPreload: | 210 case Resource::LinkPreload: |
| 211 m_linkPreloadResourceClient = LinkPreloadRawResourceClient::create(this,
toRawResource(resource.get())); | 211 m_linkPreloadResourceClient = LinkPreloadRawResourceClient::create(this,
toRawResource(resource)); |
| 212 break; | 212 break; |
| 213 default: | 213 default: |
| 214 ASSERT_NOT_REACHED(); | 214 ASSERT_NOT_REACHED(); |
| 215 } | 215 } |
| 216 } | 216 } |
| 217 | 217 |
| 218 static ResourcePtr<Resource> preloadIfNeeded(const LinkRelAttribute& relAttribut
e, const KURL& href, Document& document, const String& as, CrossOriginAttributeV
alue crossOrigin, LinkCaller caller) | 218 static Resource* preloadIfNeeded(const LinkRelAttribute& relAttribute, const KUR
L& href, Document& document, const String& as, CrossOriginAttributeValue crossOr
igin, LinkCaller caller) |
| 219 { | 219 { |
| 220 if (!document.loader() || !relAttribute.isLinkPreload()) | 220 if (!document.loader() || !relAttribute.isLinkPreload()) |
| 221 return nullptr; | 221 return nullptr; |
| 222 | 222 |
| 223 UseCounter::count(document, UseCounter::LinkRelPreload); | 223 UseCounter::count(document, UseCounter::LinkRelPreload); |
| 224 ASSERT(RuntimeEnabledFeatures::linkPreloadEnabled()); | 224 ASSERT(RuntimeEnabledFeatures::linkPreloadEnabled()); |
| 225 if (!href.isValid() || href.isEmpty()) { | 225 if (!href.isValid() || href.isEmpty()) { |
| 226 document.addConsoleMessage(ConsoleMessage::create(OtherMessageSource, Wa
rningMessageLevel, String("<link rel=preload> has an invalid `href` value"))); | 226 document.addConsoleMessage(ConsoleMessage::create(OtherMessageSource, Wa
rningMessageLevel, String("<link rel=preload> has an invalid `href` value"))); |
| 227 return nullptr; | 227 return nullptr; |
| 228 } | 228 } |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 | 328 |
| 329 DEFINE_TRACE(LinkLoader) | 329 DEFINE_TRACE(LinkLoader) |
| 330 { | 330 { |
| 331 visitor->trace(m_client); | 331 visitor->trace(m_client); |
| 332 visitor->trace(m_prerender); | 332 visitor->trace(m_prerender); |
| 333 visitor->trace(m_linkPreloadResourceClient); | 333 visitor->trace(m_linkPreloadResourceClient); |
| 334 ResourceOwner<Resource, ResourceClient>::trace(visitor); | 334 ResourceOwner<Resource, ResourceClient>::trace(visitor); |
| 335 } | 335 } |
| 336 | 336 |
| 337 } // namespace blink | 337 } // namespace blink |
| OLD | NEW |