Commit graph

37 commits

Author SHA1 Message Date
Dzmitry Malyshau
d04a64394e Using TransformStyle::Preserve3D 2017-05-16 11:08:32 -04:00
Glenn Watson
d175986501 Update WR (ellipse border-radius clip, preserve-3d functionality). 2017-05-16 11:09:40 +10:00
Glenn Watson
f872ad9452 Update WR (transform shader select optimization, subpixel + disable AA fix). 2017-05-08 07:54:27 +10:00
Glenn Watson
ff38b6d2f0 Update WR (new dashed borders, basic preserve-3d support). 2017-05-02 10:39:30 +10:00
Simon Sapin
11cef135e7 Update to cssparser 0.13 2017-04-25 01:45:33 +02:00
Glenn Watson
b60d1d036e Update test expectations. 2017-04-24 06:53:42 +10:00
Glenn Watson
2cdd82f78e Update WR (new border code path).
This includes the new border code path for simple (solid) borders.
This gives much higher quality border rendering, including proper
support for elliptical border segments.

The quality on https://github.com/servo/servo is noticeably improved.
2017-04-13 16:41:43 +10:00
Pyfisch
480f59c880 Implement serialization for transform functions.
Preserve more information from transform function parsing.
Preserve angle unit while parsing.
Simplify SpecifiedMatrix.
Use the write! macro for formatting with a helper called Css.
Implement ToCss for &T if T implements ToCss.
Add some tests and update others.

closes #15194
2017-04-04 19:04:19 +02:00
Glenn Watson
3ca0f8a9ac Update WR (opaque rect optimization, stacking context culling).
Correct viewport test references

These references were using an incorrect value for the expected
container width. Now that WebRender is no longer clipping to stacking
context boundaries the rendered width is correct (100% of viewport
width = 240px).
2017-03-27 06:14:34 +10:00
Glenn Watson
fe75382bcb Update WR (gl/es runtime table, scroll roots). 2017-03-23 14:32:03 +10:00
Glenn Watson
cbe7f09f81 Update WR (pixel snapping improvements).
This includes a WR update that improves pixel snapping. Specifically,
the non-transform shader now snaps to device pixels in world space,
rather than local space.

This makes 31 new tests pass, and adds 4 new failures.

Of the new failures:
 - The three background size tests appear to be an OSMesa accuracy
   issue. Near the bottom of the image, a small number of pixels
   are different from the reference by a value of 1.0 / 255.0. I've
   confirmed on 3 real GPUs and also on llvmpipe that the tests
   match on those devices. This would be a good case for fuzzy test
   support in WPT.
 - The other failing test appears to have unreasonable accuracy
   requirements as it also fails on Gecko and Chromium in the same
   way that the test now fails on WR.
2017-02-13 23:46:28 +01:00
Anthony Ramine
b5756cebbe Update app_units to 0.3.1
The height test is removed in mime_sniffing_font_context because of rounding
changes in app_units. The rest of that test is still useful though, given it
will timeout if the font fails to be sniffed.
2017-02-10 21:58:07 +01:00
bors-servo
6fe9fd2269 Auto merge of #15405 - servo:wpt-20170206, r=jgraham
Update web-platform-tests and CSS tests.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15405)
<!-- Reviewable:end -->
2017-02-07 03:35:06 -08:00
Glenn Watson
f1558b1c7b Update WR.
- Subpixel positioning improvements.
- Clipping fixes and optimizations.
- Fix panic when transform can't be inverted.
- Support multiple filters on single stacking context.
- Optimize gradients, support unlimited stops.
- Add external image + texture cache support.
- Support error path on shader compile error.
- Optimize border handling in texture atlas.
- Preliminary work towards clip/scroll root changes.
2017-02-07 17:19:16 +10:00
Ms2ger
296fa2512b Update web-platform-tests and CSS tests.
- Update CSS tests to revision e05bfd5e30ed662c2f8a353577003f8eed230180.
- Update web-platform-tests to revision a052787dd5c069a340031011196b73affbd68cd9.
2017-02-06 22:38:29 +01:00
Glenn Watson
4cbefe82b5 Update WR (radial gradients, subpixel positioning, tiling changes). 2017-02-01 05:40:44 +10:00
Patrick Walton
7df456e8ac layout: Rewrite clipping to be a two-phase process that takes physical
border box positions and transforms into account.

Clipping region computation now follows a simple process: (1) in the
parent's coordinate system, parents store appropriate clipping regions
into children; (2) each child moves its clipping region to its own
coordinate system if necessary.

Because clipping region computation is now based on stacking-relative
border box positions and the `transform_rect` method, it can handle
`position: relative` offsets and more types of transforms, such as
scaling.

Improves etsy.com.

Closes #13753.
2016-10-15 14:18:48 -07:00
Glenn Watson
cdb69d4423 Add OSMesa headless mode, run WPT against Webrender, update tests. 2016-09-28 11:57:33 +10:00
Keith Yeung
a0ec1ab5a0 Disable transform-table-007.htm 2016-09-16 11:59:09 -07:00
Anthony Ramine
51768844ed Update euclid to 0.10.1 2016-08-21 03:03:45 +02:00
Anthony Ramine
2e8add8477 Disable transform-abspos-002.htm and transform-abspos-007.htm 2016-08-19 17:55:54 +02:00
Anthony Ramine
dda59c9346 Disable perspective-origin-00*.htm tests 2016-08-19 16:05:27 +02:00
bors-servo
d687f77fef Auto merge of #12873 - shinglyu:abs-margin-patch, r=notriddle,emilio
Fix absolute-flow's auto positioning

<!-- Please describe your changes on the following line: -->
If an absolute positioned flow has no top, bottom, left, right property, its hypothetical box position should be the margin-end of its previous sibling, not the border-end.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #12676 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12873)
<!-- Reviewable:end -->
2016-08-15 08:19:04 -05:00
Shing Lyu
332cdd05c8 Absolute positioned flow should be placed at the margin-end of its previous flow 2016-08-15 19:34:37 +08:00
Michael Howell
c2be1270d7 Re-enable intermittents fixed by #12543
* Fixes #11574
  * Fixes #11561
2016-08-09 14:11:33 -07:00
Martin Robinson
4aabbf33d4 Simplify and extend trans-stacking-context subpixel accumulation
Simplify the situations in which subpixels are accumulated, so that it
is only done for translation or identity transformation matrices. Also,
apply accumulated subpixels to more operations in PaintContext. This
fixes several pre-existing reftests and hopefully will eliminate
off-by-one errors in flaky reftests.

Fixes #10881.
2016-08-05 13:25:37 +02:00
Martin Robinson
47e69d1a95 Accumulate subpixels through stacking contexts
Instead of simply rounding layer origins and discarding subpixel
offsets, accumulate them by transforming them into the space of the
next child stacking context. This is an attempt to eliminate subpixel
differences that are caused by different stacking context boundaries in
reference tests.

Currently these accumulated subpixels are only used for text
positioning, but the plan is that they can be used for all drawing in
the future.
2016-07-27 11:17:55 +02:00
Anthony Ramine
3f8bf30eac Disable change_parentage.html and transform-table-007.html 2016-07-07 10:31:12 +02:00
Ms2ger
6e38023042 Disable transform-abspos-{002,007}.htm. 2016-06-13 15:44:30 +01:00
Martin Robinson
7e4cf6a4dc Do not create stacking contexts for text fragments
Without this change, each text fragment in a block that establishes a
stacking context will establish its own stacking context. This is
unnecessary and increases the amount of work done during display list
construction.
2016-06-01 15:24:02 -07:00
Joel Santos
adf68626bd Fixed line-height for input and textarea + use correct font
* [fix] Input line height and styling
* [new] Input line height ref test
* [fix] Test for input in manifest
* Updated CSS tests with new expected failures.
2016-04-29 23:25:26 +03:00
Ms2ger
349c75536d Update CSS tests to revision 7d0ff6117ee51720c307ea24d413d13eb5abf3e6 2016-03-01 19:09:10 +01:00
Matt Brubeck
973918967f Dirty elements whose selectors are affected by sibling changes
This fixes incremental layout of nodes that match pseudo-class selectors such
as :first-child, :nth-child, :last-child, :first-of-type, etc.

* Fixes #8191
* Fixes #9063
* Fixes #9303
* Fixes #9448

This code is based on the following flags from Gecko:
https://hg.mozilla.org/mozilla-central/file/e1cf617a1f28/dom/base/nsINode.h#l134
2016-02-23 17:31:38 -08:00
Glenn Watson
286130b051 Ensure when calculating font metrics that the total line height matches requested line height.
This fixes rounding accuracy issues that could result in layout producing results off by a small number of Au.
2016-02-18 14:16:13 +10:00
Keith Yeung
0fa5cf6716 Disable 3 of the currently worst intermittents 2016-02-03 17:06:40 -05:00
Paul Rouget
6d7dc0b905 Invalidate node style after style property removed 2016-01-27 07:43:23 +01:00
Geoffrey Sneddon
756d745cb8 Enable CSS tests for all modules we partially support.
(Except Fonts, on the assumption #8374 will land first.)
2016-01-04 21:46:52 +00:00