aboutsummaryrefslogtreecommitdiffstats
path: root/src/servo/parser/html_builder.rs
diff options
context:
space:
mode:
authorMargaret Meyerhofer <mmeyerhofer@mozilla.com>2012-06-28 16:01:36 -0700
committerMargaret Meyerhofer <mmeyerhofer@mozilla.com>2012-07-19 10:56:59 -0700
commited99449f52f5d927893408448a56f9c247f8e098 (patch)
tree1247bb5b4b0af32ca630f2ff7fa473308dfc48d2 /src/servo/parser/html_builder.rs
parent0c5aefa88fdf712a309be4301ede87adff4693e7 (diff)
downloadservo-ed99449f52f5d927893408448a56f9c247f8e098.tar.gz
servo-ed99449f52f5d927893408448a56f9c247f8e098.zip
Added width and height parsing
Diffstat (limited to 'src/servo/parser/html_builder.rs')
-rw-r--r--src/servo/parser/html_builder.rs38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/servo/parser/html_builder.rs b/src/servo/parser/html_builder.rs
index 3dd7c48f21c..c96bc17f593 100644
--- a/src/servo/parser/html_builder.rs
+++ b/src/servo/parser/html_builder.rs
@@ -11,11 +11,12 @@ import parser = parser::html_lexer;
import parser::Token;
import dom::style::Stylesheet;
import vec::{push, push_all_move, flat_map};
+
import dvec::extensions;
-enum css_message {
- file(~str),
- exit
+enum CSSMessage {
+ File(~str),
+ Exit
}
#[warn(no_non_implicitly_copyable_typarams)]
@@ -59,15 +60,15 @@ fn link_up_attribute(scope: NodeScope, node: Node, -key: ~str, -value: ~str) {
fn build_element_kind(tag_name: ~str) -> ~ElementKind {
alt tag_name {
- ~"div" { ~HTMLDivElement }
- ~"img" {
- ~HTMLImageElement({
- mut size: Size2D(geometry::px_to_au(100),
- geometry::px_to_au(100))
- })
- }
- ~"head" { ~HTMLHeadElement }
- _ { ~UnknownElement }
+ ~"div" { ~HTMLDivElement }
+ ~"img" {
+ ~HTMLImageElement({
+ mut size: Size2D(geometry::px_to_au(100),
+ geometry::px_to_au(100))
+ })
+ }
+ ~"head" { ~HTMLHeadElement }
+ _ { ~UnknownElement }
}
}
@@ -85,25 +86,26 @@ spawned, collates them, and sends them to the given result channel.
* `from_parent` - A port on which to receive new links.
"]
-fn css_link_listener(to_parent : chan<Stylesheet>, from_parent : port<css_message>) {
+fn css_link_listener(to_parent : chan<Stylesheet>, from_parent : port<CSSMessage>) {
let mut result_vec = ~[];
loop {
alt from_parent.recv() {
- file(filename) {
+ File(filename) {
let result_port = comm::port();
let result_chan = comm::chan(result_port);
let filename = copy filename;
task::spawn(|| {
//TODO: deal with extraneous copies
let filename <- copy filename;
- let css_stream = css_lexer::spawn_css_lexer_task(filename);
+ let css_stream = css_lexer::spawn_css_lexer_from_file(filename);
let mut css_rules = css_builder::build_stylesheet(css_stream);
result_chan.send(css_rules);
});
+
push(result_vec, result_port);
}
- exit {
+ Exit {
break;
}
}
@@ -159,7 +161,7 @@ fn build_dom(scope: NodeScope, stream: port<Token>) -> (Node, port<Stylesheet>)
alt elmt.get_attr(~"href") {
some(filename) {
#debug["Linking to a css sheet named: %s", filename];
- style_chan.send(file(copy filename));
+ style_chan.send(File(copy filename));
}
none { /* fall through*/ }
}
@@ -189,7 +191,7 @@ fn build_dom(scope: NodeScope, stream: port<Token>) -> (Node, port<Stylesheet>)
}
}
- style_chan.send(exit);
+ style_chan.send(Exit);
ret (cur_node, style_port);
}