> {
diff --git a/components/script/stylesheet_loader.rs b/components/script/stylesheet_loader.rs
index ec13395a531..a859e798818 100644
--- a/components/script/stylesheet_loader.rs
+++ b/components/script/stylesheet_loader.rs
@@ -22,7 +22,6 @@ use ipc_channel::router::ROUTER;
use net_traits::{FetchResponseListener, FetchMetadata, FilteredMetadata, Metadata, NetworkError, ReferrerPolicy};
use net_traits::request::{CorsSettings, CredentialsMode, Destination, RequestInit, RequestMode, Type as RequestType};
use network_listener::{NetworkListener, PreInvoke};
-use script_layout_interface::message::Msg;
use servo_url::ServoUrl;
use std::mem;
use std::sync::{Arc, Mutex};
@@ -151,9 +150,7 @@ impl FetchResponseListener for StylesheetContext {
sheet.set_disabled(true);
}
- link.set_stylesheet(sheet.clone());
-
- win.layout_chan().send(Msg::AddStylesheet(sheet)).unwrap();
+ link.set_stylesheet(sheet);
}
}
StylesheetContextSource::Import(ref stylesheet) => {
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index bdf9832d314..36e78ab453c 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -8229,6 +8229,18 @@
{}
]
],
+ "html/semantics/document-metadata/the-link-element/stylesheet-change-href.html": [
+ [
+ "/html/semantics/document-metadata/the-link-element/stylesheet-change-href.html",
+ [
+ [
+ "/html/semantics/document-metadata/the-link-element/stylesheet-change-href-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"html/semantics/document-metadata/the-link-element/stylesheet-empty-href.html": [
[
"/html/semantics/document-metadata/the-link-element/stylesheet-empty-href.html",
@@ -51859,11 +51871,21 @@
{}
]
],
+ "html/semantics/document-metadata/the-link-element/resources/bad.css": [
+ [
+ {}
+ ]
+ ],
"html/semantics/document-metadata/the-link-element/resources/empty-href.css": [
[
{}
]
],
+ "html/semantics/document-metadata/the-link-element/resources/good.css": [
+ [
+ {}
+ ]
+ ],
"html/semantics/document-metadata/the-link-element/resources/stylesheet.css": [
[
{}
@@ -51874,6 +51896,11 @@
{}
]
],
+ "html/semantics/document-metadata/the-link-element/stylesheet-change-href-ref.html": [
+ [
+ {}
+ ]
+ ],
"html/semantics/document-metadata/the-link-element/stylesheet-empty-href-ref.html": [
[
{}
@@ -174506,10 +174533,18 @@
"285208d6cf3113ec16bedd107c0740b8c7c8a9d8",
"testharness"
],
+ "html/semantics/document-metadata/the-link-element/resources/bad.css": [
+ "b968e6422a283acc772561f8950171b3a5e00397",
+ "support"
+ ],
"html/semantics/document-metadata/the-link-element/resources/empty-href.css": [
"1dcc57d4f3363562322937979cb7828b0c298daa",
"support"
],
+ "html/semantics/document-metadata/the-link-element/resources/good.css": [
+ "04a3a89fe805fc930dc3adfa3a4134b950779697",
+ "support"
+ ],
"html/semantics/document-metadata/the-link-element/resources/stylesheet.css": [
"2829167c82bafef6cfea06071007a231aa4277f6",
"support"
@@ -174518,6 +174553,14 @@
"e4a66764ea94d51b42d485d75a3305ea2ab79226",
"support"
],
+ "html/semantics/document-metadata/the-link-element/stylesheet-change-href-ref.html": [
+ "cca943d35bd18e99249d50c6d40cc6fe2e328354",
+ "support"
+ ],
+ "html/semantics/document-metadata/the-link-element/stylesheet-change-href.html": [
+ "6083446e9ef1b70f044a353ef96b459956afb1ef",
+ "reftest"
+ ],
"html/semantics/document-metadata/the-link-element/stylesheet-empty-href-ref.html": [
"1ac8e070630e58df8489b779bdd75cb2b38c25ef",
"support"
diff --git a/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/bad.css b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/bad.css
new file mode 100644
index 00000000000..4e1fe36165c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/bad.css
@@ -0,0 +1,4 @@
+p {
+ background-color: red;
+ color: black;
+}
\ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/good.css b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/good.css
new file mode 100644
index 00000000000..1da5e2b8cfb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/resources/good.css
@@ -0,0 +1,3 @@
+p {
+ color: green;
+}
\ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href-ref.html b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href-ref.html
new file mode 100644
index 00000000000..9ae6e36655d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href-ref.html
@@ -0,0 +1,8 @@
+
+
+
+This text should be green on a white background
diff --git a/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href.html b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href.html
new file mode 100644
index 00000000000..6a3f18de986
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href.html
@@ -0,0 +1,13 @@
+
+
+
Obtaining a new stylesheet removes styles from the previous stylesheet.
+
+
+
+This text should be green on a white background