| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/html/LinkStyle.h" | 5 #include "core/html/LinkStyle.h" |
| 6 | 6 |
| 7 #include "core/css/StyleSheetContents.h" | 7 #include "core/css/StyleSheetContents.h" |
| 8 #include "core/fetch/CSSStyleSheetResource.h" | 8 #include "core/fetch/CSSStyleSheetResource.h" |
| 9 #include "core/frame/LocalFrame.h" | 9 #include "core/frame/LocalFrame.h" |
| 10 #include "core/frame/SubresourceIntegrity.h" | 10 #include "core/frame/SubresourceIntegrity.h" |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 m_owner->document().getSecurityOrigin()); | 281 m_owner->document().getSecurityOrigin()); |
| 282 } | 282 } |
| 283 m_fetchFollowingCORS = false; | 283 m_fetchFollowingCORS = false; |
| 284 } | 284 } |
| 285 | 285 |
| 286 void LinkStyle::process() { | 286 void LinkStyle::process() { |
| 287 DCHECK(m_owner->shouldProcessStyle()); | 287 DCHECK(m_owner->shouldProcessStyle()); |
| 288 String type = m_owner->typeValue().lower(); | 288 String type = m_owner->typeValue().lower(); |
| 289 String as = m_owner->asValue().lower(); | 289 String as = m_owner->asValue().lower(); |
| 290 String media = m_owner->media().lower(); | 290 String media = m_owner->media().lower(); |
| 291 String referrerPolicy = m_owner->referrerPolicy().lower(); |
| 291 LinkRequestBuilder builder(m_owner); | 292 LinkRequestBuilder builder(m_owner); |
| 292 | 293 |
| 293 if (m_owner->relAttribute().getIconType() != InvalidIcon && | 294 if (m_owner->relAttribute().getIconType() != InvalidIcon && |
| 294 builder.url().isValid() && !builder.url().isEmpty()) { | 295 builder.url().isValid() && !builder.url().isEmpty()) { |
| 295 if (!m_owner->shouldLoadLink()) | 296 if (!m_owner->shouldLoadLink()) |
| 296 return; | 297 return; |
| 297 if (!document().getSecurityOrigin()->canDisplay(builder.url())) | 298 if (!document().getSecurityOrigin()->canDisplay(builder.url())) |
| 298 return; | 299 return; |
| 299 if (!document().contentSecurityPolicy()->allowImageFromSource( | 300 if (!document().contentSecurityPolicy()->allowImageFromSource( |
| 300 builder.url())) | 301 builder.url())) |
| 301 return; | 302 return; |
| 302 if (document().frame() && document().frame()->loader().client()) { | 303 if (document().frame() && document().frame()->loader().client()) { |
| 303 document().frame()->loader().client()->dispatchDidChangeIcons( | 304 document().frame()->loader().client()->dispatchDidChangeIcons( |
| 304 m_owner->relAttribute().getIconType()); | 305 m_owner->relAttribute().getIconType()); |
| 305 } | 306 } |
| 306 } | 307 } |
| 307 | 308 |
| 308 if (!m_owner->loadLink(type, as, media, builder.url())) | 309 if (!m_owner->loadLink(type, as, media, referrerPolicy, builder.url())) |
| 309 return; | 310 return; |
| 310 | 311 |
| 311 if (m_disabledState != Disabled && m_owner->relAttribute().isStyleSheet() && | 312 if (m_disabledState != Disabled && m_owner->relAttribute().isStyleSheet() && |
| 312 styleSheetTypeIsSupported(type) && shouldLoadResource() && | 313 styleSheetTypeIsSupported(type) && shouldLoadResource() && |
| 313 builder.url().isValid()) { | 314 builder.url().isValid()) { |
| 314 if (resource()) { | 315 if (resource()) { |
| 315 removePendingSheet(); | 316 removePendingSheet(); |
| 316 clearResource(); | 317 clearResource(); |
| 317 clearFetchFollowingCORS(); | 318 clearFetchFollowingCORS(); |
| 318 } | 319 } |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 411 removePendingSheet(); | 412 removePendingSheet(); |
| 412 } | 413 } |
| 413 | 414 |
| 414 DEFINE_TRACE(LinkStyle) { | 415 DEFINE_TRACE(LinkStyle) { |
| 415 visitor->trace(m_sheet); | 416 visitor->trace(m_sheet); |
| 416 LinkResource::trace(visitor); | 417 LinkResource::trace(visitor); |
| 417 ResourceOwner<StyleSheetResource>::trace(visitor); | 418 ResourceOwner<StyleSheetResource>::trace(visitor); |
| 418 } | 419 } |
| 419 | 420 |
| 420 } // namespace blink | 421 } // namespace blink |
| OLD | NEW |