diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-04-13 11:29:58 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-13 11:29:58 -0500 |
commit | ebc61bb2c3ac682ca366019b21160819ec3c7882 (patch) | |
tree | bab11afecb3b5d7a6317eb17f5fcfe8c008f5118 /components/script/dom | |
parent | ea20bd6f6362191875bba7bce376c9d805588cbe (diff) | |
parent | 3c3311b16a0a1f0c84d02ff10283fb0800529184 (diff) | |
download | servo-ebc61bb2c3ac682ca366019b21160819ec3c7882.tar.gz servo-ebc61bb2c3ac682ca366019b21160819ec3c7882.zip |
Auto merge of #16407 - jdm:style_panic, r=emilio
Allow loading multiple stylesheets for the same link element.
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #16399
- [x] There are tests for these changes
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16407)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/htmllinkelement.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs index d22a24d2e17..28f72832e9a 100644 --- a/components/script/dom/htmllinkelement.rs +++ b/components/script/dom/htmllinkelement.rs @@ -24,6 +24,7 @@ use dom::virtualmethods::VirtualMethods; use dom_struct::dom_struct; use html5ever_atoms::LocalName; use net_traits::ReferrerPolicy; +use script_layout_interface::message::Msg; use script_traits::{MozBrowserEvent, ScriptMsg as ConstellationMsg}; use std::ascii::AsciiExt; use std::borrow::ToOwned; @@ -97,8 +98,9 @@ impl HTMLLinkElement { } pub fn set_stylesheet(&self, s: Arc<Stylesheet>) { - assert!(self.stylesheet.borrow().is_none()); // Useful for catching timing issues. - *self.stylesheet.borrow_mut() = Some(s); + *self.stylesheet.borrow_mut() = Some(s.clone()); + window_from_node(self).layout_chan().send(Msg::AddStylesheet(s)).unwrap(); + document_from_node(self).invalidate_stylesheets(); } pub fn get_stylesheet(&self) -> Option<Arc<Stylesheet>> { |