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