aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-12-13 18:43:26 -0800
committerPatrick Walton <pcwalton@mimiga.net>2012-12-13 18:43:59 -0800
commit8fd5bd516f1dc32cb6ad4c8f9e24bc4897dfccd0 (patch)
tree3e5e79088fe79930244bf652e6681944a164e8b8 /src
parent136c3a6b9f44f529c881a189bb23e420f0ca2389 (diff)
downloadservo-8fd5bd516f1dc32cb6ad4c8f9e24bc4897dfccd0.tar.gz
servo-8fd5bd516f1dc32cb6ad4c8f9e24bc4897dfccd0.zip
Update for language changes
Diffstat (limited to 'src')
m---------src/rust-azure0
m---------src/rust-cairo0
m---------src/rust-cocoa0
m---------src/rust-core-graphics0
m---------src/rust-core-text0
m---------src/rust-css0
m---------src/rust-geom0
m---------src/rust-glut0
m---------src/rust-http-client0
m---------src/rust-layers0
m---------src/rust-mozjs0
m---------src/rust-netsurfcss0
-rw-r--r--src/servo-gfx/display_list.rs10
-rw-r--r--src/servo-gfx/font_context.rs8
-rw-r--r--src/servo-gfx/image/base.rs2
-rw-r--r--src/servo-gfx/quartz/font.rs35
-rw-r--r--src/servo-gfx/quartz/font_context.rs10
-rw-r--r--src/servo-gfx/quartz/font_list.rs22
-rw-r--r--src/servo-gfx/render_layers.rs2
-rw-r--r--src/servo-gfx/render_task.rs10
-rw-r--r--src/servo-gfx/resource/file_loader.rs2
-rw-r--r--src/servo-gfx/resource/http_loader.rs2
-rw-r--r--src/servo-gfx/resource/image_cache_task.rs16
-rw-r--r--src/servo-gfx/resource/local_image_cache.rs15
-rw-r--r--src/servo-gfx/text/glyph.rs7
-rw-r--r--src/servo-gfx/text/harfbuzz/shaper.rs85
-rw-r--r--src/servo-gfx/text/mod.rs6
-rw-r--r--src/servo-gfx/text/text_run.rs7
-rw-r--r--src/servo/content/content_task.rs4
-rw-r--r--src/servo/css/matching.rs4
-rw-r--r--src/servo/css/node_void_ptr.rs2
-rw-r--r--src/servo/dom/bindings/document.rs4
-rw-r--r--src/servo/dom/bindings/element.rs9
-rw-r--r--src/servo/dom/bindings/node.rs3
-rw-r--r--src/servo/dom/bindings/utils.rs6
-rw-r--r--src/servo/dom/bindings/window.rs6
-rw-r--r--src/servo/dom/cow.rs40
-rw-r--r--src/servo/dom/element.rs4
-rw-r--r--src/servo/dom/window.rs2
-rw-r--r--src/servo/engine.rs20
-rw-r--r--src/servo/html/hubbub_html_parser.rs16
-rw-r--r--src/servo/layout/box.rs44
-rw-r--r--src/servo/layout/box_builder.rs43
-rw-r--r--src/servo/layout/display_list_builder.rs5
-rw-r--r--src/servo/layout/text.rs4
-rw-r--r--src/servo/platform/osmain.rs4
-rw-r--r--src/servo/platform/resize_rate_limiter.rs2
-rwxr-xr-xsrc/servo/servo.rc14
-rw-r--r--src/servo/util/actor.rs24
m---------src/sharegl0
50 files changed, 252 insertions, 247 deletions
diff --git a/src/rust-azure b/src/rust-azure
-Subproject 4a5c9889f8d4354deec3becbeb80f6b51ad7e58
+Subproject 37389b82bd5608b05b66edce7a4cce92c7edb3c
diff --git a/src/rust-cairo b/src/rust-cairo
-Subproject 536b7641da5aab88cbb554d35548c408feed182
+Subproject 4fa6613be800afb715b1be304274e074426475b
diff --git a/src/rust-cocoa b/src/rust-cocoa
-Subproject 8366d38b751fa1952ebe85c531c5249d3439a33
+Subproject e4afef45bb91bf78589b3f02f4ee0411f85d86c
diff --git a/src/rust-core-graphics b/src/rust-core-graphics
-Subproject c413a96a8c6b70815b4d5ad7469c7983af41772
+Subproject fb1ea4368fd766239bd3578d66c4218fa46f1e5
diff --git a/src/rust-core-text b/src/rust-core-text
-Subproject 87af01643fa7e5cd06a3fb58d66b387046303f9
+Subproject e777e17f054be294792a097d5aaa7a1f56f018b
diff --git a/src/rust-css b/src/rust-css
-Subproject c5b2028f812195e9509523ad7e269b36266b1d7
+Subproject 105bc09e7d5988a5d8601d69efc5a22b73d634a
diff --git a/src/rust-geom b/src/rust-geom
-Subproject f521dd6f94ba3ed92930116e16fb26fe63baa2a
+Subproject fda5dc9644e1eba2dbf4d1023ee3b6c6eda43b6
diff --git a/src/rust-glut b/src/rust-glut
-Subproject 1bc7ce1f009afb308d170e6456e41de6570c373
+Subproject c14e24d51502ffaa44ccde9877920ba829be1bd
diff --git a/src/rust-http-client b/src/rust-http-client
-Subproject db00f7d1feb0ff2ad2989d98ff152702d4638c0
+Subproject ab8f9db13f401eeeff5a08e2955bc6964a7c06e
diff --git a/src/rust-layers b/src/rust-layers
-Subproject 0e0d487a2be12b881d83fcf1c2680d00a020282
+Subproject caecddcc50418adbed686f6bd33e4c1d9ea5efe
diff --git a/src/rust-mozjs b/src/rust-mozjs
-Subproject 7f392d636b1e0d34871f1c66adf0d7d8b39b4c7
+Subproject fb5f5a5660f4b3af536b5dc314f7ebd059c0e29
diff --git a/src/rust-netsurfcss b/src/rust-netsurfcss
-Subproject 5cde7b87ad4168a13d89077b2670c0e156cf4b0
+Subproject 915654c60779a41ff7e419153a2f3d00a2d3741
diff --git a/src/servo-gfx/display_list.rs b/src/servo-gfx/display_list.rs
index bc1acfec228..c8f79064a95 100644
--- a/src/servo-gfx/display_list.rs
+++ b/src/servo-gfx/display_list.rs
@@ -43,20 +43,20 @@ impl DisplayItem {
}
fn draw_into_context(&self, ctx: &RenderContext) {
- match *self {
- SolidColor(_, color) => ctx.draw_solid_color(&self.d().bounds, color),
- Text(_, run, ref range, color) => {
+ match self {
+ &SolidColor(_, color) => ctx.draw_solid_color(&self.d().bounds, color),
+ &Text(_, run, ref range, color) => {
let new_run = @run.deserialize(ctx.font_ctx);
let font = new_run.font;
let origin = self.d().bounds.origin;
let baseline_origin = Point2D(origin.x, origin.y + font.metrics.ascent);
font.draw_text_into_context(ctx, new_run, range, baseline_origin, color);
},
- Image(_, ref img) => {
+ &Image(_, ref img) => {
debug!("drawing image at %?", self.d().bounds);
ctx.draw_image(self.d().bounds, clone_arc(img));
}
- Border(_, width, color) => ctx.draw_border(&self.d().bounds, width, color),
+ &Border(_, width, color) => ctx.draw_border(&self.d().bounds, width, color),
}
debug!("%?", {
diff --git a/src/servo-gfx/font_context.rs b/src/servo-gfx/font_context.rs
index 4b230be7504..d0f400386db 100644
--- a/src/servo-gfx/font_context.rs
+++ b/src/servo-gfx/font_context.rs
@@ -11,7 +11,7 @@ use core::send_map::linear::LinearMap;
use core::send_map::linear;
// TODO(Issue #164): delete, and get default font from font list
-const TEST_FONT: [u8 * 33004] = #include_bin("JosefinSans-SemiBold.ttf");
+const TEST_FONT: [u8 * 33004] = include_bin!("JosefinSans-SemiBold.ttf");
fn test_font_bin() -> ~[u8] {
return vec::from_fn(33004, |i| TEST_FONT[i]);
@@ -170,12 +170,12 @@ pub impl FontContext {
}
priv fn create_font_instance(desc: &FontDescriptor) -> Result<@Font, ()> {
- return match desc.selector {
- SelectorStubDummy => {
+ return match &desc.selector {
+ &SelectorStubDummy => {
Font::new_from_buffer(&self, test_font_bin(), &desc.style, self.backend)
},
// TODO(Issue #174): implement by-platform-name font selectors.
- SelectorPlatformIdentifier(identifier) => {
+ &SelectorPlatformIdentifier(identifier) => {
let result_handle = self.handle.create_font_from_identifier(copy identifier, copy desc.style);
result::chain(move result_handle, |handle| {
Ok(Font::new_from_adopted_handle(&self, move handle, &desc.style, self.backend))
diff --git a/src/servo-gfx/image/base.rs b/src/servo-gfx/image/base.rs
index 5444ca7949b..3028c12c8c0 100644
--- a/src/servo-gfx/image/base.rs
+++ b/src/servo-gfx/image/base.rs
@@ -9,7 +9,7 @@ pub fn Image(width: uint, height: uint, depth: uint, data: ~[u8]) -> Image {
stb_image::new_image(width, height, depth, move data)
}
-const TEST_IMAGE: [u8 * 4962] = #include_bin("test.jpeg");
+const TEST_IMAGE: [u8 * 4962] = include_bin!("test.jpeg");
pub fn test_image_bin() -> ~[u8] {
return vec::from_fn(4962, |i| TEST_IMAGE[i]);
diff --git a/src/servo-gfx/quartz/font.rs b/src/servo-gfx/quartz/font.rs
index 2ef54205bda..32cdecb7692 100644
--- a/src/servo-gfx/quartz/font.rs
+++ b/src/servo-gfx/quartz/font.rs
@@ -2,27 +2,20 @@ extern mod core_foundation;
extern mod core_graphics;
extern mod core_text;
-use cf = core_foundation;
-use cf::base::{
- CFIndex,
- CFTypeRef,
- CFWrapper,
-};
-use cf::data::{CFData, CFDataRef};
-use cf::string::UniChar;
-use cg = core_graphics;
+use quartz::font::core_foundation::base::{CFIndex, CFTypeRef, CFWrapper};
+use quartz::font::core_foundation::data::{CFData, CFDataRef};
+use quartz::font::core_foundation::string::UniChar;
-use cg::base::{CGFloat, CGAffineTransform};
-use cg::data_provider::{CGDataProviderRef, CGDataProvider};
-use cg::font::{CGFont, CGFontRef, CGGlyph};
-use cg::geometry::CGRect;
+use quartz::font::core_graphics::base::{CGFloat, CGAffineTransform};
+use quartz::font::core_graphics::data_provider::{CGDataProviderRef, CGDataProvider};
+use quartz::font::core_graphics::font::{CGFont, CGFontRef, CGGlyph};
+use quartz::font::core_graphics::geometry::CGRect;
-use ct = core_text;
-use ct::font::CTFont;
-use ct::font_descriptor::{kCTFontDefaultOrientation, CTFontSymbolicTraits};
-use ct::font_descriptor::{SymbolicTraitAccessors};
+use quartz::font::core_text::font::CTFont;
+use quartz::font::core_text::font_descriptor::{kCTFontDefaultOrientation, CTFontSymbolicTraits};
+use quartz::font::core_text::font_descriptor::{SymbolicTraitAccessors};
-use font_context::QuartzFontContextHandle;
+use quartz::font_context::QuartzFontContextHandle;
use geometry::Au;
use gfx_font::{
CSSFontWeight,
@@ -76,11 +69,11 @@ pub impl QuartzFontHandle {
static fn new_from_buffer(_fctx: &QuartzFontContextHandle, buf: ~[u8],
style: &SpecifiedFontStyle) -> Result<QuartzFontHandle, ()> {
let fontprov : CGDataProvider = vec::as_imm_buf(buf, |cbuf, len| {
- cg::data_provider::new_from_buffer(cbuf, len)
+ quartz::font::core_graphics::data_provider::new_from_buffer(cbuf, len)
});
- let cgfont = cg::font::create_with_data_provider(&fontprov);
- let ctfont = ct::font::new_from_CGFont(&cgfont, style.pt_size);
+ let cgfont = quartz::font::core_graphics::font::create_with_data_provider(&fontprov);
+ let ctfont = quartz::font::core_text::font::new_from_CGFont(&cgfont, style.pt_size);
let result = Ok(QuartzFontHandle {
cgfont : Some(move cgfont),
diff --git a/src/servo-gfx/quartz/font_context.rs b/src/servo-gfx/quartz/font_context.rs
index 33a8b4326db..b84fdefcb1c 100644
--- a/src/servo-gfx/quartz/font_context.rs
+++ b/src/servo-gfx/quartz/font_context.rs
@@ -2,11 +2,10 @@ extern mod core_foundation;
extern mod core_graphics;
extern mod core_text;
-use ct = core_text;
-use ct::font::CTFont;
+use quartz::font::QuartzFontHandle;
+use quartz::font_context::core_text::font::CTFont;
use gfx_font::{FontHandle, UsedFontStyle};
-use font::QuartzFontHandle;
use gfx_font_context::FontContextHandleMethods;
pub struct QuartzFontContextHandle {
@@ -28,9 +27,10 @@ pub impl QuartzFontContextHandle : FontContextHandleMethods {
}
fn create_font_from_identifier(name: ~str, style: UsedFontStyle) -> Result<FontHandle, ()> {
- let ctfont_result = ct::font::new_from_name(move name, style.pt_size);
+ let ctfont_result = quartz::font_context::core_text::font::new_from_name(move name,
+ style.pt_size);
do result::chain(move ctfont_result) |ctfont| {
QuartzFontHandle::new_from_CTFont(&self, move ctfont)
}
}
-} \ No newline at end of file
+}
diff --git a/src/servo-gfx/quartz/font_list.rs b/src/servo-gfx/quartz/font_list.rs
index 0697b5327c4..7f9b2bc54e9 100644
--- a/src/servo-gfx/quartz/font_list.rs
+++ b/src/servo-gfx/quartz/font_list.rs
@@ -1,15 +1,14 @@
extern mod core_foundation;
extern mod core_text;
-use cf = core_foundation;
-use cf::array::CFArray;
-use cf::base::CFWrapper;
-use cf::string::{CFString, CFStringRef};
+use quartz::font_list::core_foundation::array::CFArray;
+use quartz::font_list::core_foundation::base::CFWrapper;
+use quartz::font_list::core_foundation::string::{CFString, CFStringRef};
-use ct = core_text;
-use ct::font::{CTFont, debug_font_names, debug_font_traits};
-use ct::font_collection::CTFontCollection;
-use ct::font_descriptor::{CTFontDescriptor, CTFontDescriptorRef, debug_descriptor};
+use quartz::font_list::core_text::font::{CTFont, debug_font_names, debug_font_traits};
+use quartz::font_list::core_text::font_collection::CTFontCollection;
+use quartz::font_list::core_text::font_descriptor::{CTFontDescriptor, CTFontDescriptorRef};
+use quartz::font_list::core_text::font_descriptor::{debug_descriptor};
use quartz::font::QuartzFontHandle;
use quartz::font_context::QuartzFontContextHandle;
@@ -29,7 +28,7 @@ pub impl QuartzFontListHandle {
}
fn get_available_families() -> FontFamilyMap {
- let family_names = ct::font_collection::get_family_names();
+ let family_names = quartz::font_list::core_text::font_collection::get_family_names();
let mut family_map : FontFamilyMap = linear::LinearMap();
for family_names.each |strref: &CFStringRef| {
let family_name = CFWrapper::wrap_shared(*strref).to_str();
@@ -45,10 +44,11 @@ pub impl QuartzFontListHandle {
let family_name = &family.family_name;
debug!("Looking for faces of family: %s", *family_name);
- let family_collection = ct::font_collection::create_for_family(*family_name);
+ let family_collection =
+ quartz::font_list::core_text::font_collection::create_for_family(*family_name);
for family_collection.get_descriptors().each |descref: &CTFontDescriptorRef| {
let desc = CFWrapper::wrap_shared(*descref);
- let font = ct::font::new_from_descriptor(&desc, 0.0);
+ let font = quartz::font_list::core_text::font::new_from_descriptor(&desc, 0.0);
let handle = result::unwrap(QuartzFontHandle::new_from_CTFont(&self.fctx, move font));
debug!("Creating new FontEntry for face: %s", handle.face_name());
diff --git a/src/servo-gfx/render_layers.rs b/src/servo-gfx/render_layers.rs
index fa6a79c341f..e919416cb63 100644
--- a/src/servo-gfx/render_layers.rs
+++ b/src/servo-gfx/render_layers.rs
@@ -111,7 +111,7 @@ pub fn render_layers(layer_ref: *RenderLayer,
//}
// Create a port and channel pair to receive the new buffer.
- let (new_buffer_chan, new_buffer_port) = pipes::stream();
+ let (new_buffer_port, new_buffer_chan) = pipes::stream();
// Send the buffer to the child.
f(layer_ref, move buffer, move new_buffer_chan);
diff --git a/src/servo-gfx/render_task.rs b/src/servo-gfx/render_task.rs
index cf01d889ae8..d027558f9f5 100644
--- a/src/servo-gfx/render_task.rs
+++ b/src/servo-gfx/render_task.rs
@@ -23,11 +23,11 @@ pub enum Msg {
pub type RenderTask = comm::Chan<Msg>;
-pub fn RenderTask<C: Compositor Send>(compositor: C, opts: Opts) -> RenderTask {
+pub fn RenderTask<C: Compositor Owned>(compositor: C, opts: Opts) -> RenderTask {
let compositor_cell = Cell(move compositor);
let opts_cell = Cell(move opts);
do task::spawn_listener |po: comm::Port<Msg>, move compositor_cell, move opts_cell| {
- let (layer_buffer_channel, layer_buffer_set_port) = pipes::stream();
+ let (layer_buffer_set_port, layer_buffer_channel) = pipes::stream();
let compositor = compositor_cell.take();
compositor.begin_drawing(move layer_buffer_channel);
@@ -67,7 +67,7 @@ priv struct ThreadRenderContext {
opts: Opts,
}
-priv struct Renderer<C: Compositor Send> {
+priv struct Renderer<C: Compositor Owned> {
port: comm::Port<Msg>,
compositor: C,
layer_buffer_set_port: Cell<pipes::Port<LayerBufferSet>>,
@@ -75,7 +75,7 @@ priv struct Renderer<C: Compositor Send> {
opts: Opts,
}
-impl<C: Compositor Send> Renderer<C> {
+impl<C: Compositor Owned> Renderer<C> {
fn start() {
debug!("renderer: beginning rendering loop");
@@ -100,7 +100,7 @@ impl<C: Compositor Send> Renderer<C> {
}
let layer_buffer_set = layer_buffer_set_port.recv();
- let (layer_buffer_set_channel, new_layer_buffer_set_port) = pipes::stream();
+ let (new_layer_buffer_set_port, layer_buffer_set_channel) = pipes::stream();
self.layer_buffer_set_port.put_back(move new_layer_buffer_set_port);
let layer_buffer_set_cell = Cell(move layer_buffer_set);
diff --git a/src/servo-gfx/resource/file_loader.rs b/src/servo-gfx/resource/file_loader.rs
index ab92f26c4a4..f12a5dc1110 100644
--- a/src/servo-gfx/resource/file_loader.rs
+++ b/src/servo-gfx/resource/file_loader.rs
@@ -2,7 +2,7 @@ export factory;
use comm::Chan;
use task::spawn;
-use resource_task::{ProgressMsg, Payload, Done};
+use resource::resource_task::{ProgressMsg, Payload, Done};
use std::net::url::Url;
use io::{file_reader, ReaderUtil};
diff --git a/src/servo-gfx/resource/http_loader.rs b/src/servo-gfx/resource/http_loader.rs
index f8acb1734b5..8bf08bde718 100644
--- a/src/servo-gfx/resource/http_loader.rs
+++ b/src/servo-gfx/resource/http_loader.rs
@@ -2,7 +2,7 @@ export factory;
use comm::Chan;
use task::spawn;
-use resource_task::{ProgressMsg, Payload, Done};
+use resource::resource_task::{ProgressMsg, Payload, Done};
use std::net::url::Url;
use http_client::{uv_http_request};
diff --git a/src/servo-gfx/resource/image_cache_task.rs b/src/servo-gfx/resource/image_cache_task.rs
index e3185bff188..100c1800da0 100644
--- a/src/servo-gfx/resource/image_cache_task.rs
+++ b/src/servo-gfx/resource/image_cache_task.rs
@@ -1,6 +1,6 @@
use image::base::{Image, load_from_memory, test_image_bin};
use resource::resource_task;
-use resource_task::ResourceTask;
+use resource::resource_task::ResourceTask;
use util::url::{make_url, UrlMap, url_map};
use clone_arc = std::arc::clone;
@@ -49,10 +49,10 @@ pub enum ImageResponseMsg {
impl ImageResponseMsg {
pure fn clone() -> ImageResponseMsg {
- match self {
- ImageReady(img) => ImageReady(unsafe { clone_arc(&img) }),
- ImageNotReady => ImageNotReady,
- ImageFailed => ImageFailed
+ match &self {
+ &ImageReady(img) => ImageReady(unsafe { clone_arc(&img) }),
+ &ImageNotReady => ImageNotReady,
+ &ImageFailed => ImageFailed
}
}
}
@@ -89,7 +89,7 @@ pub fn ImageCacheTask_(resource_task: ResourceTask, decoder_factory: DecoderFact
// copy unsoundly
let decoder_factory_cell = Cell(move decoder_factory);
- let (chan, port) = stream();
+ let (port, chan) = stream();
let chan = SharedChan(move chan);
let port_cell = Cell(move port);
let chan_cell = Cell(chan.clone());
@@ -110,7 +110,7 @@ pub fn ImageCacheTask_(resource_task: ResourceTask, decoder_factory: DecoderFact
}
fn SyncImageCacheTask(resource_task: ResourceTask) -> ImageCacheTask {
- let (chan, port) = stream();
+ let (port, chan) = stream();
let port_cell = Cell(move port);
do spawn |move port_cell, move resource_task| {
@@ -451,7 +451,7 @@ trait ImageCacheTaskClient {
impl ImageCacheTask: ImageCacheTaskClient {
fn exit() {
- let (response_chan, response_port) = stream();
+ let (response_port, response_chan) = stream();
self.send(Exit(move response_chan));
response_port.recv();
}
diff --git a/src/servo-gfx/resource/local_image_cache.rs b/src/servo-gfx/resource/local_image_cache.rs
index 7dcb82f6ad2..6b9436f7d50 100644
--- a/src/servo-gfx/resource/local_image_cache.rs
+++ b/src/servo-gfx/resource/local_image_cache.rs
@@ -7,7 +7,8 @@ multiple times and thus triggering reflows multiple times.
use clone_arc = std::arc::clone;
use std::net::url::Url;
use pipes::{Port, Chan, stream};
-use image_cache_task::{ImageCacheTask, ImageResponseMsg, Prefetch, Decode, GetImage, WaitForImage, ImageReady, ImageNotReady, ImageFailed};
+use resource::image_cache_task::{ImageCacheTask, ImageResponseMsg, Prefetch, Decode, GetImage};
+use resource::image_cache_task::{ WaitForImage, ImageReady, ImageNotReady, ImageFailed};
use util::url::{UrlMap, url_map};
pub fn LocalImageCache(image_cache_task: ImageCacheTask) -> LocalImageCache {
@@ -72,14 +73,14 @@ pub impl LocalImageCache {
ImageReady(ref image) => {
// FIXME: appease borrowck
unsafe {
- let (chan, port) = pipes::stream();
+ let (port, chan) = pipes::stream();
chan.send(ImageReady(clone_arc(image)));
return move port;
}
}
ImageNotReady => {
if last_round == self.round_number {
- let (chan, port) = pipes::stream();
+ let (port, chan) = pipes::stream();
chan.send(ImageNotReady);
return move port;
} else {
@@ -88,13 +89,13 @@ pub impl LocalImageCache {
}
}
ImageFailed => {
- let (chan, port) = pipes::stream();
+ let (port, chan) = pipes::stream();
chan.send(ImageFailed);
return move port;
}
}
- let (response_chan, response_port) = pipes::stream();
+ let (response_port, response_chan) = pipes::stream();
self.image_cache_task.send(GetImage(copy *url, move response_chan));
let response = response_port.recv();
@@ -110,7 +111,7 @@ pub impl LocalImageCache {
let on_image_available = self.on_image_available.get()();
let url = copy *url;
do task::spawn |move url, move on_image_available, move image_cache_task| {
- let (response_chan, response_port) = pipes::stream();
+ let (response_port, response_chan) = pipes::stream();
image_cache_task.send(WaitForImage(copy url, move response_chan));
on_image_available(response_port.recv());
}
@@ -126,7 +127,7 @@ pub impl LocalImageCache {
};
state.last_response = move response_copy;
- let (chan, port) = pipes::stream();
+ let (port, chan) = pipes::stream();
chan.send(move response);
return move port;
}
diff --git a/src/servo-gfx/text/glyph.rs b/src/servo-gfx/text/glyph.rs
index f88be885fa6..ca355f195b8 100644
--- a/src/servo-gfx/text/glyph.rs
+++ b/src/servo-gfx/text/glyph.rs
@@ -1,5 +1,4 @@
-use au = geometry;
-use au::Au;
+use geometry::Au;
use servo_gfx_util::range::Range;
use servo_gfx_util::vec::*;
@@ -443,7 +442,7 @@ pub pure fn GlyphData(index: GlyphIndex,
ligature_start: bool) -> GlyphData {
let _offset = match offset {
- None => au::zero_point(),
+ None => geometry::zero_point(),
Some(o) => o
};
@@ -532,7 +531,7 @@ pub impl GlyphStore {
pure fn glyph_is_compressible(data: &GlyphData) -> bool {
is_simple_glyph_id(data.index)
&& is_simple_advance(data.advance)
- && data.offset == au::zero_point()
+ && data.offset == geometry::zero_point()
&& data.cluster_start // others are stored in detail buffer
}
diff --git a/src/servo-gfx/text/harfbuzz/shaper.rs b/src/servo-gfx/text/harfbuzz/shaper.rs
index 4b501cad3d5..707c48d5da8 100644
--- a/src/servo-gfx/text/harfbuzz/shaper.rs
+++ b/src/servo-gfx/text/harfbuzz/shaper.rs
@@ -2,20 +2,15 @@ extern mod harfbuzz;
use geom::Point2D;
-use au = geometry;
-use au::Au;
+use geometry::Au;
-use font::{
- Font,
- FontTable,
- FontTableTag,
-};
+use font::{Font, FontTable, FontTableTag};
-use glyph::{GlyphStore, GlyphIndex, GlyphData};
+use text::glyph::{GlyphStore, GlyphIndex, GlyphData};
use text::shaper::ShaperMethods;
use servo_util::range;
-use range::Range;
+use util::range::Range;
use core::libc::types::common::c99::int32_t;
use core::libc::{c_uint, c_int, c_void, c_char};
@@ -23,36 +18,48 @@ use core::util::ignore;
use dvec::DVec;
use std::arc;
-use harfbuzz::{HB_MEMORY_MODE_READONLY, HB_DIRECTION_LTR, hb_blob_t, hb_face_t, hb_font_t};
-use harfbuzz::{hb_font_funcs_t, hb_buffer_t, hb_codepoint_t, hb_bool_t, hb_glyph_position_t};
-use harfbuzz::{hb_glyph_info_t, hb_var_int_t, hb_position_t};
-use harfbuzz::bindgen::{hb_blob_create, hb_blob_destroy, hb_face_create, hb_face_destroy};
-use harfbuzz::bindgen::{hb_font_create, hb_font_destroy, hb_buffer_create, hb_buffer_destroy};
-use harfbuzz::bindgen::{hb_buffer_add_utf8, hb_shape, hb_buffer_get_glyph_infos};
-use harfbuzz::bindgen::{hb_buffer_get_glyph_positions, hb_font_set_ppem, hb_font_set_scale};
-use harfbuzz::bindgen::{hb_buffer_set_direction, hb_font_funcs_create, hb_font_funcs_destroy};
-use harfbuzz::bindgen::{hb_font_set_funcs, hb_font_funcs_set_glyph_h_advance_func};
-use harfbuzz::bindgen::{hb_font_funcs_set_glyph_func, hb_font_funcs_set_glyph_h_kerning_func};
-
-use harfbuzz::{HB_MEMORY_MODE_READONLY,
- HB_DIRECTION_LTR};
-use harfbuzz::{hb_blob_t, hb_face_t, hb_font_t, hb_font_funcs_t, hb_buffer_t,
- hb_codepoint_t, hb_bool_t, hb_glyph_position_t,
- hb_glyph_info_t, hb_var_int_t, hb_position_t, hb_tag_t};
-use harfbuzz::bindgen::{hb_blob_create, hb_blob_destroy,
- hb_face_create_for_tables, hb_face_destroy,
- hb_font_create, hb_font_destroy,
- hb_buffer_create, hb_buffer_destroy,
- hb_buffer_add_utf8, hb_shape,
- hb_buffer_get_glyph_infos,
- hb_buffer_get_glyph_positions,
- hb_font_set_ppem, hb_font_set_scale,
- hb_buffer_set_direction,
- hb_font_funcs_create, hb_font_funcs_destroy,
- hb_font_set_funcs,
- hb_font_funcs_set_glyph_h_advance_func,
- hb_font_funcs_set_glyph_func,
- hb_font_funcs_set_glyph_h_kerning_func};
+use text::harfbuzz::shaper::harfbuzz::{HB_MEMORY_MODE_READONLY, HB_DIRECTION_LTR, hb_blob_t};
+use text::harfbuzz::shaper::harfbuzz::{hb_face_t, hb_font_t};
+use text::harfbuzz::shaper::harfbuzz::{hb_font_funcs_t, hb_buffer_t, hb_codepoint_t, hb_bool_t};
+use text::harfbuzz::shaper::harfbuzz::{hb_glyph_position_t};
+use text::harfbuzz::shaper::harfbuzz::{hb_glyph_info_t, hb_var_int_t, hb_position_t};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_blob_create, hb_blob_destroy};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_face_create, hb_face_destroy};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_font_create, hb_font_destroy};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_buffer_create};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_buffer_destroy};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_buffer_add_utf8, hb_shape};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_buffer_get_glyph_infos};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_buffer_get_glyph_positions};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_font_set_ppem};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_font_set_scale};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_buffer_set_direction};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_font_funcs_create};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_font_funcs_destroy};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_font_set_funcs};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_font_funcs_set_glyph_h_advance_func};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_font_funcs_set_glyph_func};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_font_funcs_set_glyph_h_kerning_func};
+
+use text::harfbuzz::shaper::harfbuzz::{HB_MEMORY_MODE_READONLY, HB_DIRECTION_LTR};
+use text::harfbuzz::shaper::harfbuzz::{hb_blob_t, hb_face_t, hb_font_t, hb_font_funcs_t};
+use text::harfbuzz::shaper::harfbuzz::{hb_buffer_t, hb_codepoint_t, hb_bool_t};
+use text::harfbuzz::shaper::harfbuzz::{hb_glyph_position_t, hb_glyph_info_t, hb_var_int_t};
+use text::harfbuzz::shaper::harfbuzz::{hb_position_t, hb_tag_t};
+use text::harfbuzz::shaper::harfbuzz::bindgen::{hb_blob_create, hb_blob_destroy,
+ hb_face_create_for_tables, hb_face_destroy,
+ hb_font_create, hb_font_destroy,
+ hb_buffer_create, hb_buffer_destroy,
+ hb_buffer_add_utf8, hb_shape,
+ hb_buffer_get_glyph_infos,
+ hb_buffer_get_glyph_positions,
+ hb_font_set_ppem, hb_font_set_scale,
+ hb_buffer_set_direction,
+ hb_font_funcs_create, hb_font_funcs_destroy,
+ hb_font_set_funcs,
+ hb_font_funcs_set_glyph_h_advance_func,
+ hb_font_funcs_set_glyph_func,
+ hb_font_funcs_set_glyph_h_kerning_func};
pub struct ShapedGlyphData {
count: uint,
diff --git a/src/servo-gfx/text/mod.rs b/src/servo-gfx/text/mod.rs
index 95eb34425e6..108f7440db7 100644
--- a/src/servo-gfx/text/mod.rs
+++ b/src/servo-gfx/text/mod.rs
@@ -4,9 +4,9 @@
Note that you still must define each of the files as a module in
servo.rc. This is not ideal and may be changed in the future. */
-pub use shaper::Shaper;
-pub use text_run::TextRun;
-pub use text_run::SendableTextRun;
+pub use text::shaper::Shaper;
+pub use text::text_run::TextRun;
+pub use text::text_run::SendableTextRun;
pub mod glyph;
pub mod text_run;
diff --git a/src/servo-gfx/text/text_run.rs b/src/servo-gfx/text/text_run.rs
index c9eac0c1df1..96c276d2da5 100644
--- a/src/servo-gfx/text/text_run.rs
+++ b/src/servo-gfx/text/text_run.rs
@@ -1,9 +1,6 @@
use font_context::FontContext;
use geometry::Au;
-use glyph::{
- BreakTypeNormal,
- GlyphStore,
-};
+use text::glyph::{BreakTypeNormal, GlyphStore};
use servo_gfx_font::{Font, FontDescriptor, RunMetrics};
use servo_gfx_util::range::Range;
@@ -16,7 +13,7 @@ use std::arc::ARC;
pub struct TextRun {
text: ~str,
font: @Font,
- priv glyphs: GlyphStore,
+ glyphs: GlyphStore,
}
// This is a hack until TextRuns are normally sendable, or
diff --git a/src/servo/content/content_task.rs b/src/servo/content/content_task.rs
index 4098a1d804e..7189598eb88 100644
--- a/src/servo/content/content_task.rs
+++ b/src/servo/content/content_task.rs
@@ -54,7 +54,7 @@ pub fn ContentTask(layout_task: LayoutTask,
resource_task: ResourceTask,
img_cache_task: ImageCacheTask) -> ContentTask {
- let (control_chan, control_port) = pipes::stream();
+ let (control_port, control_chan) = pipes::stream();
let control_chan = pipes::SharedChan(move control_chan);
let control_chan_copy = control_chan.clone();
@@ -301,7 +301,7 @@ impl Content {
self.join_layout();
// Layout will let us know when it's done
- let (join_chan, join_port) = pipes::stream();
+ let (join_port, join_chan) = pipes::stream();
self.layout_join_port = move Some(move join_port);
// Send new document and relevant styles to layout
diff --git a/src/servo/css/matching.rs b/src/servo/css/matching.rs
index d7c850f238b..3739566a552 100644
--- a/src/servo/css/matching.rs
+++ b/src/servo/css/matching.rs
@@ -6,7 +6,7 @@ use dom::node::{Node, NodeTree};
use newcss::select::{SelectCtx, SelectResults};
use newcss::complete::CompleteSelectResults;
use layout::context::LayoutContext;
-use select_handler::NodeSelectHandler;
+use css::select_handler::NodeSelectHandler;
trait MatchMethods {
fn restyle_subtree(select_ctx: &SelectCtx);
@@ -65,4 +65,4 @@ fn find_parent_element_node(node: &Node) -> Option<Node> {
}
None => None
}
-} \ No newline at end of file
+}
diff --git a/src/servo/css/node_void_ptr.rs b/src/servo/css/node_void_ptr.rs
index e5d57797e12..f78aff7d5d2 100644
--- a/src/servo/css/node_void_ptr.rs
+++ b/src/servo/css/node_void_ptr.rs
@@ -4,7 +4,7 @@ use dom::node::Node;
// FIXME: Rust #3908. rust-css can't reexport VoidPtrLike
extern mod netsurfcss;
-use netsurfcss::util::VoidPtrLike;
+use css::node_void_ptr::netsurfcss::util::VoidPtrLike;
impl Node: VoidPtrLike {
static fn from_void_ptr(node: *libc::c_void) -> Node {
diff --git a/src/servo/dom/bindings/document.rs b/src/servo/dom/bindings/document.rs
index 7b397ed9a1d..c2a0ca67ad9 100644
--- a/src/servo/dom/bindings/document.rs
+++ b/src/servo/dom/bindings/document.rs
@@ -10,8 +10,8 @@ use js::glue::{PROPERTY_STUB, STRICT_PROPERTY_STUB};
use js::crust::{JS_PropertyStub, JS_StrictPropertyStub, JS_EnumerateStub, JS_ConvertStub, JS_ResolveStub};
use ptr::null;
use libc::c_uint;
-use utils::{DOMString, domstring_to_jsval, rust_box, squirrel_away, str};
-use bindings::node::create;
+use dom::bindings::utils::{DOMString, domstring_to_jsval, rust_box, squirrel_away, str};
+use dom::bindings::node::create;
use dom::document::Document;
diff --git a/src/servo/dom/bindings/element.rs b/src/servo/dom/bindings/element.rs
index 7a4d2ef1abc..0de186942fe 100644
--- a/src/servo/dom/bindings/element.rs
+++ b/src/servo/dom/bindings/element.rs
@@ -1,5 +1,3 @@
-use au = gfx::geometry;
-use au::au;
use js::rust::{bare_compartment, methods, jsobj};
use js::{JS_ARGV, JSCLASS_HAS_RESERVED_SLOTS, JSPROP_ENUMERATE, JSPROP_SHARED, JSVAL_NULL,
JS_THIS_OBJECT, JS_SET_RVAL, JSPROP_NATIVE_ACCESSORS};
@@ -15,11 +13,12 @@ use content::content_task::{Content, task_from_context};
use layout::layout_task;
use dom::node::{Node, NodeScope, Element};
use dom::element::*;
-use node::NodeBundle;
-use utils::{rust_box, squirrel_away_unique, get_compartment, domstring_to_jsval, str};
+use dom::bindings::node::NodeBundle;
+use dom::bindings::utils::{rust_box, squirrel_away_unique, get_compartment, domstring_to_jsval};
+use dom::bindings::utils::{str};
use libc::c_uint;
use ptr::null;
-use node::unwrap;
+use dom::bindings::node::unwrap;
extern fn finalize(_fop: *JSFreeOp, obj: *JSObject) {
diff --git a/src/servo/dom/bindings/node.rs b/src/servo/dom/bindings/node.rs
index e0697deb7ca..c74d781abac 100644
--- a/src/servo/dom/bindings/node.rs
+++ b/src/servo/dom/bindings/node.rs
@@ -10,7 +10,8 @@ use js::jsapi::bindgen::*;
use js::glue::bindgen::*;
use dom::node::{Node, NodeScope, Text, Doctype, Comment, Element};
-use utils::{rust_box, squirrel_away_unique, get_compartment, domstring_to_jsval, str};
+use dom::bindings::utils::{rust_box, squirrel_away_unique, get_compartment, domstring_to_jsval};
+use dom::bindings::utils::{str};
use libc::c_uint;
use ptr::null;
diff --git a/src/servo/dom/bindings/utils.rs b/src/servo/dom/bindings/utils.rs
index 86824a5c6c0..3b3a79a17f0 100644
--- a/src/servo/dom/bindings/utils.rs
+++ b/src/servo/dom/bindings/utils.rs
@@ -56,11 +56,11 @@ pub fn jsval_to_str(cx: *JSContext, v: JSVal) -> Result<~str, ()> {
}
pub unsafe fn domstring_to_jsval(cx: *JSContext, string: &DOMString) -> JSVal {
- match *string {
- null_string => {
+ match string {
+ &null_string => {
JSVAL_NULL
}
- str(s) => {
+ &str(s) => {
str::as_buf(s, |buf, len| {
let cbuf = cast::reinterpret_cast(&buf);
RUST_STRING_TO_JSVAL(JS_NewStringCopyN(cx, cbuf, len as libc::size_t))
diff --git a/src/servo/dom/bindings/window.rs b/src/servo/dom/bindings/window.rs
index f28508c2e90..34a8320cf07 100644
--- a/src/servo/dom/bindings/window.rs
+++ b/src/servo/dom/bindings/window.rs
@@ -11,11 +11,11 @@ use js::crust::{JS_PropertyStub, JS_StrictPropertyStub, JS_EnumerateStub, JS_Con
use js::glue::bindgen::RUST_JSVAL_TO_INT;
use ptr::null;
use libc::c_uint;
-use utils::{rust_box, squirrel_away, jsval_to_str};
-use bindings::node::create;
+use dom::bindings::utils::{rust_box, squirrel_away, jsval_to_str};
+use dom::bindings::node::create;
use dom::window::{Window, TimerMessage_Fire};
use dom::node::Node;
-use dvec::DVec;
+use core::dvec::DVec;
extern fn alert(cx: *JSContext, argc: c_uint, vp: *JSVal) -> JSBool {
unsafe {
diff --git a/src/servo/dom/cow.rs b/src/servo/dom/cow.rs
index fdcc01be1ba..e50a9c71ac2 100644
--- a/src/servo/dom/cow.rs
+++ b/src/servo/dom/cow.rs
@@ -63,13 +63,13 @@ use core::libc::types::os::arch::c95::size_t;
use ptr::Ptr;
use vec::push;
-type ScopeData<T:Send,A> = {
+type ScopeData<T,A> = {
mut layout_active: bool,
mut free_list: ~[Handle<T,A>],
mut first_dirty: Handle<T,A>
};
-struct ScopeResource<T:Send,A> {
+struct ScopeResource<T,A> {
d : ScopeData<T,A>,
drop unsafe {
@@ -77,22 +77,22 @@ struct ScopeResource<T:Send,A> {
}
}
-fn ScopeResource<T:Send,A>(d : ScopeData<T,A>) -> ScopeResource<T,A> {
+fn ScopeResource<T:Owned,A>(d : ScopeData<T,A>) -> ScopeResource<T,A> {
ScopeResource { d: move d }
}
-pub type Scope<T:Send,A> = @ScopeResource<T,A>;
+pub type Scope<T,A> = @ScopeResource<T,A>;
-type HandleData<T:Send,A> = {mut read_ptr: *T,
- mut write_ptr: *mut T,
- mut read_aux: *A,
- mut next_dirty: Handle<T,A>};
-pub enum Handle<T:Send,A> {
+type HandleData<T,A> = {mut read_ptr: *T,
+ mut write_ptr: *mut T,
+ mut read_aux: *A,
+ mut next_dirty: Handle<T,A>};
+pub enum Handle<T,A> {
_Handle(*HandleData<T,A>)
}
// Private methods
-impl<T:Send,A> Handle<T,A> {
+impl<T,A> Handle<T,A> {
fn read_ptr() -> *T unsafe { (**self).read_ptr }
fn write_ptr() -> *mut T unsafe { (**self).write_ptr }
fn read_aux() -> *A unsafe { (**self).read_aux }
@@ -107,7 +107,7 @@ impl<T:Send,A> Handle<T,A> {
fn is_not_null() -> bool { (*self).is_not_null() }
}
-impl<T:Send,A> Handle<T,A> {
+impl<T:Owned,A> Handle<T,A> {
/// Access the reader's view of the handle's data
fn read<U>(f: fn(&T) -> U) -> U unsafe {
f(&*self.read_ptr())
@@ -133,13 +133,13 @@ impl<T:Send,A> Handle<T,A> {
}
}
-impl <T: Send,A> Handle<T,A> : cmp::Eq {
+impl <T: Owned,A> Handle<T,A> : cmp::Eq {
pure fn eq(&self, other: &Handle<T,A>) -> bool { **self == **other }
pure fn ne(&self, other: &Handle<T,A>) -> bool { **self != **other }
}
// Private methods
-impl<T: Copy Send,A> Scope<T,A> {
+impl<T: Copy Owned,A> Scope<T,A> {
fn clone(v: *T) -> *T unsafe {
let n: *mut T =
cast::reinterpret_cast(&libc::calloc(sys::size_of::<T>() as size_t, 1u as size_t));
@@ -153,38 +153,38 @@ impl<T: Copy Send,A> Scope<T,A> {
}
}
-unsafe fn free<T:Send>(t: *T) {
+unsafe fn free<T>(t: *T) {
let _x = move *cast::reinterpret_cast::<*T,*mut T>(&t);
libc::free(cast::reinterpret_cast(&t));
}
-unsafe fn free_handle<T:Send,A>(h: Handle<T,A>) {
+unsafe fn free_handle<T,A>(h: Handle<T,A>) {
free(h.read_ptr());
if h.write_ptr() != cast::reinterpret_cast(&h.read_ptr()) {
free(cast::reinterpret_cast::<*mut T,*T>(&h.write_ptr()));
}
}
-pub unsafe fn unwrap<T:Send, A>(handle: Handle<T,A>) -> *HandleData<T,A> {
+pub unsafe fn unwrap<T:Owned, A>(handle: Handle<T,A>) -> *HandleData<T,A> {
*handle
}
-pub unsafe fn wrap<T:Send, A>(data: *HandleData<T,A>) -> Handle<T,A> {
+pub unsafe fn wrap<T:Owned, A>(data: *HandleData<T,A>) -> Handle<T,A> {
_Handle(data)
}
-fn null_handle<T:Send,A>() -> Handle<T,A> {
+fn null_handle<T:Owned,A>() -> Handle<T,A> {
_Handle(ptr::null())
}
-pub fn Scope<T:Send,A>() -> Scope<T,A> {
+pub fn Scope<T:Owned,A>() -> Scope<T,A> {
@ScopeResource({mut layout_active: false,
mut free_list: ~[],
mut first_dirty: null_handle()})
}
// Writer methods
-impl<T:Copy Send,A> Scope<T,A> {
+impl<T:Copy Owned,A> Scope<T,A> {
fn is_reader_forked() -> bool {
self.d.layout_active
}
diff --git a/src/servo/dom/element.rs b/src/servo/dom/element.rs
index c489cd9ad72..c7932f5f733 100644
--- a/src/servo/dom/element.rs
+++ b/src/servo/dom/element.rs
@@ -1,6 +1,4 @@
-use au = gfx::geometry;
-use au::au;
-use dvec::DVec;
+use core::dvec::DVec;
use geom::size::Size2D;
use std::net::url::Url;
diff --git a/src/servo/dom/window.rs b/src/servo/dom/window.rs
index d6602374576..866ca622f7a 100644
--- a/src/servo/dom/window.rs
+++ b/src/servo/dom/window.rs
@@ -45,7 +45,7 @@ pub fn TimerData(argc: libc::c_uint, argv: *JSVal) -> TimerData unsafe {
impl Window {
fn alert(s: &str) {
// Right now, just print to the console
- io::println(#fmt("ALERT: %s", s));
+ io::println(fmt!("ALERT: %s", s));
}
fn close() {
diff --git a/src/servo/engine.rs b/src/servo/engine.rs
index 6f6299f14e1..0037a58bf08 100644
--- a/src/servo/engine.rs
+++ b/src/servo/engine.rs
@@ -2,7 +2,7 @@ use content::content_task::{ContentTask, ExecuteMsg, ParseMsg, ExitMsg};
use content::content_task;
use dom::event::Event;
use layout::layout_task;
-use layout_task::LayoutTask;
+use layout::layout_task::LayoutTask;
use resource::image_cache_task::{ImageCacheTask, ImageCacheTaskClient};
use resource::resource_task::ResourceTask;
use resource::resource_task;
@@ -23,7 +23,7 @@ pub enum Msg {
ExitMsg(Chan<()>)
}
-pub struct Engine<C:Compositor Send Copy> {
+pub struct Engine<C:Compositor Owned Copy> {
request_port: comm::Port<Msg>,
compositor: C,
render_task: RenderTask,
@@ -33,12 +33,12 @@ pub struct Engine<C:Compositor Send Copy> {
content_task: ContentTask
}
-pub fn Engine<C:Compositor Send Copy>(compositor: C,
- opts: &Opts,
- dom_event_port: pipes::Port<Event>,
- dom_event_chan: pipes::SharedChan<Event>,
- resource_task: ResourceTask,
- image_cache_task: ImageCacheTask) -> EngineTask {
+pub fn Engine<C:Compositor Owned Copy>(compositor: C,
+ opts: &Opts,
+ dom_event_port: pipes::Port<Event>,
+ dom_event_chan: pipes::SharedChan<Event>,
+ resource_task: ResourceTask,
+ image_cache_task: ImageCacheTask) -> EngineTask {
let dom_event_port = Cell(move dom_event_port);
let dom_event_chan = Cell(move dom_event_chan);
@@ -64,7 +64,7 @@ pub fn Engine<C:Compositor Send Copy>(compositor: C,
}
}
-impl<C: Compositor Copy Send> Engine<C> {
+impl<C: Compositor Copy Owned> Engine<C> {
fn run() {
while self.handle_request(self.request_port.recv()) {
// Go on...
@@ -86,7 +86,7 @@ impl<C: Compositor Copy Send> Engine<C> {
self.content_task.send(content_task::ExitMsg);
self.layout_task.send(layout_task::ExitMsg);
- let (response_chan, response_port) = pipes::stream();
+ let (response_port, response_chan) = pipes::stream();
self.render_task.send(render_task::ExitMsg(move response_chan));
response_port.recv();
diff --git a/src/servo/html/hubbub_html_parser.rs b/src/servo/html/hubbub_html_parser.rs
index 2cd9ec77b51..f1c7df377f4 100644
--- a/src/servo/html/hubbub_html_parser.rs
+++ b/src/servo/html/hubbub_html_parser.rs
@@ -9,9 +9,9 @@ use resource::image_cache_task;
use resource::resource_task::{Done, Load, Payload, ResourceTask};
use core::comm::{Chan, Port};
-use cssparse::{InlineProvenance, StylesheetProvenance, UrlProvenance, spawn_css_parser};
+use html::cssparse::{InlineProvenance, StylesheetProvenance, UrlProvenance, spawn_css_parser};
+use hubbub::hubbub::Attribute;
use hubbub::hubbub;
-use hubbub::Attribute;
use newcss::stylesheet::Stylesheet;
use std::net::url::Url;
use std::net::url;
@@ -220,13 +220,13 @@ pub fn parse_html(scope: NodeScope,
debug!("create doctype");
// TODO: remove copying here by using struct pattern matching to
// move all ~strs at once (blocked on Rust #3845, #3846, #3847)
- let public_id = match doctype.public_id {
- None => None,
- Some(id) => Some(copy id)
+ let public_id = match &doctype.public_id {
+ &None => None,
+ &Some(id) => Some(copy id)
};
- let system_id = match doctype.system_id {
- None => None,
- Some(id) => Some(copy id)
+ let system_id = match &doctype.system_id {
+ &None => None,
+ &Some(id) => Some(copy id)
};
let data = DoctypeData(copy doctype.name, move public_id, move system_id,
copy doctype.force_quirks);
diff --git a/src/servo/layout/box.rs b/src/servo/layout/box.rs
index 375bab1c538..8e72629e77d 100644
--- a/src/servo/layout/box.rs
+++ b/src/servo/layout/box.rs
@@ -140,8 +140,8 @@ impl RenderBox {
}
pure fn is_whitespace_only() -> bool {
- match self {
- UnscannedTextBox(_, raw_text) => raw_text.is_whitespace(),
+ match &self {
+ &UnscannedTextBox(_, raw_text) => raw_text.is_whitespace(),
_ => false
}
}
@@ -235,30 +235,30 @@ impl RenderBox {
* holder.get_image()
*/
fn get_min_width(_ctx: &LayoutContext) -> Au {
- match self {
+ match &self {
// TODO: this should account for min/pref widths of the
// box element in isolation. That includes
// border/margin/padding but not child widths. The block
// FlowContext will combine the width of this element and
// that of its children to arrive at the context width.
- GenericBox(*) => Au(0),
+ &GenericBox(*) => Au(0),
// TODO: consult CSS 'width', margin, border.
// TODO: If image isn't available, consult 'width'.
- ImageBox(_,i) => Au::from_px(i.get_size().get_default(Size2D(0,0)).width),
- TextBox(_,d) => d.run.min_width_for_range(&const d.range),
- UnscannedTextBox(*) => fail ~"Shouldn't see unscanned boxes here."
+ &ImageBox(_,i) => Au::from_px(i.get_size().get_default(Size2D(0,0)).width),
+ &TextBox(_,d) => d.run.min_width_for_range(&const d.range),
+ &UnscannedTextBox(*) => fail ~"Shouldn't see unscanned boxes here."
}
}
fn get_pref_width(_ctx: &LayoutContext) -> Au {
- match self {
+ match &self {
// TODO: this should account for min/pref widths of the
// box element in isolation. That includes
// border/margin/padding but not child widths. The block
// FlowContext will combine the width of this element and
// that of its children to arrive at the context width.
- GenericBox(*) => Au(0),
- ImageBox(_,i) => Au::from_px(i.get_size().get_default(Size2D(0,0)).width),
+ &GenericBox(*) => Au(0),
+ &ImageBox(_,i) => Au::from_px(i.get_size().get_default(Size2D(0,0)).width),
// a text box cannot span lines, so assume that this is an unsplit text box.
@@ -266,7 +266,7 @@ impl RenderBox {
// they could report a smaller pref width during incremental reflow.
// maybe text boxes should report nothing, and the parent flow could
// factor in min/pref widths of any text runs that it owns.
- TextBox(_,d) => {
+ &TextBox(_,d) => {
let mut max_line_width: Au = Au(0);
for d.run.iter_natural_lines_for_range(&const d.range) |line_range| {
let mut line_width: Au = Au(0);
@@ -278,7 +278,7 @@ impl RenderBox {
max_line_width
},
- UnscannedTextBox(*) => fail ~"Shouldn't see unscanned boxes here."
+ &UnscannedTextBox(*) => fail ~"Shouldn't see unscanned boxes here."
}
}
@@ -303,8 +303,8 @@ impl RenderBox {
/* The box formed by the content edge, as defined in CSS 2.1 Section 8.1.
Coordinates are relative to the owning flow. */
pure fn content_box() -> Rect<Au> {
- match self {
- ImageBox(_,i) => {
+ match &self {
+ &ImageBox(_,i) => {
let size = i.size();
Rect {
origin: copy self.d().position.origin,
@@ -312,7 +312,7 @@ impl RenderBox {
Au::from_px(size.height))
}
},
- GenericBox(*) => {
+ &GenericBox(*) => {
copy self.d().position
/* FIXME: The following hits an ICE for whatever reason
@@ -327,10 +327,10 @@ impl RenderBox {
size.height - (offset_top + offset_bottom))
}*/
},
- TextBox(*) => {
+ &TextBox(*) => {
copy self.d().position
},
- UnscannedTextBox(*) => fail ~"Shouldn't see unscanned boxes here."
+ &UnscannedTextBox(*) => fail ~"Shouldn't see unscanned boxes here."
}
}
@@ -397,9 +397,9 @@ impl RenderBox {
self.add_bgcolor_to_list(list, &abs_box_bounds);
- match *self {
- UnscannedTextBox(*) => fail ~"Shouldn't see unscanned boxes here.",
- TextBox(_,data) => {
+ match self {
+ @UnscannedTextBox(*) => fail ~"Shouldn't see unscanned boxes here.",
+ @TextBox(_,data) => {
let nearest_ancestor_element = self.nearest_ancestor_element();
let color = nearest_ancestor_element.style().color().to_gfx_color();
list.append_item(~DisplayItem::new_Text(&abs_box_bounds,
@@ -424,9 +424,9 @@ impl RenderBox {
; ()});
},
// TODO: items for background, border, outline
- GenericBox(_) => {
+ @GenericBox(_) => {
},
- ImageBox(_,i) => {
+ @ImageBox(_,i) => {
match i.get_image() {
Some(image) => {
debug!("(building display list) building image box");
diff --git a/src/servo/layout/box_builder.rs b/src/servo/layout/box_builder.rs
index 8aa8a52b358..7733cfb8a62 100644
--- a/src/servo/layout/box_builder.rs
+++ b/src/servo/layout/box_builder.rs
@@ -57,20 +57,24 @@ priv fn simulate_UA_display_rules(node: Node) -> CSSDisplay {
if (resolved == CSSDisplayNone) { return resolved; }
do node.read |n| {
- match n.kind {
- ~Doctype(*) | ~Comment(*) => CSSDisplayNone,
- ~Text(*) => CSSDisplayInline,
- ~Element(e) => match e.kind {
- ~HTMLHeadElement(*) => CSSDisplayNone,
- ~HTMLScriptElement(*) => CSSDisplayNone,
- ~HTMLParagraphElement(*) => CSSDisplayBlock,
- ~HTMLDivElement(*) => CSSDisplayBlock,
- ~HTMLBodyElement(*) => CSSDisplayBlock,
- ~HTMLHeadingElement(*) => CSSDisplayBlock,
- ~HTMLHtmlElement(*) => CSSDisplayBlock,
- ~HTMLUListElement(*) => CSSDisplayBlock,
- ~HTMLOListElement(*) => CSSDisplayBlock,
- _ => resolved
+ let kind: &dom::node::NodeKind = n.kind;
+ match kind {
+ &Doctype(*) | &Comment(*) => CSSDisplayNone,
+ &Text(*) => CSSDisplayInline,
+ &Element(ref e) => {
+ let kind: &dom::element::ElementKind = e.kind;
+ match kind {
+ &HTMLHeadElement(*) => CSSDisplayNone,
+ &HTMLScriptElement(*) => CSSDisplayNone,
+ &HTMLParagraphElement(*) => CSSDisplayBlock,
+ &HTMLDivElement(*) => CSSDisplayBlock,
+ &HTMLBodyElement(*) => CSSDisplayBlock,
+ &HTMLHeadingElement(*) => CSSDisplayBlock,
+ &HTMLHtmlElement(*) => CSSDisplayBlock,
+ &HTMLUListElement(*) => CSSDisplayBlock,
+ &HTMLOListElement(*) => CSSDisplayBlock,
+ _ => resolved
+ }
}
}
}
@@ -104,6 +108,8 @@ impl BoxGenerator {
// TODO: remove this once UA styles work
let box_type = builder.decide_box_type(node, simulated_display);
+ debug!("BoxGenerator[f%d]: point a", self.flow.d().id);
+
// depending on flow, make a box for this node.
match self.flow {
@InlineFlow(*) => {
@@ -126,6 +132,7 @@ impl BoxGenerator {
// TODO: cases for inline-block, etc.
},
@BlockFlow(*) => {
+ debug!("BoxGenerator[f%d]: point b", self.flow.d().id);
let new_box = builder.make_box(ctx, box_type, node, self.flow);
debug!("BoxGenerator[f%d]: attaching box[b%d] to block flow (node: %s)",
self.flow.d().id, new_box.d().id, node.debug_str());
@@ -134,7 +141,9 @@ impl BoxGenerator {
self.flow.block().box = Some(new_box);
},
@RootFlow(*) => {
+ debug!("BoxGenerator[f%d]: point c", self.flow.d().id);
let new_box = builder.make_box(ctx, box_type, node, self.flow);
+ debug!("BoxGenerator[f%d]: (node is: %s)", self.flow.d().id, node.debug_str());
debug!("BoxGenerator[f%d]: attaching box[b%d] to root flow (node: %s)",
self.flow.d().id, new_box.d().id, node.debug_str());
@@ -271,13 +280,15 @@ impl LayoutTreeBuilder {
/** Creates necessary box(es) and flow context(s) for the current DOM node,
and recurses on its children. */
fn construct_recursively(layout_ctx: &LayoutContext, cur_node: Node, parent_ctx: &BuilderContext) {
- debug!("Considering node: %?", fmt!("%?", cur_node.read(|n| copy n.kind )));
+ debug!("Considering node: %s", cur_node.debug_str());
let this_ctx = match move parent_ctx.containing_context_for_node(cur_node, &self) {
Some(move ctx) => move ctx,
None => { return; } // no context because of display: none. Stop building subtree.
};
+ debug!("point a: %s", cur_node.debug_str());
this_ctx.default_collector.push_node(layout_ctx, &self, cur_node);
+ debug!("point b: %s", cur_node.debug_str());
// recurse on child nodes.
for tree::each_child(&NodeTree, &cur_node) |child_node| {
@@ -403,7 +414,7 @@ impl LayoutTreeBuilder {
}
fn make_generic_box(_layout_ctx: &LayoutContext, node: Node, ctx: @FlowContext) -> @RenderBox {
- @GenericBox(RenderBoxData(node, ctx, self.next_box_id()))
+ @GenericBox(RenderBoxData(copy node, ctx, self.next_box_id()))
}
fn make_image_box(layout_ctx: &LayoutContext, node: Node, ctx: @FlowContext) -> @RenderBox {
diff --git a/src/servo/layout/display_list_builder.rs b/src/servo/layout/display_list_builder.rs
index 9753492a974..17d2d22ad85 100644
--- a/src/servo/layout/display_list_builder.rs
+++ b/src/servo/layout/display_list_builder.rs
@@ -1,7 +1,5 @@
export DisplayListBuilder;
-use au = gfx::geometry;
-use au::Au;
use newcss::values::Specified;
use newcss::values::{CSSBackgroundColorColor, CSSBackgroundColorTransparent};
use dom::node::{Text, NodeScope};
@@ -19,6 +17,7 @@ use util::tree;
use vec::push;
use gfx::display_list::DisplayList;
+use gfx::geometry::Au;
/** A builder object that manages display list builder should mainly
hold information about the initial request and desired result---for
@@ -42,7 +41,7 @@ trait FlowDisplayListBuilderMethods {
impl FlowContext: FlowDisplayListBuilderMethods {
fn build_display_list(@self, builder: &DisplayListBuilder, dirty: &Rect<Au>,
list: &mut DisplayList) {
- let zero = au::zero_point();
+ let zero = gfx::geometry::zero_point();
self.build_display_list_recurse(builder, dirty, &zero, list);
}
diff --git a/src/servo/layout/text.rs b/src/servo/layout/text.rs
index 1e0029a9bfe..52e2023702b 100644
--- a/src/servo/layout/text.rs
+++ b/src/servo/layout/text.rs
@@ -38,8 +38,8 @@ trait UnscannedMethods {
impl RenderBox : UnscannedMethods {
pure fn raw_text() -> ~str {
- match self {
- UnscannedTextBox(_, s) => copy s,
+ match &self {
+ &UnscannedTextBox(_, s) => copy s,
_ => fail ~"unsupported operation: box.raw_text() on non-unscanned text box."
}
}
diff --git a/src/servo/platform/osmain.rs b/src/servo/platform/osmain.rs
index 16d9dc5b5ba..f081bba3854 100644
--- a/src/servo/platform/osmain.rs
+++ b/src/servo/platform/osmain.rs
@@ -1,6 +1,6 @@
use ShareGlContext = sharegl::platform::Context;
use dom::event::{Event, ResizeEvent};
-use resize_rate_limiter::ResizeRateLimiter;
+use platform::resize_rate_limiter::ResizeRateLimiter;
use azure::azure_hl::{BackendType, B8G8R8A8, DataSourceSurface, DrawTarget, SourceSurfaceMethods};
use core::dvec::DVec;
@@ -334,7 +334,7 @@ fn Surface(backend: BackendType) -> Surface {
}
/// A function for spawning into the platform's main thread
-fn on_osmain<T: Send>(f: fn~(po: comm::Port<T>)) -> comm::Chan<T> {
+fn on_osmain<T: Owned>(f: fn~(po: comm::Port<T>)) -> comm::Chan<T> {
task::task().sched_mode(task::PlatformThread).spawn_listener(move f)
}
diff --git a/src/servo/platform/resize_rate_limiter.rs b/src/servo/platform/resize_rate_limiter.rs
index 74b75782e1d..a5c66eb30bb 100644
--- a/src/servo/platform/resize_rate_limiter.rs
+++ b/src/servo/platform/resize_rate_limiter.rs
@@ -59,7 +59,7 @@ impl ResizeRateLimiter {
}
priv fn send_event(width: uint, height: uint) {
- let (chan, port) = pipes::stream();
+ let (port, chan) = pipes::stream();
self.dom_event_chan.send(ResizeEvent(width, height, move chan));
self.last_response_port = Some(move port);
}
diff --git a/src/servo/servo.rc b/src/servo/servo.rc
index d58a485651a..dc5c5e80dd0 100755
--- a/src/servo/servo.rc
+++ b/src/servo/servo.rc
@@ -148,9 +148,9 @@ fn main() {
#[allow(non_implicitly_copyable_typarams)]
fn run(opts: &Opts) {
- match opts.render_mode {
- Screen => run_pipeline_screen(opts),
- Png(outfile) => {
+ match &opts.render_mode {
+ &Screen => run_pipeline_screen(opts),
+ &Png(outfile) => {
assert opts.urls.is_not_empty();
if opts.urls.len() > 1u {
fail ~"servo asks that you stick to a single URL in PNG output mode"
@@ -161,14 +161,14 @@ fn run(opts: &Opts) {
}
fn run_pipeline_screen(opts: &Opts) {
- let (dom_event_chan, dom_event_port) = pipes::stream();
+ let (dom_event_port, dom_event_chan) = pipes::stream();
let dom_event_chan = pipes::SharedChan(move dom_event_chan);
// The platform event handler thread
let osmain = OSMain(dom_event_chan.clone(), copy *opts);
// Send each file to render then wait for keypress
- let (keypress_to_engine, keypress_from_osmain) = pipes::stream();
+ let (keypress_from_osmain, keypress_to_engine) = pipes::stream();
osmain.chan.send(AddKeyHandler(move keypress_to_engine));
// Create a servo instance
@@ -191,7 +191,7 @@ fn run_pipeline_screen(opts: &Opts) {
// Shut everything down
debug!("master: Shut down");
- let (exit_chan, exit_response_from_engine) = pipes::stream();
+ let (exit_response_from_engine, exit_chan) = pipes::stream();
engine_task.send(engine::ExitMsg(move exit_chan));
exit_response_from_engine.recv();
@@ -212,7 +212,7 @@ fn run_pipeline_png(url: ~str, outfile: &str) {
use resource::image_cache_task::SyncImageCacheTask;
listen(|pngdata_from_compositor| {
- let (dom_event_chan, dom_event_port) = pipes::stream();
+ let (dom_event_port, dom_event_chan) = pipes::stream();
let dom_event_chan = pipes::SharedChan(move dom_event_chan);
let compositor = PngCompositor(pngdata_from_compositor);
diff --git a/src/servo/util/actor.rs b/src/servo/util/actor.rs
index 9b968587635..ae1de0508d2 100644
--- a/src/servo/util/actor.rs
+++ b/src/servo/util/actor.rs
@@ -11,11 +11,11 @@ Actors are only referred to by opaque handles parameterized
over the actor's message type, which can be considered the
actor's interface.
*/
-struct ActorRef<M: Send> {
+struct ActorRef<M: Owned> {
chan: Chan<M>,
}
-impl<M: Send> ActorRef<M> {
+impl<M: Owned> ActorRef<M> {
fn send(&self, msg: M) {
self.chan.send(move msg);
}
@@ -27,8 +27,8 @@ trait Actor<M> {
}
/// A helper function used by actor constructors
-fn spawn<A: Actor<M>, M: Send>(f: ~fn() -> A) -> ActorRef<M> {
- let (chan, port) = stream();
+fn spawn<A: Actor<M>, M: Owned>(f: ~fn() -> A) -> ActorRef<M> {
+ let (port, chan) = stream();
do task::spawn |move f, move port| {
let actor = f();
loop {
@@ -44,11 +44,11 @@ fn spawn<A: Actor<M>, M: Send>(f: ~fn() -> A) -> ActorRef<M> {
}
}
-struct SharedActorRef<M: Send> {
+struct SharedActorRef<M: Owned> {
chan: SharedChan<M>
}
-impl<M: Send> SharedActorRef<M> {
+impl<M: Owned> SharedActorRef<M> {
fn send(&self, msg: M) {
self.chan.send(move msg);
}
@@ -60,7 +60,7 @@ impl<M: Send> SharedActorRef<M> {
}
}
-fn SharedActorRef<M: Send>(actor: ActorRef<M>) -> SharedActorRef<M> {
+fn SharedActorRef<M: Owned>(actor: ActorRef<M>) -> SharedActorRef<M> {
let chan = match move actor {
ActorRef {
chan: move chan
@@ -112,7 +112,7 @@ mod test {
#[test]
fn test_exit() {
let actor = HelloActor(~"bob");
- let (chan, port) = stream();
+ let (port, chan) = stream();
actor.send(Exit(move chan));
port.recv();
}
@@ -123,17 +123,17 @@ mod test {
let actor1 = SharedActorRef(move actor);
let actor2 = actor1.clone();
- let (chan1, port1) = stream();
+ let (port1, chan1) = stream();
actor1.send(GetName(move chan1));
- let (chan2, port2) = stream();
+ let (port2, chan2) = stream();
actor2.send(GetName(move chan2));
assert port1.recv() == ~"bob";
assert port2.recv() == ~"bob";
- let (chan, port) = stream();
+ let (port, chan) = stream();
actor1.send(Exit(move chan));
port.recv();
}
-} \ No newline at end of file
+}
diff --git a/src/sharegl b/src/sharegl
-Subproject 38e440727470f034bda3d47faa22a84985e7a95
+Subproject d1f1e591c7a3b53b19d037aa33c79c5c7606d41