| 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) 2000 Simon Hausmann (hausmann@kde.org) | 4 * (C) 2000 Simon Hausmann (hausmann@kde.org) |
| 5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 6 * Copyright (C) 2004, 2006, 2008, 2009 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2006, 2008, 2009 Apple Inc. All rights reserved. |
| 7 * Copyright (C) 2009 Ericsson AB. All rights reserved. | 7 * Copyright (C) 2009 Ericsson AB. All rights reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 #include "core/layout/LayoutIFrame.h" | 34 #include "core/layout/LayoutIFrame.h" |
| 35 | 35 |
| 36 namespace blink { | 36 namespace blink { |
| 37 | 37 |
| 38 using namespace HTMLNames; | 38 using namespace HTMLNames; |
| 39 | 39 |
| 40 inline HTMLIFrameElement::HTMLIFrameElement(Document& document) | 40 inline HTMLIFrameElement::HTMLIFrameElement(Document& document) |
| 41 : HTMLFrameElementBase(iframeTag, document) | 41 : HTMLFrameElementBase(iframeTag, document) |
| 42 , m_didLoadNonEmptyDocument(false) | 42 , m_didLoadNonEmptyDocument(false) |
| 43 , m_sandbox(DOMSettableTokenList::create(this)) | 43 , m_sandbox(DOMSettableTokenList::create(this)) |
| 44 , m_referrerPolicy(ReferrerPolicyDefault) |
| 44 { | 45 { |
| 45 } | 46 } |
| 46 | 47 |
| 47 DEFINE_NODE_FACTORY(HTMLIFrameElement) | 48 DEFINE_NODE_FACTORY(HTMLIFrameElement) |
| 48 | 49 |
| 49 DEFINE_TRACE(HTMLIFrameElement) | 50 DEFINE_TRACE(HTMLIFrameElement) |
| 50 { | 51 { |
| 51 visitor->trace(m_sandbox); | 52 visitor->trace(m_sandbox); |
| 52 HTMLFrameElementBase::trace(visitor); | 53 HTMLFrameElementBase::trace(visitor); |
| 53 DOMSettableTokenListObserver::trace(visitor); | 54 DOMSettableTokenListObserver::trace(visitor); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 if (name == nameAttr) { | 114 if (name == nameAttr) { |
| 114 if (inDocument() && document().isHTMLDocument() && !isInShadowTree()) { | 115 if (inDocument() && document().isHTMLDocument() && !isInShadowTree()) { |
| 115 HTMLDocument& document = toHTMLDocument(this->document()); | 116 HTMLDocument& document = toHTMLDocument(this->document()); |
| 116 document.removeExtraNamedItem(m_name); | 117 document.removeExtraNamedItem(m_name); |
| 117 document.addExtraNamedItem(value); | 118 document.addExtraNamedItem(value); |
| 118 } | 119 } |
| 119 m_name = value; | 120 m_name = value; |
| 120 } else if (name == sandboxAttr) { | 121 } else if (name == sandboxAttr) { |
| 121 m_sandbox->setValue(value); | 122 m_sandbox->setValue(value); |
| 122 UseCounter::count(document(), UseCounter::SandboxViaIFrame); | 123 UseCounter::count(document(), UseCounter::SandboxViaIFrame); |
| 124 } else if (RuntimeEnabledFeatures::referrerPolicyAttributeEnabled() && name
== referrerpolicyAttr) { |
| 125 m_referrerPolicy = ReferrerPolicyDefault; |
| 126 if (!value.isNull()) |
| 127 SecurityPolicy::referrerPolicyFromString(value, &m_referrerPolicy); |
| 123 } else { | 128 } else { |
| 124 HTMLFrameElementBase::parseAttribute(name, value); | 129 HTMLFrameElementBase::parseAttribute(name, value); |
| 125 } | 130 } |
| 126 } | 131 } |
| 127 | 132 |
| 128 bool HTMLIFrameElement::layoutObjectIsNeeded(const ComputedStyle& style) | 133 bool HTMLIFrameElement::layoutObjectIsNeeded(const ComputedStyle& style) |
| 129 { | 134 { |
| 130 return isURLAllowed() && HTMLElement::layoutObjectIsNeeded(style); | 135 return isURLAllowed() && HTMLElement::layoutObjectIsNeeded(style); |
| 131 } | 136 } |
| 132 | 137 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 | 171 |
| 167 void HTMLIFrameElement::valueChanged() | 172 void HTMLIFrameElement::valueChanged() |
| 168 { | 173 { |
| 169 String invalidTokens; | 174 String invalidTokens; |
| 170 setSandboxFlags(m_sandbox->value().isNull() ? SandboxNone : parseSandboxPoli
cy(m_sandbox->tokens(), invalidTokens)); | 175 setSandboxFlags(m_sandbox->value().isNull() ? SandboxNone : parseSandboxPoli
cy(m_sandbox->tokens(), invalidTokens)); |
| 171 if (!invalidTokens.isNull()) | 176 if (!invalidTokens.isNull()) |
| 172 document().addConsoleMessage(ConsoleMessage::create(OtherMessageSource,
ErrorMessageLevel, "Error while parsing the 'sandbox' attribute: " + invalidToke
ns)); | 177 document().addConsoleMessage(ConsoleMessage::create(OtherMessageSource,
ErrorMessageLevel, "Error while parsing the 'sandbox' attribute: " + invalidToke
ns)); |
| 173 setSynchronizedLazyAttribute(sandboxAttr, m_sandbox->value()); | 178 setSynchronizedLazyAttribute(sandboxAttr, m_sandbox->value()); |
| 174 } | 179 } |
| 175 | 180 |
| 181 ReferrerPolicy HTMLIFrameElement::referrerPolicyAttribute() |
| 182 { |
| 183 return m_referrerPolicy; |
| 176 } | 184 } |
| 185 } |
| OLD | NEW |