Commit graph

30726 commits

Author SHA1 Message Date
bors-servo
3cef09ae21 Auto merge of #19457 - emilio:color-calc, r=SimonSapin
style: support calc() in color functions.

Depends on #19456 and https://github.com/servo/rust-cssparser/pull/207.

Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=984021

<!-- 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/19457)
<!-- Reviewable:end -->
2017-12-05 03:37:18 -06:00
Emilio Cobos Álvarez
23d69ea77d
style: Support calc() in color functions. 2017-12-05 10:06:24 +01:00
Emilio Cobos Álvarez
e91c9ec7fe
style: Formatting nits in color parsing. 2017-12-05 10:01:37 +01:00
Emilio Cobos Álvarez
ea5efd9e2f
style: Update cssparser to 0.23. 2017-12-05 10:01:37 +01:00
bors-servo
aab3d76673 Auto merge of #19475 - servo:bumps, r=SimonSapin
Update gecko-media (fixes #19348)

<!-- 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/19475)
<!-- Reviewable:end -->
2017-12-05 02:09:57 -06:00
bors-servo
005fd9cfa8 Auto merge of #19473 - servo:error-message, r=aethanyc
geckolib: Fix typo in CSS parser error message name.

<!-- 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/19473)
<!-- Reviewable:end -->
2017-12-05 00:54:12 -06:00
bors-servo
e563777008 Auto merge of #19490 - heycam:canvas-color, r=Aethanyc
allow Gecko FFI functions for color parsing to report errors

This is the Servo-side part of https://bugzilla.mozilla.org/show_bug.cgi?id=1420026.

<!-- 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/19490)
<!-- Reviewable:end -->
2017-12-04 23:32:15 -06:00
Cameron McCormack
64c5a8a6e8 style: Regenerate Gecko bindings. 2017-12-05 13:22:22 +08:00
Cameron McCormack
9a31d0d8d8 geckolib: Allow Servo_ComputeColor to report errors to the console. 2017-12-05 13:22:22 +08:00
Cameron McCormack
7015d5b22e style: Add a new CSS error type for lone value parsing errors.
This allows us to report errors in functions that want to just parse a
single CSS value, rather than a value for a particular property declaration.

The one value type that we need to support for now is <color> value parsing
errors, so just add formatting/support for that.
2017-12-05 13:22:22 +08:00
Cameron McCormack
7940061c9a geckolib: Allow an ErrorReporter to be created with null URL data.
This allows us to create an ErrorReporter that will report errors as being
"from DOM" rather than a specific URL.

Also, factor out a method on ErrorReporter so that we don't need to pass in
a UrlExtraData reference.
2017-12-05 13:22:22 +08:00
Cameron McCormack
393ab5ab1e geckolib: Return from Servo_ComputeColor whether the value was currentcolor. 2017-12-05 13:22:22 +08:00
bors-servo
5bfab782ec Auto merge of #19489 - heycam:counter-parse-2, r=upsuper
add FFI functions for Gecko @counter-style value parsing

Trying to land #19441 again.

<!-- 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/19489)
<!-- Reviewable:end -->
2017-12-04 21:22:50 -06:00
Cameron McCormack
c5a3d752b8 style: Regenerate Gecko bindings. 2017-12-05 10:11:48 +08:00
Cameron McCormack
c49554d4c4 style: Add FFI function to parse a @counter-style descriptor. 2017-12-05 10:04:52 +08:00
Cameron McCormack
374f0091c1 geckolib: Add FFI function to parse a @counter-style name. 2017-12-05 10:04:52 +08:00
bors-servo
68cefb1b00 Auto merge of #19385 - tigercosmos:b1, r=KiChjang
implement  "Date type inputs", "Month type inputs"

<!-- Please describe your changes on the following line: -->
implement "Date type inputs", "Month type inputs"

---
<!-- 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] `./mach test-unit` does not report any errors

<!-- 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/19385)
<!-- Reviewable:end -->
2017-12-04 19:58:08 -06:00
tigercosmos
927fd1d044 implement "Date type inputs", "Month type inputs" 2017-12-05 09:44:51 +08:00
bors-servo
1e0b216ea0 Auto merge of #19488 - moz-servo-sync:gecko-backout, r=moz-servo-sync
Backed out 1 changesets because the gecko part (bug 1420117) has to be backed out for the mochitests r=backout on a CLOSED TREE

Backed out 1 changesets because the gecko part (bug 1420117) has to be backed out for the mochitests r=backout on a CLOSED TREE

Backed out changeset baada68cad47

Backs out https://github.com/servo/servo/pull/19441

