From 5dda40646ee47878b2f2264376ae717f9fa8b67d Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 2 Nov 2012 16:20:01 -0700 Subject: [PATCH] Update libcss, rust-netsurfcss, rust-css --- src/libcss | 2 +- src/rust-css | 2 +- src/rust-netsurfcss | 2 +- src/servo/css/node_void_ptr.rs | 19 +++++++++++++++++++ src/servo/servo.rc | 1 + 5 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 src/servo/css/node_void_ptr.rs diff --git a/src/libcss b/src/libcss index e86543f5f41..fa72e6b2967 160000 --- a/src/libcss +++ b/src/libcss @@ -1 +1 @@ -Subproject commit e86543f5f41108b1765087dfa2b11bdc159facf4 +Subproject commit fa72e6b29671d70bd866052e55c930249cd2a3f9 diff --git a/src/rust-css b/src/rust-css index 45c54188a79..79a3ddccd05 160000 --- a/src/rust-css +++ b/src/rust-css @@ -1 +1 @@ -Subproject commit 45c54188a79c35920df145cda7295558e4956c8e +Subproject commit 79a3ddccd05742980c5e27e48755bec807d4bd46 diff --git a/src/rust-netsurfcss b/src/rust-netsurfcss index 7ee569d3e21..8b76c31e0d7 160000 --- a/src/rust-netsurfcss +++ b/src/rust-netsurfcss @@ -1 +1 @@ -Subproject commit 7ee569d3e21ca2818f9bcc764a4abb313475e8cf +Subproject commit 8b76c31e0d72b50630f56e5fb560eda4186c6796 diff --git a/src/servo/css/node_void_ptr.rs b/src/servo/css/node_void_ptr.rs new file mode 100644 index 00000000000..24cd8f7d97d --- /dev/null +++ b/src/servo/css/node_void_ptr.rs @@ -0,0 +1,19 @@ +//! CSS library requires that DOM nodes be convertable to *c_void through this trait + +use dom::node::Node; + +// FIXME: Rust #3908. rust-css can't reexport VoidPtrLike +extern mod netsurfcss; +use netsurfcss::VoidPtrLike; + +impl Node: VoidPtrLike { + static fn from_void_ptr(node: *libc::c_void) -> Node { + assert node.is_not_null(); + unsafe { cast::reinterpret_cast(&node) } + } + + fn to_void_ptr(&self) -> *libc::c_void { + let node: *libc::c_void = unsafe { cast::reinterpret_cast(self) }; + node + } +} diff --git a/src/servo/servo.rc b/src/servo/servo.rc index baf484a02c2..6a968ee00e1 100755 --- a/src/servo/servo.rc +++ b/src/servo/servo.rc @@ -48,6 +48,7 @@ pub mod css { pub mod compute; priv mod select_handler; priv mod node_util; + priv mod node_void_ptr; } pub mod layout {