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 30 matching lines...) Expand all Loading... |
41 m_didLoadNonEmptyDocument(false), | 41 m_didLoadNonEmptyDocument(false), |
42 m_sandbox(HTMLIFrameElementSandbox::create(this)), | 42 m_sandbox(HTMLIFrameElementSandbox::create(this)), |
43 m_referrerPolicy(ReferrerPolicyDefault) {} | 43 m_referrerPolicy(ReferrerPolicyDefault) {} |
44 | 44 |
45 DEFINE_NODE_FACTORY(HTMLIFrameElement) | 45 DEFINE_NODE_FACTORY(HTMLIFrameElement) |
46 | 46 |
47 DEFINE_TRACE(HTMLIFrameElement) { | 47 DEFINE_TRACE(HTMLIFrameElement) { |
48 visitor->trace(m_sandbox); | 48 visitor->trace(m_sandbox); |
49 visitor->trace(m_permissions); | 49 visitor->trace(m_permissions); |
50 HTMLFrameElementBase::trace(visitor); | 50 HTMLFrameElementBase::trace(visitor); |
| 51 Supplementable<HTMLIFrameElement>::trace(visitor); |
51 } | 52 } |
52 | 53 |
53 HTMLIFrameElement::~HTMLIFrameElement() {} | 54 HTMLIFrameElement::~HTMLIFrameElement() {} |
54 | 55 |
55 DOMTokenList* HTMLIFrameElement::sandbox() const { | 56 DOMTokenList* HTMLIFrameElement::sandbox() const { |
56 return m_sandbox.get(); | 57 return m_sandbox.get(); |
57 } | 58 } |
58 | 59 |
59 DOMTokenList* HTMLIFrameElement::permissions() const { | 60 DOMTokenList* HTMLIFrameElement::permissions() const { |
60 if (!const_cast<HTMLIFrameElement*>(this)->initializePermissionsAttribute()) | 61 if (!const_cast<HTMLIFrameElement*>(this)->initializePermissionsAttribute()) |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 } else if (name == referrerpolicyAttr) { | 113 } else if (name == referrerpolicyAttr) { |
113 m_referrerPolicy = ReferrerPolicyDefault; | 114 m_referrerPolicy = ReferrerPolicyDefault; |
114 if (!value.isNull()) | 115 if (!value.isNull()) |
115 SecurityPolicy::referrerPolicyFromStringWithLegacyKeywords( | 116 SecurityPolicy::referrerPolicyFromStringWithLegacyKeywords( |
116 value, &m_referrerPolicy); | 117 value, &m_referrerPolicy); |
117 } else if (name == allowfullscreenAttr) { | 118 } else if (name == allowfullscreenAttr) { |
118 bool oldAllowFullscreen = m_allowFullscreen; | 119 bool oldAllowFullscreen = m_allowFullscreen; |
119 m_allowFullscreen = !value.isNull(); | 120 m_allowFullscreen = !value.isNull(); |
120 if (m_allowFullscreen != oldAllowFullscreen) | 121 if (m_allowFullscreen != oldAllowFullscreen) |
121 frameOwnerPropertiesChanged(); | 122 frameOwnerPropertiesChanged(); |
| 123 } else if (name == allowpaymentrequestAttr) { |
| 124 bool oldAllowPaymentRequest = m_allowPaymentRequest; |
| 125 m_allowPaymentRequest = !value.isNull(); |
| 126 if (m_allowPaymentRequest != oldAllowPaymentRequest) |
| 127 frameOwnerPropertiesChanged(); |
122 } else if (name == permissionsAttr) { | 128 } else if (name == permissionsAttr) { |
123 if (initializePermissionsAttribute()) | 129 if (initializePermissionsAttribute()) |
124 m_permissions->setValue(value); | 130 m_permissions->setValue(value); |
125 } else if (RuntimeEnabledFeatures::embedderCSPEnforcementEnabled() && | 131 } else if (RuntimeEnabledFeatures::embedderCSPEnforcementEnabled() && |
126 name == cspAttr) { | 132 name == cspAttr) { |
127 // TODO(amalika): add more robust validation of the value | 133 // TODO(amalika): add more robust validation of the value |
128 if (!value.getString().containsOnlyASCII()) { | 134 if (!value.getString().containsOnlyASCII()) { |
129 m_csp = nullAtom; | 135 m_csp = nullAtom; |
130 document().addConsoleMessage(ConsoleMessage::create( | 136 document().addConsoleMessage(ConsoleMessage::create( |
131 OtherMessageSource, ErrorMessageLevel, | 137 OtherMessageSource, ErrorMessageLevel, |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 bool HTMLIFrameElement::initializePermissionsAttribute() { | 212 bool HTMLIFrameElement::initializePermissionsAttribute() { |
207 if (!RuntimeEnabledFeatures::permissionDelegationEnabled()) | 213 if (!RuntimeEnabledFeatures::permissionDelegationEnabled()) |
208 return false; | 214 return false; |
209 | 215 |
210 if (!m_permissions) | 216 if (!m_permissions) |
211 m_permissions = HTMLIFrameElementPermissions::create(this); | 217 m_permissions = HTMLIFrameElementPermissions::create(this); |
212 return true; | 218 return true; |
213 } | 219 } |
214 | 220 |
215 } // namespace blink | 221 } // namespace blink |
OLD | NEW |