From 1df8d57dc6adcf56c22b45053b3d2eca904d17d3 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Thu, 3 Oct 2019 17:36:02 -0400 Subject: Support CORS attributes for image elements. --- components/net_traits/request.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'components/net_traits/request.rs') diff --git a/components/net_traits/request.rs b/components/net_traits/request.rs index cfceb5ee888..dad0ae8ca35 100644 --- a/components/net_traits/request.rs +++ b/components/net_traits/request.rs @@ -10,7 +10,7 @@ use msg::constellation_msg::PipelineId; use servo_url::{ImmutableOrigin, ServoUrl}; /// An [initiator](https://fetch.spec.whatwg.org/#concept-request-initiator) -#[derive(Clone, Copy, MallocSizeOf, PartialEq)] +#[derive(Clone, Copy, Debug, Deserialize, MallocSizeOf, PartialEq, Serialize)] pub enum Initiator { None, Download, @@ -128,7 +128,7 @@ pub enum Window { } /// [CORS settings attribute](https://html.spec.whatwg.org/multipage/#attr-crossorigin-anonymous) -#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Serialize)] +#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)] pub enum CorsSettings { Anonymous, UseCredentials, @@ -178,6 +178,7 @@ pub struct RequestBuilder { // to keep track of redirects pub url_list: Vec, pub parser_metadata: ParserMetadata, + pub initiator: Initiator, } impl RequestBuilder { @@ -204,9 +205,15 @@ impl RequestBuilder { integrity_metadata: "".to_owned(), url_list: vec![], parser_metadata: ParserMetadata::Default, + initiator: Initiator::None, } } + pub fn initiator(mut self, initiator: Initiator) -> RequestBuilder { + self.initiator = initiator; + self + } + pub fn method(mut self, method: Method) -> RequestBuilder { self.method = method; self @@ -298,6 +305,7 @@ impl RequestBuilder { Some(Origin::Origin(self.origin)), self.pipeline_id, ); + request.initiator = self.initiator; request.method = self.method; request.headers = self.headers; request.unsafe_request = self.unsafe_request; -- cgit v1.2.3