Implement [Inline] interfaces

Inline interfaces just appear as a Rust type and in the TypeId hierarchy.
They are completely invisible on the JS side.
This commit is contained in:
Anthony Ramine 2016-09-26 15:48:09 +02:00
parent b745866a4d
commit 5a42bb58f9
12 changed files with 91 additions and 36 deletions

View file

@ -35,6 +35,7 @@ use dom::element::Element;
use dom::errorevent::ErrorEvent;
use dom::event::{Event, EventBubbles, EventCancelable};
use dom::eventtarget::EventTarget;
use dom::globalscope::GlobalScope;
use dom::history::History;
use dom::htmliframeelement::build_mozbrowser_custom_event;
use dom::location::Location;
@ -143,7 +144,7 @@ pub type ScrollPoint = Point2D<Au>;
#[dom_struct]
pub struct Window {
eventtarget: EventTarget,
globalscope: GlobalScope,
#[ignore_heap_size_of = "trait objects are hard"]
script_chan: MainThreadScriptChan,
#[ignore_heap_size_of = "task sources are hard"]
@ -1629,7 +1630,7 @@ impl Window {
};
let current_time = time::get_time();
let win = box Window {
eventtarget: EventTarget::new_inherited(),
globalscope: GlobalScope::new_inherited(),
script_chan: script_chan,
dom_manipulation_task_source: dom_task_source,
user_interaction_task_source: user_task_source,