aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoreshyong <eric.shyong@gmail.com>2014-07-06 23:48:31 -0400
committereshyong <eric.shyong@gmail.com>2014-07-06 23:49:01 -0400
commitf085655cc6a3f04ff5232e367f6b825e98c1b7de (patch)
treeedbd6405460b8abb30cd6c24a7c94a7a0da2882a /src
parente62637fee2f1c9627468dde81a68df1dd40b6bc9 (diff)
downloadservo-f085655cc6a3f04ff5232e367f6b825e98c1b7de.tar.gz
servo-f085655cc6a3f04ff5232e367f6b825e98c1b7de.zip
Made Page.window_size and Page.next_subpage_id Traceable, added trait Encodable for WindowSizeData, ViewportPx, PagePx, and DevicePixel
Diffstat (limited to 'src')
-rw-r--r--src/components/msg/constellation_msg.rs2
-rw-r--r--src/components/script/page.rs8
-rw-r--r--src/components/util/geometry.rs3
3 files changed, 9 insertions, 4 deletions
diff --git a/src/components/msg/constellation_msg.rs b/src/components/msg/constellation_msg.rs
index 84207ee7f7e..1969b7d7513 100644
--- a/src/components/msg/constellation_msg.rs
+++ b/src/components/msg/constellation_msg.rs
@@ -8,6 +8,7 @@
use geom::rect::Rect;
use geom::size::TypedSize2D;
use geom::scale_factor::ScaleFactor;
+use serialize::Encodable;
use servo_util::geometry::{DevicePixel, PagePx, ViewportPx};
use std::comm::{channel, Sender, Receiver};
use url::Url;
@@ -35,6 +36,7 @@ pub struct Failure {
pub subpage_id: Option<SubpageId>,
}
+#[deriving(Encodable)]
pub struct WindowSizeData {
/// The size of the initial layout viewport, before parsing an
/// http://www.w3.org/TR/css-device-adapt/#initial-viewport
diff --git a/src/components/script/page.rs b/src/components/script/page.rs
index ebdeb324819..98d074787da 100644
--- a/src/components/script/page.rs
+++ b/src/components/script/page.rs
@@ -60,7 +60,7 @@ pub struct Page {
damage: Traceable<RefCell<Option<DocumentDamage>>>,
/// The current size of the window, in pixels.
- pub window_size: Untraceable<Cell<WindowSizeData>>,
+ pub window_size: Traceable<Cell<WindowSizeData>>,
js_info: Traceable<RefCell<Option<JSPageInfo>>>,
@@ -70,7 +70,7 @@ pub struct Page {
/// when reloading.
url: Untraceable<RefCell<Option<(Url, bool)>>>,
- next_subpage_id: Untraceable<Cell<SubpageId>>,
+ next_subpage_id: Traceable<Cell<SubpageId>>,
/// Pending resize event, if any.
pub resize_event: Untraceable<Cell<Option<WindowSizeData>>>,
@@ -132,10 +132,10 @@ impl Page {
layout_chan: Untraceable::new(layout_chan),
layout_join_port: Untraceable::new(RefCell::new(None)),
damage: Traceable::new(RefCell::new(None)),
- window_size: Untraceable::new(Cell::new(window_size)),
+ window_size: Traceable::new(Cell::new(window_size)),
js_info: Traceable::new(RefCell::new(Some(js_info))),
url: Untraceable::new(RefCell::new(None)),
- next_subpage_id: Untraceable::new(Cell::new(SubpageId(0))),
+ next_subpage_id: Traceable::new(Cell::new(SubpageId(0))),
resize_event: Untraceable::new(Cell::new(None)),
fragment_node: Cell::new(None),
last_reflow_id: Traceable::new(Cell::new(0)),
diff --git a/src/components/util/geometry.rs b/src/components/util/geometry.rs
index a8c03832058..e0e980c7659 100644
--- a/src/components/util/geometry.rs
+++ b/src/components/util/geometry.rs
@@ -16,6 +16,7 @@ use std::fmt;
/// One hardware pixel.
///
/// This unit corresponds to the smallest addressable element of the display hardware.
+#[deriving(Encodable)]
pub enum DevicePixel {}
/// A normalized "pixel" at the default resolution for the display.
@@ -42,6 +43,7 @@ pub enum ScreenPx {}
///
/// At the default zoom level of 100%, one PagePx is equal to one ScreenPx. However, if the
/// document is zoomed in or out then this scale may be larger or smaller.
+#[deriving(Encodable)]
pub enum ViewportPx {}
/// One CSS "px" in the root coordinate system for the content document.
@@ -50,6 +52,7 @@ pub enum ViewportPx {}
/// This is the mobile-style "pinch zoom" that enlarges content without reflowing it. When the
/// viewport zoom is not equal to 1.0, then the layout viewport is no longer the same physical size
/// as the viewable area.
+#[deriving(Encodable)]
pub enum PagePx {}
// In summary, the hierarchy of pixel units and the factors to convert from one to the next: