aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/query.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/layout/query.rs')
-rw-r--r--components/layout/query.rs41
1 files changed, 19 insertions, 22 deletions
diff --git a/components/layout/query.rs b/components/layout/query.rs
index cda001c485c..cd3e75bf28c 100644
--- a/components/layout/query.rs
+++ b/components/layout/query.rs
@@ -688,9 +688,9 @@ pub fn process_client_rect_query(
iterator.client_rect
}
-pub fn process_node_scroll_id_request<N: LayoutNode>(
+pub fn process_node_scroll_id_request<'dom>(
id: PipelineId,
- requested_node: N,
+ requested_node: impl LayoutNode<'dom>,
) -> ExternalScrollId {
let layout_node = requested_node.to_threadsafe();
layout_node.generate_scroll_id(id)
@@ -747,16 +747,13 @@ pub fn process_node_scroll_area_request(
/// Return the resolved value of property for a given (pseudo)element.
/// <https://drafts.csswg.org/cssom/#resolved-value>
-pub fn process_resolved_style_request<'a, N>(
+pub fn process_resolved_style_request<'dom>(
context: &LayoutContext,
- node: N,
+ node: impl LayoutNode<'dom>,
pseudo: &Option<PseudoElement>,
property: &PropertyId,
layout_root: &mut dyn Flow,
-) -> String
-where
- N: LayoutNode,
-{
+) -> String {
use style::stylist::RuleInclusion;
use style::traversal::resolve_style;
@@ -797,15 +794,12 @@ where
}
/// The primary resolution logic, which assumes that the element is styled.
-fn process_resolved_style_request_internal<'a, N>(
- requested_node: N,
+fn process_resolved_style_request_internal<'dom>(
+ requested_node: impl LayoutNode<'dom>,
pseudo: &Option<PseudoElement>,
property: &PropertyId,
layout_root: &mut dyn Flow,
-) -> String
-where
- N: LayoutNode,
-{
+) -> String {
let layout_el = requested_node.to_threadsafe().as_element().unwrap();
let layout_el = match *pseudo {
Some(PseudoElement::Before) => layout_el.get_before_pseudo(),
@@ -851,12 +845,15 @@ where
// There are probably other quirks.
let applies = true;
- fn used_value_for_position_property<N: LayoutNode>(
- layout_el: <N::ConcreteThreadSafeLayoutNode as ThreadSafeLayoutNode>::ConcreteThreadSafeLayoutElement,
+ fn used_value_for_position_property<'dom, N>(
+ layout_el: <N::ConcreteThreadSafeLayoutNode as ThreadSafeLayoutNode<'dom>>::ConcreteThreadSafeLayoutElement,
layout_root: &mut dyn Flow,
requested_node: N,
longhand_id: LonghandId,
- ) -> String {
+ ) -> String
+ where
+ N: LayoutNode<'dom>,
+ {
let maybe_data = layout_el.borrow_layout_data();
let position = maybe_data.map_or(Point2D::zero(), |data| {
match (*data).flow_construction_result {
@@ -969,7 +966,7 @@ pub fn process_offset_parent_query(
}
}
-pub fn process_style_query<N: LayoutNode>(requested_node: N) -> StyleResponse {
+pub fn process_style_query<'dom>(requested_node: impl LayoutNode<'dom>) -> StyleResponse {
let element = requested_node.as_element().unwrap();
let data = element.borrow_data();
@@ -982,8 +979,8 @@ enum InnerTextItem {
}
// https://html.spec.whatwg.org/multipage/#the-innertext-idl-attribute
-pub fn process_element_inner_text_query<N: LayoutNode>(
- node: N,
+pub fn process_element_inner_text_query<'dom>(
+ node: impl LayoutNode<'dom>,
indexable_text: &IndexableText,
) -> String {
// Step 1.
@@ -1027,8 +1024,8 @@ pub fn process_element_inner_text_query<N: LayoutNode>(
// https://html.spec.whatwg.org/multipage/#inner-text-collection-steps
#[allow(unsafe_code)]
-fn inner_text_collection_steps<N: LayoutNode>(
- node: N,
+fn inner_text_collection_steps<'dom>(
+ node: impl LayoutNode<'dom>,
indexable_text: &IndexableText,
results: &mut Vec<InnerTextItem>,
) {