<!-- 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/19488)
<!-- Reviewable:end -->
2017-12-04 18:19:14 -06:00
Gecko Backout
25436276ae Backed out 1 changesets because the gecko part (bug 1420117) has to be backed out for the mochitests r=backout on a CLOSED TREE
Backed out changeset baada68cad47

Backs out https://github.com/servo/servo/pull/19441
2017-12-05 00:18:35 +00:00
bors-servo
eed3adc957 Auto merge of #19379 - SWW13:htmlinput_sanitize_time, r=KiChjang
Implemented sanitize_value for time input

Implemented value sanitization for `<input type=time/>`.
The value has the be valid time string (https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-time-string) or set to empty string.

---

The following test results look expected to me, but I'm not sure:
```
  ▶ Unexpected subtest result in /html/semantics/forms/the-input-element/type-change-state.html:
  │ FAIL [expected PASS] change state from time to text
  │   → assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got ""
  │ FAIL [expected PASS] change state from time to search
  │   → assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got ""
  │ FAIL [expected PASS] change state from time to tel
  │   → assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got ""
  │ FAIL [expected PASS] change state from time to url
  │   → assert_equals: input.value should be foobar after change of state expected "foobar" but got ""
  │ FAIL [expected PASS] change state from time to password
  │   → assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got ""
  │
  │ @http://web-platform.test:8000/html/semantics/forms/the-input-element/type-change-state.html:53:15
  │ Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1489:20
  │ test@http://web-platform.test:8000/resources/testharness.js:511:9
  └ @http://web-platform.test:8000/html/semantics/forms/the-input-element/type-change-state.html:37:9

  ▶ Unexpected subtest result in /html/semantics/forms/the-input-element/type-change-state.html:
  │ FAIL [expected PASS] change state from color to time
  │   → assert_equals: input.value should be #000000 after change of state expected "#000000" but got ""
  │
  │ @http://web-platform.test:8000/html/semantics/forms/the-input-element/type-change-state.html:55:15
  │ Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1489:20
  │ test@http://web-platform.test:8000/resources/testharness.js:511:9
  └ @http://web-platform.test:8000/html/semantics/forms/the-input-element/type-change-state.html:37:9
```

All other tests do now `PASS` instead of `FAIL`.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix *part of* #19172
- [x] There are tests for these changes
  - [x] All tests `PASS`

<!-- 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/19379)
<!-- Reviewable:end -->
2017-12-04 15:44:58 -06:00
bors-servo
221d72a81e Auto merge of #19441 - heycam:counter-parse, r=upsuper
add FFI functions for Gecko @counter-style value parsing

Servo-side part of https://bugzilla.mozilla.org/show_bug.cgi?id=1420117, reviewed there by Xidorn.

<!-- 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/19441)
<!-- Reviewable:end -->
2017-12-04 14:36:32 -06:00
bors-servo
9f117ae0ab Auto merge of #19474 - asajeffrey:test-perf-move-trap, r=jdm
Move the trap instruction in /etc/ci/performance/test_all.sh.

<!-- Please describe your changes on the following line: -->

At the moment if the performance tests fail, the local server doesn't get killed, because the trap instruction is after the test run. This PR moves it to before.

---
<!-- 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 do not require tests because this is test infrastructure

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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/19474)
<!-- Reviewable:end -->
2017-12-04 11:32:13 -06:00
Simon Wörner
a999239f28 Added time input sanitization:
- Implemented is_valid_time_string for DOMString.
- Use is_valid_time_string for sanitize_value with time input.
- Improved input type change test
2017-12-04 11:21:28 +01:00
Anthony Ramine
4f3a113312 Update gecko-media (fixes #19348) 2017-12-04 10:56:55 +01:00
Alan Jeffrey
d13ff4daf0 Move the trap instruction in /etc/ci/performance/test_all.sh. 2017-12-03 21:22:38 -06:00
Cameron McCormack
89bf25b879
geckolib: Fix typo in CSS parser error message name. 2017-12-04 10:33:01 +08:00
Cameron McCormack
ec4f9a5f3b style: Update Gecko bindings. 2017-12-04 09:21:54 +08:00
Cameron McCormack
3513b31091 style: Add FFI function to parse a @counter-style descriptor. 2017-12-04 08:57:46 +08:00
Cameron McCormack
c00944046c geckolib: Add FFI function to parse a @counter-style name. 2017-12-04 08:57:46 +08:00
bors-servo
e4dba3abef Auto merge of #19462 - emilio:angle-parsing, r=nox
style: Cleanup Angle parsing.

This PR also contains a functional change, allowing to parse unitless zero angles in hue-rotate().

See the links and the comments for why.

<!-- 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/19462)
<!-- Reviewable:end -->
2017-12-03 09:14:59 -06:00
bors-servo
14f757817e Auto merge of #19463 - emilio:bye-parse-functions, r=jdm
style: Remove free parsing functions, use Integer::parse and Number::parse instead.

