Commit graph

275 commits

Author SHA1 Message Date
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
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
Simon Sapin
055a1c5cee Update rust-selectors
Update for https://github.com/servo/rust-selectors/pull/37
2015-07-23 18:53:57 +02: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
bors-servo
0688488a7f Auto merge of #6565 - dwins:issue_6452_image_padding, r=pcwalton
Fix for #6542 - <img> top-padding adds margin

I wrote this patch that makes the test from #6542 render as expected but I am not confident it is actually the right fix.  Should the padding be included in the 'ascent' metric for images, or am I just introducing a bug that happens to offset the one I'm trying to fix?

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6565)
<!-- Reviewable:end -->
2015-07-07 06:27:13 -06:00
Patrick Walton
3500af37d0 gfx: Use a pattern instead of tiling images manually. 2015-07-07 10:41:47 -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
610de77e23 Auto merge of #6251 - glennw:fix-overflow, r=nox
This fixes layers being created with a 3x3 overflow that's not needed.

This exposes https://github.com/servo/servo/issues/6250, so update the affected reftest to use ahem font until it is fixed.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6251)
<!-- Reviewable:end -->
2015-06-04 03:53:14 -05:00
Glenn Watson
958adc0f2b Only count outline width in overflow calculation if outline style is active.
This fixes layers being created with a 3x3 border that's not needed.

This exposes https://github.com/servo/servo/issues/6250, so update the affected reftest to use ahem font until it is fixed.
2015-06-04 13:30:52 +10: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
bors-servo
e25444c263 Auto merge of #6035 - Jinwoo-Song:fix_background_image_position, r=pcwalton
According to CSS2.1 spec, background image should be positioned on padding box.
Spec: http://www.w3.org/TR/CSS21/colors.html#propdef-background-position

Fixes #6034.

r? @jdm 
cc @yichoi

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6035)
<!-- Reviewable:end -->
2015-05-13 20:40:33 -05: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
Jinwoo Song
7283f75679 Position the background image on the padding box.
According to CSS2.1 spec, background image should be positioned on padding box.
Spec: http://www.w3.org/TR/CSS21/colors.html#propdef-background-position

Fixes #6034.
2015-05-14 08:44:33 +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
Patrick Walton
b026a8ecf6 layout: Store overflow for flows impacted by floats.
Makes qz.com visible.

In order to work around a compiler bug involving Sized, this patch moves
`store_overflow` to be a virtual method.
2015-05-11 12:59:55 -07:00
Patrick Walton
4b9cd4e65d layout: Implement <table width> and <center>.
Improves Hacker News.
2015-05-11 12:53:45 -07:00
bors-servo
844ac2915e Auto merge of #5997 - mbrubeck:table-direction, r=pcwalton
Table columns should be layed out according to the 'direction' property of the
table flow, regardless of the 'direction' property of any table-row,
table-rowgroup, etc. flows.

This fixes a number of the `direction-applies-to-*` tests in the CSS2.1 test
suite.

This also simplifies `propagate_column_inline_sizes_to_child` by separating
the code used for table cells from the code for non-cell flows.

r? @pcwalton

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5997)
<!-- Reviewable:end -->
2015-05-11 07:50:09 -05:00
Matt Brubeck
e36a498cfb Fix direction of columns in mixed LTR/RTL tables.
Table columns should be layed out according to the 'direction' property of the
table flow, regardless of the 'direction' property of any table-row,
table-rowgroup, etc. flows.

This fixes a number of the `direction-applies-to-*` tests in the CSS2.1 test
suite.

This also simplifies `propagate_column_inline_sizes_to_child` by separating
the code used for table cells from the code for non-cell flows.

r? @pcwalton
2015-05-08 21:29:02 -07:00