mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
auto merge of #3617 : mrobinson/servo/layer-positioning, r=pcwalton
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:
commit
eff0de0ce1
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 layer_rect = self.base.position.union(&self.base.overflow);
|
||||||
let size = Size2D(layer_rect.size.inline.to_nearest_px() as uint,
|
let size = Size2D(layer_rect.size.inline.to_nearest_px() as uint,
|
||||||
layer_rect.size.block.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,
|
let origin = Point2D(self.base.abs_position.x.to_nearest_px() as uint,
|
||||||
layer_rect.start.b.to_nearest_px() as uint);
|
self.base.abs_position.y.to_nearest_px() as uint);
|
||||||
|
|
||||||
let scroll_policy = if self.is_fixed() {
|
let scroll_policy = if self.is_fixed() {
|
||||||
FixedPosition
|
FixedPosition
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -61,6 +61,7 @@
|
||||||
== position_fixed_background_color_a.html position_fixed_background_color_b.html
|
== position_fixed_background_color_a.html position_fixed_background_color_b.html
|
||||||
== position_fixed_overflow_a.html position_fixed_overflow_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.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_a.html position_relative_b.html
|
||||||
== position_relative_top_percentage_a.html position_relative_top_percentage_b.html
|
== position_relative_top_percentage_a.html position_relative_top_percentage_b.html
|
||||||
== background_none_a.html background_none_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