legacy-layout: Fix display list building after WebRender upgrade (#33073)

The most recent version of WebRender tracks stacking context offsets in
a different way, which broke legacy layout. It's easier just to track
the stacking context offset in Servo and apply them to the items
manually like we do in non-legacy layout.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Martin Robinson 2024-08-16 12:02:43 +02:00 committed by GitHub
parent 6816d11f88
commit ce5ebbcf77
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 94 additions and 27 deletions

View file

@ -930,8 +930,13 @@ impl LayoutThread {
self.epoch.set(epoch);
// TODO: Avoid the temporary conversion and build webrender sc/dl directly!
let (mut builder, compositor_info, is_contentful) =
display_list.convert_to_webrender(self.id, viewport_size, epoch.into());
let (mut builder, compositor_info, is_contentful) = display_list
.convert_to_webrender(
self.id,
viewport_size,
epoch.into(),
self.debug.dump_display_list,
);
// Observe notifications about rendered frames if needed right before
// sending the display list to WebRender in order to set time related