From 8819f0d8b86a59acbad9b3127171fce4728b0cdd Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Thu, 15 Oct 2015 18:47:04 +0530 Subject: Update script to work with lint changes --- components/script/dom/bindings/global.rs | 1 + components/script/dom/bindings/js.rs | 4 ++++ components/script/dom/node.rs | 2 ++ components/script/dom/servohtmlparser.rs | 1 + components/script/dom/webglrenderingcontext.rs | 8 +++----- components/script/page.rs | 1 + 6 files changed, 12 insertions(+), 5 deletions(-) (limited to 'components/script') diff --git a/components/script/dom/bindings/global.rs b/components/script/dom/bindings/global.rs index ea170ab2463..bc5987ae7f7 100644 --- a/components/script/dom/bindings/global.rs +++ b/components/script/dom/bindings/global.rs @@ -210,6 +210,7 @@ impl GlobalRoot { impl GlobalField { /// Create a new `GlobalField` from a rooted reference. + #[allow(unrooted_must_root)] pub fn from_rooted(global: &GlobalRef) -> GlobalField { match *global { GlobalRef::Window(window) => GlobalField::Window(JS::from_ref(window)), diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index e39e5c1f412..16fa12e7189 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -67,12 +67,14 @@ impl JS { } /// Create a JS from a Root /// XXX Not a great API. Should be a call on Root instead + #[allow(unrooted_must_root)] pub fn from_rooted(root: &Root) -> JS { JS { ptr: unsafe { NonZero::new(&**root) } } } /// Create a JS from a &T + #[allow(unrooted_must_root)] pub fn from_ref(obj: &T) -> JS { JS { ptr: unsafe { NonZero::new(&*obj) } @@ -125,6 +127,7 @@ impl PartialEq for LayoutJS { impl Clone for JS { #[inline] + #[allow(unrooted_must_root)] fn clone(&self) -> JS { JS { ptr: self.ptr.clone() @@ -288,6 +291,7 @@ impl MutNullableHeap> { } impl Default for MutNullableHeap { + #[allow(unrooted_must_root)] fn default() -> MutNullableHeap { MutNullableHeap { ptr: Cell::new(None) diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 2f9762cd4de..d5e7f5c6e83 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -1352,10 +1352,12 @@ impl Node { Node::new_(flags, Some(doc)) } + #[allow(unrooted_must_root)] pub fn new_document_node() -> Node { Node::new_(NodeFlags::new() | IS_IN_DOC, None) } + #[allow(unrooted_must_root)] fn new_(flags: NodeFlags, doc: Option<&Document>) -> Node { Node { eventtarget: EventTarget::new_inherited(), diff --git a/components/script/dom/servohtmlparser.rs b/components/script/dom/servohtmlparser.rs index fd854768347..acea9113127 100644 --- a/components/script/dom/servohtmlparser.rs +++ b/components/script/dom/servohtmlparser.rs @@ -43,6 +43,7 @@ pub struct Sink { } impl Sink { + #[allow(unrooted_must_root)] // method is only run at parse time pub fn get_or_create(&self, child: NodeOrText>) -> Root { match child { NodeOrText::AppendNode(n) => n.root(), diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 2fd87cfd19d..f5a3569da13 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -147,10 +147,10 @@ impl WebGLRenderingContext { } } - pub fn bound_texture_for(&self, target: u32) -> Option> { + pub fn bound_texture_for(&self, target: u32) -> Option> { match target { - constants::TEXTURE_2D => self.bound_texture_2d.get(), - constants::TEXTURE_CUBE_MAP => self.bound_texture_cube_map.get(), + constants::TEXTURE_2D => self.bound_texture_2d.get().map(|t| t.root()), + constants::TEXTURE_CUBE_MAP => self.bound_texture_cube_map.get().map(|t| t.root()), _ => unreachable!(), } @@ -906,7 +906,6 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { constants::TEXTURE_2D | constants::TEXTURE_CUBE_MAP => { if let Some(texture) = self.bound_texture_for(target) { - let texture = texture.root(); let result = texture.r().tex_parameter(target, name, TexParameterValue::Float(value)); handle_potential_webgl_error!(self, result); } else { @@ -924,7 +923,6 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { constants::TEXTURE_2D | constants::TEXTURE_CUBE_MAP => { if let Some(texture) = self.bound_texture_for(target) { - let texture = texture.root(); let result = texture.r().tex_parameter(target, name, TexParameterValue::Int(value)); handle_potential_webgl_error!(self, result); } else { diff --git a/components/script/page.rs b/components/script/page.rs index ce778d8bca9..b6b35c6119a 100644 --- a/components/script/page.rs +++ b/components/script/page.rs @@ -119,6 +119,7 @@ impl Page { old } + #[allow(unrooted_must_root)] pub fn set_frame(&self, frame: Option) { *self.frame.borrow_mut() = frame; } -- cgit v1.2.3