aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/window.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2014-08-07 15:14:32 -0400
committerJosh Matthews <josh@joshmatthews.net>2014-08-08 16:17:17 -0400
commit015b07f1e0d0f81f246b11dbc60cac0d527357e2 (patch)
tree73fe9a7deebd54bf4aba4c54c9004fed8d9b6e89 /src/components/script/dom/window.rs
parent8b3c9f64016fe05048f8d774dc7bf0b842bdbd9c (diff)
downloadservo-015b07f1e0d0f81f246b11dbc60cac0d527357e2.tar.gz
servo-015b07f1e0d0f81f246b11dbc60cac0d527357e2.zip
Decouple compositing and script crates.
Diffstat (limited to 'src/components/script/dom/window.rs')
-rw-r--r--src/components/script/dom/window.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/components/script/dom/window.rs b/src/components/script/dom/window.rs
index 070c2373792..b73b37c4c66 100644
--- a/src/components/script/dom/window.rs
+++ b/src/components/script/dom/window.rs
@@ -21,6 +21,7 @@ use dom::screen::Screen;
use layout_interface::{ReflowForDisplay, DocumentDamageLevel};
use page::Page;
use script_task::{ExitWindowMsg, FireTimerMsg, ScriptChan, TriggerLoadMsg, TriggerFragmentMsg};
+use script_traits::ScriptControlChan;
use servo_msg::compositor_msg::ScriptListener;
use servo_net::image_cache_task::ImageCacheTask;
@@ -73,6 +74,7 @@ impl TimerHandle {
pub struct Window {
eventtarget: EventTarget,
pub script_chan: ScriptChan,
+ control_chan: ScriptControlChan,
console: Cell<Option<JS<Console>>>,
location: Cell<Option<JS<Location>>>,
navigator: Cell<Option<JS<Navigator>>>,
@@ -287,7 +289,7 @@ impl<'a> WindowHelpers for JSRef<'a, Window> {
// currently rely on the display list, which means we can't destroy it by
// doing a query reflow.
self.page().damage(damage);
- self.page().reflow(ReflowForDisplay, self.script_chan.clone(), *self.compositor);
+ self.page().reflow(ReflowForDisplay, self.control_chan.clone(), *self.compositor);
}
fn wait_until_safe_to_modify_dom(&self) {
@@ -402,12 +404,14 @@ impl Window {
pub fn new(cx: *mut JSContext,
page: Rc<Page>,
script_chan: ScriptChan,
+ control_chan: ScriptControlChan,
compositor: Box<ScriptListener>,
image_cache_task: ImageCacheTask)
-> Temporary<Window> {
let win = box Window {
eventtarget: EventTarget::new_inherited(WindowTypeId),
script_chan: script_chan,
+ control_chan: control_chan,
console: Cell::new(None),
compositor: Untraceable::new(compositor),
page: page,