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

@ -2270,7 +2270,7 @@ impl Fragment {
fn unique_id(&self) -> u64 {
let fragment_type = self.fragment_type();
let id = self.node.id();
combine_id_with_fragment_type(id, fragment_type) as u64
combine_id_with_fragment_type(id, fragment_type)
}
fn fragment_type(&self) -> FragmentType {
@ -2737,8 +2737,7 @@ impl BlockFlow {
let content_size = self.base.overflow.scroll.origin + self.base.overflow.scroll.size;
let content_size = Size2D::new(content_size.x, content_size.y);
let external_id =
ExternalScrollId(self.fragment.unique_id(), state.pipeline_id.to_webrender());
let external_id = ExternalScrollId(self.fragment.unique_id(), state.pipeline_id.into());
let new_clip_scroll_index = state.add_clip_scroll_node(ClipScrollNode {
parent_index: self.clipping_and_scrolling().scrolling,
clip,