mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
delegate resource reading to embedder
This commit is contained in:
parent
21517504cb
commit
9fb5795f37
52 changed files with 472 additions and 396 deletions
|
@ -42,6 +42,7 @@ deny_public_fields = {path = "../deny_public_fields"}
|
|||
devtools_traits = {path = "../devtools_traits"}
|
||||
dom_struct = {path = "../dom_struct"}
|
||||
domobject_derive = {path = "../domobject_derive"}
|
||||
embedder_traits = {path = "../embedder_traits"}
|
||||
encoding_rs = "0.7"
|
||||
euclid = "0.17"
|
||||
fnv = "1.0"
|
||||
|
|
|
@ -30,6 +30,7 @@ use dom::processinginstruction::ProcessingInstruction;
|
|||
use dom::text::Text;
|
||||
use dom::virtualmethods::vtable_for;
|
||||
use dom_struct::dom_struct;
|
||||
use embedder_traits::resources::{self, Resource};
|
||||
use html5ever::{Attribute, ExpandedName, LocalName, QualName};
|
||||
use html5ever::buffer_queue::BufferQueue;
|
||||
use html5ever::tendril::{StrTendril, ByteTendril, IncompleteUtf8};
|
||||
|
@ -45,7 +46,6 @@ use profile_traits::time::{TimerMetadataReflowType, ProfilerCategory, profile};
|
|||
use script_thread::ScriptThread;
|
||||
use script_traits::DocumentActivity;
|
||||
use servo_config::prefs::PREFS;
|
||||
use servo_config::resource_files::read_resource_file;
|
||||
use servo_url::ServoUrl;
|
||||
use std::borrow::Cow;
|
||||
use std::cell::Cell;
|
||||
|
@ -671,16 +671,14 @@ impl FetchResponseListener for ParserContext {
|
|||
// Handle text/html
|
||||
if let Some(reason) = ssl_error {
|
||||
self.is_synthesized_document = true;
|
||||
let page_bytes = read_resource_file("badcert.html").unwrap();
|
||||
let page = String::from_utf8(page_bytes).unwrap();
|
||||
let page = resources::read_string(Resource::BadCertHTML);
|
||||
let page = page.replace("${reason}", &reason);
|
||||
parser.push_string_input_chunk(page);
|
||||
parser.parse_sync();
|
||||
}
|
||||
if let Some(reason) = network_error {
|
||||
self.is_synthesized_document = true;
|
||||
let page_bytes = read_resource_file("neterror.html").unwrap();
|
||||
let page = String::from_utf8(page_bytes).unwrap();
|
||||
let page = resources::read_string(Resource::NetErrorHTML);
|
||||
let page = page.replace("${reason}", &reason);
|
||||
parser.push_string_input_chunk(page);
|
||||
parser.parse_sync();
|
||||
|
|
|
@ -8,7 +8,6 @@ use dom::htmlheadelement::HTMLHeadElement;
|
|||
use dom::node::Node;
|
||||
use js::jsval::UndefinedValue;
|
||||
use servo_config::opts;
|
||||
use servo_config::resource_files::resources_dir_path;
|
||||
use std::fs::{File, read_dir};
|
||||
use std::io::Read;
|
||||
use std::path::PathBuf;
|
||||
|
@ -22,17 +21,7 @@ pub fn load_script(head: &HTMLHeadElement) {
|
|||
let cx = win.get_cx();
|
||||
rooted!(in(cx) let mut rval = UndefinedValue());
|
||||
|
||||
let path = if &**path_str == "" {
|
||||
if let Ok(mut p) = resources_dir_path() {
|
||||
p.push("user-agent-js");
|
||||
p
|
||||
} else {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
PathBuf::from(path_str)
|
||||
};
|
||||
|
||||
let path = PathBuf::from(path_str);
|
||||
let mut files = read_dir(&path).expect("Bad path passed to --userscripts")
|
||||
.filter_map(|e| e.ok())
|
||||
.map(|e| e.path()).collect::<Vec<_>>();
|
||||
|
|
|
@ -35,6 +35,7 @@ extern crate devtools_traits;
|
|||
extern crate dom_struct;
|
||||
#[macro_use]
|
||||
extern crate domobject_derive;
|
||||
extern crate embedder_traits;
|
||||
extern crate encoding_rs;
|
||||
extern crate euclid;
|
||||
extern crate fnv;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue