aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_task.rs
diff options
context:
space:
mode:
authorvectorijk <jiangkai@gmail.com>2015-08-13 06:53:25 -0700
committervectorijk <jiangkai@gmail.com>2015-08-16 01:34:55 -0700
commit14ac1ef75a52e5a0d68e8cec68c9787f047e96d7 (patch)
tree3993e114376fe7813524fa7a51214a4fe951f15c /components/script/script_task.rs
parent7c63c7d7c109165b9584da5b31658ff89af21ef9 (diff)
downloadservo-14ac1ef75a52e5a0d68e8cec68c9787f047e96d7.tar.gz
servo-14ac1ef75a52e5a0d68e8cec68c9787f047e96d7.zip
remove ScriptListener
ref #7175
Diffstat (limited to 'components/script/script_task.rs')
-rw-r--r--components/script/script_task.rs19
1 files changed, 10 insertions, 9 deletions
diff --git a/components/script/script_task.rs b/components/script/script_task.rs
index e09513bf31c..8960ee54038 100644
--- a/components/script/script_task.rs
+++ b/components/script/script_task.rs
@@ -62,7 +62,7 @@ use script_traits::{CompositorEvent, MouseButton};
use script_traits::ConstellationControlMsg;
use script_traits::{NewLayoutInfo, OpaqueScriptLayoutChannel};
use script_traits::{ScriptState, ScriptTaskFactory};
-use msg::compositor_msg::{LayerId, ScriptListener};
+use msg::compositor_msg::{LayerId, ScriptToCompositorMsg};
use msg::constellation_msg::{ConstellationChan, FocusType};
use msg::constellation_msg::{LoadData, PipelineId, SubpageId, MozBrowserEvent, WorkerId};
use msg::constellation_msg::{Failure, WindowSizeData, PipelineExitType};
@@ -97,7 +97,7 @@ use url::{Url, UrlParser};
use libc;
use std::any::Any;
use std::borrow::ToOwned;
-use std::cell::{Cell, RefCell};
+use std::cell::{Cell, RefCell, RefMut};
use std::collections::HashSet;
use std::io::{stdout, Write};
use std::mem as std_mem;
@@ -361,7 +361,7 @@ pub struct ScriptTask {
constellation_chan: ConstellationChan,
/// A handle to the compositor for communicating ready state messages.
- compositor: DOMRefCell<ScriptListener>,
+ compositor: DOMRefCell<IpcSender<ScriptToCompositorMsg>>,
/// The port on which we receive messages from the image cache
image_cache_port: Receiver<ImageCacheResult>,
@@ -443,7 +443,7 @@ impl ScriptTaskFactory for ScriptTask {
fn create(_phantom: Option<&mut ScriptTask>,
id: PipelineId,
parent_info: Option<(PipelineId, SubpageId)>,
- compositor: ScriptListener,
+ compositor: IpcSender<ScriptToCompositorMsg>,
layout_chan: &OpaqueScriptLayoutChannel,
control_chan: Sender<ConstellationControlMsg>,
control_port: Receiver<ConstellationControlMsg>,
@@ -579,7 +579,7 @@ impl ScriptTask {
}
/// Creates a new script task.
- pub fn new(compositor: ScriptListener,
+ pub fn new(compositor: IpcSender<ScriptToCompositorMsg>,
port: Receiver<MainThreadScriptMsg>,
chan: MainThreadScriptChan,
control_chan: Sender<ConstellationControlMsg>,
@@ -1329,7 +1329,7 @@ impl ScriptTask {
// TODO(tkuehn): currently there is only one window,
// so this can afford to be naive and just shut down the
// compositor. In the future it'll need to be smarter.
- self.compositor.borrow_mut().close();
+ (*(RefMut::map(self.compositor.borrow_mut(), |t| t))).send(ScriptToCompositorMsg::Exit).unwrap();
}
/// We have received notification that the response associated with a load has completed.
@@ -1506,7 +1506,7 @@ impl ScriptTask {
MainThreadScriptChan(sender.clone()),
self.image_cache_channel.clone(),
self.control_chan.clone(),
- self.compositor.borrow_mut().dup(),
+ (*(RefMut::map(self.compositor.borrow_mut(), |t| t))).clone(),
self.image_cache_task.clone(),
self.resource_task.clone(),
self.storage_task.clone(),
@@ -1601,7 +1601,8 @@ impl ScriptTask {
// Really what needs to happen is that this needs to go through layout to ask which
// layer the element belongs to, and have it send the scroll message to the
// compositor.
- self.compositor.borrow_mut().scroll_fragment_point(pipeline_id, LayerId::null(), point);
+ (*(RefMut::map(self.compositor.borrow_mut(), |t| t))).send(
+ ScriptToCompositorMsg::ScrollFragmentPoint(pipeline_id, LayerId::null(), point)).unwrap();
}
/// Reflows non-incrementally, rebuilding the entire layout tree in the process.
@@ -1699,7 +1700,7 @@ impl ScriptTask {
let page = get_page(&self.root_page(), pipeline_id);
let document = page.document();
document.r().dispatch_key_event(
- key, state, modifiers, &mut *self.compositor.borrow_mut());
+ key, state, modifiers, &mut *(RefMut::map(self.compositor.borrow_mut(), |t| t)));
}
}
}