bors-servo
cff9b427fc
Auto merge of #18517 - BorisChiou:stylo/filter/clamp, r=emilio
...
style: Clamp some filter functions to one if the values over 100%
For grayscale, invert, opacity, and sepia, "values of amount over 100%
are allowed but UAs must clamp the values to 1" [1]-[4], so we clamp its value
in the parser.
[1] https://drafts.fxtf.org/filter-effects/#funcdef-filter-grayscale
[2] https://drafts.fxtf.org/filter-effects/#funcdef-filter-invert
[3] https://drafts.fxtf.org/filter-effects/#funcdef-filter-opacity
[4] https://drafts.fxtf.org/filter-effects/#funcdef-filter-sepia
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1399799](https://bugzilla.mozilla.org/show_bug.cgi?id=1399799 ).
- [X] There are tests for these changes
<!-- 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/18517 )
<!-- Reviewable:end -->
2017-09-18 05:23:36 -05:00
Boris Chiou
e719df53c0
Clamp some filter functions to one if the values over 100%.
...
For grayscale, invert, opacity, and sepia, "values of amount over 100%
are allowed but UAs must clamp the values to 1" [1]-[4], so we clamp its value
in the parser.
[1] https://drafts.fxtf.org/filter-effects/#funcdef-filter-grayscale
[2] https://drafts.fxtf.org/filter-effects/#funcdef-filter-invert
[3] https://drafts.fxtf.org/filter-effects/#funcdef-filter-opacity
[4] https://drafts.fxtf.org/filter-effects/#funcdef-filter-sepia
2017-09-18 12:52:55 +08:00
Nicholas Nethercote
c5aa2cb986
Measure PropertyDeclaration more thoroughly.
...
This patch replaces the handwritten MallocSizeOf implementation for
PropertyDeclaration with a derived one, which gives much more thorough
measurement.
This requires (a) deriving MallocSizeOf for a *lot* of additional types (most
of which already have `derive(HeapSizeOf)` in Servo builds), and (b)
implementing MallocSizeOf for a few more types in the `malloc_size_of` crate.
These changes would significantly improve the reporting coverage for gmail if
it weren't for the fact that SpecifiedUrl isn't measured due to a lack of
clarity about its fields; that can be fixed as a follow-up once bug 1397971 has
landed.
2017-09-14 13:18:03 +10:00
Josh Matthews
6827a10893
Report more specific error for invalid filter properties (bug 1386900).
2017-09-06 10:06:07 -07:00
Emilio Cobos Álvarez
36ff89bd28
style: Remove HasViewportPercentage.
...
It's not needed since #18268
2017-08-29 23:51:21 +02:00
Xidorn Quan
4e0b1071e7
Use Option<RGBA> for color in shadow
2017-08-19 00:20:24 +10:00
Boris Chiou
8651acd94c
Bug 1374233 - Part 13: Use NonNegative{*} types for components of Shadow and Filter.
...
MozReview-Commit-ID: Im4KGy1n9IJ
2017-08-04 14:23:30 +08:00
Simon Sapin
eb98ae6e04
Update cssparser to 0.18
...
https://github.com/servo/rust-cssparser/pull/171
2017-07-24 11:39:12 +02:00
Emilio Cobos Álvarez
310be02ba8
style: Respect calc for percentages.
2017-07-14 13:43:27 +02:00
Anthony Ramine
201d7e79e7
Make text-shadow and box-shadow use SimpleShadow
2017-06-28 16:28:25 +02:00
Anthony Ramine
395f6be0a6
Use the Separator trait for the filter property
2017-06-27 23:40:16 +02:00
Anthony Ramine
81a01f6ce1
Use generics for SimpleShadow
2017-06-24 13:01:20 +02:00
Anthony Ramine
c9b123266d
Unconditionally compile SimpleShadow even in Servo
2017-06-23 16:26:09 +02:00
Anthony Ramine
ae1c890c9e
Rename DropShadow to SimpleShadow
2017-06-23 16:25:50 +02:00
Anthony Ramine
39e29f557e
Simplify machinery to serialise optional parts of CSS values
...
We simply implement ToCss for Option<T>, printing nothing if the value is None,
and we then use SequenceWriter to skip writing of separators around empty parts.
2017-06-21 11:17:22 +02:00
Anthony Ramine
6f4061d4ad
Use generics for the filter property
...
This introduces an additional shadow type for drop-shadow().
2017-06-20 13:48:53 +02:00