diff --git a/crates/browser/src/css_loader.rs b/crates/browser/src/css_loader.rs index 177aed4..4c8ebaa 100644 --- a/crates/browser/src/css_loader.rs +++ b/crates/browser/src/css_loader.rs @@ -6,6 +6,7 @@ use we_css::parser::{ImportRule, Parser, Rule, Stylesheet}; use we_dom::{Document, NodeData, NodeId}; +use we_net::referrer::ReferrerPolicy; use we_url::{Origin, Url}; use crate::loader::{LoadError, Resource, ResourceLoader, ResourceRequestType}; @@ -73,11 +74,22 @@ pub fn collect_stylesheets_with_origin( let resolved = resolve_imports(sheet, loader, base_url, document_origin, 0); all_rules.extend(resolved.rules); } - StyleSource::ExternalLink { href, media } => { + StyleSource::ExternalLink { + href, + media, + referrer_policy, + } => { if !media_matches(&media) { continue; } - match fetch_stylesheet(loader, &href, base_url, document_origin, 0) { + match fetch_stylesheet_with_policy( + loader, + &href, + base_url, + document_origin, + 0, + referrer_policy, + ) { Ok(sheet) => all_rules.extend(sheet.rules), Err(_) => { // Graceful degradation: skip failed stylesheet loads. @@ -109,7 +121,11 @@ enum StyleSource { /// A `