aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMargaret Meyerhofer <mmeyerhofer@mozilla.com>2012-07-02 13:45:48 -0700
committerMargaret Meyerhofer <mmeyerhofer@mozilla.com>2012-07-02 13:45:48 -0700
commit8861aba3ec9a75c7d4706655ecdac5ea1c6741f9 (patch)
tree82300e822c148410da0707a9dfd6a29f0ac7bd42
parent55d8fc332a1beec7c8941e7c59bd5978fdea472a (diff)
downloadservo-8861aba3ec9a75c7d4706655ecdac5ea1c6741f9.tar.gz
servo-8861aba3ec9a75c7d4706655ecdac5ea1c6741f9.zip
Fixed compile errors from new macro syntax
m---------src/rust-azure0
m---------src/rust-mozjs0
m---------src/rust-sdl0
m---------src/rust-stb-image0
-rw-r--r--src/servo/content.rs14
-rw-r--r--src/servo/dom/base.rs4
-rw-r--r--src/servo/dom/rcu.rs12
-rw-r--r--src/servo/engine.rs9
-rw-r--r--src/servo/gfx/pngsink.rs19
-rw-r--r--src/servo/gfx/renderer.rs26
-rw-r--r--src/servo/layout/base.rs20
-rw-r--r--src/servo/layout/block.rs2
-rw-r--r--src/servo/layout/box_builder.rs8
-rw-r--r--src/servo/layout/display_list_builder.rs2
-rw-r--r--src/servo/layout/inline.rs3
-rw-r--r--src/servo/layout/layout_task.rs4
-rw-r--r--src/servo/layout/style/apply.rs10
-rw-r--r--src/servo/layout/style/matching.rs28
-rw-r--r--src/servo/layout/style/style.rs16
-rw-r--r--src/servo/parser/css_lexer.rs4
-rw-r--r--src/servo/parser/html_builder.rs21
-rw-r--r--src/servo/parser/html_lexer.rs4
-rw-r--r--src/servo/platform/osmain.rs164
-rw-r--r--src/servo/servo.rs18
-rw-r--r--src/servo/text/font.rs18
-rw-r--r--src/servo/text/native_font.rs16
-rw-r--r--src/servo/text/native_font/ft_native_font.rs12
-rw-r--r--src/servo/text/native_font/quartz_native_font.rs4
-rw-r--r--src/servo/text/shaper.rs16
-rw-r--r--src/servo/text/text_run.rs4
-rw-r--r--src/servo/util/tree.rs27
31 files changed, 219 insertions, 266 deletions
diff --git a/src/rust-azure b/src/rust-azure
-Subproject 67b01948e70c61276bd213c3c7a9bd90356bc59
+Subproject 3c378322f2e61526e8f9dd5925b764c4420a221
diff --git a/src/rust-mozjs b/src/rust-mozjs
-Subproject da98863da36697eadafea8a6544f0f410753457
+Subproject 72d6aaed46caaef92f998fa2a90eed7745fcff1
diff --git a/src/rust-sdl b/src/rust-sdl
-Subproject add2921d0baa7cb9379729544a10247b588b2c0
+Subproject 49e1fe02095136615fd913903d084f515d2064c
diff --git a/src/rust-stb-image b/src/rust-stb-image
-Subproject c478161c8da1448e181c21796242b0fd9591ee6
+Subproject 455bb644ba20c36ce8de9fd82b94f477eea6db7
diff --git a/src/servo/content.rs b/src/servo/content.rs
index 3c95c18a7df..cebdfbeed9d 100644
--- a/src/servo/content.rs
+++ b/src/servo/content.rs
@@ -42,18 +42,17 @@ enum PingMsg {
fn join_layout(scope: NodeScope, layout: Layout) {
if scope.is_reader_forked() {
- listen { |response_from_layout|
+ listen(|response_from_layout| {
layout.send(layout_task::PingMsg(response_from_layout));
response_from_layout.recv();
- }
+ });
scope.reader_joined();
}
}
#[warn(no_non_implicitly_copyable_typarams)]
fn Content(layout: Layout) -> Content {
- spawn_listener::<ControlMsg> {
- |from_master|
+ spawn_listener::<ControlMsg>(|from_master| {
let scope = NodeScope();
let rt = jsrt();
loop {
@@ -95,11 +94,10 @@ fn Content(layout: Layout) -> Content {
let cx = rt.cx();
cx.set_default_options_and_version();
cx.set_logging_error_reporter();
- cx.new_compartment(global_class).chain {
- |compartment|
+ cx.new_compartment(global_class).chain(|compartment| {
compartment.define_functions(debug_fns);
cx.evaluate_script(compartment.global_obj, bytes, *filename, 1u)
- };
+ });
}
}
}
@@ -110,5 +108,5 @@ fn Content(layout: Layout) -> Content {
}
}
}
- }
+ })
}
diff --git a/src/servo/dom/base.rs b/src/servo/dom/base.rs
index 36cf783d0ac..17ffbef13f5 100644
--- a/src/servo/dom/base.rs
+++ b/src/servo/dom/base.rs
@@ -90,7 +90,7 @@ impl TreeReadMethods of tree::ReadMethods<Node> for NodeScope {
}
fn with_tree_fields<R>(node: Node, f: fn(tree::Tree<Node>) -> R) -> R {
- self.read(node) { |n| f(n.tree) }
+ self.read(node, |n| f(n.tree))
}
}
@@ -101,7 +101,7 @@ impl TreeWriteMethods of tree::WriteMethods<Node> for NodeScope {
}
fn with_tree_fields<R>(node: Node, f: fn(tree::Tree<Node>) -> R) -> R {
- self.write(node) { |n| f(n.tree) }
+ self.write(node, |n| f(n.tree))
}
}
diff --git a/src/servo/dom/rcu.rs b/src/servo/dom/rcu.rs
index a1a3eae34f4..a1cb270ccc3 100644
--- a/src/servo/dom/rcu.rs
+++ b/src/servo/dom/rcu.rs
@@ -69,7 +69,7 @@ class ScopeResource<T:send,A> {
self.d = d;
}
drop unsafe {
- for self.d.free_list.each { |h| free_handle(h); }
+ for self.d.free_list.each |h| { free_handle(h); }
}
}
@@ -277,15 +277,15 @@ mod test {
let read_chan = comm::chan(read_port);
// fire up a reader task
- for uint::range(0u, iter1) { |i|
+ for uint::range(0u, iter1) |i| {
s.reader_forked();
- let wait_chan = task::spawn_listener {|wait_port|
- for uint::range(0u, iter2) { |_i|
+ let wait_chan = task::spawn_listener(|wait_port| {
+ for uint::range(0u, iter2) |_i| {
comm::send(read_chan, henrietta.read(read_characteristic));
comm::send(read_chan, ferdinand.read(read_characteristic));
comm::recv(wait_port);
}
- };
+ });
let hrc = henrietta.read(read_characteristic);
assert hrc == (i * iter2);
@@ -293,7 +293,7 @@ mod test {
let frc = ferdinand.read(read_characteristic);
assert frc == i * iter2;
- for uint::range(0u, iter2) { |_i|
+ for uint::range(0u, iter2) |_i| {
assert hrc == comm::recv(read_port);
s.write(henrietta, mutate);
assert frc == comm::recv(read_port);
diff --git a/src/servo/engine.rs b/src/servo/engine.rs
index 6f6b2224b9a..507575e1f1f 100644
--- a/src/servo/engine.rs
+++ b/src/servo/engine.rs
@@ -13,7 +13,7 @@ enum Msg {
}
fn Engine<S: Sink send copy>(sink: S) -> Engine {
- spawn_listener::<Msg> { |request|
+ spawn_listener::<Msg>(|request| {
// The renderer
let renderer = Renderer(sink);
@@ -37,15 +37,14 @@ fn Engine<S: Sink send copy>(sink: S) -> Engine {
ExitMsg(sender) {
content.send(content::ExitMsg);
layout.send(layout_task::ExitMsg);
- listen {
- |response_channel|
+ listen(|response_channel| {
renderer.send(renderer::ExitMsg(response_channel));
response_channel.recv();
- }
+ });
sender.send(());
break;
}
}
}
- }
+ })
}
diff --git a/src/servo/gfx/pngsink.rs b/src/servo/gfx/pngsink.rs
index bf2b3e99ab7..d3dfb55b0b1 100644
--- a/src/servo/gfx/pngsink.rs
+++ b/src/servo/gfx/pngsink.rs
@@ -42,8 +42,7 @@ impl PngSink of Sink for chan<Msg> {
}
fn PngSink(output: chan<[u8]>) -> PngSink {
- spawn_listener::<Msg> { |po|
-
+ spawn_listener::<Msg>(|po| {
let cairo_surf = cairo_image_surface_create(
CAIRO_FORMAT_ARGB32, 800 as c_int, 600 as c_int
);
@@ -68,7 +67,7 @@ fn PngSink(output: chan<[u8]>) -> PngSink {
AzReleaseDrawTarget(draw_target);
cairo_surface_destroy(cairo_surf);
- }
+ })
}
fn do_draw(sender: chan<AzDrawTargetRef>,
@@ -76,7 +75,7 @@ fn do_draw(sender: chan<AzDrawTargetRef>,
output: chan<[u8]>,
cairo_surf: *cairo_surface_t) {
- listen {|data_ch: chan<[u8]>|
+ listen(|data_ch: chan<[u8]>| {
crust fn write_fn(closure: *c_void,
data: *c_uchar,
@@ -112,27 +111,25 @@ fn do_draw(sender: chan<AzDrawTargetRef>,
// Send the PNG image away
output.send(result);
- }
+ });
// Send the next draw target to the renderer
sender.send(dt);
}
#[test]
fn sanity_check() {
- listen {
- |self_channel|
+ listen(|self_channel| {
let sink = PngSink(self_channel);
let renderer = Renderer(sink);
let dlist = [];
renderer.send(RenderMsg(dlist));
- listen {
- |from_renderer|
+ listen(|from_renderer| {
renderer.send(renderer::ExitMsg(from_renderer));
from_renderer.recv();
- }
+ });
sink.send(Exit)
- }
+ })
}
diff --git a/src/servo/gfx/renderer.rs b/src/servo/gfx/renderer.rs
index e2b031d5cf6..cf0c18cbdd4 100644
--- a/src/servo/gfx/renderer.rs
+++ b/src/servo/gfx/renderer.rs
@@ -25,9 +25,8 @@ iface Sink {
}
fn Renderer<S: Sink send copy>(sink: S) -> chan<Msg> {
- task::spawn_listener::<Msg> {|po|
- listen {
- |draw_target_ch|
+ task::spawn_listener::<Msg>(|po| {
+ listen(|draw_target_ch| {
#debug("renderer: beginning rendering loop");
sink.begin_drawing(draw_target_ch);
@@ -48,8 +47,8 @@ fn Renderer<S: Sink send copy>(sink: S) -> chan<Msg> {
}
}
}
- }
- }
+ })
+ })
}
impl to_float for u8 {
@@ -58,11 +57,8 @@ impl to_float for u8 {
}
}
-fn draw_display_list(
- draw_target: AzDrawTargetRef,
- display_list: dl::display_list
-) {
- for display_list.each {|item|
+fn draw_display_list(draw_target: AzDrawTargetRef, display_list: dl::display_list) {
+ for display_list.each |item| {
#debug["drawing %?", item];
alt item.item_type {
@@ -121,10 +117,8 @@ fn draw_image(draw_target: AzDrawTargetRef, item: dl::display_item,
}
let stride = image.width * image.depth;
- for uint::range(0u, image.height) {
- |y|
- for uint::range(0u, image.width) {
- |x|
+ for uint::range(0u, image.height) |y| {
+ for uint::range(0u, image.width) |x| {
let color = {
r: image.data[y * stride + x * image.depth].to_float()
as AzFloat,
@@ -195,7 +189,7 @@ fn draw_text(draw_target: AzDrawTargetRef, item: dl::display_item, text_run: Tex
};
let mut origin = Point2D(bounds.origin.x, bounds.origin.y.add(bounds.size.height));
- let azglyphs = text_run.glyphs.map { |glyph|
+ let azglyphs = text_run.glyphs.map(|glyph| {
let azglyph: AzGlyph = {
mIndex: glyph.index as uint32_t,
mPosition: {
@@ -206,7 +200,7 @@ fn draw_text(draw_target: AzDrawTargetRef, item: dl::display_item, text_run: Tex
origin = Point2D(origin.x.add(glyph.pos.advance.x),
origin.y.add(glyph.pos.advance.y));
azglyph
- };
+ });
let glyphbuf: AzGlyphBuffer = unsafe {{
mGlyphs: to_ptr(azglyphs),
diff --git a/src/servo/layout/base.rs b/src/servo/layout/base.rs
index 5410aaa043a..7cc0b3d4695 100644
--- a/src/servo/layout/base.rs
+++ b/src/servo/layout/base.rs
@@ -64,7 +64,7 @@ impl NodeTreeReadMethods of tree::ReadMethods<Node> for NTree {
}
fn with_tree_fields<R>(&&n: Node, f: fn(tree::Tree<Node>) -> R) -> R {
- n.read { |n| f(n.tree) }
+ n.read(|n| f(n.tree))
}
}
@@ -93,15 +93,16 @@ impl layout_methods_priv for @Box {
#[doc="Dumps the box tree, for debugging, with indentation."]
fn dump_indent(indent: uint) {
let mut s = "";
- for uint::range(0u, indent) {
- |_i|
+ for uint::range(0u, indent) |_i| {
s += " ";
}
s += #fmt("%?", self.kind);
#debug["%s", s];
- for BTree.each_child(self) { |kid| kid.dump_indent(indent + 1u) }
+ for BTree.each_child(self) |kid| {
+ kid.dump_indent(indent + 1u)
+ }
}
}
@@ -135,15 +136,16 @@ impl PrivateNodeMethods for Node {
#[doc="Dumps the node tree, for debugging, with indentation."]
fn dump_indent(indent: uint) {
let mut s = "";
- for uint::range(0u, indent) {
- |_i|
+ for uint::range(0u, indent) |_i| {
s += " ";
}
- s += #fmt("%?", self.read({ |n| copy n.kind }));
+ s += #fmt("%?", self.read(|n| copy n.kind ));
#debug["%s", s];
- for NTree.each_child(self) { |kid| kid.dump_indent(indent + 1u) }
+ for NTree.each_child(self) |kid| {
+ kid.dump_indent(indent + 1u)
+ }
}
}
@@ -179,7 +181,7 @@ mod test {
fn flat_bounds(root: @Box) -> [Rect<au>] {
let mut r = [];
- for tree::each_child(BTree, root) {|c|
+ for tree::each_child(BTree, root) |c| {
r += flat_bounds(c);
}
ret r + [copy root.bounds];
diff --git a/src/servo/layout/block.rs b/src/servo/layout/block.rs
index 21e85db39cf..d08f8581a95 100644
--- a/src/servo/layout/block.rs
+++ b/src/servo/layout/block.rs
@@ -23,7 +23,7 @@ impl block_layout_methods for @Box {
// - and recursively computes the bounds for each child
let mut current_height = 0;
- for tree::each_child(BTree, self) {|c|
+ for tree::each_child(BTree, self) |c| {
let mut blk_available_width = available_width;
// FIXME subtract borders, margins, etc
c.bounds.origin = Point2D(au(0), au(current_height));
diff --git a/src/servo/layout/box_builder.rs b/src/servo/layout/box_builder.rs
index e521b44c6aa..620ce76d4a6 100644
--- a/src/servo/layout/box_builder.rs
+++ b/src/servo/layout/box_builder.rs
@@ -43,8 +43,7 @@ impl methods for ctxt {
attribute is 'block'.
"]
fn construct_boxes_for_block_children() {
- for NTree.each_child(self.parent_node) {
- |kid|
+ for NTree.each_child(self.parent_node) |kid| {
// Create boxes for the child. Get its primary box.
let kid_box = kid.construct_boxes();
@@ -91,8 +90,7 @@ impl methods for ctxt {
attribute is 'inline'.
"]
fn construct_boxes_for_inline_children() {
- for NTree.each_child(self.parent_node) {
- |kid|
+ for NTree.each_child(self.parent_node) |kid| {
// Construct boxes for the child. Get its primary box.
let kid_box = kid.construct_boxes();
@@ -154,7 +152,7 @@ impl box_builder_priv for Node {
size.
"]
fn determine_box_kind() -> BoxKind {
- alt self.read({ |n| copy n.kind }) {
+ alt self.read(|n| copy n.kind) {
~Text(string) {
TextBox(@text_box(copy string))
}
diff --git a/src/servo/layout/display_list_builder.rs b/src/servo/layout/display_list_builder.rs
index 7cfe47a42b1..e79ee1c6be8 100644
--- a/src/servo/layout/display_list_builder.rs
+++ b/src/servo/layout/display_list_builder.rs
@@ -43,7 +43,7 @@ fn build_display_list_from_origin(box: @Box, origin: Point2D<au>)
let mut list = box_to_display_items(box, box_origin);
- for BTree.each_child(box) {|c|
+ for BTree.each_child(box) |c| {
#debug("Recursively building display list with origin %?", box_origin);
list += build_display_list_from_origin(c, box_origin);
}
diff --git a/src/servo/layout/inline.rs b/src/servo/layout/inline.rs
index 4ac49310c67..b6fda6999b2 100644
--- a/src/servo/layout/inline.rs
+++ b/src/servo/layout/inline.rs
@@ -21,8 +21,7 @@ impl inline_layout_methods for @Box {
let y = 0;
let mut x = 0, inline_available_width = *available_width;
let mut current_height = 0;
- for tree::each_child(BTree, self) {
- |kid|
+ for tree::each_child(BTree, self) |kid| {
kid.bounds.origin = Point2D(au(x), au(y));
kid.reflow(au(inline_available_width));
inline_available_width -= *kid.bounds.size.width;
diff --git a/src/servo/layout/layout_task.rs b/src/servo/layout/layout_task.rs
index 1925a7a05ac..a3af46c9177 100644
--- a/src/servo/layout/layout_task.rs
+++ b/src/servo/layout/layout_task.rs
@@ -27,7 +27,7 @@ enum Msg {
}
fn Layout(renderer: Renderer) -> Layout {
- spawn_listener::<Msg> { |request|
+ spawn_listener::<Msg>(|request| {
loop {
alt request.recv() {
PingMsg(ping_channel) {
@@ -54,5 +54,5 @@ fn Layout(renderer: Renderer) -> Layout {
}
}
}
- }
+ })
}
diff --git a/src/servo/layout/style/apply.rs b/src/servo/layout/style/apply.rs
index d856a493782..952f4bfbcee 100644
--- a/src/servo/layout/style/apply.rs
+++ b/src/servo/layout/style/apply.rs
@@ -9,8 +9,7 @@ import style::style_methods;
impl ApplyStyleBoxMethods for @Box {
fn apply_style_for_subtree() {
self.apply_style();
- for BTree.each_child(self) {
- |child|
+ for BTree.each_child(self) |child| {
child.apply_style_for_subtree();
}
}
@@ -18,8 +17,7 @@ impl ApplyStyleBoxMethods for @Box {
#[doc="Applies CSS style."]
fn apply_style() {
// Right now, we only handle images.
- self.node.read {
- |node|
+ self.node.read(|node| {
alt node.kind {
~Element(element) {
let style = self.node.get_computed_style();
@@ -32,7 +30,7 @@ impl ApplyStyleBoxMethods for @Box {
some(url) {
// FIXME: Some sort of BASE HREF support!
// FIXME: Parse URLs!
- // FIXME: Don't load synchronously!
+ // FIXME: Do not load synchronously!
#debug("loading image from %s", url);
let image = @load(url);
self.appearance.background_image = some(image);
@@ -47,7 +45,7 @@ impl ApplyStyleBoxMethods for @Box {
}
_ { /* Ignore. */ }
}
- }
+ })
}
}
diff --git a/src/servo/layout/style/matching.rs b/src/servo/layout/style/matching.rs
index 5bcccaad500..7acde4932e6 100644
--- a/src/servo/layout/style/matching.rs
+++ b/src/servo/layout/style/matching.rs
@@ -64,7 +64,7 @@ impl priv_matching_methods for Node {
alt *sel {
Child(_, _) | Descendant(_, _) | Sibling(_, _) { ret false; }
Element(tag, attrs) {
- alt self.read { |n| copy *n.kind } {
+ alt self.read(|n| copy *n.kind) {
base::Element(elmt) {
if !(tag == "*" || tag == elmt.tag_name) {
ret false;
@@ -92,7 +92,7 @@ impl priv_matching_methods for Node {
alt *sel {
Element(str, atts) { ret self.matches_element(sel); }
Child(sel1, sel2) {
- alt self.read { |n| n.tree.parent } {
+ alt self.read(|n| n.tree.parent) {
some(parent) {
ret self.matches_element(sel2) &&
parent.matches_selector(sel1);
@@ -107,7 +107,7 @@ impl priv_matching_methods for Node {
//loop over all ancestors to check if they are the person
//we should be descended from.
- let mut cur_parent = alt self.read { |n| n.tree.parent } {
+ let mut cur_parent = alt self.read(|n| n.tree.parent) {
some(parent) { parent }
none { ret false; }
};
@@ -115,7 +115,7 @@ impl priv_matching_methods for Node {
loop {
if cur_parent.matches_selector(sel1) { ret true; }
- cur_parent = alt cur_parent.read { |n| n.tree.parent } {
+ cur_parent = alt cur_parent.read(|n| n.tree.parent) {
some(parent) { parent }
none { ret false; }
};
@@ -125,13 +125,13 @@ impl priv_matching_methods for Node {
if !self.matches_element(sel2) { ret false; }
// Loop over this node's previous siblings to see if they match.
- alt self.read { |n| n.tree.prev_sibling } {
+ alt self.read(|n| n.tree.prev_sibling) {
some(sib) {
let mut cur_sib = sib;
loop {
if cur_sib.matches_selector(sel1) { ret true; }
- cur_sib = alt cur_sib.read { |n| n.tree.prev_sibling } {
+ cur_sib = alt cur_sib.read(|n| n.tree.prev_sibling) {
some(sib) { sib }
none { break; }
};
@@ -141,13 +141,13 @@ impl priv_matching_methods for Node {
}
// check the rest of the siblings
- alt self.read { |n| n.tree.next_sibling } {
+ alt self.read(|n| n.tree.next_sibling) {
some(sib) {
let mut cur_sib = sib;
loop {
if cur_sib.matches_selector(sel1) { ret true; }
- cur_sib = alt cur_sib.read { |n| n.tree.next_sibling } {
+ cur_sib = alt cur_sib.read(|n| n.tree.next_sibling) {
some(sib) { sib }
none { break; }
};
@@ -165,13 +165,13 @@ impl priv_matching_methods for Node {
impl priv_style_methods for Node {
#[doc="Update the computed style of an HTML element with a style specified by CSS."]
fn update_style(decl : StyleDeclaration) {
- self.aux() { |layout|
+ self.aux(|layout| {
alt decl {
Display(dis) { layout.computed_style.display = dis; }
BackgroundColor(col) { layout.computed_style.back_color = col; }
TextColor(*) | FontSize(*) { /* not supported yet */ }
}
- }
+ })
}
}
@@ -184,18 +184,18 @@ impl matching_methods for Node {
// the latest rule takes precedence over the others. So we just overwrite style
// information as we go.
- for styles.each { |sty|
+ for styles.each |sty| {
let (selectors, decls) = copy *sty;
- for selectors.each { |sel|
+ for selectors.each |sel| {
if self.matches_selector(sel) {
- for decls.each { |decl|
+ for decls.each |decl| {
self.update_style(decl);
}
}
}
}
- self.aux() { |a| #debug["Changed the style to: %?", copy *a.computed_style]; }
+ self.aux(|a| #debug["Changed the style to: %?", copy *a.computed_style]);
}
}
diff --git a/src/servo/layout/style/style.rs b/src/servo/layout/style/style.rs
index bab48d05c87..ab0c6a633c7 100644
--- a/src/servo/layout/style/style.rs
+++ b/src/servo/layout/style/style.rs
@@ -40,7 +40,7 @@ impl style_priv for Node {
auxiliary box in the RCU model) and populates it with the default style.
"]
fn initialize_style() {
- let node_kind = self.read { |n| copy *n.kind };
+ let node_kind = self.read(|n| copy *n.kind);
let the_layout_data = @LayoutData({
mut computed_style : ~default_style_for_node_kind(node_kind),
mut box : none
@@ -55,7 +55,7 @@ impl style_methods for Node {
fn initialize_style_for_subtree() {
self.initialize_style();
- for NTree.each_child(self) { |kid|
+ for NTree.each_child(self) |kid| {
kid.initialize_style_for_subtree();
}
}
@@ -70,7 +70,7 @@ impl style_methods for Node {
if !self.has_aux() {
fail "get_computed_style() called on a node without a style!";
}
- ret copy *self.aux({ |x| copy x }).computed_style;
+ ret copy *self.aux(|x| copy x).computed_style;
}
#[doc="
@@ -80,18 +80,18 @@ impl style_methods for Node {
auxiliary box in the RCU model) with the computed style.
"]
fn recompute_style_for_subtree(styles : arc<Stylesheet>) {
- listen { |ack_chan|
+ listen(|ack_chan| {
let mut i = 0u;
// Compute the styles of each of our children in parallel
- for NTree.each_child(self) { |kid|
+ for NTree.each_child(self) |kid| {
i = i + 1u;
let new_styles = clone(&styles);
- task::spawn { ||
+ task::spawn(|| {
kid.recompute_style_for_subtree(new_styles);
ack_chan.send(());
- }
+ })
}
self.match_css_style(*get(&styles));
@@ -101,6 +101,6 @@ impl style_methods for Node {
ack_chan.recv();
i = i - 1u;
}
- }
+ })
}
}
diff --git a/src/servo/parser/css_lexer.rs b/src/servo/parser/css_lexer.rs
index 4f41ce202b5..00516f4142c 100644
--- a/src/servo/parser/css_lexer.rs
+++ b/src/servo/parser/css_lexer.rs
@@ -221,7 +221,7 @@ fn spawn_css_lexer_task(-filename: ~str) -> port<Token> {
let result_port = port();
let result_chan = chan(result_port);
- task::spawn {||
+ task::spawn(|| {
assert (*copy filename).ends_with(".css");
let file_try = io::read_whole_file(*filename);
@@ -246,7 +246,7 @@ fn spawn_css_lexer_task(-filename: ~str) -> port<Token> {
#debug["Failed to open css sheet %s", *copy filename];
result_chan.send(Eof);
}
- };
+ });
ret result_port;
}
diff --git a/src/servo/parser/html_builder.rs b/src/servo/parser/html_builder.rs
index e984a63c2a4..669c3cdb6bd 100644
--- a/src/servo/parser/html_builder.rs
+++ b/src/servo/parser/html_builder.rs
@@ -21,8 +21,7 @@ enum css_message {
#[warn(no_non_implicitly_copyable_typarams)]
fn link_up_attribute(scope: NodeScope, node: Node, -key: str, -value: str) {
// TODO: Implement atoms so that we don't always perform string comparisons.
- scope.read(node) {
- |node_contents|
+ scope.read(node, |node_contents| {
alt *node_contents.kind {
Element(element) {
element.attrs.push(~Attr(copy key, copy value));
@@ -55,7 +54,7 @@ fn link_up_attribute(scope: NodeScope, node: Node, -key: str, -value: str) {
fail "attempt to link up an attribute to a text node"
}
}
- }
+ })
}
fn build_element_kind(tag_name: str) -> ~ElementKind {
@@ -95,13 +94,13 @@ fn css_link_listener(to_parent : chan<Stylesheet>, from_parent : port<css_messag
let result_port = comm::port();
let result_chan = comm::chan(result_port);
let filename = copy filename;
- task::spawn{ ||
+ task::spawn(|| {
//TODO: deal with extraneous copies
let filename <- copy filename;
let css_stream = css_lexer::spawn_css_lexer_task(filename);
let mut css_rules = css_builder::build_stylesheet(css_stream);
result_chan.send(css_rules);
- }
+ });
result_vec += [result_port];
}
exit {
@@ -112,10 +111,10 @@ fn css_link_listener(to_parent : chan<Stylesheet>, from_parent : port<css_messag
let css_rules = [];
- let css_rules = result_vec.foldl(css_rules) { |rules, result_port|
+ let css_rules = result_vec.foldl(css_rules, |rules, result_port| {
let new_rules = result_port.recv();
rules + new_rules
- };
+ });
to_parent.send(css_rules);
}
@@ -131,9 +130,9 @@ fn build_dom(scope: NodeScope, stream: port<Token>) -> (Node, port<Stylesheet>)
// it along the returned port.
let style_port = comm::port();
let child_chan = comm::chan(style_port);
- let style_chan = task::spawn_listener { |child_port|
+ let style_chan = task::spawn_listener(|child_port| {
css_link_listener(child_chan, child_port);
- };
+ });
loop {
let token = stream.recv();
@@ -157,7 +156,7 @@ fn build_dom(scope: NodeScope, stream: port<Token>) -> (Node, port<Stylesheet>)
// spec) if we close more tags than we open.
parser::SelfCloseTag {
//TODO: check for things other than the link tag
- scope.read(cur_node) { |n|
+ scope.read(cur_node, |n| {
alt *n.kind {
Element(elmt) if elmt.tag_name == "link" {
alt elmt.get_attr("rel") {
@@ -175,7 +174,7 @@ fn build_dom(scope: NodeScope, stream: port<Token>) -> (Node, port<Stylesheet>)
}
_ { /* fall through*/ }
}
- }
+ });
cur_node = scope.get_parent(cur_node).get();
}
parser::EndTag(_) {
diff --git a/src/servo/parser/html_lexer.rs b/src/servo/parser/html_lexer.rs
index ad171afeab8..ae521b5e0cb 100644
--- a/src/servo/parser/html_lexer.rs
+++ b/src/servo/parser/html_lexer.rs
@@ -166,7 +166,7 @@ fn spawn_html_lexer_task(-filename: ~str) -> port<Token> {
let html_chan = chan(html_port);
let html_file = copy filename;
- task::spawn {||
+ task::spawn(|| {
let filename = copy html_file;
assert (copy *filename).ends_with(".html");
let file_data = io::read_whole_file(*filename).get();
@@ -180,7 +180,7 @@ fn spawn_html_lexer_task(-filename: ~str) -> port<Token> {
html_chan.send(token);
if should_break { break; }
}
- };
+ });
ret html_port;
}
diff --git a/src/servo/platform/osmain.rs b/src/servo/platform/osmain.rs
index 9f8c24fe141..a0e304f3cb3 100644
--- a/src/servo/platform/osmain.rs
+++ b/src/servo/platform/osmain.rs
@@ -18,12 +18,12 @@ enum Msg {
}
fn OSMain() -> OSMain {
- on_osmain::<Msg> {|po|
- platform::runmain {||
+ on_osmain::<Msg>(|po| {
+ platform::runmain(|| {
#debug("preparing to enter main loop");
- mainloop(po);
- }
- }
+ mainloop(po);
+ })
+ })
}
fn mainloop(po: port<Msg>) {
@@ -43,17 +43,15 @@ fn mainloop(po: port<Msg>) {
let surfaces = surface_set();
loop {
- sdl::event::poll_event {|event|
+ sdl::event::poll_event(|event| {
alt event {
sdl::event::keydown_event(_) {
- key_handlers.iter {|key_ch|
- key_ch.send(())
- }
+ key_handlers.iter(|key_ch| key_ch.send(()))
}
_ { }
}
- }
+ });
// Handle messages
if po.peek() {
@@ -229,13 +227,9 @@ mod platform {
mod NSApplication {
fn sharedApplication() -> id {
- let klass = str::as_c_str("NSApplication") { |s|
- objc::objc_getClass(s)
- };
+ let klass = str::as_c_str("NSApplication", |s| objc::objc_getClass(s));
- let sel = str::as_c_str("sharedApplication") { |s|
- objc::sel_registerName(s)
- };
+ let sel = str::as_c_str("sharedApplication", |s| objc::sel_registerName(s));
let nsapp = objc::objc_msgSend(klass, sel);
#debug("nsapp: %d", (nsapp as int));
@@ -246,120 +240,100 @@ mod platform {
mod NSAutoreleasePool {
fn alloc() -> id {
- let klass = str::as_c_str("NSAutoreleasePool") { |s|
- objc::objc_getClass(s)
- };
- let sel = str::as_c_str("alloc") { |s|
- objc::sel_registerName(s)
- };
+ let klass = str::as_c_str("NSAutoreleasePool", |s| objc::objc_getClass(s));
+ let sel = str::as_c_str("alloc", |s| objc::sel_registerName(s));
let pool = objc::objc_msgSend(klass, sel);
#debug("autorelease pool: %?", pool);
ret pool;
}
fn init(pool: id) {
- let sel = str::as_c_str("init") { |s|
- objc::sel_registerName(s)
- };
+ let sel = str::as_c_str("init", |s| objc::sel_registerName(s));
objc::objc_msgSend(pool, sel);
}
fn release(pool: id) {
- let sel = str::as_c_str("release") { |s|
- objc::sel_registerName(s)
- };
+ let sel = str::as_c_str("release", |s| objc::sel_registerName(s));
objc::objc_msgSend(pool, sel);
}
}
mod NSApp {
fn setDelegate(nsapp: id, main: id) {
- #debug("NSApp::setDelegate");
- let sel = str::as_c_str("setDelegate:") { |s|
- objc::sel_registerName(s)
- };
- cocoa::msgSend1Id(nsapp, sel, main);
+ #debug("NSApp::setDelegate");
+ let sel = str::as_c_str("setDelegate:", |s| objc::sel_registerName(s));
+ cocoa::msgSend1Id(nsapp, sel, main);
}
- fn run(nsapp: id) {
- #debug("NSApp::run");
- let sel = str::as_c_str("run") { |s|
- objc::sel_registerName(s)
- };
+ fn run(nsapp: id) {
+ #debug("NSApp::run");
+ let sel = str::as_c_str("run", |s| objc::sel_registerName(s));
objc::objc_msgSend(nsapp, sel);
}
}
mod MainObj {
crust fn applicationDidFinishLaunching(this: id, _sel: SEL) {
- #debug("applicationDidFinishLaunching");
+ #debug("applicationDidFinishLaunching");
- let fptr: *fn() = ptr::null();
- str::as_c_str("fptr") { |name|
- let outValue = unsafe { unsafe::reinterpret_cast(ptr::addr_of(fptr)) };
+ let fptr: *fn() = ptr::null();
+ str::as_c_str("fptr", |name| {
+ let outValue = unsafe { unsafe::reinterpret_cast(ptr::addr_of(fptr)) };
#debug("*fptr %?", outValue);
objc::object_getInstanceVariable(this, name, outValue)
- };
+ });
- #debug("getting osmain fptr: %?", fptr);
+ #debug("getting osmain fptr: %?", fptr);
- unsafe {
- // FIXME: We probably don't want to run the main routine in a crust function
+ unsafe {
+ // FIXME: We probably don't want to run the main routine in a crust function
(*fptr)();
}
- }
+ }
- fn create(f: fn()) -> id {
- let NSObject = str::as_c_str("NSObject") { |s|
- objc::objc_getClass(s)
- };
- let MainObj = str::as_c_str("MainObj") { |s|
- objc::objc_allocateClassPair(NSObject, s, 0 as libc::size_t)
- };
+ fn create(f: fn()) -> id {
+ let NSObject = str::as_c_str("NSObject", |s| ojc::objc_getClass(s));
+ let MainObj = str::as_c_str("MainObj", |s| {
+ objc::objc_allocateClassPair(NSObject, s, 0 as libc::size_t)
+ });
// Add a field to our class to contain a pointer to a rust closure
- let res = str::as_c_str("fptr") { |name|
- str::as_c_str("^i") { |types|
+ let res = str::as_c_str("fptr", |name| {
+ str::as_c_str("^i", |types| {
objc::class_addIvar(MainObj, name,
sys::size_of::<libc::uintptr_t>() as libc::size_t,
16u8, types)
- }
- };
- assert res == true;
-
- let launchfn = str::as_c_str("applicationDidFinishLaunching:") { |s|
- objc::sel_registerName(s)
- };
- let _ = str::as_c_str("@@:") { |types|
- objc::class_addMethod(MainObj, launchfn, applicationDidFinishLaunching, types)
- };
-
- objc::objc_registerClassPair(MainObj);
-
- let sel = str::as_c_str("alloc") { |s|
- objc::sel_registerName(s)
- };
- let mainobj = objc::objc_msgSend(MainObj, sel);
-
- let sel = str::as_c_str("init") { |s|
- objc::sel_registerName(s)
- };
- objc::objc_msgSend(mainobj, sel);
-
- let fptr = ptr::addr_of(f);
- str::as_c_str("fptr") { |name|
- #debug("setting osmain fptr: %?", fptr);
- let value = unsafe { unsafe::reinterpret_cast(fptr) };
- #debug("*fptr: %?", value);
- objc::object_setInstanceVariable(mainobj, name, value)
- };
-
- ret mainobj;
- }
- fn release(mainobj: id) {
- let sel = str::as_c_str("release") { |s|
- objc::sel_registerName(s)
- };
- objc::objc_msgSend(mainobj, sel);
- }
+ })
+ });
+ assert res == true;
+
+ let launchfn = str::as_c_str("applicationDidFinishLaunching:", |s| {
+ objc::sel_registerName(s)
+ });
+ let _ = str::as_c_str("@@:", |types| {
+ objc::class_addMethod(MainObj, launchfn, applicationDidFinishLaunching, types)
+ });
+
+ objc::objc_registerClassPair(MainObj);
+
+ let sel = str::as_c_str("alloc", |s| objc::sel_registerName(s));
+ let mainobj = objc::objc_msgSend(MainObj, sel);
+
+ let sel = str::as_c_str("init", |s| objc::sel_registerName(s));
+ objc::objc_msgSend(mainobj, sel);
+
+ let fptr = ptr::addr_of(f);
+ str::as_c_str("fptr", |name| {
+ #debug("setting osmain fptr: %?", fptr);
+ let value = unsafe { unsafe::reinterpret_cast(fptr) };
+ #debug("*fptr: %?", value);
+ objc::object_setInstanceVariable(mainobj, name, value)
+ });
+
+ ret mainobj;
+ }
+ fn release(mainobj: id) {
+ let sel = str::as_c_str("release", |s| objc::sel_registerName(s));
+ objc::objc_msgSend(mainobj, sel);
+ }
}
fn runmain(f: fn()) {
diff --git a/src/servo/servo.rs b/src/servo/servo.rs
index 57ef23abba7..651ad7de3ce 100644
--- a/src/servo/servo.rs
+++ b/src/servo/servo.rs
@@ -34,23 +34,23 @@ fn run_pipeline_screen(urls: [str]) {
let engine = Engine(osmain);
// Send each file to render then wait for keypress
- listen { |keypress_from_osmain|
+ listen(|keypress_from_osmain| {
osmain.send(AddKeyHandler(keypress_from_osmain));
- for urls.each { |filename|
+ for urls.each |filename| {
#debug["master: Sending filename `%s`", filename];
engine.send(LoadURLMsg(~copy filename));
#debug["master: Waiting for keypress"];
keypress_from_osmain.recv();
}
- }
+ });
// Shut everything down
#debug["master: Shut down"];
- listen { |exit_response_from_engine|
+ listen(|exit_response_from_engine| {
engine.send(engine::ExitMsg(exit_response_from_engine));
exit_response_from_engine.recv();
- }
+ });
osmain.send(osmain::Exit);
}
@@ -62,7 +62,7 @@ fn run_pipeline_png(-url: str, outfile: str) {
import result::{ok, err};
import io::{writer, buffered_file_writer};
- listen { |pngdata_from_sink|
+ listen(|pngdata_from_sink| {
let sink = PngSink(pngdata_from_sink);
let engine = Engine(sink);
let url = copy url;
@@ -73,10 +73,10 @@ fn run_pipeline_png(-url: str, outfile: str) {
}
err(e) { fail e }
}
- listen { |exit_response_from_engine|
+ listen(|exit_response_from_engine| {
engine.send(engine::ExitMsg(exit_response_from_engine));
exit_response_from_engine.recv();
- }
+ });
sink.send(pngsink::Exit);
- }
+ })
}
diff --git a/src/servo/text/font.rs b/src/servo/text/font.rs
index 88e8324064d..4a3a5ca1d2a 100644
--- a/src/servo/text/font.rs
+++ b/src/servo/text/font.rs
@@ -52,7 +52,7 @@ class Font {
let mut glyphs: *cairo_glyph_t = null();
let mut num_glyphs = 0 as c_int;
- let status = str::as_c_str(codepoint_str) { |codepoint_buf|
+ let status = str::as_c_str(codepoint_str, |codepoint_buf| {
cairo_scaled_font_text_to_glyphs(
self.cairo_font,
0.0 as c_double, 0.0 as c_double,
@@ -60,7 +60,7 @@ class Font {
addr_of(glyphs), addr_of(num_glyphs),
null(), null(), null()
)
- };
+ });
ret if status == CAIRO_STATUS_SUCCESS {
@@ -195,13 +195,13 @@ fn get_cairo_face(buf: &~[u8]) -> (*cairo_font_face_t, fn@()) {
dtor = fn@(move dtor) { FT_Done_FreeType(library).for_sure(); dtor() };
let face: FT_Face = null();
- vec::as_buf(*buf) { |cbuf|
+ vec::as_buf(*buf, |cbuf| {
if FT_New_Memory_Face(library, cbuf, (*buf).len() as FT_Long,
0 as FT_Long, addr_of(face)).failed() {
dtor();
fail "unable to create FreeType face";
}
- }
+ });
dtor = fn@(move dtor) { FT_Done_Face(face).for_sure(); dtor() };
let cface = cairo_ft_font_face_create_for_ft_face(face, 0 as c_int);
@@ -236,14 +236,14 @@ fn get_cairo_face(buf: &[u8]) -> (*cairo_font_face_t, fn@()) {
let mut dtor = fn@() { };
- let fontprov = vec::as_buf(*buf) { |cbuf|
+ let fontprov = vec::as_buf(*buf, |cbuf| {
CGDataProviderCreateWithData(
null(),
unsafe { reinterpret_cast(cbuf) },
(*buf).len() as size_t,
null()
)
- };
+ });
dtor = fn@(move dtor) { CGDataProviderRelease(fontprov); dtor() };
let cgfont = CGFontCreateWithDataProvider(fontprov);
@@ -296,11 +296,7 @@ fn should_get_glyph_advance() {
fn should_be_able_to_create_instances_in_multiple_threads() {
#[test];
- iter::repeat(10u) {||
- task::spawn {||
- create_test_font();
- }
- }
+ iter::repeat(10u, || task::spawn(|| {create_test_font();}));
}
fn get_cairo_face_should_fail_and_not_leak_if_font_cant_be_created() {
diff --git a/src/servo/text/native_font.rs b/src/servo/text/native_font.rs
index 0895441d257..bd330da5f10 100644
--- a/src/servo/text/native_font.rs
+++ b/src/servo/text/native_font.rs
@@ -28,35 +28,35 @@ fn with_test_native_font(f: fn@(nf: &NativeFont)) {
#[test]
#[ignore(cfg(target_os = "macos"))]
fn should_get_glyph_indexes() {
- with_test_native_font { |font|
+ with_test_native_font(|font| {
let idx = font.glyph_index('w');
assert idx == some(40u);
- }
+ })
}
#[test]
#[ignore(cfg(target_os = "macos"))]
fn should_return_none_glyph_index_for_bad_codepoints() {
- with_test_native_font { |font|
+ with_test_native_font(|font| {
let idx = font.glyph_index(0 as char);
assert idx == none;
- }
+ })
}
#[test]
#[ignore(cfg(target_os = "macos"))]
fn should_get_glyph_h_advance() {
- with_test_native_font { |font|
+ with_test_native_font(|font| {
let adv = font.glyph_h_advance(40u);
assert adv == some(15);
- }
+ })
}
#[test]
#[ignore(cfg(target_os = "macos"))]
fn should_return_none_glyph_h_advance_for_bad_codepoints() {
- with_test_native_font { |font|
+ with_test_native_font(|font| {
let adv = font.glyph_h_advance(-1 as uint);
assert adv == none;
- }
+ })
}
diff --git a/src/servo/text/native_font/ft_native_font.rs b/src/servo/text/native_font/ft_native_font.rs
index 85a442e98c2..a30baed49f1 100644
--- a/src/servo/text/native_font/ft_native_font.rs
+++ b/src/servo/text/native_font/ft_native_font.rs
@@ -68,7 +68,7 @@ class FreeTypeNativeFont/& {
fn create(lib: FT_Library, buf: &~[u8]) -> result<FreeTypeNativeFont, ()> {
assert lib.is_not_null();
let face: FT_Face = null();
- ret vec_as_buf(*buf) {|cbuf|
+ ret vec_as_buf(*buf, |cbuf| {
if FT_New_Memory_Face(lib, cbuf, (*buf).len() as FT_Long,
0 as FT_Long, addr_of(face)).succeeded() {
// FIXME: These values are placeholders
@@ -78,7 +78,7 @@ fn create(lib: FT_Library, buf: &~[u8]) -> result<FreeTypeNativeFont, ()> {
} else {
err(())
}
- }
+ })
}
impl methods for FT_Error {
@@ -89,11 +89,11 @@ fn with_test_native_font(f: fn@(nf: &NativeFont)) {
import font::test_font_bin;
import unwrap_result = result::unwrap;
- with_lib { |lib|
+ with_lib(|lib| {
let buf = test_font_bin();
let font = unwrap_result(create(lib, &buf));
f(&font);
- }
+ })
}
fn with_lib(f: fn@(FT_Library)) {
@@ -105,8 +105,8 @@ fn with_lib(f: fn@(FT_Library)) {
#[test]
fn create_should_return_err_if_buf_is_bogus() {
- with_lib { |lib|
+ with_lib(|lib| {
let buf = &~[];
assert create(lib, buf).is_err();
- }
+ })
}
diff --git a/src/servo/text/native_font/quartz_native_font.rs b/src/servo/text/native_font/quartz_native_font.rs
index 512fc62cf3a..5b56b3168ae 100644
--- a/src/servo/text/native_font/quartz_native_font.rs
+++ b/src/servo/text/native_font/quartz_native_font.rs
@@ -49,13 +49,13 @@ class QuartzNativeFont/& {
}
fn create(buf: &[u8]) -> result<QuartzNativeFont, ()> {
- let fontprov = vec::as_buf(*buf) { |cbuf|
+ let fontprov = vec::as_buf(*buf, |cbuf| {
CGDataProviderCreateWithData(
null(),
unsafe { reinterpret_cast(cbuf) },
(*buf).len() as size_t,
null())
- };
+ });
// FIXME: Error handling
assert fontprov.is_not_null();
let cgfont = CGFontCreateWithDataProvider(fontprov);
diff --git a/src/servo/text/shaper.rs b/src/servo/text/shaper.rs
index 6128d7e2c8a..3e029064d4d 100644
--- a/src/servo/text/shaper.rs
+++ b/src/servo/text/shaper.rs
@@ -38,13 +38,13 @@ when rendered in a specific font.
fn shape_text(font: &Font, text: str) -> [Glyph] unsafe {
#debug("shaping text '%s'", text);
- let face_blob = vec::as_buf(*(*font).buf()) { |buf|
+ let face_blob = vec::as_buf(*(*font).buf(), |buf| {
hb_blob_create(reinterpret_cast(buf),
(*(*font).buf()).len() as c_uint,
HB_MEMORY_MODE_READONLY,
null(),
null())
- };
+ });
let hbface = hb_face_create(face_blob, 0 as c_uint);
let hbfont = hb_font_create(hbface);
@@ -61,12 +61,12 @@ fn shape_text(font: &Font, text: str) -> [Glyph] unsafe {
hb_buffer_set_direction(buffer, HB_DIRECTION_LTR);
- str::as_c_str(text) { |ctext|
+ str::as_c_str(text, |ctext| {
hb_buffer_add_utf8(buffer, ctext,
text.len() as c_int,
0 as c_uint,
text.len() as c_int);
- }
+ });
hb_shape(hbfont, buffer, null(), 0 as c_uint);
@@ -81,7 +81,7 @@ fn shape_text(font: &Font, text: str) -> [Glyph] unsafe {
let mut glyphs = [];
- for uint::range(0u, info_len as uint) { |i|
+ for uint::range(0u, info_len as uint) |i| {
let info_ = offset(info_, i);
let pos = offset(pos, i);
let codepoint = (*info_).codepoint as uint;
@@ -147,7 +147,7 @@ fn should_get_glyph_indexes() {
let font = font::create_test_font();
let glyphs = shape_text(font, "firecracker");
- let idxs = glyphs.map { |glyph| glyph.index };
+ let idxs = glyphs.map(|glyph| glyph.index);
assert idxs == [32u, 8u, 13u, 14u, 10u, 13u, 201u, 10u, 37u, 14u, 13u];
}
@@ -157,7 +157,7 @@ fn should_get_glyph_h_advance() {
let font = font::create_test_font();
let glyphs = shape_text(font, "firecracker");
- let actual = glyphs.map { |g| g.pos.advance.x };
- let expected = [6, 4, 7, 9, 8, 7, 10, 8, 9, 9, 7].map { |a| px_to_au(a) };
+ let actual = glyphs.map(|g| g.pos.advance.x);
+ let expected = [6, 4, 7, 9, 8, 7, 10, 8, 9, 9, 7].map(|a| px_to_au(a));
assert expected == actual;
}
diff --git a/src/servo/text/text_run.rs b/src/servo/text/text_run.rs
index 91bc8fc0b31..81f1bf7bcb5 100644
--- a/src/servo/text/text_run.rs
+++ b/src/servo/text/text_run.rs
@@ -20,10 +20,10 @@ class TextRun {
let pen_start_x = px_to_au(0);
let pen_start_y = height;
let pen_start = Point2D(pen_start_x, pen_start_y);
- let pen_end = self.glyphs.foldl(pen_start) { |cur, glyph|
+ let pen_end = self.glyphs.foldl(pen_start, |cur, glyph| {
Point2D(cur.x.add(glyph.pos.offset.x).add(glyph.pos.advance.x),
cur.y.add(glyph.pos.offset.y).add(glyph.pos.advance.y))
- };
+ });
ret Size2D(pen_end.x, pen_end.y);
}
}
diff --git a/src/servo/util/tree.rs b/src/servo/util/tree.rs
index cbb3db09620..1fce0175620 100644
--- a/src/servo/util/tree.rs
+++ b/src/servo/util/tree.rs
@@ -19,13 +19,13 @@ iface WriteMethods<T> {
}
fn each_child<T:copy,O:ReadMethods<T>>(ops: O, node: T, f: fn(T) -> bool) {
- let mut p = ops.with_tree_fields(node) { |f| f.first_child };
+ let mut p = ops.with_tree_fields(node, |f| f.first_child);
loop {
alt copy p {
none { ret; }
some(c) {
if !f(c) { ret; }
- p = ops.with_tree_fields(c) { |f| f.next_sibling };
+ p = ops.with_tree_fields(c, |f| f.next_sibling);
}
}
}
@@ -39,10 +39,9 @@ fn empty<T>() -> Tree<T> {
mut next_sibling: none}
}
-fn add_child<T:copy,O:WriteMethods<T>>(
- ops: O, parent: T, child: T) {
+fn add_child<T:copy,O:WriteMethods<T>>(ops: O, parent: T, child: T) {
- ops.with_tree_fields(child) { |child_tf|
+ ops.with_tree_fields(child, |child_tf| {
alt child_tf.parent {
some(_) { fail "Already has a parent"; }
none { child_tf.parent = some(parent); }
@@ -51,28 +50,28 @@ fn add_child<T:copy,O:WriteMethods<T>>(
assert child_tf.prev_sibling == none;
assert child_tf.next_sibling == none;
- ops.with_tree_fields(parent) { |parent_tf|
+ ops.with_tree_fields(parent, |parent_tf| {
alt copy parent_tf.last_child {
none {
parent_tf.first_child = some(child);
}
some(lc) {
let lc = lc; // satisfy alias checker
- ops.with_tree_fields(lc) { |lc_tf|
+ ops.with_tree_fields(lc, |lc_tf| {
assert lc_tf.next_sibling == none;
lc_tf.next_sibling = some(child);
- }
+ });
child_tf.prev_sibling = some(lc);
}
}
parent_tf.last_child = some(child);
- }
- }
+ });
+ });
}
fn get_parent<T:copy,O:ReadMethods<T>>(ops: O, node: T) -> option<T> {
- ops.with_tree_fields(node) { |tf| tf.parent }
+ ops.with_tree_fields(node, |tf| tf.parent)
}
#[cfg(test)]
@@ -106,7 +105,7 @@ mod test {
new_dummy(2u)];
let p = new_dummy(3u);
- for vec::each(children) {|c|
+ for vec::each(children) |c| {
add_child(dtree, p, c);
}
@@ -117,7 +116,7 @@ mod test {
fn add_child_0() {
let {p, children} = parent_with_3_children();
let mut i = 0u;
- for each_child(dtree, p) {|c|
+ for each_child(dtree, p) |c| {
assert c.value == i;
i += 1u;
}
@@ -128,7 +127,7 @@ mod test {
fn add_child_break() {
let {p, _} = parent_with_3_children();
let mut i = 0u;
- for each_child(dtree, p) {|_c|
+ for each_child(dtree, p) |_c| {
i += 1u;
break;
}