mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Document bindings/trace.rs.
This commit is contained in:
parent
bfa1ab816f
commit
52ef7f7948
1 changed files with 8 additions and 5 deletions
|
@ -2,6 +2,8 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
#![deny(missing_doc)]
|
||||||
|
|
||||||
//! Utilities for tracing JS-managed values.
|
//! Utilities for tracing JS-managed values.
|
||||||
//!
|
//!
|
||||||
//! The lifetime of DOM objects is managed by the SpiderMonkey Garbage
|
//! The lifetime of DOM objects is managed by the SpiderMonkey Garbage
|
||||||
|
@ -58,6 +60,12 @@ use dom::node::{Node, TrustedNodeAddress};
|
||||||
use dom::bindings::utils::WindowProxyHandler;
|
use dom::bindings::utils::WindowProxyHandler;
|
||||||
use html5ever::tree_builder::QuirksMode;
|
use html5ever::tree_builder::QuirksMode;
|
||||||
|
|
||||||
|
/// A trait to allow tracing (only) DOM objects.
|
||||||
|
pub trait JSTraceable {
|
||||||
|
/// Trace `self`.
|
||||||
|
fn trace(&self, trc: *mut JSTracer);
|
||||||
|
}
|
||||||
|
|
||||||
impl<T: Reflectable> JSTraceable for JS<T> {
|
impl<T: Reflectable> JSTraceable for JS<T> {
|
||||||
fn trace(&self, trc: *mut JSTracer) {
|
fn trace(&self, trc: *mut JSTracer) {
|
||||||
trace_reflector(trc, "", self.reflector());
|
trace_reflector(trc, "", self.reflector());
|
||||||
|
@ -66,11 +74,6 @@ impl<T: Reflectable> JSTraceable for JS<T> {
|
||||||
|
|
||||||
no_jsmanaged_fields!(Reflector)
|
no_jsmanaged_fields!(Reflector)
|
||||||
|
|
||||||
/// A trait to allow tracing (only) DOM objects.
|
|
||||||
pub trait JSTraceable {
|
|
||||||
fn trace(&self, trc: *mut JSTracer);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Trace a `JSVal`.
|
/// Trace a `JSVal`.
|
||||||
pub fn trace_jsval(tracer: *mut JSTracer, description: &str, val: JSVal) {
|
pub fn trace_jsval(tracer: *mut JSTracer, description: &str, val: JSVal) {
|
||||||
if !val.is_markable() {
|
if !val.is_markable() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue