diff options
Diffstat (limited to 'src/components/script')
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 2 | ||||
-rw-r--r-- | src/components/script/dom/bindings/node.rs | 4 | ||||
-rw-r--r-- | src/components/script/dom/node.rs | 4 | ||||
-rw-r--r-- | src/components/script/dom/window.rs | 3 | ||||
-rw-r--r-- | src/components/script/html/cssparse.rs | 2 | ||||
-rw-r--r-- | src/components/script/html/hubbub_html_parser.rs | 39 | ||||
-rw-r--r-- | src/components/script/script.rc | 2 | ||||
-rw-r--r-- | src/components/script/script_task.rs | 25 |
8 files changed, 44 insertions, 37 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 18e590fc30d..5734df036c6 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -4025,7 +4025,7 @@ def finalizeHook(descriptor, hookName, context): assert descriptor.nativeIsISupports release = """let val = JS_GetReservedSlot(obj, dom_object_slot(obj)); let _: @mut %s = cast::transmute(RUST_JSVAL_TO_PRIVATE(val)); -debug!("%s finalize: %%p", this); +debug!("%s finalize: {:p}", this); """ % (descriptor.concreteType, descriptor.concreteType) #return clearWrapper + release return release diff --git a/src/components/script/dom/bindings/node.rs b/src/components/script/dom/bindings/node.rs index e2d10ec6387..09f17770c56 100644 --- a/src/components/script/dom/bindings/node.rs +++ b/src/components/script/dom/bindings/node.rs @@ -127,7 +127,7 @@ impl Traceable for Node<ScriptView> { if node.is_none() { return; } - debug!("tracing %s", name); + debug!("tracing {:s}", name); let node = node.unwrap(); let obj = node.reflector().get_jsobject(); assert!(obj.is_not_null()); @@ -140,7 +140,7 @@ impl Traceable for Node<ScriptView> { } } } - debug!("tracing %p?:", self.reflector_.get_jsobject()); + debug!("tracing {:p}?:", self.reflector_.get_jsobject()); trace_node(tracer, self.parent_node, "parent"); trace_node(tracer, self.first_child, "first child"); trace_node(tracer, self.last_child, "last child"); diff --git a/src/components/script/dom/node.rs b/src/components/script/dom/node.rs index 43178101e01..725d69e711f 100644 --- a/src/components/script/dom/node.rs +++ b/src/components/script/dom/node.rs @@ -425,7 +425,7 @@ impl<'self, View> AbstractNode<View> { } s.push_str(self.debug_str()); - debug!("%s", s); + debug!("{:s}", s); // FIXME: this should have a pure version? for kid in self.children() { @@ -435,7 +435,7 @@ impl<'self, View> AbstractNode<View> { /// Returns a string that describes this node. pub fn debug_str(&self) -> ~str { - fmt!("%?", self.type_id()) + format!("{:?}", self.type_id()) } pub fn children(&self) -> AbstractNodeChildrenIterator<View> { diff --git a/src/components/script/dom/window.rs b/src/components/script/dom/window.rs index 8f9994458fb..0a5bb19d3ec 100644 --- a/src/components/script/dom/window.rs +++ b/src/components/script/dom/window.rs @@ -23,7 +23,6 @@ use std::cell::Cell; use std::comm; use std::comm::SharedChan; use std::hashmap::HashSet; -use std::io; use std::ptr; use std::int; use std::libc; @@ -74,7 +73,7 @@ pub struct TimerData { impl Window { pub fn Alert(&self, s: &DOMString) { // Right now, just print to the console - io::println(fmt!("ALERT: %s", null_str_as_empty(s))); + println(format!("ALERT: {:s}", null_str_as_empty(s))); } pub fn Close(&self) { diff --git a/src/components/script/html/cssparse.rs b/src/components/script/html/cssparse.rs index bfe1d984171..ade3b58ed69 100644 --- a/src/components/script/html/cssparse.rs +++ b/src/components/script/html/cssparse.rs @@ -35,7 +35,7 @@ pub fn spawn_css_parser(provenance: StylesheetProvenance, let sheet = match provenance_cell.take() { UrlProvenance(url) => { - debug!("cssparse: loading style sheet at %s", url.to_str()); + debug!("cssparse: loading style sheet at {:s}", url.to_str()); let (input_port, input_chan) = comm::stream(); resource_task.send(Load(url, input_chan)); Stylesheet::from_iter(ProgressMsgPortIterator { diff --git a/src/components/script/html/hubbub_html_parser.rs b/src/components/script/html/hubbub_html_parser.rs index c0da70de983..b1f8cc96484 100644 --- a/src/components/script/html/hubbub_html_parser.rs +++ b/src/components/script/html/hubbub_html_parser.rs @@ -118,7 +118,6 @@ pub enum HtmlDiscoveryMessage { pub struct HtmlParserResult { root: AbstractNode<ScriptView>, discovery_port: Port<HtmlDiscoveryMessage>, - url: Url, } trait NodeWrapping { @@ -183,7 +182,7 @@ fn js_script_listener(to_parent: SharedChan<HtmlDiscoveryMessage>, JSTaskNewFile(url) => { match load_whole_resource(&resource_task, url.clone()) { Err(_) => { - error!("error loading script %s", url.to_str()); + error!("error loading script {:s}", url.to_str()); } Ok((metadata, bytes)) => { result_vec.push(JSFile { @@ -299,7 +298,7 @@ pub fn parse_html(cx: *JSContext, image_cache_task: ImageCacheTask, next_subpage_id: SubpageId, constellation_chan: ConstellationChan) -> HtmlParserResult { - debug!("Hubbub: parsing %?", url); + debug!("Hubbub: parsing {:?}", url); // Spawn a CSS parser to receive links to CSS style sheets. let resource_task2 = resource_task.clone(); @@ -330,11 +329,22 @@ pub fn parse_html(cx: *JSContext, resource_task.send(Load(url.clone(), input_chan)); let load_response = input_port.recv(); - debug!("Fetched page; metadata is %?", load_response.metadata); + debug!("Fetched page; metadata is {:?}", load_response.metadata); let url2 = load_response.metadata.final_url.clone(); let url3 = url2.clone(); + // Store the final URL before we start parsing, so that DOM routines + // (e.g. HTMLImageElement::update_image) can resolve relative URLs + // correctly. + // + // FIXME: is this safe? When we instead pass an &mut Page to parse_html, + // we crash with a dynamic borrow failure. + let page = page_from_context(cx); + unsafe { + (*page).url = Some((url2.clone(), true)); + } + // Build the root node. let root = @HTMLHtmlElement { htmlelement: HTMLElement::new(HTMLHtmlElementTypeId, ~"html", document) }; let root = unsafe { Node::as_abstract_node(cx, root) }; @@ -390,7 +400,7 @@ pub fn parse_html(cx: *JSContext, match (element.get_attr("rel"), element.get_attr("href")) { (Some(rel), Some(href)) => { if rel == "stylesheet" { - debug!("found CSS stylesheet: %s", href); + debug!("found CSS stylesheet: {:s}", href); let url = make_url(href.to_str(), Some(url2.clone())); css_chan2.send(CSSTaskNewFile(UrlProvenance(url))); } @@ -459,7 +469,7 @@ pub fn parse_html(cx: *JSContext, unref_node: |_| {}, append_child: |parent: hubbub::NodeDataPtr, child: hubbub::NodeDataPtr| { unsafe { - debug!("append child %x %x", cast::transmute(parent), cast::transmute(child)); + debug!("append child {:x} {:x}", parent, child); let parent: AbstractNode<ScriptView> = NodeWrapping::from_hubbub_node(parent); let child: AbstractNode<ScriptView> = NodeWrapping::from_hubbub_node(child); // FIXME this needs to be AppendChild. @@ -512,21 +522,21 @@ pub fn parse_html(cx: *JSContext, do scriptnode.with_imm_element |script| { match script.get_attr("src") { Some(src) => { - debug!("found script: %s", src); + debug!("found script: {:s}", src); let new_url = make_url(src.to_str(), Some(url3.clone())); js_chan2.send(JSTaskNewFile(new_url)); } None => { let mut data = ~[]; - debug!("iterating over children %?", scriptnode.first_child()); + debug!("iterating over children {:?}", scriptnode.first_child()); for child in scriptnode.children() { - debug!("child = %?", child); + debug!("child = {:?}", child); do child.with_imm_text() |text| { data.push(text.element.data.to_str()); // FIXME: Bad copy. } } - debug!("script data = %?", data); + debug!("script data = {:?}", data); js_chan2.send(JSTaskNewInlineScript(data.concat(), url3.clone())); } } @@ -542,15 +552,15 @@ pub fn parse_html(cx: *JSContext, let url_cell = Cell::new(url); let mut data = ~[]; - debug!("iterating over children %?", style.first_child()); + debug!("iterating over children {:?}", style.first_child()); for child in style.children() { - debug!("child = %?", child); + debug!("child = {:?}", child); do child.with_imm_text() |text| { data.push(text.element.data.to_str()); // FIXME: Bad copy. } } - debug!("style data = %?", data); + debug!("style data = {:?}", data); let provenance = InlineProvenance(url_cell.take().unwrap(), data.concat()); css_chan3.send(CSSTaskNewFile(provenance)); } @@ -566,7 +576,7 @@ pub fn parse_html(cx: *JSContext, parser.parse_chunk(data); } Done(Err(*)) => { - fail!("Failed to load page URL %s", url.to_str()); + fail!("Failed to load page URL {:s}", url.to_str()); } Done(*) => { break; @@ -580,7 +590,6 @@ pub fn parse_html(cx: *JSContext, HtmlParserResult { root: root, discovery_port: discovery_port, - url: load_response.metadata.final_url, } } diff --git a/src/components/script/script.rc b/src/components/script/script.rc index cf376f08fcd..bef239a5ec9 100644 --- a/src/components/script/script.rc +++ b/src/components/script/script.rc @@ -11,7 +11,7 @@ #[license = "MPL"]; #[crate_type = "lib"]; -#[feature(globs, macro_rules, struct_variant)]; +#[feature(globs, macro_rules, struct_variant, managed_boxes)]; extern mod geom; extern mod gfx (name = "gfx"); diff --git a/src/components/script/script_task.rs b/src/components/script/script_task.rs index b17449ab0ba..fed211c1fce 100644 --- a/src/components/script/script_task.rs +++ b/src/components/script/script_task.rs @@ -282,7 +282,7 @@ impl Page { match root { None => {}, Some(root) => { - debug!("script: performing reflow for goal %?", goal); + debug!("script: performing reflow for goal {:?}", goal); // Now, join the layout so that they will see the latest changes we have made. self.join_layout(); @@ -541,7 +541,7 @@ impl ScriptTask { } fn handle_new_layout(&mut self, new_layout_info: NewLayoutInfo) { - debug!("Script: new layout: %?", new_layout_info); + debug!("Script: new layout: {:?}", new_layout_info); let NewLayoutInfo { old_id, new_id, @@ -588,7 +588,7 @@ impl ScriptTask { /// Handles a notification that reflow completed. fn handle_reflow_complete_msg(&mut self, pipeline_id: PipelineId, reflow_id: uint) { - debug!("Script: Reflow %? complete for %?", reflow_id, pipeline_id); + debug!("Script: Reflow {:?} complete for {:?}", reflow_id, pipeline_id); let page_tree = self.page_tree.find(pipeline_id).expect( "ScriptTask: received a load message for a layout channel that is not associated \ with this script task. This is a bug."); @@ -656,7 +656,7 @@ impl ScriptTask { /// The entry point to document loading. Defines bindings, sets up the window and document /// objects, parses HTML and CSS, and kicks off initial layout. fn load(&mut self, pipeline_id: PipelineId, url: Url) { - debug!("ScriptTask: loading %? on page %?", url, pipeline_id); + debug!("ScriptTask: loading {:?} on page {:?}", url, pipeline_id); let page = self.page_tree.find(pipeline_id).expect("ScriptTask: received a load message for a layout channel that is not associated with this script task. This @@ -699,14 +699,13 @@ impl ScriptTask { self.constellation_chan.clone()); - let HtmlParserResult {root, discovery_port, url: final_url} = html_parsing_result; + let HtmlParserResult {root, discovery_port} = html_parsing_result; // Create the root frame. page.frame = Some(Frame { document: document, window: window, }); - page.url = Some((final_url, true)); // Send style sheets over to layout. // @@ -752,7 +751,7 @@ impl ScriptTask { // Receive the JavaScript scripts. assert!(js_scripts.is_some()); let js_scripts = js_scripts.take_unwrap(); - debug!("js_scripts: %?", js_scripts); + debug!("js_scripts: {:?}", js_scripts); // Define debug functions. let compartment = page.js_info.get_ref().js_compartment; @@ -778,7 +777,7 @@ impl ScriptTask { match event { ResizeEvent(new_width, new_height) => { - debug!("script got resize event: %u, %u", new_width, new_height); + debug!("script got resize event: {:u}, {:u}", new_width, new_height); page.window_size = Future::from_value(Size2D(new_width, new_height)); @@ -799,7 +798,7 @@ impl ScriptTask { } ClickEvent(_button, point) => { - debug!("ClickEvent: clicked at %?", point); + debug!("ClickEvent: clicked at {:?}", point); let document = page.frame.expect("root frame is None").document; let root = document.document().GetDocumentElement(); @@ -810,7 +809,7 @@ impl ScriptTask { match page.query_layout(HitTestQuery(root.unwrap(), point, chan), port) { Ok(node) => match node { HitTestResponse(node) => { - debug!("clicked on %s", node.debug_str()); + debug!("clicked on {:s}", node.debug_str()); let mut node = node; // traverse node generations until a node that is an element is found while !node.is_element() { @@ -831,7 +830,7 @@ impl ScriptTask { } }, Err(()) => { - debug!(fmt!("layout query error")); + debug!("layout query error"); } } } @@ -844,11 +843,11 @@ impl ScriptTask { // if the node's element is "a," load url from href attr let attr = element.get_attr("href"); for href in attr.iter() { - debug!("ScriptTask: clicked on link to %s", *href); + debug!("ScriptTask: clicked on link to {:s}", *href); let current_url = do page.url.as_ref().map |&(ref url, _)| { url.clone() }; - debug!("ScriptTask: current url is %?", current_url); + debug!("ScriptTask: current url is {:?}", current_url); let url = make_url(href.to_owned(), current_url); self.constellation_chan.send(LoadUrlMsg(page.id, url, Future::from_value(page.window_size.get()))); } |