aboutsummaryrefslogtreecommitdiffstats
path: root/components/compositing
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2020-01-15 11:09:37 -0500
committerJosh Matthews <josh@joshmatthews.net>2020-01-15 11:09:37 -0500
commitc385953c97d5f1eb0190487c314274c02904b7f7 (patch)
tree5f651d733950a07d2ff44a1a5f99f56bc6baabc0 /components/compositing
parent9a518cf7979b79b34611135d09c1dd0a96945255 (diff)
downloadservo-jdm-revert4.tar.gz
servo-jdm-revert4.zip
Revert "Auto merge of #24677 - jdm:iframe-sizing-cleanup, r=asajeffrey"jdm-revert4
This reverts commit 9a518cf7979b79b34611135d09c1dd0a96945255, reversing changes made to a33d493a4ff6f8a629a9b82202c49c41ecbefa49.
Diffstat (limited to 'components/compositing')
-rw-r--r--components/compositing/compositor.rs21
1 files changed, 18 insertions, 3 deletions
diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs
index 3df7e1a8a0c..94f578d48f1 100644
--- a/components/compositing/compositor.rs
+++ b/components/compositing/compositor.rs
@@ -209,6 +209,9 @@ pub struct IOCompositor<Window: WindowMethods + ?Sized> {
/// True to translate mouse input into touch events.
convert_mouse_to_touch: bool,
+
+ /// Ratio of device pixels per px at the default scale.
+ device_pixels_per_px: Option<f32>,
}
#[derive(Clone, Copy)]
@@ -281,6 +284,7 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
is_running_problem_test: bool,
exit_after_load: bool,
convert_mouse_to_touch: bool,
+ device_pixels_per_px: Option<f32>,
) -> Self {
let composite_target = match output_file {
Some(_) => CompositeTarget::PngFile,
@@ -323,6 +327,7 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
is_running_problem_test,
exit_after_load,
convert_mouse_to_touch,
+ device_pixels_per_px,
}
}
@@ -333,6 +338,7 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
is_running_problem_test: bool,
exit_after_load: bool,
convert_mouse_to_touch: bool,
+ device_pixels_per_px: Option<f32>,
) -> Self {
let mut compositor = IOCompositor::new(
window,
@@ -341,11 +347,15 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
is_running_problem_test,
exit_after_load,
convert_mouse_to_touch,
+ device_pixels_per_px,
);
// Set the size of the root layer.
compositor.update_zoom_transform();
+ // Tell the constellation about the initial window size.
+ compositor.send_window_size(WindowSizeType::Initial);
+
compositor
}
@@ -635,6 +645,8 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
self.create_pipeline_details_for_frame_tree(&frame_tree);
+ self.send_window_size(WindowSizeType::Initial);
+
self.frame_tree_id.next();
}
@@ -1069,10 +1081,13 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
}
fn hidpi_factor(&self) -> Scale<f32, DeviceIndependentPixel, DevicePixel> {
- if self.output_file.is_some() {
- return Scale::new(1.0);
+ match self.device_pixels_per_px {
+ Some(device_pixels_per_px) => Scale::new(device_pixels_per_px),
+ None => match self.output_file {
+ Some(_) => Scale::new(1.0),
+ None => self.embedder_coordinates.hidpi_factor,
+ },
}
- self.embedder_coordinates.hidpi_factor
}
fn device_pixels_per_page_px(&self) -> Scale<f32, CSSPixel, DevicePixel> {