aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/eventsource.rs
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2019-10-03 17:36:02 -0400
committerJosh Matthews <josh@joshmatthews.net>2019-10-04 15:08:40 -0400
commit1df8d57dc6adcf56c22b45053b3d2eca904d17d3 (patch)
treece2ba8d6672925a95d551a0ece8ee9e279332e3e /components/script/dom/eventsource.rs
parent583536c9406e685405d5b28da99dd8cab94c7d66 (diff)
downloadservo-1df8d57dc6adcf56c22b45053b3d2eca904d17d3.tar.gz
servo-1df8d57dc6adcf56c22b45053b3d2eca904d17d3.zip
Support CORS attributes for image elements.
Diffstat (limited to 'components/script/dom/eventsource.rs')
-rw-r--r--components/script/dom/eventsource.rs24
1 files changed, 10 insertions, 14 deletions
diff --git a/components/script/dom/eventsource.rs b/components/script/dom/eventsource.rs
index 02283a3c190..92eb2c2f414 100644
--- a/components/script/dom/eventsource.rs
+++ b/components/script/dom/eventsource.rs
@@ -18,7 +18,7 @@ use crate::dom::eventtarget::EventTarget;
use crate::dom::globalscope::GlobalScope;
use crate::dom::messageevent::MessageEvent;
use crate::dom::performanceresourcetiming::InitiatorType;
-use crate::fetch::FetchCanceller;
+use crate::fetch::{create_a_potential_CORS_request, FetchCanceller};
use crate::network_listener::{self, NetworkListener, PreInvoke, ResourceTimingListener};
use crate::task_source::{TaskSource, TaskSourceName};
use crate::timers::OneshotTimerCallback;
@@ -31,8 +31,7 @@ use ipc_channel::router::ROUTER;
use js::conversions::ToJSValConvertible;
use js::jsval::UndefinedValue;
use mime::{self, Mime};
-use net_traits::request::{CacheMode, CorsSettings, CredentialsMode};
-use net_traits::request::{RequestBuilder, RequestMode};
+use net_traits::request::{CacheMode, CorsSettings, Destination, RequestBuilder};
use net_traits::{CoreResourceMsg, FetchChannels, FetchMetadata};
use net_traits::{FetchResponseListener, FetchResponseMsg, NetworkError};
use net_traits::{ResourceFetchTiming, ResourceTimingType};
@@ -516,17 +515,14 @@ impl EventSource {
};
// Step 8
// TODO: Step 9 set request's client settings
- 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 {
- CredentialsMode::CredentialsSameOrigin
- } else {
- CredentialsMode::Include
- });
+ let mut request = create_a_potential_CORS_request(
+ url_record,
+ Destination::None,
+ Some(cors_attribute_state),
+ Some(true),
+ )
+ .origin(global.origin().immutable().clone())
+ .pipeline_id(Some(global.pipeline_id()));
// Step 10
// TODO(eijebong): Replace once typed headers allow it