Commit Graph

2822 Commits

Author SHA1 Message Date
Simon Sapin
acd70f99cb servo: Merge #19510 - Update some dependencies, remove heapsize from the build (from servo:heapsize); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 07bd84ecc8dc9ba56df873453696993118e18583
2017-12-08 07:49:54 -06:00
Fernando Jiménez Moreno
2f110a7956 servo: Merge #19516 - Print url of recorded PWM (from ferjm:pwm.url); r=jdm
This makes it a bit easier to compare results with other browsers.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: c4482ebe77fd6ac517dc75b7084d08e3a82a7036
2017-12-07 14:54:03 -06:00
Fernando Jiménez Moreno
52df8b48a9 servo: Merge #19498 - Fix float conversion of paint timing metrics (from ferjm:pwm.f64); r=jdm
This is a follow up of #19077

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

Source-Repo: https://github.com/servo/servo
Source-Revision: ff70c4426d9ea2f36dc18216678f743e9f56f561
2017-12-07 10:31:45 -06:00
Jon Leighton
8f3b288e3c servo: Merge #19509 - Remove support for <input type=datetime> (from jonleighton:remove-input-type-datetime); r=jdm
It has been removed from the spec: https://github.com/whatwg/html/issues/336

See also https://github.com/servo/servo/pull/19471#pullrequestreview-80711878

---
<!-- 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: -->
- [X] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e3056d0cc7caebc218d51373b3aa0ccd331fa20
2017-12-07 09:08:15 -06:00
Jon Leighton
6a360ec56d servo: Merge #19471 - Expand InputType to cover all possible types (from jonleighton:input-type); r=jdm
This came out of a conversation with nox in IRC:
https://mozilla.logbot.info/servo/20171201#c13946454-c13946594

The code I was working on which motivated this change is here:
https://github.com/servo/servo/pull/19461

Previously, InputType::Text was used to represent several different
values of the type attribute on an input element.

If an input element doesn't have a type attribute, or its type attribute
doesn't contain a recognised value, then the input's type defaults to
"text".

Before this change, there were a number of checks in the code which
directly looked at the type attribute. If those checks matched against
the value "text", then they were potentially buggy, since an input with
type=invalid should also behave like an input with type=text.

Rather than have every conditional which cares about the input type also
have to deal with invalid input types, we can convert the type attribute
to an InputType enum once, and then match against the enum.

A secondary benefit is that the compiler can tell us whether we've
missed branches in a match expression. While working on this I
discovered that the HTMLInputElement::value_mode() method misses a case
for inputs with type=hidden (this resulted in a failing WPT test
passing).

I've also implemented the Default trait for InputType, so we now only
have one place in the code which knows that InputType::Text is the
default, where previously there were several.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6a6da9c2a4805d28365961c6ecd1e8dc7559b0b1
2017-12-06 14:16:04 -06:00
Emilio Cobos Álvarez
034c3d82a4 servo: Merge #19500 - style: Make all keywords CamelCase for consistency (from emilio:camel-case-all-the-way); r=nox
style: Make all keywords CamelCase for consistency.

Source-Repo: https://github.com/servo/servo
Source-Revision: b24778202a4d886a990ee493adfb6851ac4be40c
2017-12-05 19:35:25 -06:00
tigercosmos
a7551819cc servo: Merge #19492 - use entry global's origin in is_origin_clean check for canvas rendering (from tigercosmos:b1); r=jdm
use entry global's origin in `is_origin_clean` check for canvas rendering

There is no change with:
```
./mach test-wpt tests/wpt/web-platform-tests/2dcontext
./mach test-wpt tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element
```

---
<!-- 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  #19480 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 79f43ec3b555621d549567f36adb071d33f2d6cc
2017-12-05 11:33:03 -06:00
tigercosmos
ff3aa503f2 servo: Merge #19385 - implement "Date type inputs", "Month type inputs" (from tigercosmos:b1); r=KiChjang
<!-- 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

Source-Repo: https://github.com/servo/servo
Source-Revision: 68cefb1b0031c05c7f2f4aa433eb1a21e7863f8f
2017-12-04 19:58:08 -06:00
Simon Wörner
079b7aa53b servo: Merge #19379 - Implemented sanitize_value for time input (from SWW13:htmlinput_sanitize_time); r=KiChjang
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`

Source-Repo: https://github.com/servo/servo
Source-Revision: eed3adc957fb3c52de24c560112533963572f525
2017-12-04 15:44:58 -06:00
ddh
160e504096 servo: Merge #19307 - change parse_own_css to queue event not fire synchronously (from avadacatavra:domrefcellpanic); r=jdm
<!-- Please describe your changes on the following line: -->
fixes a panic and aligns with spec

I've also added checks around each mutable borrow of the tokenizer to see if we can catch any other panics

---
<!-- 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 #18930 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 712d75af01e02fe9689d18d7a94c89318e39f52b
2017-12-01 11:41:47 -06:00
CYBAI
b3094a9130 servo: Merge #19384 - Call children_changed on the parent node consistently (from CYBAI:fix-19177); r=emilio
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #19177
- [x] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 5568c4e3d30c4f777ee25f1a5d1765755b2c1a32
2017-11-28 04:08:51 -06:00
Jon Leighton
bb34011cb5 servo: Merge #19358 - Move selection to end when textarea value is assigned (from jonleighton:issue-19171-3); r=KiChjang
Issue #19171

Source-Repo: https://github.com/servo/servo
Source-Revision: 3f0ccd0fef1ad108a22c731e399aa815d0af5441
2017-11-25 16:10:41 -06:00
CYBAI
9a4963f721 servo: Merge #19366 - style: Move font-family outside of mako (from CYBAI:font-family-out-of-mako); r=emilio
This is a sub-PR of #19015
Besides, this is the last PR for `font.mako.rs`! 🎉
r? emilio

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #19355
- [x] These changes do not require tests

Source-Repo: https://github.com/servo/servo
Source-Revision: 8f61fde3907f2dde3e697791ccfb9a4d86d1a48c
2017-11-25 13:06:31 -06:00
Anthony Ramine
798426215e servo: Merge #19363 - Use GeckoMedia and only that on platforms that support it (from nox:canplaytype-warning); r=ferjm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3907953d8099dacde06d2156ee906d6ac043760d
2017-11-24 08:47:31 -06:00
Imanol Fernandez
b57cfeb000 servo: Merge #19352 - Handle arraybuffer responseType in XHR (from MortimerGoro:xhr_arraybuffer); r=jdm
<!-- Please describe your changes on the following line: -->

Handle arraybuffer responseType in XHR

---
<!-- 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: -->
- [x] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 55049c2a676caff72e86a5631350309061a14352
2017-11-23 11:14:11 -06:00
Philippe Normand
0b072af59e servo: Merge #19337 - Implement HTMLMediaElement::canPlayType using gecko-media (from philn:gecko-canPlayType); r=nox
<!-- Please describe your changes on the following line: -->

---
<!-- 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: -->
- [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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: c5b446a5731f41d06a250f7a8222a43c49dd33a9
2017-11-23 06:52:27 -06:00
Bastien Orivel
2eb5ca61f7 servo: Merge #19330 - Add a sanitize_value implementation for the color input (from Eijebong:sanitize_color); r=KiChjang
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 72e7f6095e56ca6230651fc73bced8b460487569
2017-11-22 19:42:58 -06:00
Manish Goregaokar
1fcd9859b8 servo: Merge #19329 - Add RAII guard for cancelling fetch when the consumer no longer cares about it (from Manishearth:fetchcanceller); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 976f9e3d13b6a7676dd863dd397dd6c60e868d58
2017-11-22 18:30:57 -06:00
Emilio Cobos Álvarez
2893cdd233 servo: Merge #19317 - style: Move property allowance tests to PropertyId::parse_into (from emilio:property-allowed-in); r=SimonSapin
It's not only more consistent (since we have a proper ParserContext there), but
also fixes a bunch of bugs where Gecko accidentally exposes and allows setting
internal state because of conversions from nsCSSPropertyID to PropertyId.

This adds the extra complexity of caring about aliases for longer, but that's
probably not a big deal in practice, since we have PropertyDeclarationId.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3864f320e8c6ff707d5b11fe46d67c0677cd112a
2017-11-21 07:47:52 -06:00
Manish Goregaokar
475fb7b541 servo: Merge #19274 - Fetch cancellation (from Manishearth:xhr-cancel); r=jdm
This PR implements cancellation for fetch, and uses it for XHR. This means that fetch clients can now send a message to the fetch task asking for the network request to be aborted.

Previously, clients like XHR had abort functionality but would implement it by simply ignoring future messages from the network task; and would not actually cancel the network fetch.

Source-Repo: https://github.com/servo/servo
Source-Revision: 00b3612fe9045f1cb6ba6c89ba7801642a6fa2c9
2017-11-20 20:48:17 -06:00
Jon Leighton
c63c4f5b1d servo: Merge #19272 - Further changes in relation to #19171 (from jonleighton:issue-19171-2); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 979793593269ed1197e15adeb0b029662ff9d460
2017-11-20 19:31:52 -06:00
Gregory Terzian
c17789c0b6 servo: Merge #18676 - Continue http cache work (from gterzian:continue_http_cache_work); r=jdm
<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e2bc0f017cfd24734777f64d8607b23dbe9552d7
2017-11-20 18:22:06 -06:00
Maxim Novikov
82a9a1c81a servo: Merge #19288 - Implement EventTarget constructor (from m-novikov:impl-eventtarget-constructor); r=KiChjang
Resolves #19283
Do "Wrap" functions only created for elements that aren't marked Abstract in .webidl file?
How can I see code that was generated from webidls?

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

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they are covered by webplatform tests

<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: db5fb74a4d3ff4c354edac8e116ed4f5665d61a5
2017-11-19 18:18:48 -06:00
Christian Gati
0beac6499b servo: Merge #19182 - Treat application/xml like text/xml in ParserContext::process_response (from cgati:parse-xml); r=KiChjang
<!-- Please describe your changes on the following line: -->

* components/script/dom/servoparser/mod.rs updated to handle application/xml as text/xml, along with hoisting application/xhtml+xml from the unknown mime types match arm.
* tests updated via mach

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

<!-- Either: -->
- [X] These changes modify results in test files via the automated: `./mach test-wpt tests/wpt/web-platform-tests/dom/nodes --log-raw /tmp/servo && ./mach update-wpt /tmp/servo`
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 60dca9cc4418b1cd0c21bee89d7b0d0bf657a7ff
2017-11-18 15:09:15 -06:00
olmanz
cb304edc9e servo: Merge #19254 - Move custom elements stuff to their own dom::bindings submodule (from olmanz:issue19179); r=jdm
<!-- Please describe your changes on the following line: -->
r? jdm
Moved the following functions from components/script/dom/bindings/interface.rs to a new file components/script/dom/bindings/htmlconstructor.rs:

- html_constructor()
- get_constructor_object_from_local_name()
- pop_current_element_queue()
- push_new_element_queue()

---
<!-- 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 #19179.

<!-- Either: -->
- [X] These changes do not require tests

<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 07fd6155aae8579f1a30ea99af3549c413240f24
2017-11-17 16:06:38 -06:00
Sandeep Hegde
f8f632ff89 servo: Merge #18984 - Initial steps of Mutation testing (from dsandeephegde:master); r=jdm
<!-- Please describe your changes on the following line: -->
- Added one strategy of mutation which is replacing occurrences && to ||.
- Added test mapping framework for running mutation tests corresponding to a mutant.
- Added one test_mapping.json to map source file in a folder to WPT test.
- Added README mentioning about Mutation testing.
- Added CI script to invoke mutation test.
---
<!-- 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 #18529 (github issue number if applicable).
- [x] These changes do not require tests because it is a python script to run mutation test and does not change any behavior.

<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 50f11e3584c9c0255098bdd438b11a84c093b197
2017-11-16 11:51:01 -06:00
tigercosmos
c8aefed9dc servo: Merge #19249 - fix annotation URL (from tigercosmos:info); r=jdm
The annotation URL for `scroll_node` is wrong. (The origin URL is where it is called, not its implement.)
The implement is in https://drafts.csswg.org/cssom-view/#element-scrolling-members

---
<!-- 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

<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c7e79e91c12d19830fdb4c6c17be2a551f88aa2
2017-11-16 07:49:20 -06:00
Emilio Cobos Álvarez
3a6552934e servo: Merge #19164 - style: More traversal cleanup (from emilio:more-traversal-cleanup); r=nox
This is cleanup that allows me to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1415013 in a more straight-forward way.

Source-Repo: https://github.com/servo/servo
Source-Revision: d117694eccc8d8f89d14213e88a9931d3adee572
2017-11-15 06:51:27 -06:00
Jon Leighton
3437b08855 servo: Merge #19202 - Fire 'select' event in SetSelection{Start,End} (from jonleighton:issue-19171); r=KiChjang
See #19171.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2efbf2230a61a2fda1ecc4cd12618177d4ca50cd
2017-11-15 04:08:24 -06:00
ddh
816a1d8627 servo: Merge #19218 - added navigation start for interactive metrics (from avadacatavra:nav-start); r=jdm
<!-- Please describe your changes on the following line: -->
 follow up from  #18670, fixing #19099

---
<!-- 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 #19099 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7d13e5b83c346d06dc68f22857a17f30ea797402
2017-11-14 09:53:30 -06:00
Shing Lyu
09b780c149 servo: Merge #18183 - Enable screen.width/height/availWidth/availHeight (from shinglyu:availheight); r=asajeffrey
<!-- Please describe your changes on the following line: -->
Support screen.width/height/availWidth/availHeight using information from glutin. r?@paulrouget

Since glutin don't have `availWidth` and `availHeight` information, I let them fallback to `width` and `height`. If that's not acceptable in terms of webcompat, I can remove that part.

There are some test failures on wpt css about mutating screen.width/height should throw exception, but I can't reproduce that behavior on other major browser, so I keep them disabled. Also there are some media query issues, but I believe that's due to some test harness problem on my test machine.

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

<!-- Either: -->
- [x] There are tests for these changes in wpt cssom-view
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 504ad4de2a426c2bc70161a9190fddaa8728ead2
2017-11-13 17:06:25 -06:00
Imanol Fernandez
8b02743573 servo: Merge #19192 - Set the correct Angle GLSL output when using WebGL 2 (from MortimerGoro:webgl2_glsl); r=jdm
Set the correct Angle GLSL output  when using WebGL 2

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

---
<!-- 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: -->
- [x] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f1cf41da00b7973194104aa147f73fe55b0ad3db
2017-11-13 11:50:44 -06:00
tigercosmos
92a54af366 servo: Merge #19127 - scroll, SetScrollTop, SetScrollLeft in element.rs (from tigercosmos:overflow10); r=emilio
<!-- Please describe your changes on the following line: -->
Currently dom-element-scroll have not finished yet. (Step 10)
This PR finish the step 10 of `scroll`, `SetScrollTop`, `SetScrollLeft`

[Step 10 description](https://drafts.csswg.org/cssom-view/#dom-element-scrolltop):
> If the element does not have any associated CSS layout box, the element has no associated scrolling box, or the element has no overflow, terminate these steps.
---
<!-- 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 #19114 (github issue number if applicable).

<!-- Either: -->
- [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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 37760054e2cf742c9043b96b832d2fbdf796d367
2017-11-12 17:24:33 -06:00
Fernando Jiménez Moreno
832f6d2538 servo: Merge #19180 - Fix binding generation for overloaded functions with optionals and de… (from ferjm:optional.overloaded.webidl); r=jdm
…fault values

The generated bindings for an interface like this:

```webidl
void someFunction(Foo foo, optional long a = 0, optional long b = 1);
void someFunction(Bar bar, optional long a = 0);
```
are failing to build with an error like:

```bash
    error[E0425]: cannot find function `Throw` in this scope
         --> /Users/ferjm/dev/mozilla/servo/target/debug/build/script-7b1a12ddd08207e3/out/Bindings/TestBindingBinding.rs:15395:24
          |
    15395 |                 return Throw(cx, NS_ERROR_XPC_BAD_CONVERT_JS);
          |                        ^^^^^ not found in this scope

    error[E0425]: cannot find value `NS_ERROR_XPC_BAD_CONVERT_JS` in this scope
         --> /Users/ferjm/dev/mozilla/servo/target/debug/build/script-7b1a12ddd08207e3/out/Bindings/TestBindingBinding.rs:15395:34
          |
    15395 |                 return Throw(cx, NS_ERROR_XPC_BAD_CONVERT_JS);
          |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

    error[E0425]: cannot find function `Throw` in this scope
         --> /Users/ferjm/dev/mozilla/servo/target/debug/build/script-7b1a12ddd08207e3/out/Bindings/TestBindingBinding.rs:15468:24
          |
    15468 |                 return Throw(cx, NS_ERROR_XPC_BAD_CONVERT_JS);
          |                        ^^^^^ not found in this scope

    error[E0425]: cannot find value `NS_ERROR_XPC_BAD_CONVERT_JS` in this scope
         --> /Users/ferjm/dev/mozilla/servo/target/debug/build/script-7b1a12ddd08207e3/out/Bindings/TestBindingBinding.rs:15468:34
          |
    15468 |                 return Throw(cx, NS_ERROR_XPC_BAD_CONVERT_JS);
          |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

    error: aborting due to 4 previous errors

    error: Could not compile `script`.
