aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/servoparser/mod.rs
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2016-10-11 15:08:50 +0200
committerMs2ger <Ms2ger@gmail.com>2016-11-02 09:25:57 +0100
commit623ab22468df0e5009bb4eb1f7891b528fdc01f1 (patch)
tree8cfb54d8629c20ac0734a3f36d3a14ab1861b81c /components/script/dom/servoparser/mod.rs
parentc78743162c425388dbbba27c31fc7aea2ce0b506 (diff)
downloadservo-623ab22468df0e5009bb4eb1f7891b528fdc01f1.tar.gz
servo-623ab22468df0e5009bb4eb1f7891b528fdc01f1.zip
Use fetch in ScriptThread.
I did not find the prose that defines the creation of the request in the HTML standard (if it exists).
Diffstat (limited to 'components/script/dom/servoparser/mod.rs')
-rw-r--r--components/script/dom/servoparser/mod.rs22
1 files changed, 16 insertions, 6 deletions
diff --git a/components/script/dom/servoparser/mod.rs b/components/script/dom/servoparser/mod.rs
index cb8fc3d753d..8c57dffa8e1 100644
--- a/components/script/dom/servoparser/mod.rs
+++ b/components/script/dom/servoparser/mod.rs
@@ -28,7 +28,7 @@ use hyper::mime::{Mime, SubLevel, TopLevel};
use hyper_serde::Serde;
use js::jsapi::JSTracer;
use msg::constellation_msg::PipelineId;
-use net_traits::{AsyncResponseListener, Metadata, NetworkError};
+use net_traits::{FetchMetadata, FetchResponseListener, Metadata, NetworkError};
use network_listener::PreInvoke;
use profile_traits::time::{TimerMetadata, TimerMetadataFrameType};
use profile_traits::time::{TimerMetadataReflowType, ProfilerCategory, profile};
@@ -332,11 +332,21 @@ impl ParserContext {
}
}
-impl AsyncResponseListener for ParserContext {
- fn headers_available(&mut self, meta_result: Result<Metadata, NetworkError>) {
+impl FetchResponseListener for ParserContext {
+ fn process_request_body(&mut self) {}
+
+ fn process_request_eof(&mut self) {}
+
+ fn process_response(&mut self,
+ meta_result: Result<FetchMetadata, NetworkError>) {
let mut ssl_error = None;
let metadata = match meta_result {
- Ok(meta) => Some(meta),
+ Ok(meta) => {
+ Some(match meta {
+ FetchMetadata::Unfiltered(m) => m,
+ FetchMetadata::Filtered { unsafe_, .. } => unsafe_
+ })
+ },
Err(NetworkError::SslValidation(url, reason)) => {
ssl_error = Some(reason);
let mut meta = Metadata::default(url);
@@ -408,7 +418,7 @@ impl AsyncResponseListener for ParserContext {
}
}
- fn data_available(&mut self, payload: Vec<u8>) {
+ fn process_response_chunk(&mut self, payload: Vec<u8>) {
if !self.is_synthesized_document {
// FIXME: use Vec<u8> (html5ever #34)
let data = UTF_8.decode(&payload, DecoderTrap::Replace).unwrap();
@@ -420,7 +430,7 @@ impl AsyncResponseListener for ParserContext {
}
}
- fn response_complete(&mut self, status: Result<(), NetworkError>) {
+ fn process_response_eof(&mut self, status: Result<(), NetworkError>) {
let parser = match self.parser.as_ref() {
Some(parser) => parser.root(),
None => return,