diff options
Diffstat (limited to 'components/script/dom/bindings/trace.rs')
-rw-r--r-- | components/script/dom/bindings/trace.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs index b877d022c2e..955638a7f7d 100644 --- a/components/script/dom/bindings/trace.rs +++ b/components/script/dom/bindings/trace.rs @@ -28,8 +28,10 @@ //! a datatype. use dom::bindings::js::JS; +use dom::bindings::refcounted::Trusted; use dom::bindings::utils::{Reflectable, Reflector, WindowProxyHandler}; use dom::node::{Node, TrustedNodeAddress}; +use script_task::ScriptChan; use collections::hash::{Hash, Hasher}; use cssparser::RGBA; @@ -203,6 +205,7 @@ no_jsmanaged_fields!(Receiver<T>) no_jsmanaged_fields!(Rect<T>) no_jsmanaged_fields!(ImageCacheTask, ScriptControlChan) no_jsmanaged_fields!(Atom, Namespace, Timer) +no_jsmanaged_fields!(Trusted<T>) no_jsmanaged_fields!(PropertyDeclarationBlock) // These three are interdependent, if you plan to put jsmanaged data // in one of these make sure it is propagated properly to containing structs @@ -217,6 +220,13 @@ no_jsmanaged_fields!(UntrustedNodeAddress) no_jsmanaged_fields!(LengthOrPercentageOrAuto) no_jsmanaged_fields!(RGBA) +impl JSTraceable for Box<ScriptChan+Send> { + #[inline] + fn trace(&self, _trc: *mut JSTracer) { + // Do nothing + } +} + impl<'a> JSTraceable for &'a str { #[inline] fn trace(&self, _: *mut JSTracer) { |