aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/eventsource.rs20
1 files changed, 8 insertions, 12 deletions
diff --git a/components/script/dom/eventsource.rs b/components/script/dom/eventsource.rs
index 5daaf3a5f7b..40b9465a5de 100644
--- a/components/script/dom/eventsource.rs
+++ b/components/script/dom/eventsource.rs
@@ -344,19 +344,15 @@ impl FetchResponseListener for EventSourceContext {
FetchMetadata::Unfiltered(m) => m,
FetchMetadata::Filtered { unsafe_, .. } => unsafe_,
};
- match meta.content_type {
- None => self.fail_the_connection(),
- Some(ct) => {
- if <ContentType as Into<Mime>>::into(ct.into_inner()) ==
- mime::TEXT_EVENT_STREAM
- {
- self.origin = meta.final_url.origin().ascii_serialization();
- self.announce_the_connection();
- } else {
- self.fail_the_connection()
- }
- },
+ let mime = match meta.content_type {
+ None => return self.fail_the_connection(),
+ Some(ct) => <ContentType as Into<Mime>>::into(ct.into_inner()),
+ };
+ if (mime.type_(), mime.subtype()) != (mime::TEXT, mime::EVENT_STREAM) {
+ return self.fail_the_connection();
}
+ self.origin = meta.final_url.origin().ascii_serialization();
+ self.announce_the_connection();
},
Err(_) => {
self.reestablish_the_connection();