mirror of
https://github.com/servo/servo.git
synced 2025-06-21 07:38:59 +01:00
Pass the javscript file url to the evaluate function
This commit is contained in:
parent
c532c73964
commit
a0d900e1f6
2 changed files with 16 additions and 7 deletions
|
@ -59,7 +59,12 @@ macro_rules! handle_htmlelement(
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
type JSResult = ~[~[u8]];
|
pub struct JSFile {
|
||||||
|
data: ~[u8],
|
||||||
|
url: Url
|
||||||
|
}
|
||||||
|
|
||||||
|
type JSResult = ~[JSFile];
|
||||||
|
|
||||||
enum CSSMessage {
|
enum CSSMessage {
|
||||||
CSSTaskNewFile(StylesheetProvenance),
|
CSSTaskNewFile(StylesheetProvenance),
|
||||||
|
@ -145,6 +150,7 @@ fn js_script_listener(to_parent: SharedChan<HtmlDiscoveryMessage>,
|
||||||
JSTaskNewFile(url) => {
|
JSTaskNewFile(url) => {
|
||||||
let (result_port, result_chan) = comm::stream();
|
let (result_port, result_chan) = comm::stream();
|
||||||
let resource_task = resource_task.clone();
|
let resource_task = resource_task.clone();
|
||||||
|
let url_clone = url.clone();
|
||||||
do task::spawn {
|
do task::spawn {
|
||||||
let (input_port, input_chan) = comm::stream();
|
let (input_port, input_chan) = comm::stream();
|
||||||
// TODO: change copy to move once we can move into closures
|
// TODO: change copy to move once we can move into closures
|
||||||
|
@ -168,7 +174,11 @@ fn js_script_listener(to_parent: SharedChan<HtmlDiscoveryMessage>,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result_vec.push(result_port);
|
|
||||||
|
let bytes = result_port.recv();
|
||||||
|
if bytes.is_some() {
|
||||||
|
result_vec.push(JSFile { data: bytes.unwrap(), url: url_clone });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
JSTaskExit => {
|
JSTaskExit => {
|
||||||
break;
|
break;
|
||||||
|
@ -176,8 +186,7 @@ fn js_script_listener(to_parent: SharedChan<HtmlDiscoveryMessage>,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let js_scripts = result_vec.iter().filter_map(|result_port| result_port.recv()).collect();
|
to_parent.send(HtmlDiscoveredScript(result_vec));
|
||||||
to_parent.send(HtmlDiscoveredScript(js_scripts));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Silly macros to handle constructing DOM nodes. This produces bad code and should be optimized
|
// Silly macros to handle constructing DOM nodes. This produces bad code and should be optimized
|
||||||
|
|
|
@ -682,10 +682,10 @@ impl ScriptTask {
|
||||||
js_info.js_compartment.define_functions(debug_fns);
|
js_info.js_compartment.define_functions(debug_fns);
|
||||||
|
|
||||||
// Evaluate every script in the document.
|
// Evaluate every script in the document.
|
||||||
for bytes in js_scripts.iter() {
|
for file in js_scripts.iter() {
|
||||||
let _ = js_info.js_context.evaluate_script(js_info.js_compartment.global_obj,
|
let _ = js_info.js_context.evaluate_script(js_info.js_compartment.global_obj,
|
||||||
bytes.clone(),
|
file.data.clone(),
|
||||||
~"???",
|
file.url.to_str(),
|
||||||
1);
|
1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue