aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/element.rs
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2025-04-04 19:06:34 +0200
committerGitHub <noreply@github.com>2025-04-04 17:06:34 +0000
commitfb344ba4e9ace1a2ebe09f0fb7c56be1e8ee4720 (patch)
treef7b85aa0dd1276bd72c4a211a3443b2ee07f76e2 /components/script/dom/element.rs
parent7c89e24f344fcef5ab858ff752cdd22624b8d66b (diff)
downloadservo-fb344ba4e9ace1a2ebe09f0fb7c56be1e8ee4720.tar.gz
servo-fb344ba4e9ace1a2ebe09f0fb7c56be1e8ee4720.zip
constellation: Stop assuming that the viewport is shared by all WebViews (#36312)
The `Constellation` previously held a `window_size` member, but this assumes that all `WebView`s have the same size. This change removes that assumption as well as making sure that all `WebView`s pass their size and HiDIP scaling to the `Constellation` when they are created. In addition - `WindowSizeData` is renamed to `ViewportDetails`, as it was holding more than just the size and it didn't necessarily correspond to a "window." It's used for tracking viewport data, whether for an `<iframe>` or the main `WebView` viewport. - `ViewportDetails` is stored more consistently so that conceptually an `<iframe>` can also have its own HiDPI scaling. This isn't something we necessarily want, but it makes everything conceptually simpler. The goal with this change is to work toward allowing per-`WebView` HiDPI scaling and sizing. There are still some corresponding changes in the compositor to make that happen, but they will in a subsequent change. Testing: This is covered by existing tests. There should be no behavior changes. Fixes: This is part of #36232. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components/script/dom/element.rs')
-rw-r--r--components/script/dom/element.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index db0b4c63c5f..8193c99c896 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -4344,7 +4344,7 @@ impl Element {
if (in_quirks_mode && doc.GetBody().as_deref() == self.downcast::<HTMLElement>()) ||
(!in_quirks_mode && *self.root_element() == *self)
{
- let viewport_dimensions = doc.window().window_size().initial_viewport.round().to_i32();
+ let viewport_dimensions = doc.window().viewport_details().size.round().to_i32();
rect.size = Size2D::<i32>::new(viewport_dimensions.width, viewport_dimensions.height);
}