diff options
author | Margaret Meyerhofer <mmeyerhofer@mozilla.com> | 2012-07-02 13:45:48 -0700 |
---|---|---|
committer | Margaret Meyerhofer <mmeyerhofer@mozilla.com> | 2012-07-02 13:45:48 -0700 |
commit | 8861aba3ec9a75c7d4706655ecdac5ea1c6741f9 (patch) | |
tree | 82300e822c148410da0707a9dfd6a29f0ac7bd42 | |
parent | 55d8fc332a1beec7c8941e7c59bd5978fdea472a (diff) | |
download | servo-8861aba3ec9a75c7d4706655ecdac5ea1c6741f9.tar.gz servo-8861aba3ec9a75c7d4706655ecdac5ea1c6741f9.zip |
Fixed compile errors from new macro syntax
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; } |