<!-- 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/19463)
<!-- Reviewable:end -->
2017-12-03 06:02:12 -06:00
bors-servo
d198caa9ff Auto merge of #19436 - aethanyc:shape-image-threshold, r=heycam
style: Support 'shape-image-threshold' property

This has been reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1265343

<!-- 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/19436)
<!-- Reviewable:end -->
2017-12-02 10:03:16 -06:00
Emilio Cobos Álvarez
93fc9ab63a
style: Remove free parsing functions, use Integer::parse and Number::parse instead. 2017-12-02 16:15:11 +01:00
Emilio Cobos Álvarez
3631b1e197
style: Deduplicate Angle parsing code. 2017-12-02 15:39:06 +01:00
Emilio Cobos Álvarez
55439e6222
style: Allow parsing unitless zero angles in hue-rotate().
Per https://github.com/w3c/fxtf-drafts/issues/228
2017-12-02 15:39:05 +01:00
Emilio Cobos Álvarez
25ae329156
style: Formatting nits in gradient parsing. 2017-12-02 15:20:01 +01:00
bors-servo
45bbbac9d9 Auto merge of #19454 - emilio:has-class-is-stupid, r=upsuper
style: Add a missing fast-path in GeckoElement::each_class.

This shows up when inserting elements in the bloom filter.

<!-- 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/19454)
<!-- Reviewable:end -->
2017-12-02 01:40:00 -06:00
bors-servo
e8593e2963 Auto merge of #19452 - emilio:layers-as-an-onion, r=jdm
style: Remove pretty useless layer of abstraction.

<!-- 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/19452)
<!-- Reviewable:end -->
2017-12-01 22:08:22 -06:00
Emilio Cobos Álvarez
d570fc8164
style: Remove pretty useless layer of abstraction. 2017-12-02 03:23:22 +01:00
bors-servo
49e6594bc9 Auto merge of #19455 - emilio:color-does-stupid-things-too, r=upsuper
style: Don't waste an allocation when failing to parse a CSSParserColor.

I see that allocation show up in the profiles, and it makes sense, because
system colors and such are common in Firefox, and they're just wasting it.

Note that the clone() added is refcounted.

<!-- 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/19455)
<!-- Reviewable:end -->
2017-12-01 18:03:11 -06:00
bors-servo
f7aa22a87e Auto merge of #19451 - emilio:inlining-is-fun, r=upsuper
style: Inline some things that should never ever appear in a profile.

<!-- 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/19451)
<!-- Reviewable:end -->
2017-12-01 16:52:34 -06:00
bors-servo
bca8951182 Auto merge of #19453 - emilio:is-root-is-slow, r=upsuper
style: Add a fast-path for GeckoElement::is_root.

<!-- 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/19453)
<!-- Reviewable:end -->
2017-12-01 15:14:13 -06:00
bors-servo
75f348ecc4 Auto merge of #19449 - emilio:calc-serialization-test, r=jdm
style: Upstream calc serialization test.

And test https://github.com/w3c/csswg-drafts/issues/1731 too, since it was fixed.

<!-- 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/19449)
<!-- Reviewable:end -->
2017-12-01 13:56:44 -06:00
Emilio Cobos Álvarez
848a8581ac
style: Don't waste an allocation when failing to parse a color.
I see that allocation show up in the profiles, and it makes sense, because
system colors and such are common in Firefox, and they're just wasting it.

Note that the clone() added is refcounted.
2017-12-01 20:55:24 +01:00
Emilio Cobos Álvarez
a4cb6b8f09
style: Formatting nits in snapshot_helpers-related code. 2017-12-01 20:37:45 +01:00
Emilio Cobos Álvarez
bea7b31445
style: Add a missing fast-path in GeckoElement::each_class.
This shows up when inserting elements in the bloom filter.
2017-12-01 20:37:28 +01:00
Emilio Cobos Álvarez
382a89511a
style: Add a fast-path for GeckoElement::is_root. 2017-12-01 20:17:53 +01:00
Emilio Cobos Álvarez
2bbeda97d3
style: Inline some things that should never ever appear in a profile. 2017-12-01 20:04:33 +01:00
bors-servo
210d0ab30a Auto merge of #19447 - emilio:arc-soundness, r=jdm
servo_arc: Add some #[inline] and repr(C) annotations.

inline is probably unnecessary, but anyway... We rely on those being repr(C), so
they rather have some.

<!-- 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/19447)
<!-- Reviewable:end -->
2017-12-01 12:58:11 -06:00