```
- [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

** Note that this depends** on https://github.com/servo/rust-mozjs/pull/379

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d055522d355b711c7837ba5997089ba8a7641ae
2017-11-11 08:59:20 -06:00
Emilio Cobos Álvarez
12fcb22337 servo: Merge #19175 - script: Call content_and_heritage_changed from children_changed instead of add_child / remove_child (from emilio:children-changed); r=nox
add_child / remove_child aren't called when a node character data changed. This
is important for finer grained invalidation.

The only test that tests this is now wallpapered, but won't be after #19164.

Source-Repo: https://github.com/servo/servo
Source-Revision: 333c6ef7fa55bfc08e1d53025c9db452e928a8bf
2017-11-10 08:47:50 -06:00
Keith Yeung
c901cfc24a servo: Merge #18262 - Implement value sanitization on HTMLInputElement (from KiChjang:value-sanitization); r=nox
https://html.spec.whatwg.org/multipage/input.html#value-sanitization-algorithm

Source-Repo: https://github.com/servo/servo
Source-Revision: 338e2ae5206d5270a6feaf7adbb8279fe25040e2
2017-11-09 18:35:07 -06:00
Simon Sapin
c86a4ab713 servo: Merge #19128 - Upgrade to rustc 1.23.0-nightly (02004ef78 2017-11-08) (from servo:asciiext); r=nox
This fixes some new warnings, some of which (in `style`) are treated as errors. See https://users.rust-lang.org/t/psa-dealing-with-warning-unused-import-std-ascii-asciiext-in-today-s-nightly/13726

Source-Repo: https://github.com/servo/servo
Source-Revision: c46c9dc019ffe5447297140c22cd8b6ee95a9f5f
2017-11-09 10:00:38 -06:00
Keith Yeung
b89a634e0f servo: Merge #19148 - Import sequence inner types if it appears in dictionary members (from KiChjang:import-sequence-inner-types); r=jdm
Relands #19133, as it was backed out wrongly in #19143.

Source-Repo: https://github.com/servo/servo
Source-Revision: a1f733722167124eb1a63e235101a1dc40ac2aa0
2017-11-08 06:22:16 -06:00
Gregory Szorc
43b411daa9 Backed out changeset dd834d38eaab for Windows debug build bustage 2017-11-07 17:19:22 -08:00
Keith Yeung
4eaa5bff43 servo: Merge #19133 - Import sequence inner types if it appears in dictionary members (from KiChjang:import-sequence-inner-types); r=jdm
Fixes #19107.

r? nox

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ae852b6731f7405a101e01881c7fa70cfb83826
2017-11-07 17:07:03 -06:00
Vijay Hebbar
5cd5befaba servo: Merge #19038 - Added implementation for itemprop and itemtype along with test files (from CJ8664:master); r=jdm
<!-- Please describe your changes on the following line: -->

---
<!-- 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

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

<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 5227df260c601b86358e08ab88adcc9eca93be45
2017-11-06 14:17:11 -06:00
Emilio Cobos Álvarez
b2f213bdcd servo: Merge #18657 - script: Remove HTMLAppletElement (from emilio:bye-applet); r=KiChjang
It was removed from the spec, there's no reason to keep it in tree.

Source-Repo: https://github.com/servo/servo
Source-Revision: a509ebf90ccd24ef80b27737faefa340a5af8916
2017-11-06 10:46:44 -06:00
tigercosmos
019ff0e992 servo: Merge #19115 - fix overflow_y_is_visible() in element.rs (from tigercosmos:overflow); r=jdm
<!-- Please describe your changes on the following line: -->
I think the original logic of `overflow_y_is_visible()` might be wrong.
So fix it to the correct logic, and also pass more tests.

---
<!-- 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: -->
- [X] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 41a5a8c75faa348ff7301963a7f2f6fab7423750
2017-11-06 06:50:13 -06:00
Imanol Fernandez
cd6b380851 servo: Merge #19091 - Add WebGL conformance 2.0.0 tests (from MortimerGoro:webgl2_suite); r=jdm
<!-- Please describe your changes on the following line: -->

This PR includes WebGL conformance 2.0.0 tests. For now I have disabled three folders in the new suite:
- `Conformance`: Tests WebGL 1.0 API like the current 1.0.3 suite we are using, but it includes a lot more tests and many expectations have to be updated. This is better to do in a separate PR because it will require to update github intermittent paths again and maybe detect new intermittents.
- `Conformance2\textures`: It causes a lot of timeouts because of using videos, svgs, and other complicated formats.
- `deqp`: It's a extra GPU testing suite included in the Khronos 2.0.0 suite. Disabled for now because it causes some timeouts.

So in a nutshell, it uses part of the 2.0.0 suite to test webgl 2.0 and keeps using 1.0.3 in order to test WebGL 1.0. It's good enough to enable TDD for the new WebGL 2.0 features

We can create follow-up issues for the next steps:
* deprecate 1.0.3 and use the new 'conformance' folder in 2.0.0 in order to test WebGL 1.0
* Enable `conformance2/textures` and  'deqp' tests once WebGL 2.0 implementation is more advanced or the timeouts are monitored in more detail.

---
<!-- 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: -->
- [x] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 92b49010b107ffd8be9169a1c979710338dc24c4
2017-11-02 15:52:42 -05:00
Henri Sivonen
91ccb03dfb servo: Merge #19096 - Avoid decoding XHR type="json" responses as UTF-16BE/LE (from hsivonen:no-utf16-json); r=avadacatavra
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.

CC @SimonSapin

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

---
<!-- 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: -->
- [x] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e64083ccc624cd508d4001c5456ac7e04aa049a6
2017-11-02 07:38:47 -05:00
ddh
df6b5cc392 servo: Merge #19077 - changed f64 to u64 for navigation start timing until it had to be float (from avadacatavra:floats-are-the-actual-worst); r=jdm
<!-- Please describe your changes on the following line: -->

---
<!-- 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 #18997 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fa319170ebb34afcdfc120b7c3e47fe5b1c21210
2017-11-01 16:56:06 -05:00
Bastien Orivel
3e7c5c517a servo: Merge #19082 - Remove a workaround for https://github.com/rust-lang/rfcs/issues/718 (from Eijebong:fixme_issue_718); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fa93a79ed0c93f88e7fc6473da378eadaabe7b1a
2017-11-01 07:57:04 -05:00
Simon Sapin
f340158788 servo: Merge #19073 - Use encoding-rs instead of rust-encoding (from servo:encoding-rs); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 994ff4b66ee51bbfae431af0ca99497b38fb0e19
2017-11-01 06:37:54 -05:00
Imanol Fernandez
c28968ca87 servo: Merge #19040 - Add support for filtering WebGL extensions based on WebGL version (from MortimerGoro:webgl2_extensions); r=emilio
<!-- Please describe your changes on the following line: -->

Add support for filtering WebGL extensions based on WebGL version

---
<!-- 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: -->
- [x] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 63af764fc5349e213c42d2007b0bff5d310b3422
2017-10-31 16:14:59 -05:00
Bastien Orivel
113ffac80e servo: Merge #18967 - Bump bitflags to 1.0 (from Eijebong:bitflags2.0); r=mbrubeck
See #18809

Still haven't had time to test it but it should fix the tests failures that appeared in m-c

Source-Repo: https://github.com/servo/servo
Source-Revision: fe4139b779b3af749ec1426ddf4e1393c7b85442
2017-10-30 18:25:45 -05:00