aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/script_task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/script_task.rs')
-rw-r--r--src/components/script/script_task.rs30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/components/script/script_task.rs b/src/components/script/script_task.rs
index 1929449f9a7..e90e263fbd5 100644
--- a/src/components/script/script_task.rs
+++ b/src/components/script/script_task.rs
@@ -34,7 +34,7 @@ use layout_interface::UntrustedNodeAddress;
use layout_interface;
use geom::point::Point2D;
-use geom::size::Size2D;
+use geom::size::TypedSize2D;
use js::jsapi::JS_CallFunctionValue;
use js::jsapi::{JS_SetWrapObjectCallbacks, JS_SetGCZeal, JS_DEFAULT_ZEAL_FREQ, JS_GC};
use js::jsapi::{JSContext, JSRuntime};
@@ -49,7 +49,7 @@ use servo_msg::constellation_msg::{PipelineId, SubpageId, Failure, FailureMsg};
use servo_msg::constellation_msg;
use servo_net::image_cache_task::ImageCacheTask;
use servo_net::resource_task::ResourceTask;
-use servo_util::geometry::to_frac_px;
+use servo_util::geometry::{PagePx, to_frac_px};
use servo_util::task::send_on_failure;
use servo_util::namespace::Null;
use servo_util::str::DOMString;
@@ -80,13 +80,13 @@ pub enum ScriptMsg {
/// Sends a DOM event.
SendEventMsg(PipelineId, Event_),
/// Window resized. Sends a DOM event eventually, but first we combine events.
- ResizeMsg(PipelineId, Size2D<uint>),
+ ResizeMsg(PipelineId, TypedSize2D<PagePx, f32>),
/// Fires a JavaScript timeout.
FireTimerMsg(PipelineId, TimerId),
/// Notifies script that reflow is finished.
ReflowCompleteMsg(PipelineId, uint),
/// Notifies script that window has been resized but to not take immediate action.
- ResizeInactiveMsg(PipelineId, Size2D<uint>),
+ ResizeInactiveMsg(PipelineId, TypedSize2D<PagePx, f32>),
/// Notifies the script that a pipeline should be closed.
ExitPipelineMsg(PipelineId),
/// Notifies the script that a window associated with a particular pipeline should be closed.
@@ -145,7 +145,7 @@ pub struct Page {
damage: Traceable<RefCell<Option<DocumentDamage>>>,
/// The current size of the window, in pixels.
- window_size: Untraceable<Cell<Size2D<uint>>>,
+ window_size: Untraceable<Cell<TypedSize2D<PagePx, f32>>>,
js_info: Traceable<RefCell<Option<JSPageInfo>>>,
@@ -158,7 +158,7 @@ pub struct Page {
next_subpage_id: Untraceable<Cell<SubpageId>>,
/// Pending resize event, if any.
- resize_event: Untraceable<Cell<Option<Size2D<uint>>>>,
+ resize_event: Untraceable<Cell<Option<TypedSize2D<PagePx, f32>>>>,
/// Pending scroll to fragment event, if any
fragment_node: Cell<Option<JS<Element>>>,
@@ -201,7 +201,7 @@ impl IterablePage for Rc<Page> {
impl Page {
fn new(id: PipelineId, subpage_id: Option<SubpageId>,
layout_chan: LayoutChan,
- window_size: Size2D<uint>, resource_task: ResourceTask,
+ window_size: TypedSize2D<PagePx, f32>, resource_task: ResourceTask,
constellation_chan: ConstellationChan,
js_context: Rc<Cx>) -> Page {
let js_info = JSPageInfo {
@@ -609,7 +609,7 @@ impl ScriptTask {
constellation_chan: ConstellationChan,
resource_task: ResourceTask,
img_cache_task: ImageCacheTask,
- window_size: Size2D<uint>)
+ window_size: TypedSize2D<PagePx, f32>)
-> Rc<ScriptTask> {
let (js_runtime, js_context) = ScriptTask::new_rt_and_cx();
let page = Page::new(id, None, layout_chan, window_size,
@@ -690,7 +690,7 @@ impl ScriptTask {
failure_msg: Failure,
resource_task: ResourceTask,
image_cache_task: ImageCacheTask,
- window_size: Size2D<uint>) {
+ window_size: TypedSize2D<PagePx, f32>) {
let mut builder = TaskBuilder::new().named("ScriptTask");
let ConstellationChan(const_chan) = constellation_chan.clone();
send_on_failure(&mut builder, FailureMsg(failure_msg), const_chan);
@@ -737,8 +737,8 @@ impl ScriptTask {
}
}
- for (id, Size2D { width, height }) in resizes.move_iter() {
- self.handle_event(id, ResizeEvent(width, height));
+ for (id, size) in resizes.move_iter() {
+ self.handle_event(id, ResizeEvent(size));
}
// Store new resizes, and gather all other events.
@@ -868,7 +868,7 @@ impl ScriptTask {
}
/// Window was resized, but this script was not active, so don't reflow yet
- fn handle_resize_inactive_msg(&self, id: PipelineId, new_size: Size2D<uint>) {
+ fn handle_resize_inactive_msg(&self, id: PipelineId, new_size: TypedSize2D<PagePx, f32>) {
let mut page = self.page.borrow_mut();
let page = page.find(id).expect("Received resize message for PipelineId not associated
with a page in the page tree. This is a bug.");
@@ -1063,12 +1063,12 @@ impl ScriptTask {
/// TODO: Actually perform DOM event dispatch.
fn handle_event(&self, pipeline_id: PipelineId, event: Event_) {
match event {
- ResizeEvent(new_width, new_height) => {
- debug!("script got resize event: {:u}, {:u}", new_width, new_height);
+ ResizeEvent(new_size) => {
+ debug!("script got resize event: {:?}", new_size);
let window = {
let page = get_page(&*self.page.borrow(), pipeline_id);
- page.window_size.deref().set(Size2D(new_width, new_height));
+ page.window_size.deref().set(new_size);
let frame = page.frame();
if frame.is_some() {