mirror of
https://github.com/servo/servo.git
synced 2025-09-27 15:20:09 +01:00
script: Rename StylesheetLoader
to ElementStylesheetLoader
(#39537)
`StylesheetLoader` implements the `StylesheetLoader` trait from Stylo. This is pretty confusing as the names are the same. This change renames the Servo version to `ElementStyleSheet` loader so that it's clearer from reading the code what each of these things are. Testing: This change just makes a few renames so shouldn't change test results. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
parent
3f68bdacfe
commit
5f5f2abc0f
4 changed files with 27 additions and 26 deletions
|
@ -29,7 +29,7 @@ use crate::dom::cssstylesheet::CSSStyleSheet;
|
||||||
use crate::dom::html::htmlelement::HTMLElement;
|
use crate::dom::html::htmlelement::HTMLElement;
|
||||||
use crate::dom::window::Window;
|
use crate::dom::window::Window;
|
||||||
use crate::script_runtime::CanGc;
|
use crate::script_runtime::CanGc;
|
||||||
use crate::stylesheet_loader::StylesheetLoader;
|
use crate::stylesheet_loader::ElementStylesheetLoader;
|
||||||
|
|
||||||
unsafe_no_jsmanaged_fields!(RulesSource);
|
unsafe_no_jsmanaged_fields!(RulesSource);
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ impl CSSRuleList {
|
||||||
.and_then(DomRoot::downcast::<HTMLElement>);
|
.and_then(DomRoot::downcast::<HTMLElement>);
|
||||||
let loader = owner
|
let loader = owner
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.map(|element| StylesheetLoader::for_element(element));
|
.map(|element| ElementStylesheetLoader::new(element));
|
||||||
let allow_import_rules = if self.parent_stylesheet.is_constructed() {
|
let allow_import_rules = if self.parent_stylesheet.is_constructed() {
|
||||||
AllowImportRules::No
|
AllowImportRules::No
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -60,7 +60,7 @@ use crate::dom::virtualmethods::VirtualMethods;
|
||||||
use crate::links::LinkRelations;
|
use crate::links::LinkRelations;
|
||||||
use crate::network_listener::{PreInvoke, ResourceTimingListener, submit_timing};
|
use crate::network_listener::{PreInvoke, ResourceTimingListener, submit_timing};
|
||||||
use crate::script_runtime::CanGc;
|
use crate::script_runtime::CanGc;
|
||||||
use crate::stylesheet_loader::{StylesheetContextSource, StylesheetLoader, StylesheetOwner};
|
use crate::stylesheet_loader::{ElementStylesheetLoader, StylesheetContextSource, StylesheetOwner};
|
||||||
|
|
||||||
#[derive(Clone, Copy, JSTraceable, MallocSizeOf, PartialEq)]
|
#[derive(Clone, Copy, JSTraceable, MallocSizeOf, PartialEq)]
|
||||||
pub(crate) struct RequestGenerationId(u32);
|
pub(crate) struct RequestGenerationId(u32);
|
||||||
|
@ -589,7 +589,7 @@ impl HTMLLinkElement {
|
||||||
self.request_generation_id
|
self.request_generation_id
|
||||||
.set(self.request_generation_id.get().increment());
|
.set(self.request_generation_id.get().increment());
|
||||||
|
|
||||||
let loader = StylesheetLoader::for_element(self.upcast());
|
let loader = ElementStylesheetLoader::new(self.upcast());
|
||||||
loader.load(
|
loader.load(
|
||||||
StylesheetContextSource::LinkElement { media: Some(media) },
|
StylesheetContextSource::LinkElement { media: Some(media) },
|
||||||
link_url,
|
link_url,
|
||||||
|
|
|
@ -34,7 +34,7 @@ use crate::dom::stylesheet::StyleSheet as DOMStyleSheet;
|
||||||
use crate::dom::stylesheetcontentscache::{StylesheetContentsCache, StylesheetContentsCacheKey};
|
use crate::dom::stylesheetcontentscache::{StylesheetContentsCache, StylesheetContentsCacheKey};
|
||||||
use crate::dom::virtualmethods::VirtualMethods;
|
use crate::dom::virtualmethods::VirtualMethods;
|
||||||
use crate::script_runtime::CanGc;
|
use crate::script_runtime::CanGc;
|
||||||
use crate::stylesheet_loader::{StylesheetLoader, StylesheetOwner};
|
use crate::stylesheet_loader::{ElementStylesheetLoader, StylesheetOwner};
|
||||||
|
|
||||||
#[dom_struct]
|
#[dom_struct]
|
||||||
pub(crate) struct HTMLStyleElement {
|
pub(crate) struct HTMLStyleElement {
|
||||||
|
@ -133,7 +133,7 @@ impl HTMLStyleElement {
|
||||||
.expect("Element.textContent must be a string");
|
.expect("Element.textContent must be a string");
|
||||||
let shared_lock = node.owner_doc().style_shared_lock().clone();
|
let shared_lock = node.owner_doc().style_shared_lock().clone();
|
||||||
let mq = Arc::new(shared_lock.wrap(self.create_media_list(self.Media().str())));
|
let mq = Arc::new(shared_lock.wrap(self.create_media_list(self.Media().str())));
|
||||||
let loader = StylesheetLoader::for_element(self.upcast());
|
let loader = ElementStylesheetLoader::new(self.upcast());
|
||||||
|
|
||||||
let stylesheetcontents_create_callback = || {
|
let stylesheetcontents_create_callback = || {
|
||||||
#[cfg(feature = "tracing")]
|
#[cfg(feature = "tracing")]
|
||||||
|
|
|
@ -154,7 +154,7 @@ impl FetchResponseListener for StylesheetContext {
|
||||||
_: RequestId,
|
_: RequestId,
|
||||||
status: Result<ResourceFetchTiming, NetworkError>,
|
status: Result<ResourceFetchTiming, NetworkError>,
|
||||||
) {
|
) {
|
||||||
let elem = self.elem.root();
|
let element = self.elem.root();
|
||||||
let document = self.document.root();
|
let document = self.document.root();
|
||||||
let mut successful = false;
|
let mut successful = false;
|
||||||
|
|
||||||
|
@ -201,12 +201,12 @@ impl FetchResponseListener for StylesheetContext {
|
||||||
let protocol_encoding_label = metadata.charset.as_deref();
|
let protocol_encoding_label = metadata.charset.as_deref();
|
||||||
let final_url = metadata.final_url;
|
let final_url = metadata.final_url;
|
||||||
|
|
||||||
let win = elem.owner_window();
|
let win = element.owner_window();
|
||||||
|
|
||||||
let loader = StylesheetLoader::for_element(&elem);
|
let loader = ElementStylesheetLoader::new(&element);
|
||||||
match self.source {
|
match self.source {
|
||||||
StylesheetContextSource::LinkElement { ref mut media } => {
|
StylesheetContextSource::LinkElement { ref mut media } => {
|
||||||
let link = elem.downcast::<HTMLLinkElement>().unwrap();
|
let link = element.downcast::<HTMLLinkElement>().unwrap();
|
||||||
// We must first check whether the generations of the context and the element match up,
|
// We must first check whether the generations of the context and the element match up,
|
||||||
// else we risk applying the wrong stylesheet when responses come out-of-order.
|
// else we risk applying the wrong stylesheet when responses come out-of-order.
|
||||||
let is_stylesheet_load_applicable = self
|
let is_stylesheet_load_applicable = self
|
||||||
|
@ -268,7 +268,7 @@ impl FetchResponseListener for StylesheetContext {
|
||||||
successful = metadata.status == http::StatusCode::OK;
|
successful = metadata.status == http::StatusCode::OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
let owner = elem
|
let owner = element
|
||||||
.upcast::<Element>()
|
.upcast::<Element>()
|
||||||
.as_stylesheet_owner()
|
.as_stylesheet_owner()
|
||||||
.expect("Stylesheet not loaded by <style> or <link> element!");
|
.expect("Stylesheet not loaded by <style> or <link> element!");
|
||||||
|
@ -285,7 +285,8 @@ impl FetchResponseListener for StylesheetContext {
|
||||||
} else {
|
} else {
|
||||||
atom!("load")
|
atom!("load")
|
||||||
};
|
};
|
||||||
elem.upcast::<EventTarget>()
|
element
|
||||||
|
.upcast::<EventTarget>()
|
||||||
.fire_event(event, CanGc::note());
|
.fire_event(event, CanGc::note());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -325,17 +326,17 @@ impl ResourceTimingListener for StylesheetContext {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) struct StylesheetLoader<'a> {
|
pub(crate) struct ElementStylesheetLoader<'a> {
|
||||||
elem: &'a HTMLElement,
|
element: &'a HTMLElement,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> StylesheetLoader<'a> {
|
impl<'a> ElementStylesheetLoader<'a> {
|
||||||
pub(crate) fn for_element(element: &'a HTMLElement) -> Self {
|
pub(crate) fn new(element: &'a HTMLElement) -> Self {
|
||||||
StylesheetLoader { elem: element }
|
ElementStylesheetLoader { element }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl StylesheetLoader<'_> {
|
impl ElementStylesheetLoader<'_> {
|
||||||
pub(crate) fn load(
|
pub(crate) fn load(
|
||||||
&self,
|
&self,
|
||||||
source: StylesheetContextSource,
|
source: StylesheetContextSource,
|
||||||
|
@ -343,17 +344,17 @@ impl StylesheetLoader<'_> {
|
||||||
cors_setting: Option<CorsSettings>,
|
cors_setting: Option<CorsSettings>,
|
||||||
integrity_metadata: String,
|
integrity_metadata: String,
|
||||||
) {
|
) {
|
||||||
let document = self.elem.owner_document();
|
let document = self.element.owner_document();
|
||||||
let shadow_root = self
|
let shadow_root = self
|
||||||
.elem
|
.element
|
||||||
.containing_shadow_root()
|
.containing_shadow_root()
|
||||||
.map(|sr| Trusted::new(&*sr));
|
.map(|sr| Trusted::new(&*sr));
|
||||||
let generation = self
|
let generation = self
|
||||||
.elem
|
.element
|
||||||
.downcast::<HTMLLinkElement>()
|
.downcast::<HTMLLinkElement>()
|
||||||
.map(HTMLLinkElement::get_request_generation_id);
|
.map(HTMLLinkElement::get_request_generation_id);
|
||||||
let context = StylesheetContext {
|
let context = StylesheetContext {
|
||||||
elem: Trusted::new(self.elem),
|
elem: Trusted::new(self.element),
|
||||||
source,
|
source,
|
||||||
url: url.clone(),
|
url: url.clone(),
|
||||||
metadata: None,
|
metadata: None,
|
||||||
|
@ -366,7 +367,7 @@ impl StylesheetLoader<'_> {
|
||||||
};
|
};
|
||||||
|
|
||||||
let owner = self
|
let owner = self
|
||||||
.elem
|
.element
|
||||||
.upcast::<Element>()
|
.upcast::<Element>()
|
||||||
.as_stylesheet_owner()
|
.as_stylesheet_owner()
|
||||||
.expect("Stylesheet not loaded by <style> or <link> element!");
|
.expect("Stylesheet not loaded by <style> or <link> element!");
|
||||||
|
@ -377,7 +378,7 @@ impl StylesheetLoader<'_> {
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/#default-fetch-and-process-the-linked-resource
|
// https://html.spec.whatwg.org/multipage/#default-fetch-and-process-the-linked-resource
|
||||||
let global = self.elem.global();
|
let global = self.element.global();
|
||||||
let request = create_a_potential_cors_request(
|
let request = create_a_potential_cors_request(
|
||||||
Some(document.webview_id()),
|
Some(document.webview_id()),
|
||||||
url.clone(),
|
url.clone(),
|
||||||
|
@ -390,7 +391,7 @@ impl StylesheetLoader<'_> {
|
||||||
global.policy_container(),
|
global.policy_container(),
|
||||||
)
|
)
|
||||||
.origin(document.origin().immutable().clone())
|
.origin(document.origin().immutable().clone())
|
||||||
.pipeline_id(Some(self.elem.global().pipeline_id()))
|
.pipeline_id(Some(self.element.global().pipeline_id()))
|
||||||
.referrer_policy(referrer_policy)
|
.referrer_policy(referrer_policy)
|
||||||
.integrity_metadata(integrity_metadata);
|
.integrity_metadata(integrity_metadata);
|
||||||
|
|
||||||
|
@ -398,7 +399,7 @@ impl StylesheetLoader<'_> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl StyleStylesheetLoader for StylesheetLoader<'_> {
|
impl StyleStylesheetLoader for ElementStylesheetLoader<'_> {
|
||||||
/// Request a stylesheet after parsing a given `@import` rule, and return
|
/// Request a stylesheet after parsing a given `@import` rule, and return
|
||||||
/// the constructed `@import` rule.
|
/// the constructed `@import` rule.
|
||||||
fn request_stylesheet(
|
fn request_stylesheet(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue