mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Implementing the builder pattern for RequestInit
This commit is contained in:
parent
dd2deeabca
commit
6b2be9b31d
27 changed files with 578 additions and 546 deletions
|
@ -81,7 +81,7 @@ use msg::constellation_msg::{
|
|||
use net_traits::filemanager_thread::RelativePos;
|
||||
use net_traits::image::base::{Image, ImageMetadata};
|
||||
use net_traits::image_cache::{ImageCache, PendingImageId};
|
||||
use net_traits::request::{Request, RequestInit};
|
||||
use net_traits::request::{Request, RequestBuilder};
|
||||
use net_traits::response::HttpsState;
|
||||
use net_traits::response::{Response, ResponseBody};
|
||||
use net_traits::storage_thread::StorageType;
|
||||
|
@ -446,7 +446,7 @@ unsafe_no_jsmanaged_fields!(PendingRestyle);
|
|||
unsafe_no_jsmanaged_fields!(Stylesheet);
|
||||
unsafe_no_jsmanaged_fields!(HttpsState);
|
||||
unsafe_no_jsmanaged_fields!(Request);
|
||||
unsafe_no_jsmanaged_fields!(RequestInit);
|
||||
unsafe_no_jsmanaged_fields!(RequestBuilder);
|
||||
unsafe_no_jsmanaged_fields!(StyleSharedRwLock);
|
||||
unsafe_no_jsmanaged_fields!(USVString);
|
||||
unsafe_no_jsmanaged_fields!(ReferrerPolicy);
|
||||
|
|
|
@ -36,7 +36,7 @@ use js::jsapi::{JSAutoCompartment, JSContext};
|
|||
use js::jsval::UndefinedValue;
|
||||
use js::rust::HandleValue;
|
||||
use msg::constellation_msg::{PipelineId, TopLevelBrowsingContextId};
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestInit};
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestBuilder};
|
||||
use net_traits::{load_whole_resource, IpcSend};
|
||||
use script_traits::{TimerEvent, TimerSource, WorkerGlobalScopeInit, WorkerScriptLoadOrigin};
|
||||
use servo_rand::random;
|
||||
|
@ -305,17 +305,14 @@ impl DedicatedWorkerGlobalScope {
|
|||
pipeline_id,
|
||||
} = worker_load_origin;
|
||||
|
||||
let request = RequestInit {
|
||||
url: worker_url.clone(),
|
||||
destination: Destination::Worker,
|
||||
credentials_mode: CredentialsMode::Include,
|
||||
use_url_credentials: true,
|
||||
pipeline_id: pipeline_id,
|
||||
referrer_url: referrer_url,
|
||||
referrer_policy: referrer_policy,
|
||||
origin,
|
||||
..RequestInit::default()
|
||||
};
|
||||
let request = RequestBuilder::new(worker_url.clone())
|
||||
.destination(Destination::Worker)
|
||||
.credentials_mode(CredentialsMode::Include)
|
||||
.use_url_credentials(true)
|
||||
.pipeline_id(pipeline_id)
|
||||
.referrer_url(referrer_url)
|
||||
.referrer_policy(referrer_policy)
|
||||
.origin(origin);
|
||||
|
||||
let (metadata, bytes) =
|
||||
match load_whole_resource(request, &init.resource_threads.sender()) {
|
||||
|
|
|
@ -123,7 +123,7 @@ use metrics::{
|
|||
use mime::{self, Mime};
|
||||
use msg::constellation_msg::BrowsingContextId;
|
||||
use net_traits::pub_domains::is_pub_domain;
|
||||
use net_traits::request::RequestInit;
|
||||
use net_traits::request::RequestBuilder;
|
||||
use net_traits::response::HttpsState;
|
||||
use net_traits::CookieSource::NonHTTP;
|
||||
use net_traits::CoreResourceMsg::{GetCookiesForUrl, SetCookiesForUrl};
|
||||
|
@ -1712,7 +1712,7 @@ impl Document {
|
|||
pub fn fetch_async(
|
||||
&self,
|
||||
load: LoadType,
|
||||
request: RequestInit,
|
||||
request: RequestBuilder,
|
||||
fetch_target: IpcSender<FetchResponseMsg>,
|
||||
) {
|
||||
let mut loader = self.loader.borrow_mut();
|
||||
|
|
|
@ -32,7 +32,7 @@ use js::jsapi::JSAutoCompartment;
|
|||
use js::jsval::UndefinedValue;
|
||||
use mime::{self, Mime};
|
||||
use net_traits::request::{CacheMode, CorsSettings, CredentialsMode};
|
||||
use net_traits::request::{RequestInit, RequestMode};
|
||||
use net_traits::request::{RequestBuilder, RequestMode};
|
||||
use net_traits::{CoreResourceMsg, FetchChannels, FetchMetadata};
|
||||
use net_traits::{FetchResponseListener, FetchResponseMsg, NetworkError};
|
||||
use net_traits::{ResourceFetchTiming, ResourceTimingType};
|
||||
|
@ -61,7 +61,7 @@ enum ReadyState {
|
|||
pub struct EventSource {
|
||||
eventtarget: EventTarget,
|
||||
url: ServoUrl,
|
||||
request: DomRefCell<Option<RequestInit>>,
|
||||
request: DomRefCell<Option<RequestBuilder>>,
|
||||
last_event_id: DomRefCell<DOMString>,
|
||||
reconnection_time: Cell<u64>,
|
||||
generation_id: Cell<GenerationId>,
|
||||
|
@ -482,7 +482,7 @@ impl EventSource {
|
|||
);
|
||||
}
|
||||
|
||||
pub fn request(&self) -> RequestInit {
|
||||
pub fn request(&self) -> RequestBuilder {
|
||||
self.request.borrow().clone().unwrap()
|
||||
}
|
||||
|
||||
|
@ -519,20 +519,18 @@ impl EventSource {
|
|||
};
|
||||
// Step 8
|
||||
// TODO: Step 9 set request's client settings
|
||||
let mut request = RequestInit {
|
||||
url: url_record,
|
||||
origin: global.origin().immutable().clone(),
|
||||
pipeline_id: Some(global.pipeline_id()),
|
||||
let mut request = RequestBuilder::new(url_record)
|
||||
.origin(global.origin().immutable().clone())
|
||||
.pipeline_id(Some(global.pipeline_id()))
|
||||
// https://html.spec.whatwg.org/multipage/#create-a-potential-cors-request
|
||||
use_url_credentials: true,
|
||||
mode: RequestMode::CorsMode,
|
||||
credentials_mode: if cors_attribute_state == CorsSettings::Anonymous {
|
||||
.use_url_credentials(true)
|
||||
.mode(RequestMode::CorsMode)
|
||||
.credentials_mode(if cors_attribute_state == CorsSettings::Anonymous {
|
||||
CredentialsMode::CredentialsSameOrigin
|
||||
} else {
|
||||
CredentialsMode::Include
|
||||
},
|
||||
..RequestInit::default()
|
||||
};
|
||||
});
|
||||
|
||||
// Step 10
|
||||
// TODO(eijebong): Replace once typed headers allow it
|
||||
request.headers.insert(
|
||||
|
|
|
@ -55,7 +55,7 @@ use net_traits::image::base::{Image, ImageMetadata};
|
|||
use net_traits::image_cache::UsePlaceholder;
|
||||
use net_traits::image_cache::{CanRequestImages, ImageCache, ImageOrMetadataAvailable};
|
||||
use net_traits::image_cache::{ImageResponder, ImageResponse, ImageState, PendingImageId};
|
||||
use net_traits::request::RequestInit;
|
||||
use net_traits::request::RequestBuilder;
|
||||
use net_traits::{FetchMetadata, FetchResponseListener, FetchResponseMsg, NetworkError};
|
||||
use net_traits::{ResourceFetchTiming, ResourceTimingType};
|
||||
use num_traits::ToPrimitive;
|
||||
|
@ -324,12 +324,9 @@ impl HTMLImageElement {
|
|||
}),
|
||||
);
|
||||
|
||||
let request = RequestInit {
|
||||
url: img_url.clone(),
|
||||
origin: document.origin().immutable().clone(),
|
||||
pipeline_id: Some(document.global().pipeline_id()),
|
||||
..RequestInit::default()
|
||||
};
|
||||
let request = RequestBuilder::new(img_url.clone())
|
||||
.origin(document.origin().immutable().clone())
|
||||
.pipeline_id(Some(document.global().pipeline_id()));
|
||||
|
||||
// This is a background load because the load blocker already fulfills the
|
||||
// purpose of delaying the document's load event.
|
||||
|
|
|
@ -64,7 +64,7 @@ use ipc_channel::router::ROUTER;
|
|||
use mime::{self, Mime};
|
||||
use net_traits::image::base::Image;
|
||||
use net_traits::image_cache::ImageResponse;
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestInit};
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestBuilder};
|
||||
use net_traits::{CoreResourceMsg, FetchChannels, FetchMetadata, FetchResponseListener, Metadata};
|
||||
use net_traits::{NetworkError, ResourceFetchTiming, ResourceTimingType};
|
||||
use script_layout_interface::HTMLMediaData;
|
||||
|
@ -710,18 +710,16 @@ impl HTMLMediaElement {
|
|||
Some(url) => url.clone(),
|
||||
None => self.blob_url.borrow().as_ref().unwrap().clone(),
|
||||
};
|
||||
let request = RequestInit {
|
||||
url: url.clone(),
|
||||
headers,
|
||||
destination,
|
||||
credentials_mode: CredentialsMode::Include,
|
||||
use_url_credentials: true,
|
||||
origin: document.origin().immutable().clone(),
|
||||
pipeline_id: Some(self.global().pipeline_id()),
|
||||
referrer_url: Some(document.url()),
|
||||
referrer_policy: document.get_referrer_policy(),
|
||||
..RequestInit::default()
|
||||
};
|
||||
|
||||
let request = RequestBuilder::new(url.clone())
|
||||
.headers(headers)
|
||||
.destination(destination)
|
||||
.credentials_mode(CredentialsMode::Include)
|
||||
.use_url_credentials(true)
|
||||
.origin(document.origin().immutable().clone())
|
||||
.pipeline_id(Some(self.global().pipeline_id()))
|
||||
.referrer_url(Some(document.url()))
|
||||
.referrer_policy(document.get_referrer_policy());
|
||||
|
||||
let mut current_fetch_context = self.current_fetch_context.borrow_mut();
|
||||
if let Some(ref mut current_fetch_context) = *current_fetch_context {
|
||||
|
|
|
@ -32,7 +32,9 @@ use html5ever::{LocalName, Prefix};
|
|||
use ipc_channel::ipc;
|
||||
use ipc_channel::router::ROUTER;
|
||||
use js::jsval::UndefinedValue;
|
||||
use net_traits::request::{CorsSettings, CredentialsMode, Destination, RequestInit, RequestMode};
|
||||
use net_traits::request::{
|
||||
CorsSettings, CredentialsMode, Destination, RequestBuilder, RequestMode,
|
||||
};
|
||||
use net_traits::{FetchMetadata, FetchResponseListener, Metadata, NetworkError};
|
||||
use net_traits::{ResourceFetchTiming, ResourceTimingType};
|
||||
use servo_atoms::Atom;
|
||||
|
@ -290,28 +292,25 @@ fn fetch_a_classic_script(
|
|||
let doc = document_from_node(script);
|
||||
|
||||
// Step 1, 2.
|
||||
let request = RequestInit {
|
||||
url: url.clone(),
|
||||
destination: Destination::Script,
|
||||
let request = RequestBuilder::new(url.clone())
|
||||
.destination(Destination::Script)
|
||||
// https://html.spec.whatwg.org/multipage/#create-a-potential-cors-request
|
||||
// Step 1
|
||||
mode: match cors_setting {
|
||||
.mode(match cors_setting {
|
||||
Some(_) => RequestMode::CorsMode,
|
||||
None => RequestMode::NoCors,
|
||||
},
|
||||
})
|
||||
// https://html.spec.whatwg.org/multipage/#create-a-potential-cors-request
|
||||
// Step 3-4
|
||||
credentials_mode: match cors_setting {
|
||||
.credentials_mode(match cors_setting {
|
||||
Some(CorsSettings::Anonymous) => CredentialsMode::CredentialsSameOrigin,
|
||||
_ => CredentialsMode::Include,
|
||||
},
|
||||
origin: doc.origin().immutable().clone(),
|
||||
pipeline_id: Some(script.global().pipeline_id()),
|
||||
referrer_url: Some(doc.url()),
|
||||
referrer_policy: doc.get_referrer_policy(),
|
||||
integrity_metadata: integrity_metadata,
|
||||
..RequestInit::default()
|
||||
};
|
||||
})
|
||||
.origin(doc.origin().immutable().clone())
|
||||
.pipeline_id(Some(script.global().pipeline_id()))
|
||||
.referrer_url(Some(doc.url()))
|
||||
.referrer_policy(doc.get_referrer_policy())
|
||||
.integrity_metadata(integrity_metadata);
|
||||
|
||||
// TODO: Step 3, Add custom steps to perform fetch
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ use ipc_channel::router::ROUTER;
|
|||
use net_traits::image_cache::UsePlaceholder;
|
||||
use net_traits::image_cache::{CanRequestImages, ImageCache, ImageOrMetadataAvailable};
|
||||
use net_traits::image_cache::{ImageResponse, ImageState, PendingImageId};
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestInit};
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestBuilder};
|
||||
use net_traits::{
|
||||
CoreResourceMsg, FetchChannels, FetchMetadata, FetchResponseListener, FetchResponseMsg,
|
||||
};
|
||||
|
@ -162,15 +162,12 @@ impl HTMLVideoElement {
|
|||
) {
|
||||
// Continuation of step 4.
|
||||
let document = document_from_node(self);
|
||||
let request = RequestInit {
|
||||
url: poster_url.clone(),
|
||||
destination: Destination::Image,
|
||||
credentials_mode: CredentialsMode::Include,
|
||||
use_url_credentials: true,
|
||||
origin: document.origin().immutable().clone(),
|
||||
pipeline_id: Some(document.global().pipeline_id()),
|
||||
..RequestInit::default()
|
||||
};
|
||||
let request = RequestBuilder::new(poster_url.clone())
|
||||
.destination(Destination::Image)
|
||||
.credentials_mode(CredentialsMode::Include)
|
||||
.use_url_credentials(true)
|
||||
.origin(document.origin().immutable().clone())
|
||||
.pipeline_id(Some(document.global().pipeline_id()));
|
||||
|
||||
// Step 5.
|
||||
// This delay must be independent from the ones created by HTMLMediaElement during
|
||||
|
|
|
@ -30,7 +30,7 @@ use ipc_channel::router::ROUTER;
|
|||
use js::jsapi::{JSAutoCompartment, JSContext, JS_AddInterruptCallback};
|
||||
use js::jsval::UndefinedValue;
|
||||
use msg::constellation_msg::PipelineId;
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestInit};
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestBuilder};
|
||||
use net_traits::{load_whole_resource, CustomResponseMediator, IpcSend};
|
||||
use script_traits::{
|
||||
ScopeThings, ServiceWorkerMsg, TimerEvent, WorkerGlobalScopeInit, WorkerScriptLoadOrigin,
|
||||
|
@ -281,17 +281,14 @@ impl ServiceWorkerGlobalScope {
|
|||
pipeline_id,
|
||||
} = worker_load_origin;
|
||||
|
||||
let request = RequestInit {
|
||||
url: script_url.clone(),
|
||||
destination: Destination::ServiceWorker,
|
||||
credentials_mode: CredentialsMode::Include,
|
||||
use_url_credentials: true,
|
||||
pipeline_id: pipeline_id,
|
||||
referrer_url: referrer_url,
|
||||
referrer_policy: referrer_policy,
|
||||
origin,
|
||||
..RequestInit::default()
|
||||
};
|
||||
let request = RequestBuilder::new(script_url.clone())
|
||||
.destination(Destination::ServiceWorker)
|
||||
.credentials_mode(CredentialsMode::Include)
|
||||
.use_url_credentials(true)
|
||||
.pipeline_id(pipeline_id)
|
||||
.referrer_url(referrer_url)
|
||||
.referrer_policy(referrer_policy)
|
||||
.origin(origin);
|
||||
|
||||
let (url, source) =
|
||||
match load_whole_resource(request, &init.resource_threads.sender()) {
|
||||
|
|
|
@ -31,7 +31,7 @@ use js::jsapi::{JSAutoCompartment, JSObject};
|
|||
use js::jsval::UndefinedValue;
|
||||
use js::rust::CustomAutoRooterGuard;
|
||||
use js::typedarray::{ArrayBuffer, ArrayBufferView, CreateWith};
|
||||
use net_traits::request::{RequestInit, RequestMode};
|
||||
use net_traits::request::{RequestBuilder, RequestMode};
|
||||
use net_traits::MessageData;
|
||||
use net_traits::{CoreResourceMsg, FetchChannels};
|
||||
use net_traits::{WebSocketDomAction, WebSocketNetworkEvent};
|
||||
|
@ -201,12 +201,10 @@ impl WebSocket {
|
|||
let address = Trusted::new(&*ws);
|
||||
|
||||
// Step 8.
|
||||
let request = RequestInit {
|
||||
url: url_record,
|
||||
origin: global.origin().immutable().clone(),
|
||||
mode: RequestMode::WebSocket { protocols },
|
||||
..RequestInit::default()
|
||||
};
|
||||
let request = RequestBuilder::new(url_record)
|
||||
.origin(global.origin().immutable().clone())
|
||||
.mode(RequestMode::WebSocket { protocols });
|
||||
|
||||
let channels = FetchChannels::WebSocket {
|
||||
event_sender: resource_event_sender,
|
||||
action_receiver: resource_action_receiver,
|
||||
|
|
|
@ -41,7 +41,7 @@ use js::jsval::UndefinedValue;
|
|||
use js::panic::maybe_resume_unwind;
|
||||
use js::rust::{HandleValue, ParentRuntime};
|
||||
use msg::constellation_msg::PipelineId;
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestInit as NetRequestInit};
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestBuilder as NetRequestInit};
|
||||
use net_traits::{load_whole_resource, IpcSend};
|
||||
use script_traits::WorkerGlobalScopeInit;
|
||||
use script_traits::{TimerEvent, TimerEventId};
|
||||
|
@ -207,17 +207,15 @@ impl WorkerGlobalScopeMethods for WorkerGlobalScope {
|
|||
rooted!(in(self.runtime.cx()) let mut rval = UndefinedValue());
|
||||
for url in urls {
|
||||
let global_scope = self.upcast::<GlobalScope>();
|
||||
let request = NetRequestInit {
|
||||
url: url.clone(),
|
||||
destination: Destination::Script,
|
||||
credentials_mode: CredentialsMode::Include,
|
||||
use_url_credentials: true,
|
||||
origin: global_scope.origin().immutable().clone(),
|
||||
pipeline_id: Some(self.upcast::<GlobalScope>().pipeline_id()),
|
||||
referrer_url: None,
|
||||
referrer_policy: None,
|
||||
..NetRequestInit::default()
|
||||
};
|
||||
let request = NetRequestInit::new(url.clone())
|
||||
.destination(Destination::Script)
|
||||
.credentials_mode(CredentialsMode::Include)
|
||||
.use_url_credentials(true)
|
||||
.origin(global_scope.origin().immutable().clone())
|
||||
.pipeline_id(Some(self.upcast::<GlobalScope>().pipeline_id()))
|
||||
.referrer_url(None)
|
||||
.referrer_policy(None);
|
||||
;
|
||||
let (url, source) =
|
||||
match load_whole_resource(request, &global_scope.resource_threads().sender()) {
|
||||
Err(_) => return Err(Error::Network),
|
||||
|
|
|
@ -48,7 +48,7 @@ use js::jsapi::JS_GC;
|
|||
use msg::constellation_msg::PipelineId;
|
||||
use net_traits::load_whole_resource;
|
||||
use net_traits::request::Destination;
|
||||
use net_traits::request::RequestInit;
|
||||
use net_traits::request::RequestBuilder;
|
||||
use net_traits::request::RequestMode;
|
||||
use net_traits::IpcSend;
|
||||
use servo_url::ImmutableOrigin;
|
||||
|
@ -620,14 +620,12 @@ impl WorkletThread {
|
|||
// TODO: Fetch the script asynchronously?
|
||||
// TODO: Caching.
|
||||
let resource_fetcher = self.global_init.resource_threads.sender();
|
||||
let request = RequestInit {
|
||||
url: script_url,
|
||||
destination: Destination::Script,
|
||||
mode: RequestMode::CorsMode,
|
||||
credentials_mode: credentials.into(),
|
||||
origin,
|
||||
..RequestInit::default()
|
||||
};
|
||||
let request = RequestBuilder::new(script_url)
|
||||
.destination(Destination::Script)
|
||||
.mode(RequestMode::CorsMode)
|
||||
.credentials_mode(credentials.into())
|
||||
.origin(origin);
|
||||
|
||||
let script = load_whole_resource(request, &resource_fetcher)
|
||||
.ok()
|
||||
.and_then(|(_, bytes)| String::from_utf8(bytes).ok());
|
||||
|
|
|
@ -59,7 +59,7 @@ use js::jsval::{JSVal, NullValue, UndefinedValue};
|
|||
use js::rust::wrappers::JS_ParseJSON;
|
||||
use js::typedarray::{ArrayBuffer, CreateWith};
|
||||
use mime::{self, Mime, Name};
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestInit, RequestMode};
|
||||
use net_traits::request::{CredentialsMode, Destination, RequestBuilder, RequestMode};
|
||||
use net_traits::trim_http_whitespace;
|
||||
use net_traits::CoreResourceMsg::Fetch;
|
||||
use net_traits::{FetchChannels, FetchMetadata, FilteredMetadata};
|
||||
|
@ -233,7 +233,7 @@ impl XMLHttpRequest {
|
|||
context: Arc<Mutex<XHRContext>>,
|
||||
task_source: NetworkingTaskSource,
|
||||
global: &GlobalScope,
|
||||
init: RequestInit,
|
||||
init: RequestBuilder,
|
||||
cancellation_chan: ipc::IpcReceiver<()>,
|
||||
) {
|
||||
impl FetchResponseListener for XHRContext {
|
||||
|
@ -638,27 +638,24 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
|
|||
unreachable!()
|
||||
};
|
||||
|
||||
let mut request = RequestInit {
|
||||
method: self.request_method.borrow().clone(),
|
||||
url: self.request_url.borrow().clone().unwrap(),
|
||||
headers: (*self.request_headers.borrow()).clone(),
|
||||
unsafe_request: true,
|
||||
let mut request = RequestBuilder::new(self.request_url.borrow().clone().unwrap())
|
||||
.method(self.request_method.borrow().clone())
|
||||
.headers((*self.request_headers.borrow()).clone())
|
||||
.unsafe_request(true)
|
||||
// XXXManishearth figure out how to avoid this clone
|
||||
body: extracted_or_serialized.as_ref().map(|e| e.0.clone()),
|
||||
.body(extracted_or_serialized.as_ref().map(|e| e.0.clone()))
|
||||
// XXXManishearth actually "subresource", but it doesn't exist
|
||||
// https://github.com/whatwg/xhr/issues/71
|
||||
destination: Destination::None,
|
||||
synchronous: self.sync.get(),
|
||||
mode: RequestMode::CorsMode,
|
||||
use_cors_preflight: has_handlers,
|
||||
credentials_mode: credentials_mode,
|
||||
use_url_credentials: use_url_credentials,
|
||||
origin: self.global().origin().immutable().clone(),
|
||||
referrer_url: self.referrer_url.clone(),
|
||||
referrer_policy: self.referrer_policy.clone(),
|
||||
pipeline_id: Some(self.global().pipeline_id()),
|
||||
..RequestInit::default()
|
||||
};
|
||||
.destination(Destination::None)
|
||||
.synchronous(self.sync.get())
|
||||
.mode(RequestMode::CorsMode)
|
||||
.use_cors_preflight(has_handlers)
|
||||
.credentials_mode(credentials_mode)
|
||||
.use_url_credentials(use_url_credentials)
|
||||
.origin(self.global().origin().immutable().clone())
|
||||
.referrer_url(self.referrer_url.clone())
|
||||
.referrer_policy(self.referrer_policy.clone())
|
||||
.pipeline_id(Some(self.global().pipeline_id()));
|
||||
|
||||
// step 4 (second half)
|
||||
match extracted_or_serialized {
|
||||
|
@ -1458,7 +1455,7 @@ impl XMLHttpRequest {
|
|||
self.response_status.set(Err(()));
|
||||
}
|
||||
|
||||
fn fetch(&self, init: RequestInit, global: &GlobalScope) -> ErrorResult {
|
||||
fn fetch(&self, init: RequestBuilder, global: &GlobalScope) -> ErrorResult {
|
||||
let xhr = Trusted::new(self);
|
||||
|
||||
let context = Arc::new(Mutex::new(XHRContext {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue