Commit graph

259 commits

Author SHA1 Message Date
Patrick Walton
11fdb503df layout: Introduce infrastructure for tracking, backing up, and splitting
at the last known good split point, and use it for `white-space:
nowrap`.

Fixes overflowing tables on Wikipedia.

This infrastructure should form the basis of our fix for inline layout
of fragments that don't themselves constitute valid split points. That
will require some more work, however.
2015-08-08 00:01:31 -07:00
bors-servo
0a0fd30eb3 Auto merge of #7033 - frewsxcv:fix-english, r=jdm
Improve clarity of comment in ref test list



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7033)
<!-- Reviewable:end -->
2015-08-07 15:35:03 -06:00
bors-servo
17263a525b Auto merge of #7043 - pcwalton:th-width, r=Ms2ger
script: Make the legacy presentational attributes on `<td>` apply to `<th>` too.

Makes the Google SERPs not so narrow.

r? @Ms2ger

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7043)
<!-- Reviewable:end -->
2015-08-07 00:40:54 -06:00
bors-servo
78792cced2 Auto merge of #7017 - glennw:stb-update, r=pcwalton
Update stb-image to get JPEG progressive support.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7017)
<!-- Reviewable:end -->
2015-08-06 19:46:19 -06:00
bors-servo
da06c2dda0 Auto merge of #7011 - pcwalton:inline-margin-intrinsic-size, r=mbrubeck
layout: Take inline margins into account when determining the intrinsic sizes of fragments.

Avoids a needless wrapped line in the repository name on GitHub.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7011)
<!-- Reviewable:end -->
2015-08-06 18:28:13 -06:00
bors-servo
cf4b411832 Auto merge of #7008 - pcwalton:floated-negative-margins, r=mbrubeck
layout: Take negative margins of floats into account when placing them.

Removes extraneous inline space on GitHub pull requests.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7008)
<!-- Reviewable:end -->
2015-08-06 11:55:58 -06:00
Patrick Walton
df29b1e878 script: Make the legacy presentational attributes on <td> apply to
`<th>` too.

Makes the Google SERPs not so narrow.
2015-08-06 10:26:45 -07:00
Corey Farwell
0d49118b7e Improve clarity of comment in ref test list 2015-08-06 09:22:59 -04:00
Glenn Watson
2e08f42ae4 Update stb-image to get JPEG progressive support. 2015-08-06 12:48:59 +10:00
Patrick Walton
fba0a8164d layout: Take inline margins into account when determining the intrinsic
sizes of fragments.

Avoids a needless wrapped line in the repository name on GitHub.
2015-08-05 12:29:16 -07:00
bors-servo
315c4f5ed7 Auto merge of #6983 - glennw:tf2, r=pcwalton
Support transforms for display list optimization. Prevents clipping in #6643.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6983)
<!-- Reviewable:end -->
2015-08-05 12:50:36 -06:00
Patrick Walton
95c9d3cefe layout: Take negative margins of floats into account when placing them.
Removes extraneous inline space on GitHub pull requests.
2015-08-05 11:15:32 -07:00
bors-servo
11acfbc29f Auto merge of #6981 - pcwalton:github-font-fallback, r=metajack
gfx: Fix Core Text font instantiation for Web fonts on Mac.

r? @metajack

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6981)
<!-- Reviewable:end -->
2015-08-05 06:11:36 -06:00
bors-servo
cc70e2f91f Auto merge of #6980 - pcwalton:inline-border-baseline, r=glennw
layout: Take borders into account when positioning inline fragments on their baselines.

Improves the Rust GitHub page.

r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6980)
<!-- Reviewable:end -->
2015-08-05 05:03:43 -06:00
Glenn Watson
11b1c19b05 Support transforms for display list optimization. Prevents clipping in #6643. 2015-08-05 11:48:07 +10:00
Patrick Walton
d6b9e3bdfd gfx: Fix Core Text font instantiation for Web fonts on Mac.
Fixes GitHub Octicons. A reftest has been added for this.
2015-08-04 17:07:44 -07:00
Patrick Walton
2880aa2b02 layout: Take borders into account when positioning inline fragments on
their baselines.

Improves the Rust GitHub page.
2015-08-04 16:20:15 -07:00
Patrick Walton
a746fa0ac1 layout: Place list item markers correctly in the block direction. 2015-08-04 14:44:54 -07:00
Patrick Walton
04928bf1e3 layout: Don't use the block container inline size as the initial
computed table inline size.

