Chromium Code Reviews| 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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 72 // Log href attribute before logging resource fetching in process(). | 72 // Log href attribute before logging resource fetching in process(). |
| 73 logUpdateAttributeIfIsolatedWorldAndInDocument("link", hrefAttr, oldValue, | 73 logUpdateAttributeIfIsolatedWorldAndInDocument("link", hrefAttr, oldValue, |
| 74 value); | 74 value); |
| 75 process(); | 75 process(); |
| 76 } else if (name == typeAttr) { | 76 } else if (name == typeAttr) { |
| 77 m_type = value; | 77 m_type = value; |
| 78 process(); | 78 process(); |
| 79 } else if (name == asAttr) { | 79 } else if (name == asAttr) { |
| 80 m_as = value; | 80 m_as = value; |
| 81 process(); | 81 process(); |
| 82 } else if (name == referrerpolicyAttr) { | |
| 83 m_referrerPolicy = value; | |
|
Mike West
2016/10/23 05:25:46
Where do you take the page's referrer policy into
Yoav Weiss
2016/10/23 13:27:09
It's done at the consumers of HTMLLinkElement::ref
| |
| 82 } else if (name == sizesAttr) { | 84 } else if (name == sizesAttr) { |
| 83 m_sizes->setValue(value); | 85 m_sizes->setValue(value); |
| 84 } else if (name == mediaAttr) { | 86 } else if (name == mediaAttr) { |
| 85 m_media = value.lower(); | 87 m_media = value.lower(); |
| 86 process(); | 88 process(); |
| 87 } else if (name == scopeAttr) { | 89 } else if (name == scopeAttr) { |
| 88 m_scope = value; | 90 m_scope = value; |
| 89 process(); | 91 process(); |
| 90 } else if (name == disabledAttr) { | 92 } else if (name == disabledAttr) { |
| 91 UseCounter::count(document(), UseCounter::HTMLLinkElementDisabled); | 93 UseCounter::count(document(), UseCounter::HTMLLinkElementDisabled); |
| 92 if (LinkStyle* link = linkStyle()) | 94 if (LinkStyle* link = linkStyle()) |
| 93 link->setDisabledState(!value.isNull()); | 95 link->setDisabledState(!value.isNull()); |
| 94 } else { | 96 } else { |
| 95 if (name == titleAttr) { | 97 if (name == titleAttr) { |
| 96 if (LinkStyle* link = linkStyle()) | 98 if (LinkStyle* link = linkStyle()) |
| 97 link->setSheetTitle(value, StyleEngine::UpdateActiveSheets); | 99 link->setSheetTitle(value, StyleEngine::UpdateActiveSheets); |
| 98 } | 100 } |
| 99 | 101 |
| 100 HTMLElement::parseAttribute(name, oldValue, value); | 102 HTMLElement::parseAttribute(name, oldValue, value); |
| 101 } | 103 } |
| 102 } | 104 } |
| 103 | 105 |
| 104 bool HTMLLinkElement::shouldLoadLink() { | 106 bool HTMLLinkElement::shouldLoadLink() { |
| 105 return isInDocumentTree() || (isConnected() && m_relAttribute.isStyleSheet()); | 107 return isInDocumentTree() || (isConnected() && m_relAttribute.isStyleSheet()); |
| 106 } | 108 } |
| 107 | 109 |
| 108 bool HTMLLinkElement::loadLink(const String& type, | 110 bool HTMLLinkElement::loadLink(const String& type, |
| 109 const String& as, | 111 const String& as, |
| 110 const String& media, | 112 const String& media, |
| 113 const String& referrerPolicy, | |
| 111 const KURL& url) { | 114 const KURL& url) { |
| 112 return m_linkLoader->loadLink( | 115 return m_linkLoader->loadLink( |
| 113 m_relAttribute, | 116 m_relAttribute, |
| 114 crossOriginAttributeValue(fastGetAttribute(HTMLNames::crossoriginAttr)), | 117 crossOriginAttributeValue(fastGetAttribute(HTMLNames::crossoriginAttr)), |
| 115 type, as, media, url, document(), NetworkHintsInterfaceImpl()); | 118 type, as, media, referrerPolicy, url, document(), |
| 119 NetworkHintsInterfaceImpl()); | |
| 116 } | 120 } |
| 117 | 121 |
| 118 LinkResource* HTMLLinkElement::linkResourceToProcess() { | 122 LinkResource* HTMLLinkElement::linkResourceToProcess() { |
| 119 if (!shouldLoadLink()) { | 123 if (!shouldLoadLink()) { |
| 120 DCHECK(!linkStyle() || !linkStyle()->hasSheet()); | 124 DCHECK(!linkStyle() || !linkStyle()->hasSheet()); |
| 121 return nullptr; | 125 return nullptr; |
| 122 } | 126 } |
| 123 | 127 |
| 124 if (!m_link) { | 128 if (!m_link) { |
| 125 if (m_relAttribute.isImport()) { | 129 if (m_relAttribute.isImport()) { |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 353 LinkLoaderClient::trace(visitor); | 357 LinkLoaderClient::trace(visitor); |
| 354 DOMTokenListObserver::trace(visitor); | 358 DOMTokenListObserver::trace(visitor); |
| 355 } | 359 } |
| 356 | 360 |
| 357 DEFINE_TRACE_WRAPPERS(HTMLLinkElement) { | 361 DEFINE_TRACE_WRAPPERS(HTMLLinkElement) { |
| 358 visitor->traceWrappers(m_relList); | 362 visitor->traceWrappers(m_relList); |
| 359 HTMLElement::traceWrappers(visitor); | 363 HTMLElement::traceWrappers(visitor); |
| 360 } | 364 } |
| 361 | 365 |
| 362 } // namespace blink | 366 } // namespace blink |
| OLD | NEW |