Commit graph

670 commits

Author SHA1 Message Date
Anthony Ramine
7e6290451f Update web-platform-tests to revision ddfc95cf0493ae147a4f6a4d7be8eff1a0c23098 2018-01-18 11:04:13 +01:00
bors-servo
9f2b33c646 Auto merge of #19738 - servo:wptup, r=jdm
Update web-platform-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/19738)
<!-- Reviewable:end -->
2018-01-17 13:05:26 -06:00
tigercosmos
b29230bd76 implement range input sanitization 2018-01-17 16:27:21 +08:00
Anthony Ramine
afc78ea907 Don't bind hostname when running wptrunner for Servo 2018-01-16 17:18:10 +01:00
Anthony Ramine
4d3c932c47 Update web-platform-tests to revision c26470dac73f2df9d4822a0d3482f7eb1ebf57d9 2018-01-16 17:18:09 +01:00
Josh Matthews
de1c2394a5 Avoid for(const ... of ...) usage in webidl parser.
Servo's JS engine doesn't support this construct yet.
2018-01-09 12:52:28 -05:00
Josh Matthews
2b6f573eb5 Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05:00
bors-servo
d41f720ee4 Auto merge of #19647 - tigercosmos:x3, r=jdm
replace DocumentSource::NotFromParser with DocumentSource::FromParser

<!-- Please describe your changes on the following line: -->
per https://github.com/servo/servo/pull/4297/files#r158729975

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/19647)
<!-- Reviewable:end -->
2018-01-08 11:23:21 -06:00
bors-servo
7f36b59762 Auto merge of #19602 - tigercosmos:r1, r=KiChjang
implement valid DatetimeLocal input

<!-- Please describe your changes on the following line: -->
implement valid Date time Local input

part of #19172

---
<!-- 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 #19587 fix #19603(github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/19602)
<!-- Reviewable:end -->
2018-01-07 05:10:47 -06:00
tigercosmos
b43424111e implement valid Date time Local input 2018-01-07 18:31:32 +08:00
tigercosmos
97482f9b91 replace DocumentSource::NotFromParser with DocumentSource::FromParser 2018-01-06 22:53:45 +08:00
Pyfisch
859f002bf2 Correctly place images with background-position: center
Add a regression ref test.
See also #19680.
2018-01-05 10:45:26 +01:00
Pyfisch
b3b49e3ff0 Implement correct corner clipping for background color
Add one regression ref test.

See also #19649
2018-01-03 16:16:35 +01:00
bors-servo
691bff86b6 Auto merge of #19651 - pyfisch:background-placement, r=emilio
Unify background placement code

Merges the implementations for background-image placement
from gradients and images. Add missing parts and fix bugs.

Now supported are the CSS properties:

* background-attachment (except for local value, see #19650)
* background-clip
* background-origin
* background-position-x/y
* background-repeat
* background-size

It should be noted that backgrounds are not clipped to
rounded border corners.
(This was done before but worked only in simple cases)
See: #19649

This solves the following issues:
closes #19626
closes #16657
closes #19482 (examples from http://lea.verou.me/css3patterns/ are rendered perfectly but the round border is completely ignored now)
closes #19577

- `./mach build -d` does not report any errors
- `./mach test-tidy` does not report any errors

I enabled a few tests with the first commit but I have written about a dozen manual tests I will try to turn into ref tests either before or after this patch lands.

@bors-servo try

The relationship between the different inputs is visualized in this flowchart:
![flowchart-background](https://user-images.githubusercontent.com/2781017/34394430-5a06c72c-eb59-11e7-9d51-3d23e2215f07.png)

<!-- 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/19651)
<!-- Reviewable:end -->
2018-01-02 08:47:24 -06:00
Pyfisch
cf12e27364 Test with fixes for background repeat: spaced
Test the interaction between background-repeat: spaced
and CSS borders. Fix tile_image_axis() function.
2018-01-02 13:57:32 +01:00
Pyfisch
94f3e3353d Fix division by zero in gradient stop calculation
Check if total_length is zero and return 0.0 instead
of NaN in this case.

Closes #18435

Regression test for crash.
2017-12-28 21:18:49 +01:00
bors-servo
8798e49889 Auto merge of #19559 - tigercosmos:t1, r=KiChjang
implement valid week string

<!-- Please describe your changes on the following line: -->
implement valid week string
part of #19172

r? @KiChjang

---
<!-- 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] There are tests for these changes

<!-- 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/19559)
<!-- Reviewable:end -->
2017-12-17 03:50:33 -06:00
tigercosmos
54c6028033 implement valid week string 2017-12-17 16:57:01 +08:00
Pyfisch
b0492f53af layout: background-origin attribute for gradients
Fixes the glitches mentioned in #19554.
Now gradient tiles are placed in the whole bounding box.
2017-12-15 22:16:58 +01:00
Pyfisch
9502e9f42a layout: support tiled gradients
Use background-size, background-position properties to render
CSS gradients.

Some cleanup in display_list_builder.rs related to gradient
calculations.

Adds two wpt tests for tiled gradients.

Note: For now even gradients with background-repeat: no-repeat
are repeated. Sometimes the gradient is not repeated everywhere.

Enable vars-background-shorthand-001.html CSS test.
2017-12-14 09:25:30 +01:00
Jon Leighton
71a013dd50 Handle cases where selection API doesn't apply
The selection API only applies to certain <input> types:

https://html.spec.whatwg.org/multipage/#do-not-apply

This commit ensures that we handle that correctly.

Some notes:

1. TextControl::set_dom_selection_direction now calls
   set_selection_range(), which means that setting selectionDirection will
   now fire a selection event, as it should per the spec.

2. There is a test for the firing of the select event in
   tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/select-event.html,
   however the test did not run due to this syntax error:

   (pid:26017) "ERROR:script::dom::bindings::error: Error at http://web-platform.test:8000/html/semantics/forms/textfieldselection/select-event.html:50:11 missing = in const declaration"

   This happens due to the us of the "for (const foo of ...)" construct.
   Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of
   this should actually work, so it's somewhat unsatisfying to have to
   change the test.

4. If an <input>'s type is unset, it defaults to a text, and the
   selection API applies. Also, if an <input>'s type is set to an
   invalid value, it defaults to a text too. I've expanded the tests
   to account for this second case.
2017-12-08 21:07:05 +01:00
Emilio Cobos Álvarez
23d69ea77d
style: Support calc() in color functions. 2017-12-05 10:06:24 +01:00
tigercosmos
927fd1d044 implement "Date type inputs", "Month type inputs" 2017-12-05 09:44:51 +08: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
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
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
d45a8425af
style: Upstream calc serialization test. 2017-12-01 18:15:26 +01:00
ddh
79d896d474 queue event instead of immediately fire
created checks to see if parser is in use before event dispatch

changed tests to expect crash and added async style test
2017-11-30 16:18:57 +00:00
CYBAI
96ba56c2c8 Add tests for using replaceData to change CSS 2017-11-28 11:35:01 +08:00
Jon Leighton
a7a5babb3a Move selection to end when textarea value is assigned
Issue #19171
2017-11-25 16:35:56 +01:00
Bastien Orivel
05c4e08d58 Add a sanitize_value implementation for the color input
I had to change the test a little bit to avoid some failures due to
color and text both having a sanitizedValue which was making the test
use the first assertion instead of the second one in some cases.

The sanitize_value implementation is pretty simple, we iterate over the
content and checks that the content is 7 characters long, that the first
character is a `#` and then that all the following characters are
hexadecimal. If all those requirements are met, we lowercase the
content, otherwise we put `#000000` in it.
2017-11-22 22:36:21 +01:00
bors-servo
dc35457b4a Auto merge of #19318 - jdm:webdriver, r=jgraham
Make wdspec tests runnable

This makes it possible to run tests in tests/wpt/web-platform-tests/webdriver/tests and focus on investigating why they fail.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (partially) #15274.
- [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/19318)
<!-- Reviewable:end -->
2017-11-21 12:25:55 -06:00
bors-servo
9797935932 Auto merge of #19272 - jonleighton:issue-19171-2, r=jdm
Further changes in relation to #19171

<!-- 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/19272)
<!-- Reviewable:end -->
2017-11-20 19:31:52 -06:00
bors-servo
e2bc0f017c Auto merge of #18676 - gterzian:continue_http_cache_work, r=jdm
Continue http cache work

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

Work in progress, and not quite worth a review yet. (Continuation of https://github.com/servo/servo/pull/4117)

TODO

- [ ] cache metadata (find some subset of`net_traits::Metadata` that can be shared across threads, it seems the problem is mainly stuff inside `hyper::header` in the `headers` field)

- [ ] determine which other fields of a `Response` need to be cached, so a full and valid one can be returned upon a cache hit.

- [ ] determine how to best share the cache across fetch threads (inside HttpState like I tried now?)

- [ ] Spend more time reading the spec and make sure the cache follows it where it matters.

- [ ] Make the current wpt tests pass.

- [ ] More...

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/18676)
<!-- Reviewable:end -->
2017-11-20 18:22:06 -06:00
Josh Matthews
8761f53391 Use most recent webdriver test harness. 2017-11-20 15:28:14 -05:00
Jon Leighton
f290cacccd Refactor selection-start-end test
Move assertions about the initial value of selection{Start,End} to their
own tests. This ensures that when one of these assertions fails, it
doesn't prevent other tests from being defined. Thus we have a clearer
view of which tests are passing or failing, since all tests get defined
regardless of which assertions fail.
2017-11-18 22:33:00 +01:00
Cameron McCormack
523ffd587d selectors: Allow white space in the brackets of an attribute selector. 2017-11-18 14:47:33 +08:00
Josh Matthews
9538356d65 Fix error reporting codepath for WPT. 2017-11-17 13:50:56 -05:00
Gregory Terzian
2799b4eac9 more http cache work 2017-11-16 13:36:12 +08:00
Josh Matthews
35db26d1a9 Fix WPT lint errors. 2017-11-15 13:50:39 -05:00
Josh Matthews
c227604a2c Update web-platform-tests to revision 44702f2bc8ea98bc32b5b244f2fe63c6ce66d49d 2017-11-15 12:47:30 -05:00
Keith Yeung
8203605c04 Implement value sanitization on HTMLInputElement 2017-11-09 16:34:14 -08:00
Henri Sivonen
18a52ea0e9 Avoid decoding XHR type="json" responses as UTF-16BE/LE
https://infra.spec.whatwg.org/#parse-json-from-bytes says to use
"UTF-8 decode" rather than "decode", so UTF-16BE/LE BOM should
not be honored.
2017-11-02 14:28:51 +02:00
Imanol Fernandez
052971a71a Move WebGL tests and metadata to tests/wpt/mozilla/tests/ 2017-10-31 16:00:12 +01:00
Josh Matthews
64e0a52537 Update web-platform-tests to revision 58b72393db0bd273bb93268c33666cf893feb985 2017-10-31 09:04:54 -04:00
James Graham
291d686c6a Fix whitespace error in 'empty' file 2017-10-30 18:26:10 -04:00
Josh Matthews
75736751d9 Update web-platform-tests to revision 14cfa4d648cc1c853b4153268df672d21425f8c1 2017-10-30 18:26:08 -04:00
Emilio Cobos Álvarez
aff81aa169
style: Add a test for calc() inside animation-iteration-count. 2017-10-24 22:28:36 +02:00
Cameron McCormack
893415c85a
style: Add some more tests for disallowed rootMargin values. 2017-10-17 14:43:00 +02:00
Josh Matthews
cb9490cb73 Update web-platform-tests to revision 238e9855c35a3570f824b837826aac71e50722f4 2017-10-16 17:27:46 -04:00