servo: Merge #4838 - Parsing sandbox attribute on iframe elements (from psdh:local); r=jdm

#4601

Source-Repo: https://github.com/servo/servo
Source-Revision: 40c59724b2638fee3b9932eba1aa9f6ebd77b0cd
This commit is contained in:
Prabhjyot Singh Sodhi 2015-02-04 16:06:46 -07:00
parent 0fb02d59d2
commit 19eaee7c4c

View File

@ -3,6 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::attr::Attr;
use dom::attr::AttrValue;
use dom::attr::AttrHelpers;
use dom::bindings::codegen::Bindings::HTMLIFrameElementBinding;
use dom::bindings::codegen::Bindings::HTMLIFrameElementBinding::HTMLIFrameElementMethods;
@ -26,6 +27,7 @@ use servo_msg::constellation_msg::{PipelineId, SubpageId, ConstellationChan};
use servo_msg::constellation_msg::IFrameSandboxState::{IFrameSandboxed, IFrameUnsandboxed};
use servo_msg::constellation_msg::Msg as ConstellationMsg;
use util::str::DOMString;
use string_cache::Atom;
use std::ascii::AsciiExt;
use std::cell::Cell;
@ -237,6 +239,13 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLIFrameElement> {
}
}
fn parse_plain_attribute(&self, name: &Atom, value: DOMString) -> AttrValue {
match name {
&atom!("sandbox") => AttrValue::from_serialized_tokenlist(value),
_ => self.super_type().unwrap().parse_plain_attribute(name, value),
}
}
fn before_remove_attr(&self, attr: JSRef<Attr>) {
match self.super_type() {
Some(ref s) => s.before_remove_attr(attr),