servo/components
bors-servo bdcf606f48 Auto merge of #5691 - pcwalton:hypothetical-box-reform, r=glennw
Before this change, Servo used one code path that computed the position
of flows with `position: static` or `position: relative` and another
separate code path that computed the position of flows with `position:
absolute` or `position: fixed`. The latter code attempted to duplicate
the former code to determine the static position of hypothetical boxes,
but this was both fragile and incorrect in the case of hypothetical
boxes nested inside floats. In fact, it's impossible to determine the
static position of an absolute flow relative to its containing block at
inline-size assignment time, because that static position could depend
on a float that cannot be placed until block-size assignment!

This patch changes block layout to use the same code path for static
positioning of regular flows and static positioning of absolute flows
where applicable. This both simplifies the code and improves its
efficiency, since it allows the `hypothetical_position` field and
`static_block_offsets` data structure to be removed. Moreover, it
improves correctness in the above case (which the new reftest checks).
This allows the sidebar in Facebook Timeline to be positioned properly.

r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5691)
<!-- Reviewable:end -->
2015-04-14 18:14:11 -05:00
..
canvas Canvas: added lineCap and lineJoin support. 2015-04-14 18:26:41 +02:00
compositing Auto merge of #5634 - pcwalton:fix-scrolling-perf, r=metajack 2015-04-11 11:02:32 -05:00
devtools Mention #5681 in a TODO comment. 2015-04-14 12:13:14 +02:00
devtools_traits Firefox timeline integration #4957 2015-04-13 21:08:07 +07:00
gfx Switch Arc<Box<Image>> to Arc<Image> for perf boost. 2015-04-10 18:59:02 -04:00
layout Auto merge of #5691 - pcwalton:hypothetical-box-reform, r=glennw 2015-04-14 18:14:11 -05:00
layout_traits Split out shared networking code into net_traits crate 2015-04-03 13:38:10 -04:00
msg layout: Implement CSS transitions per CSS-TRANSITIONS § 2. 2015-03-31 08:46:11 -07:00
net Reduce duplication 2015-04-14 22:03:22 +03:00
net_traits Make Metadata use ContentType 2015-04-14 22:03:21 +03:00
plugins Use quasiquotes for attributes in plugins crate. 2015-04-04 17:37:06 +02:00
profile Use usize rather than u64 in MemoryReport. 2015-03-31 15:37:15 +02:00
script Add/update comments with links to spec 2015-04-14 18:03:13 -04:00
script_traits Split out shared networking code into net_traits crate 2015-04-03 13:38:10 -04:00
servo Auto merge of #5635 - mmatyas:canvas_linecapjoin, r=jdm 2015-04-14 12:57:48 -05:00
style layout: Minor stylistic cleanup. 2015-04-14 13:00:11 -07:00
util Add/update comments with links to spec 2015-04-14 18:03:13 -04:00
webdriver_server Get the barest bones of webdriver integration ready for keeners. 2015-04-06 18:22:32 -04:00