Fixes for Rust language changes

This commit is contained in:
Patrick Walton 2012-08-23 18:11:26 -07:00
parent c6766aa18c
commit 8ec11ad525
4 changed files with 26 additions and 23 deletions

View file

@ -66,7 +66,7 @@ impl<C: Compositor> Engine<C> {
let mut request = request; let mut request = request;
loop { loop {
select! { select!(
request => { request => {
LoadURL(url) -> next { LoadURL(url) -> next {
// TODO: change copy to move once we have match move // TODO: change copy to move once we have match move
@ -94,12 +94,12 @@ impl<C: Compositor> Engine<C> {
break break
} }
} }
} )
} }
} }
} }
proto! EngineProto { proto! EngineProto(
Running:send { Running:send {
LoadURL(url) -> Running, LoadURL(url) -> Running,
Exit -> Exiting Exit -> Exiting
@ -108,4 +108,5 @@ proto! EngineProto {
Exiting:recv { Exiting:recv {
Exited -> ! Exited -> !
} }
} )

View file

@ -1,14 +1,14 @@
{ {
macro_rules! move_ref { macro_rules! move_ref(
{ $x:expr } => { unsafe { let y <- *ptr::addr_of(*$x); y } } { $x:expr } => { unsafe { let y <- *ptr::addr_of(*$x); y } }
} )
macro_rules! move_val { macro_rules! move_val(
{ $x:expr } => { unsafe { let y <- *ptr::addr_of(*$x); y } } { $x:expr } => { unsafe { let y <- *ptr::addr_of(*$x); y } }
} )
// select! // select!
macro_rules! select_if { macro_rules! select_if(
{ {
$index:expr, $index:expr,
@ -39,19 +39,19 @@
_ => fail _ => fail
} }
} else { } else {
select_if!{ select_if!(
$index, $index,
$count + 1 $count + 1
$(, $ports => [ $(, $ports => [
$(type_this $messages$(($(x $xs),+))dont_type_this* $(type_this $messages$(($(x $xs),+))dont_type_this*
-> $nexts => { $es }),+ -> $nexts => { $es }),+
])* ])*
} )
} }
}; };
} )
macro_rules! select { macro_rules! select(
{ {
$( $port:path => { $( $port:path => {
$($message:path$(($($x: ident),+))dont_type_this* $($message:path$(($($x: ident),+))dont_type_this*
@ -59,10 +59,10 @@
} )+ } )+
} => { } => {
let index = pipes::selecti([$(($port).header()),+]/_); let index = pipes::selecti([$(($port).header()),+]/_);
select_if!{index, 0 $(, $port => [ select_if!(index, 0 $(, $port => [
$(type_this $message$(($(x $x),+))dont_type_this* -> $next => { $e }),+ $(type_this $message$(($(x $x),+))dont_type_this* -> $next => { $e }),+
])+} ])+)
} }
} )
} }

View file

@ -259,7 +259,7 @@ fn spawn_css_lexer_from_string(-content : ~str) -> pipes::port<Token> {
do task::spawn { do task::spawn {
let input_port = comm::port(); let input_port = comm::port();
input_port.send(Payload(str::bytes(content))); input_port.send(Payload(str::to_bytes(content)));
input_port.send(Done(ok(()))); input_port.send(Done(ok(())));
lex_css_from_bytes(input_port, result_chan); lex_css_from_bytes(input_port, result_chan);

View file

@ -145,6 +145,8 @@ fn parse_html(scope: NodeScope, url: Url, resource_task: ResourceTask) -> HtmlPa
js_script_listener(js_chan, js_port, resource_task); js_script_listener(js_chan, js_port, resource_task);
}; };
let (scope, url) = (@copy scope, @copy url);
// Build the root node. // Build the root node.
let root = scope.new_node(Element(ElementData(~"html", ~HTMLDivElement))); let root = scope.new_node(Element(ElementData(~"html", ~HTMLDivElement)));
debug!("created new node"); debug!("created new node");
@ -153,11 +155,11 @@ fn parse_html(scope: NodeScope, url: Url, resource_task: ResourceTask) -> HtmlPa
parser.set_document_node(reinterpret_cast(root)); parser.set_document_node(reinterpret_cast(root));
parser.enable_scripting(true); parser.enable_scripting(true);
parser.set_tree_handler(@hubbub::TreeHandler { parser.set_tree_handler(@hubbub::TreeHandler {
create_comment: |data| { create_comment: |_data| {
debug!("create comment"); debug!("create comment");
0u 0u // FIXME: causes segfaults
}, },
create_doctype: |doctype| { create_doctype: |_doctype| {
debug!("create doctype"); debug!("create doctype");
let new_node = scope.new_node(Element(ElementData(~"doctype", ~UnknownElement))); let new_node = scope.new_node(Element(ElementData(~"doctype", ~UnknownElement)));
reinterpret_cast(new_node) reinterpret_cast(new_node)
@ -202,7 +204,7 @@ fn parse_html(scope: NodeScope, url: Url, resource_task: ResourceTask) -> HtmlPa
match (element.get_attr(~"rel"), element.get_attr(~"href")) { match (element.get_attr(~"rel"), element.get_attr(~"href")) {
(some(rel), some(href)) if rel == ~"stylesheet" => { (some(rel), some(href)) if rel == ~"stylesheet" => {
debug!("found CSS stylesheet: %s", href); debug!("found CSS stylesheet: %s", href);
css_chan.send(CSSFileMessage(make_url(href, some(copy url)))); css_chan.send(CSSFileMessage(make_url(href, some(copy *url))));
} }
_ => {} _ => {}
} }
@ -268,7 +270,7 @@ fn parse_html(scope: NodeScope, url: Url, resource_task: ResourceTask) -> HtmlPa
match element.get_attr(~"src") { match element.get_attr(~"src") {
some(src) => { some(src) => {
debug!("found script: %s", src); debug!("found script: %s", src);
let new_url = make_url(src, some(copy url)); let new_url = make_url(src, some(copy *url));
js_chan.send(JSFileMessage(new_url)); js_chan.send(JSFileMessage(new_url));
} }
none => {} none => {}
@ -283,7 +285,7 @@ fn parse_html(scope: NodeScope, url: Url, resource_task: ResourceTask) -> HtmlPa
debug!("set tree handler"); debug!("set tree handler");
let input_port = port(); let input_port = port();
resource_task.send(Load(copy url, input_port.chan())); resource_task.send(Load(copy *url, input_port.chan()));
debug!("loaded page"); debug!("loaded page");
loop { loop {
match input_port.recv() { match input_port.recv() {