mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
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 -->
This commit is contained in:
commit
cff9b427fc
4 changed files with 62 additions and 7 deletions
|
@ -217,6 +217,15 @@ impl Number {
|
|||
-> Result<Number, ParseError<'i>> {
|
||||
parse_number_with_clamping_mode(context, input, AllowedNumericType::AtLeastOne)
|
||||
}
|
||||
|
||||
/// Clamp to 1.0 if the value is over 1.0.
|
||||
#[inline]
|
||||
pub fn clamp_to_one(self) -> Self {
|
||||
Number {
|
||||
value: self.value.min(1.),
|
||||
calc_clamping_mode: self.calc_clamping_mode,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ToComputedValue for Number {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue