| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights | 5 * Copyright (C) 2003, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights |
| 6 * reserved. | 6 * reserved. |
| 7 * Copyright (C) 2009 Rob Buis (rwlbuis@gmail.com) | 7 * Copyright (C) 2009 Rob Buis (rwlbuis@gmail.com) |
| 8 * Copyright (C) 2011 Google Inc. All rights reserved. | 8 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 #include "core/dom/TaskRunnerHelper.h" | 32 #include "core/dom/TaskRunnerHelper.h" |
| 33 #include "core/events/Event.h" | 33 #include "core/events/Event.h" |
| 34 #include "core/frame/UseCounter.h" | 34 #include "core/frame/UseCounter.h" |
| 35 #include "core/html/CrossOriginAttribute.h" | 35 #include "core/html/CrossOriginAttribute.h" |
| 36 #include "core/html/LinkManifest.h" | 36 #include "core/html/LinkManifest.h" |
| 37 #include "core/html/imports/LinkImport.h" | 37 #include "core/html/imports/LinkImport.h" |
| 38 #include "core/inspector/ConsoleMessage.h" | 38 #include "core/inspector/ConsoleMessage.h" |
| 39 #include "core/loader/FrameLoaderClient.h" | 39 #include "core/loader/FrameLoaderClient.h" |
| 40 #include "core/loader/NetworkHintsInterface.h" | 40 #include "core/loader/NetworkHintsInterface.h" |
| 41 #include "core/origin_trials/OriginTrials.h" | 41 #include "core/origin_trials/OriginTrials.h" |
| 42 #include "platform/weborigin/SecurityPolicy.h" |
| 42 #include "public/platform/WebIconSizesParser.h" | 43 #include "public/platform/WebIconSizesParser.h" |
| 43 #include "public/platform/WebSize.h" | 44 #include "public/platform/WebSize.h" |
| 44 | 45 |
| 45 namespace blink { | 46 namespace blink { |
| 46 | 47 |
| 47 using namespace HTMLNames; | 48 using namespace HTMLNames; |
| 48 | 49 |
| 49 inline HTMLLinkElement::HTMLLinkElement(Document& document, | 50 inline HTMLLinkElement::HTMLLinkElement(Document& document, |
| 50 bool createdByParser) | 51 bool createdByParser) |
| 51 : HTMLElement(linkTag, document), | 52 : HTMLElement(linkTag, document), |
| (...skipping 20 matching lines...) Expand all Loading... |
| 72 // Log href attribute before logging resource fetching in process(). | 73 // Log href attribute before logging resource fetching in process(). |
| 73 logUpdateAttributeIfIsolatedWorldAndInDocument("link", hrefAttr, oldValue, | 74 logUpdateAttributeIfIsolatedWorldAndInDocument("link", hrefAttr, oldValue, |
| 74 value); | 75 value); |
| 75 process(); | 76 process(); |
| 76 } else if (name == typeAttr) { | 77 } else if (name == typeAttr) { |
| 77 m_type = value; | 78 m_type = value; |
| 78 process(); | 79 process(); |
| 79 } else if (name == asAttr) { | 80 } else if (name == asAttr) { |
| 80 m_as = value; | 81 m_as = value; |
| 81 process(); | 82 process(); |
| 83 } else if (name == referrerpolicyAttr) { |
| 84 m_referrerPolicy = ReferrerPolicyDefault; |
| 85 if (!value.isNull()) |
| 86 SecurityPolicy::referrerPolicyFromString(value, &m_referrerPolicy); |
| 82 } else if (name == sizesAttr) { | 87 } else if (name == sizesAttr) { |
| 83 m_sizes->setValue(value); | 88 m_sizes->setValue(value); |
| 84 } else if (name == mediaAttr) { | 89 } else if (name == mediaAttr) { |
| 85 m_media = value.lower(); | 90 m_media = value.lower(); |
| 86 process(); | 91 process(); |
| 87 } else if (name == scopeAttr) { | 92 } else if (name == scopeAttr) { |
| 88 m_scope = value; | 93 m_scope = value; |
| 89 process(); | 94 process(); |
| 90 } else if (name == disabledAttr) { | 95 } else if (name == disabledAttr) { |
| 91 UseCounter::count(document(), UseCounter::HTMLLinkElementDisabled); | 96 UseCounter::count(document(), UseCounter::HTMLLinkElementDisabled); |
| 92 if (LinkStyle* link = linkStyle()) | 97 if (LinkStyle* link = linkStyle()) |
| 93 link->setDisabledState(!value.isNull()); | 98 link->setDisabledState(!value.isNull()); |
| 94 } else { | 99 } else { |
| 95 if (name == titleAttr) { | 100 if (name == titleAttr) { |
| 96 if (LinkStyle* link = linkStyle()) | 101 if (LinkStyle* link = linkStyle()) |
| 97 link->setSheetTitle(value, StyleEngine::UpdateActiveSheets); | 102 link->setSheetTitle(value, StyleEngine::UpdateActiveSheets); |
| 98 } | 103 } |
| 99 | 104 |
| 100 HTMLElement::parseAttribute(name, oldValue, value); | 105 HTMLElement::parseAttribute(name, oldValue, value); |
| 101 } | 106 } |
| 102 } | 107 } |
| 103 | 108 |
| 104 bool HTMLLinkElement::shouldLoadLink() { | 109 bool HTMLLinkElement::shouldLoadLink() { |
| 105 return isInDocumentTree() || (isConnected() && m_relAttribute.isStyleSheet()); | 110 return isInDocumentTree() || (isConnected() && m_relAttribute.isStyleSheet()); |
| 106 } | 111 } |
| 107 | 112 |
| 108 bool HTMLLinkElement::loadLink(const String& type, | 113 bool HTMLLinkElement::loadLink(const String& type, |
| 109 const String& as, | 114 const String& as, |
| 110 const String& media, | 115 const String& media, |
| 116 ReferrerPolicy referrerPolicy, |
| 111 const KURL& url) { | 117 const KURL& url) { |
| 112 return m_linkLoader->loadLink( | 118 return m_linkLoader->loadLink( |
| 113 m_relAttribute, | 119 m_relAttribute, |
| 114 crossOriginAttributeValue(fastGetAttribute(HTMLNames::crossoriginAttr)), | 120 crossOriginAttributeValue(fastGetAttribute(HTMLNames::crossoriginAttr)), |
| 115 type, as, media, url, document(), NetworkHintsInterfaceImpl()); | 121 type, as, media, referrerPolicy, url, document(), |
| 122 NetworkHintsInterfaceImpl()); |
| 116 } | 123 } |
| 117 | 124 |
| 118 LinkResource* HTMLLinkElement::linkResourceToProcess() { | 125 LinkResource* HTMLLinkElement::linkResourceToProcess() { |
| 119 if (!shouldLoadLink()) { | 126 if (!shouldLoadLink()) { |
| 120 DCHECK(!linkStyle() || !linkStyle()->hasSheet()); | 127 DCHECK(!linkStyle() || !linkStyle()->hasSheet()); |
| 121 return nullptr; | 128 return nullptr; |
| 122 } | 129 } |
| 123 | 130 |
| 124 if (!m_link) { | 131 if (!m_link) { |
| 125 if (m_relAttribute.isImport()) { | 132 if (m_relAttribute.isImport()) { |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 LinkLoaderClient::trace(visitor); | 360 LinkLoaderClient::trace(visitor); |
| 354 DOMTokenListObserver::trace(visitor); | 361 DOMTokenListObserver::trace(visitor); |
| 355 } | 362 } |
| 356 | 363 |
| 357 DEFINE_TRACE_WRAPPERS(HTMLLinkElement) { | 364 DEFINE_TRACE_WRAPPERS(HTMLLinkElement) { |
| 358 visitor->traceWrappers(m_relList); | 365 visitor->traceWrappers(m_relList); |
| 359 HTMLElement::traceWrappers(visitor); | 366 HTMLElement::traceWrappers(visitor); |
| 360 } | 367 } |
| 361 | 368 |
| 362 } // namespace blink | 369 } // namespace blink |
| OLD | NEW |