mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Move unsafe_no_jsmanaged_fields to trace
This commit is contained in:
parent
8c40ef459b
commit
72b1df343e
3 changed files with 9 additions and 17 deletions
|
@ -48,6 +48,7 @@ use dom::bindings::str::{DOMString, USVString};
|
|||
use dom::bindings::utils::WindowProxyHandler;
|
||||
use dom::document::PendingRestyle;
|
||||
use dom::htmlimageelement::SourceSet;
|
||||
use dom::htmlmediaelement::MediaFrameRenderer;
|
||||
use encoding_rs::{Decoder, Encoding};
|
||||
use euclid::{Transform2D, Transform3D, Point2D, Vector2D, Rect, TypedSize2D, TypedScale};
|
||||
use euclid::Length as EuclidLength;
|
||||
|
@ -96,6 +97,7 @@ use servo_media::audio::context::AudioContext;
|
|||
use servo_media::audio::graph::NodeId;
|
||||
use servo_media::audio::panner_node::{DistanceModel, PanningModel};
|
||||
use servo_media::audio::param::ParamType;
|
||||
use servo_media::player::Player;
|
||||
use servo_url::{ImmutableOrigin, MutableOrigin, ServoUrl};
|
||||
use smallvec::SmallVec;
|
||||
use std::cell::{Cell, RefCell, UnsafeCell};
|
||||
|
@ -104,7 +106,7 @@ use std::hash::{BuildHasher, Hash};
|
|||
use std::ops::{Deref, DerefMut};
|
||||
use std::path::PathBuf;
|
||||
use std::rc::Rc;
|
||||
use std::sync::Arc;
|
||||
use std::sync::{Arc, Mutex};
|
||||
use std::sync::atomic::{AtomicBool, AtomicUsize};
|
||||
use std::time::{SystemTime, Instant};
|
||||
use style::attr::{AttrIdentifier, AttrValue, LengthOrPercentageOrAuto};
|
||||
|
@ -121,7 +123,7 @@ use style::stylesheets::keyframes_rule::Keyframe;
|
|||
use style::values::specified::Length;
|
||||
use time::Duration;
|
||||
use uuid::Uuid;
|
||||
use webrender_api::{DocumentId, ImageKey};
|
||||
use webrender_api::{DocumentId, ImageKey, RenderApiSender};
|
||||
use webvr_traits::WebVRGamepadHand;
|
||||
|
||||
/// A trait to allow tracing (only) DOM objects.
|
||||
|
@ -454,6 +456,9 @@ unsafe_no_jsmanaged_fields!(AudioBuffer);
|
|||
unsafe_no_jsmanaged_fields!(AudioContext<Backend>);
|
||||
unsafe_no_jsmanaged_fields!(NodeId);
|
||||
unsafe_no_jsmanaged_fields!(AnalysisEngine, DistanceModel, PanningModel, ParamType);
|
||||
unsafe_no_jsmanaged_fields!(Player);
|
||||
unsafe_no_jsmanaged_fields!(Mutex<MediaFrameRenderer>);
|
||||
unsafe_no_jsmanaged_fields!(RenderApiSender);
|
||||
|
||||
unsafe impl<'a> JSTraceable for &'a str {
|
||||
#[inline]
|
||||
|
|
|
@ -54,10 +54,7 @@ use time::{self, Timespec, Duration};
|
|||
use webrender_api::{ImageData, ImageDescriptor, ImageFormat, ImageKey, RenderApi};
|
||||
use webrender_api::{RenderApiSender, Transaction};
|
||||
|
||||
unsafe_no_jsmanaged_fields!(Player);
|
||||
unsafe_no_jsmanaged_fields!(Mutex<MediaFrameRenderer>);
|
||||
|
||||
struct MediaFrameRenderer {
|
||||
pub struct MediaFrameRenderer {
|
||||
api: RenderApi,
|
||||
current_frame: Option<(ImageKey, i32, i32)>,
|
||||
old_frame: Option<ImageKey>,
|
||||
|
|
|
@ -132,9 +132,7 @@ use time;
|
|||
use timers::{IsInterval, TimerCallback};
|
||||
use url::Position;
|
||||
use webdriver_handlers::jsval_to_webdriver;
|
||||
use webrender_api::{
|
||||
DeviceIntPoint, DeviceUintSize, DocumentId, ExternalScrollId, RenderApiSender,
|
||||
};
|
||||
use webrender_api::{DeviceIntPoint, DeviceUintSize, DocumentId, ExternalScrollId, RenderApiSender};
|
||||
use webvr_traits::WebVRMsg;
|
||||
|
||||
/// Current state of the window object
|
||||
|
@ -315,14 +313,6 @@ pub struct Window {
|
|||
webrender_api_sender: RenderApiSender,
|
||||
}
|
||||
|
||||
// FIXME(victor): this doesn't belong here
|
||||
#[allow(unsafe_code)]
|
||||
unsafe impl ::dom::bindings::trace::JSTraceable for RenderApiSender {
|
||||
unsafe fn trace(&self, _trc: *mut ::js::jsapi::JSTracer) {
|
||||
// Do nothing
|
||||
}
|
||||
}
|
||||
|
||||
impl Window {
|
||||
pub fn get_exists_mut_observer(&self) -> bool {
|
||||
self.exists_mut_observer.get()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue