Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp

Issue 2372563002: Adding Embedding-CSP HTTP header (Closed)
Patch Set: Adding a test in FrameFetchContextModifyRequestTest Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698