chore: Clean up use of gfx and constellation types (#31981)

This change contains three semi-related clean ups:

1. the `to_webrender()` and `from_webrender()` functions on Pipeline are
   turned into more-idiomatic `From` and `Into` implementations.
2. `combine_id_with_fragment_type` now returns a `u64` as that is what is
   expected for all callers and not a `usize`.
3. The `query_scroll_id` query is removed entirely. The
   `ExternalScrollId` that this queries is easily generated directly
   from the node's opaque id. Querying into layout isn't necessary at
   all.
This commit is contained in:
Martin Robinson 2024-04-09 08:43:48 +02:00 committed by GitHub
parent b79e2a0b65
commit dd9f62adcc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 62 additions and 119 deletions

View file

@ -9,7 +9,6 @@ use std::ops::Deref;
use app_units::Au;
use euclid::default::{Box2D, Point2D, Rect, Size2D, Vector2D};
use msg::constellation_msg::PipelineId;
use script_layout_interface::wrapper_traits::{
LayoutNode, ThreadSafeLayoutElement, ThreadSafeLayoutNode,
};
@ -31,7 +30,6 @@ use style::selector_parser::PseudoElement;
use style::shared_lock::SharedRwLock;
use style::stylesheets::{CssRuleType, Origin, UrlExtraData};
use style_traits::{ParsingMode, ToCss};
use webrender_api::ExternalScrollId;
use crate::construct::ConstructionResult;
use crate::display_list::items::OpaqueNode;
@ -571,14 +569,6 @@ pub fn process_client_rect_query(
iterator.client_rect
}
pub fn process_node_scroll_id_request<'dom>(
id: PipelineId,
requested_node: impl LayoutNode<'dom>,
) -> ExternalScrollId {
let layout_node = requested_node.to_threadsafe();
layout_node.generate_scroll_id(id)
}
/// <https://drafts.csswg.org/cssom-view/#scrolling-area>
pub fn process_scrolling_area_request(
requested_node: Option<OpaqueNode>,