layout: Take relative position offsets for inlines and inline-blocks

into account only once.

There were two bugs here: (1) relative position applied to
scanned/unscanned text fragments independently of the container element
that applied that relative position, causing double-counting; (2)
relative position applied to inline block fragments independently of the
wrapped block itself, causing double-counting.

This commit also removes the `cascade_anonymous` function and the
related `Fragment` constructor. They were unused, and their
functionality has been replaced by the `modify_style_for_*` series of
functions.

Closes #7067.
This commit is contained in:
Patrick Walton 2015-08-10 18:05:29 -07:00
parent 3ad49fc689
commit 8640cf5588
11 changed files with 102 additions and 88 deletions

View file

@ -0,0 +1,17 @@
<!DOCTYPE html>
<style>
body, html {
margin: 0;
padding: 0;
}
div {
display: block;
position: absolute;
top: 20px;
width: 20px;
height: 20px;
background: red;
}
</style>
<div></div>