mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Position layers using their absolute position
Layers are currently all children of the root layer, so instead of using coordinates relative to the parent flow we should use coordinates relative to the page. Fixes #2061.
This commit is contained in:
parent
8c858b4575
commit
659c45e7b0
3 changed files with 14 additions and 2 deletions
|
@ -1251,8 +1251,9 @@ impl BlockFlow {
|
|||
let layer_rect = self.base.position.union(&self.base.overflow);
|
||||
let size = Size2D(layer_rect.size.inline.to_nearest_px() as uint,
|
||||
layer_rect.size.block.to_nearest_px() as uint);
|
||||
let origin = Point2D(layer_rect.start.i.to_nearest_px() as uint,
|
||||
layer_rect.start.b.to_nearest_px() as uint);
|
||||
let origin = Point2D(self.base.abs_position.x.to_nearest_px() as uint,
|
||||
self.base.abs_position.y.to_nearest_px() as uint);
|
||||
|
||||
let scroll_policy = if self.is_fixed() {
|
||||
FixedPosition
|
||||
} else {
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
== position_fixed_background_color_a.html position_fixed_background_color_b.html
|
||||
== position_fixed_overflow_a.html position_fixed_overflow_b.html
|
||||
== position_fixed_tile_edge.html position_fixed_tile_edge_ref.html
|
||||
== position_fixed_tile_edge_2.html position_fixed_tile_edge_ref.html
|
||||
== position_relative_a.html position_relative_b.html
|
||||
== position_relative_top_percentage_a.html position_relative_top_percentage_b.html
|
||||
== background_none_a.html background_none_b.html
|
||||
|
|
10
tests/ref/position_fixed_tile_edge_2.html
Normal file
10
tests/ref/position_fixed_tile_edge_2.html
Normal file
|
@ -0,0 +1,10 @@
|
|||
<html>
|
||||
<body>
|
||||
<div style="position: absolute; top: 0px; left: 512px;">
|
||||
<div style="position: absolute; background: green; width: 20px; height: 20px;"></div>
|
||||
|
||||
<!-- This position:fixed sibling should force its sibling to be layerized. -->
|
||||
<div style="position: fixed;"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue