diff options
author | Josh Matthews <josh@joshmatthews.net> | 2019-10-03 17:36:02 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2019-10-04 15:08:40 -0400 |
commit | 1df8d57dc6adcf56c22b45053b3d2eca904d17d3 (patch) | |
tree | ce2ba8d6672925a95d551a0ece8ee9e279332e3e /components/net_traits/request.rs | |
parent | 583536c9406e685405d5b28da99dd8cab94c7d66 (diff) | |
download | servo-1df8d57dc6adcf56c22b45053b3d2eca904d17d3.tar.gz servo-1df8d57dc6adcf56c22b45053b3d2eca904d17d3.zip |
Support CORS attributes for image elements.
Diffstat (limited to 'components/net_traits/request.rs')
-rw-r--r-- | components/net_traits/request.rs | 12 |
1 files changed, 10 insertions, 2 deletions
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<ServoUrl>, 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; |