diff options
Diffstat (limited to 'src/components/script/html/hubbub_html_parser.rs')
-rw-r--r-- | src/components/script/html/hubbub_html_parser.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/components/script/html/hubbub_html_parser.rs b/src/components/script/html/hubbub_html_parser.rs index 64340a28b77..42c9e43cf48 100644 --- a/src/components/script/html/hubbub_html_parser.rs +++ b/src/components/script/html/hubbub_html_parser.rs @@ -93,7 +93,7 @@ enum JSMessage { /// Messages generated by the HTML parser upon discovery of additional resources pub enum HtmlDiscoveryMessage { HtmlDiscoveredStyle(Stylesheet), - HtmlDiscoveredIFrame((Url, SubpageId, Future<Size2D<uint>>)), + HtmlDiscoveredIFrame((Url, SubpageId, Future<Size2D<uint>>, bool)), HtmlDiscoveredScript(JSResult) } @@ -272,7 +272,7 @@ pub fn build_element_from_tag(cx: *JSContext, tag: &str) -> AbstractNode<ScriptV handle_element!(cx, tag, "ul", HTMLUListElementTypeId, HTMLUListElement, []); handle_element!(cx, tag, "img", HTMLImageElementTypeId, HTMLImageElement, [(image: None)]); - handle_element!(cx, tag, "iframe", HTMLIframeElementTypeId, HTMLIFrameElement, [(frame: None), (size: None)]); + handle_element!(cx, tag, "iframe", HTMLIframeElementTypeId, HTMLIFrameElement, [(frame: None), (size: None), (sandbox: None)]); handle_element!(cx, tag, "h1", HTMLHeadingElementTypeId, HTMLHeadingElement, [(level: Heading1)]); handle_element!(cx, tag, "h2", HTMLHeadingElementTypeId, HTMLHeadingElement, [(level: Heading2)]); @@ -401,6 +401,7 @@ pub fn parse_html(cx: *JSContext, let iframe_chan = Cell::new(discovery_chan.clone()); do node.with_mut_iframe_element |iframe_element| { let iframe_chan = iframe_chan.take(); + let sandboxed = iframe_element.is_sandboxed(); let elem = &mut iframe_element.parent.parent; let src_opt = elem.get_attr("src").map(|x| x.to_str()); for src in src_opt.iter() { @@ -427,7 +428,8 @@ pub fn parse_html(cx: *JSContext, future_chan: Some(chan), constellation_chan: constellation_chan.clone(), }); - iframe_chan.send(HtmlDiscoveredIFrame((iframe_url, subpage_id, size_future))); + iframe_chan.send(HtmlDiscoveredIFrame((iframe_url, subpage_id, + size_future, sandboxed))); } } } |