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 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 } else if (name == allowfullscreenAttr) { | 116 } else if (name == allowfullscreenAttr) { |
117 bool oldAllowFullscreen = m_allowFullscreen; | 117 bool oldAllowFullscreen = m_allowFullscreen; |
118 m_allowFullscreen = !value.isNull(); | 118 m_allowFullscreen = !value.isNull(); |
119 if (m_allowFullscreen != oldAllowFullscreen) | 119 if (m_allowFullscreen != oldAllowFullscreen) |
120 frameOwnerPropertiesChanged(); | 120 frameOwnerPropertiesChanged(); |
121 } else if (name == permissionsAttr) { | 121 } else if (name == permissionsAttr) { |
122 if (initializePermissionsAttribute()) | 122 if (initializePermissionsAttribute()) |
123 m_permissions->setValue(value); | 123 m_permissions->setValue(value); |
124 } else if (RuntimeEnabledFeatures::embedderCSPEnforcementEnabled() && | 124 } else if (RuntimeEnabledFeatures::embedderCSPEnforcementEnabled() && |
125 name == cspAttr) { | 125 name == cspAttr) { |
| 126 // TODO(amalika): add more robust validation of the value |
| 127 if (!value.getString().containsOnlyASCII()) { |
| 128 m_csp = nullAtom; |
| 129 document().addConsoleMessage(ConsoleMessage::create( |
| 130 OtherMessageSource, ErrorMessageLevel, |
| 131 "'csp' attribute contains non-ASCII characters: " + value)); |
| 132 return; |
| 133 } |
126 AtomicString oldCSP = m_csp; | 134 AtomicString oldCSP = m_csp; |
127 m_csp = value; | 135 m_csp = value; |
128 if (m_csp != oldCSP) | 136 if (m_csp != oldCSP) |
129 frameOwnerPropertiesChanged(); | 137 frameOwnerPropertiesChanged(); |
130 } else { | 138 } else { |
131 if (name == srcAttr) | 139 if (name == srcAttr) |
132 logUpdateAttributeIfIsolatedWorldAndInDocument("iframe", srcAttr, | 140 logUpdateAttributeIfIsolatedWorldAndInDocument("iframe", srcAttr, |
133 oldValue, value); | 141 oldValue, value); |
134 HTMLFrameElementBase::parseAttribute(name, oldValue, value); | 142 HTMLFrameElementBase::parseAttribute(name, oldValue, value); |
135 } | 143 } |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 bool HTMLIFrameElement::initializePermissionsAttribute() { | 205 bool HTMLIFrameElement::initializePermissionsAttribute() { |
198 if (!RuntimeEnabledFeatures::permissionDelegationEnabled()) | 206 if (!RuntimeEnabledFeatures::permissionDelegationEnabled()) |
199 return false; | 207 return false; |
200 | 208 |
201 if (!m_permissions) | 209 if (!m_permissions) |
202 m_permissions = HTMLIFrameElementPermissions::create(this); | 210 m_permissions = HTMLIFrameElementPermissions::create(this); |
203 return true; | 211 return true; |
204 } | 212 } |
205 | 213 |
206 } // namespace blink | 214 } // namespace blink |
OLD | NEW |