Makes google.com fully centered.
2015-08-04 09:40:35 -07:00
Patrick Walton
3d9cc784d0 layout: If the container of a block formatting context has margins in
the inline direction, subtract those from the inline size of preceding
floats.

Makes the content area on http://reddit.com/r/rust visible.
2015-08-03 19:22:50 -07:00
Patrick Walton
24f10df436 layout: Modify styles for replaced content as appropriate during
incremental flow construction.

Fixes jumpiness on lots of Web sites.
2015-07-07 15:00:52 -07:00
David Winslow
e76d232702 Add reftest for img padding/margin behavior 2015-07-06 16:11:53 -04:00
Ms2ger
6342c544a1 Disable the flaky viewport tests.
The flaky_macos annotation does not appear to work.
2015-06-24 14:57:16 +02:00
ecoal95
eb502bdbb8 webgl: Add drawArrays reftest
I also removed flackyness of the clearColor test, hopefully it's fixed now
that a lot of race conditions have disappeared thanks to @glennw.
2015-06-13 23:03:39 +02:00
bors-servo
05212b702d Auto merge of #6214 - glennw:parse-transforms, r=pcwalton
* Add parser support for 3d transforms.
 * Change ComputedMatrix to a representation that suits interpolation.
 * Switch stacking contexts to use 4x4 matrices.

The transforms themselves are still converted to 2d and handled by azure for now, but this is a small standalone part that can be landed now to make it easier to review.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6214)
<!-- Reviewable:end -->
2015-06-02 19:56:17 -05:00
Simon Sapin
595c726f51 Revert "Add support for 'padding-box' value for 'box-sizing' property (fixes #6032)"
This reverts commit 945adabd48.

The CSS Working Group resolved to drop this value from the spec:
http://log.csswg.org/irc.w3.org/css/2015-05-20/#e555680

The group was unable to come up with even a theoretical use case.
Gecko only implemented this value for completeness.
Other browsers vendors have clearly expressed they have no interest
in implementing this.
2015-06-02 15:31:59 +02:00
Glenn Watson
f47ba6fd33 First step towards 3d transforms.
* Add parser support for 3d transforms.
 * Change ComputedMatrix to a representation that suits interpolation.
 * Switch stacking contexts to use 4x4 matrices.

The transforms themselves are still converted to 2d and handled by azure for now, but this is a small standalone part that can be landed now to make it easier to review.
2015-05-29 09:47:38 +10:00
Patrick Walton
fec43b49bb layout: Implement per-glyph font fallback.
This improves numerous pages, for example Wikipedia and Ars Technica.

Closes #177.
2015-05-22 17:16:24 -07:00
bors-servo
77099b25d5 Auto merge of #5586 - pcwalton:no-broken-background-image-redux, r=glennw
r? @jdm

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5586)
<!-- Reviewable:end -->
2015-05-20 16:43:31 -05:00
Patrick Walton
7e7675c1dc net: Don't load the placeholder image for background images, only for
image fragments.

This also changes the way the placeholder is handled in the image cache
task to decode it up front instead of each time an image fails to load,
both because it was more convenient to implement that way and because
it saves CPU cycles to do so.

This matches the behavior of Gecko and WebKit. It improves the look of
our cached copy of Wikipedia.
2015-05-20 12:00:33 -07:00
Patrick Walton
1a3395e077 script: Implement the width and height attributes for iframes per
HTML5 § 4.8.6.

Improves Amazon and Ars Technica.
2015-05-20 11:15:25 -07:00
Matt Brubeck
9355186fa6 Remove "experimental" from direction:rtl reftests
No longer needed after #6138.
2015-05-20 08:17:02 -07:00
bors-servo
ba340ec71b Auto merge of #5989 - pcwalton:font-color, r=jdm
Improves Hacker News.

r? @Ms2ger

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5989)
<!-- Reviewable:end -->
2015-05-19 18:33:03 -05:00
Patrick Walton
7d9eda916b script: Implement the color attribute of the <font> element.
Improves Hacker News.
2015-05-19 16:31:20 -07:00
Patrick Walton
d5ca1a18dc layout: Support percentage widths in inline-blocks.
Improves Twitter.
2015-05-19 13:35:02 -07:00
Matt Brubeck
0048b4f2ab Positioning fixes for RTL floats 2015-05-18 17:25:06 -07:00
Ms2ger
391417cb44 Submit the remaining 2dcontext reftests to wpt. 2015-05-16 17:14:26 +02:00
bors-servo
3934831da3 Auto merge of #6081 - mbrubeck:table-wrapper-rtl, r=pcwalton
Fixes #6006. r? @pcwalton

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6081)
<!-- Reviewable:end -->
2015-05-15 22:46:35 -05:00
bors-servo
9f2079f6ba Auto merge of #6067 - Jinwoo-Song:backgroundclip, r=pcwalton
This property determines the background painting area, which determines the area
within which the background is painted.

Spec: http://dev.w3.org/csswg/css-backgrounds-3/#background-clip

Fixes #6066.

r? @pcwalton 
cc @yichoi

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6067)
<!-- Reviewable:end -->
2015-05-15 22:05:05 -05:00
Jinwoo Song
a51d5de860 Implement 'background-clip' property in CSS3 Background
This property determines the background painting area, which determines the area
within which the background is painted.

Spec: http://dev.w3.org/csswg/css-backgrounds-3/#background-clip

Fixes #6066.
2015-05-16 09:43:46 +09:00
Matt Brubeck
179a70b305 Fix layout of RTL tables in LTR flow
Fixes #6006.
2015-05-15 17:03:51 -07:00
bors-servo
68d135e671 Auto merge of #6033 - Jinwoo-Song:boxsizing_paddingbox, r=pcwalton
Spec: http://dev.w3.org/csswg/css-ui/#valdef-box-sizing-padding-box

Currently, only Firefox is supporting this value.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6033)
<!-- Reviewable:end -->
2015-05-15 09:42:18 -05:00
bors-servo
8c40272824 Auto merge of #6046 - Jinwoo-Song:background_origin, r=pcwalton
This property determines the background positioning area, that is the position of
the origin of an image specified using the 'background-image' CSS property.

'background-origin' is ignored when background-attachment is fixed.

Spec: http://dev.w3.org/csswg/css-backgrounds-3/#background-origin

Fixes #6045.

r? @pcwalton 
cc @yichoi

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6046)
<!-- Reviewable:end -->
2015-05-14 20:53:02 -05:00
Jinwoo Song
b1b22c0c53 Implement 'background-origin' property in CSS3 Background
This property determines the background positioning area, that is the position of
the origin of an image specified using the 'background-image' CSS property.

'background-origin' is ignored when background-attachment is fixed.

Spec: http://dev.w3.org/csswg/css-backgrounds-3/#background-origin

Fixes #6045.
2015-05-15 10:02:58 +09:00
Matt Brubeck
dc19806b15 Fix positioning of RTL blocks with margins.
`BaseFlow::position` is relative to the parent flow's margin box in the inline
direction.  We need to use the parent's `position` as the container size when
translating it to physical coordinates, or we get incorrect results for
non-LTR content.
2015-05-14 09:23:15 -07:00
Jinwoo Song
945adabd48 Add support for 'padding-box' value for 'box-sizing' property (fixes #6032)
Spec: http://dev.w3.org/csswg/css-ui/#valdef-box-sizing-padding-box
Currently, only Firefox is supporting this value.
2015-05-14 09:11:43 +09:00
Patrick Walton
1f0b5889da layout: Allow inline elements to be containing blocks for
absolutely-positioned elements.

This also implements a little bit of the infrastructure needed to
support for fragmentation via support for multiple positioned fragments
in one flow.

Improves Google.
2015-05-13 12:00:53 -07:00
Patrick Walton
87a620e1b3 layout: Draw elements with position: relative; z-index: auto over
ordinary content per CSS 2.1 Appendix E.

Improves Talking Points Memo.
2015-05-12 17:32:59 -07:00
Patrick Walton
3875c9db4a layout: Support block-direction margins for inline-blocks.
Improves linux.com.
2015-05-11 17:49:12 -07:00
bors-servo
5a13cae064 Auto merge of #5991 - pcwalton:float-overflow-area, r=glennw
Makes qz.com visible.

In order to work around a compiler bug involving Sized, this patch moves
`store_overflow` to be a virtual method.

r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5991)
<!-- Reviewable:end -->
2015-05-11 16:08:46 -05:00