Commit Graph

648 Commits

Author SHA1 Message Date
Imanol Fernandez
0b1c03ee15 servo: Merge #18592 - Implement DOM to texture (from MortimerGoro:dom_texture); r=jdm
<!-- Please describe your changes on the following line: -->

This is a prototype of the WebGL DOMToTexture feature. The API should be fine as a privileged extension for now due to security concerns. The working group has been investigating the viability of unprivileged usage but the spec is not ready yet.

Demo video: https://www.youtube.com/watch?v=hpZqEM5hPao

---
<!-- 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: 3209d22968046b5c3d29a37b79a655497db2050a
2017-10-16 15:36:42 -05:00
Stefan VanBuren
2f40a0b972 servo: Merge #18838 - Remove cssText from CSSStyleValue (from svanburen:remove_cssText); r=emilio
Removed from associated .rs and .webidl

<!-- Please describe your changes on the following line: -->
Not much more to add - let me know if it needs additional changes.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they remove a property that previously had no tests associated with it.

<!-- 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: 240c05f13b859fc87531555cfd59fa273503a1a7
2017-10-14 06:58:29 -05:00
Anthony Ramine
01dd1d4250 servo: Merge #18804 - Another couple of low-key media improvements 👶👣 (from servo:media); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 826352ab4cae13f5154d13ab53885d80a8057337
2017-10-10 06:17:15 -05:00
Anthony Ramine
324832e172 servo: Merge #18742 - Some low-key media improvements (from servo:media-metadata); r=jdm
This just makes our code fail more gracefully.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0444d76c6b117c3ad8dc4d3a59de252eaececbf1
2017-10-05 15:41:22 -05:00
Guillaume Gomez
718308e880 servo: Merge #18612 - Implement EventListenerOptions for EventTarget (from servo:event-listener-options); r=asajeffrey
Source-Repo: https://github.com/servo/servo
Source-Revision: 81044e001941ee3b4eef598125c327c73e993b5d
2017-09-29 19:13:36 -05:00
Anthony Ramine
495ddc40b7 servo: Merge #18582 - Improve HTMLMediaElement (from servo:media); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: f3214372bf7f754126e8b032225f81aea1cccb1b
2017-09-25 03:51:53 -05:00
Fernando Jiménez Moreno
5a57c9e3c7 servo: Merge #18283 - User Timing API (from ferjm:user.timing.api); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18109
- [X] There are tests for these changes. I enabled the peformance-timeline API WPTs but some of them are still failing because of implementation bugs or missing APIs (Resource Timing, for instance) the tests are dependent of. I'll file issues to fix them.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e93749941d2e3569c7c907832658c57ffb18c72
2017-09-07 12:45:46 -05:00
Josh Matthews
d282d094b6 servo: Merge #18382 - Add CEReactions to element creation APIs (from servo:jdm-patch-1); r=cbrewster
This addresses https://github.com/whatwg/dom/pull/506.

---
- [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 they will exist upstream in the future.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4ada03febf2ecdae8220f174a80d22a49a232c5f
2017-09-06 09:38:58 -05:00
Fernando Jiménez Moreno
f4e6c31a8a servo: Merge #18324 - Make Performance Timeline API work in Workers (from ferjm:performance.workers); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18286 and #18308

This patch makes the Performance Timeline API work in workers, removes the exposure of `Performance.timing` in workers and sets the appropriate value of `Performance.now()` in workers.

Source-Repo: https://github.com/servo/servo
Source-Revision: 42de8e3d3fe8927b4730a7a42880eb46f743384a
2017-09-05 17:00:26 -05:00
Joone Hur
17274fd97b servo: Merge #18242 - Implement Ellipse Canvas 2D API (from joone:ellipse); r=jdm
This patch needs to update rust-azure to 0.21.0.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #17598

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 3a4b98ad38214495ac0f1f1aa1052f0c583ffe5c
2017-09-01 20:25:57 -05:00
Remi THEBAULT
856d31c53f servo: Merge #18176 - PerformanceObserverInit.buffered (from rtbo:perf_observer_buffered); r=ferjm
Per #18108, add `buffered` flag in the `PerformanceObserverInit` dict.
Per W3C spec, when `buffered` is set, `PerformanceObserver.observe()` method adds the entries buffered in the `Performance` instance into the observer's entry buffer.
One step is the implementation of the [filter by name and type](https://w3c.github.io/performance-timeline/#filter-buffer-by-name-and-type) algorithm. Don't think that the sort operation is useful in this case, but the spec states that this algorithm is to be used.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18108
- [X] These changes do not require tests (yet) because the timeline API is not powered.

Source-Repo: https://github.com/servo/servo
Source-Revision: ced303b9cbc193b5ebf221cbf2048ac1e7d0d552
2017-08-28 02:20:29 -05:00
Fernando Jiménez Moreno
a21bd23c41 servo: Merge #18155 - Add paint metrics to Performance Timeline API (from ferjm:pwm.perf.timeline); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18111
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 173079c14498f0ef4810ffbaf8f4c03acf557eed
2017-08-23 15:06:12 -05:00
Bruno Bernardino
2d40146e2c servo: Merge #18020 - Implement CanvasRenderingContext2d.fillText's "unimplemented" message (from BrunoBernardino:feature-canvas-filltext); r=jdm
Basic skeleton for implementing CanvasRenderingContext2d.fillText,  only adding methods and parameters in the right place, and a basic test, with some `println!()`.

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

This is only the beginning. It were my first couple of hours looking at Rust and Servo.

However, I have _no clue_ how to get the text to render now (basically go from the `println!()` to something else).

It's also possible I messed something up with the `DOMString.parse()` but not entirely sure.

I'm doing this PR as a starting point to get help and learn more about this, _or_ at least maybe save someone some time while implementing this, if no one's able to take the time and show me where/how.

Because it's still a work-in-progress, I'm leaving the boxes below unchecked (even though there are no errors).

---
<!-- 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 #11681 and #17963

<!-- 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: acd08c75f7ac87d4a61e214816a5f6d47c4a1310
2017-08-23 14:00:47 -05:00
Imanol Fernandez
a09c779593 servo: Merge #18177 - Implement WebGL OES_standard_derivatives extension (from MortimerGoro:oes_standard_derivatives); r=emilio
<!-- Please describe your changes on the following line: -->

Implement WebGL OES_standard_derivatives extension. Some Three.js 3D models fail to render because of the lack of this extension.

---
<!-- 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: 85e6f6f7cc7edc961e246d8ac50b8dc18b0b2617
2017-08-22 17:45:00 -05:00
Pyfisch
bd1354f663 servo: Merge #18093 - Add CompositionEvent bindings (from pyfisch:compositionevent); r=jdm
<!-- Please describe your changes on the following line: -->
Needed for better keyboard input. See also #17578

---
<!-- 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 #__ (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: 111e9951c9e4669302eed0a5109437cfa8a446b6
2017-08-22 16:03:23 -05:00
Connor Brewster
18310b0f62 servo: Merge #18146 - Annotate insertAdjacentHTML with CEReactions (from cbrewster:insertadjacenthtml_cereactions); 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
- [ ] 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: 4918d3f148b4b020ffda470d0337e695bbf805fc
2017-08-18 14:09:15 -05:00
Fernando Jiménez Moreno
f149cfd6f3 servo: Merge #18028 - Performance Timeline API (from ferjm:performance.timeline); r=jdm
[Performance Timeline API](https://www.w3.org/TR/performance-timeline-2/) implementation.

This API is required to allow DOM access to the [Paint Timing API](https://wicg.github.io/paint-timing/#example) metrics implemented in #17256. Unfortunately, I couldn't test it properly, as its usage depends on other APIs like the Paint Timing, User Timing, Resource Timing or Server Timing APIs. I'll work in the integration with the Paint Timing API next.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] There are [WPTs](https://github.com/servo/servo/tree/master/tests/wpt/web-platform-tests/performance-timeline) for this API, however they depend on the implementation of the User Timing and the Resource Timing APIs, which I'll hopefully be implementing soon.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6988c7424ddfdd9a98e6a458ff2ad307a74237aa
2017-08-17 12:27:19 -05:00
Alan Jeffrey
54a7c204fa servo: Merge #17855 - Implement getProperties for StylePropertyMapReadOnly (from asajeffrey:script-implement-more-stylepropertymaypreadonly); r=emilio
<!-- Please describe your changes on the following line: -->

Implement `getProperties` for `StylePropertyMapReadOnly`.

---
<!-- 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 #17579.
- [X] These changes do not require tests because the existing css-paint-api tests catch this (rather annoyingly, they all fail for different reasons, sigh)

<!-- 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: b07f06ce9263177f01cde692d3ea5830a7dfdeeb
2017-08-07 12:29:55 -05:00
Alan Jeffrey
6dfedff42e servo: Merge #17634 - Implement drawing an image from a CSS style value into a canvas (from asajeffrey:canvas-image-css-style-value); r=jdm
<!-- Please describe your changes on the following line: -->

Implemented drawing a CSS style value into a canvas, which is needed for the Houdini CSS Paint API.

This PR is dependent on #17364.

---
<!-- 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 #17432.
- [X] These changes do not require tests because the existing CSS paint API wpt test cases test this behaviour.

<!-- 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: 76ad913870cec3f01731d324967ed191fd5c6be3
2017-07-21 14:39:47 -07:00
Connor Brewster
8df9f2c6bf servo: Merge #17761 - Add [CEReactions] to webidls (from cbrewster:ce_reactions); r=jdm
<!-- Please describe your changes on the following line: -->
Relies on #17614

---
<!-- 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: a6739cb17f381b88531eb6173d048868aec8e082
2017-07-18 12:37:46 -07:00
Alan Jeffrey
7215e1614b servo: Merge #17763 - Placed worklets implementation behind a pref (from asajeffrey:script-worklets-pref); r=jdm
<!-- Please describe your changes on the following line: -->

At the moment, worklets are always exposed, even though their spec is still a draft. This PR hides them behind a pref.

---
<!-- 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 #17680.
- [X] These changes do not require tests because the existing worklet tests do the job.

<!-- 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: 92eeec297bb14f08873aecc04ca3734a37c0478f
2017-07-18 08:11:23 -07:00
Jonathan Chan
7676f117ef servo: Merge #17538 - Implement CSSStyleRule.selectorText (from jyc:selectorText); r=Manishearth
We parse when assigning using the namespaces of the stylesheet. It isn't
clear if the spec says to do that (Firefox doesn't support the setter at
all, Chrome does, Safari doesn't); the spec issue is here:
https://github.com/w3c/csswg-drafts/issues/1511

Also fix ToCss implementation of AttrSelectorOperator to not pad with
spaces, to conform with CSSOM. This means we have to update some unit
tests that expect operators with spaces around them in attribute
selectors to roundtrip.

See the "attribute selector" section of "Serializing Selectors" here:
https://drafts.csswg.org/cssom/#serializing-selectors

CSSStyleRule.selectorText is specified here:
https://drafts.csswg.org/cssom/#dom-cssstylerule-selectortext

<!-- 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 is part of a series to fix #17182

<!-- Either: -->
I am running this to identify what tests will fail; as the other PRs in the series are merged, I believe the tests that pass will change as well.

- [ ] 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: 4b6e79337ef975e3ec752513b76ae6a6284c1199
2017-07-12 11:08:35 -07:00
Alan Jeffrey
fe03dc44ca servo: Merge #17364 - Implement paint worklet properties (from asajeffrey:script-paint-worklets-properties); r=jdm
<!-- Please describe your changes on the following line: -->

This is the final PR to get basic paint worklet support. It adds support for paint worklet properties (https://drafts.css-houdini.org/css-paint-api/#paint-definition-input-properties). When a paint worklet is registered, it specifies a list of CSS properties, and is provided with their computed values when it is invoked.

This is a dependent PR:
* "Implemented paint worklets invoking worklet scripts" is #17239.
* "Implemented paint worklets rendering contexts" is #17326.

There should be tests added for this, hopefully the existing wpt houdini 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
- [X] These changes fix #16839
- [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: bc44246fc682d9f2362eaca6bba07b45c293eb42
2017-07-11 16:24:18 -07:00
Pyfisch
1fab1488ed servo: Merge #17578 - Implement the InputEvent (from pyfisch:input-event); r=jdm
Add WebIDL, from UI Events working draft.
Implement script type for event.

Note that actually firing InputEvents is not part of this commit.

<!-- Please describe your changes on the following line: -->
As part of my effort to improve [keyboard handling](https://groups.google.com/forum/#!topic/mozilla.dev.servo/e6R7eBDjo4M) it is necessary to introduce the InputEvent. While I have a working prototype using the input event this still needs a lot of work  before it can be merged into servo.

cc @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: f18782fb0e10e150f44719d9899a62b84ecb7adc
2017-07-06 10:55:41 -07:00
Imanol Fernandez
bd3dd2aecd servo: Merge #17608 - WebVR 1.1 spec compatibility (from MortimerGoro:webvr_11); r=jdm
<!-- Please describe your changes on the following line: -->

Servo WebVR implementation started when WebVR spec 1.2 was about to be released. 1.2 API included some minor breaking changes from spec 1.1 in order to improve the support of the API in WebWorkers.

But eventually the WebVR  committee decided not to release 1.2 and make it a major version number with a lot more changes. WebVR API 2.0 is still under heavy churn.

This PR removes the WebVR changes that non-released 1.2 version introduced to support full WebVR 1.1 spec.

I pushed some GC fixes in a separate commit. See https://github.com/servo/servo/issues/17076 and https://github.com/servo/rust-mozjs/issues/351

---
<!-- 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: ddd3a15b50213931ad7c90312112275ae958d4a0
2017-07-06 07:25:57 -07:00
Alan Jeffrey
50c87c5959 servo: Merge #17326 - Implement paint worklets rendering context (from asajeffrey:script-paint-worklets-rendering-context); r=jdm
<!-- Please describe your changes on the following line: -->

Implement the rendering context for paint worklets. They really paint things now!

---
<!-- 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 the existing reftest now passes

<!-- 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: a9fea0653a25d5f26f1115203015c5cf699f5227
2017-06-30 15:40:26 -07:00
Alan Jeffrey
fd2309a549 servo: Merge #17239 - Implemented paint worklets invoking worklet scripts (from asajeffrey:script-paint-worklets-invoke-worklet-scripts); r=jdm
<!-- Please describe your changes on the following line: -->

Implemented the "invoke a paint callback" functionality of paint worklets (https://drafts.css-houdini.org/css-paint-api/#invoke-a-paint-callback).

This PR does not implement the 2D rendering context, and just generates a placeholder image.

---
<!-- 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 we can't write reftests until we have 2D rendering contexts implemented.

<!-- 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: 39da6d46742d67c94f9614212af6dabd6124e5b3
2017-06-30 01:16:09 -07:00
Connor Brewster
0a5fa1e734 servo: Merge #17381 - Custom element creation (from cbrewster:custom_element_creation); r=jdm
<!-- Please describe your changes on the following line: -->

This implements the CE-related steps when creating elements. `is` is now support by `document.createElement` and is stored on `Element`s. Only synchronously created autonomous elements are supported as async element creation and customized built-in elements both require custom element upgrade reactions.

Spec: https://dom.spec.whatwg.org/#concept-create-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 #17191 (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: bc3ec0ce1bc0ea55ac60def8b3e75948c7085162
2017-06-23 21:08:40 -07:00
Connor Brewster
2a1b72294b servo: Merge #17224 - WebIDL HTMLConstructor support (from cbrewster:html_constructor); r=jdm
<!-- Please describe your changes on the following line: -->
spec: https://html.spec.whatwg.org/multipage/#htmlconstructor

---
<!-- 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 #17194 (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: c58bcc23ea5c4b5f83944e111ce9a2d0ec2b5400
2017-06-15 21:47:16 -07:00
Anthony Ramine
d6c4710d97 servo: Merge #17254 - Update the WebIDL parser (from servo:webidl); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 0c929ad3fd902f4314844787868fe891033d3b01
2017-06-12 07:37:49 -07:00
Alan Jeffrey
73a447a887 servo: Merge #17150 - Implemented the plumbing for paint worklets (from asajeffrey:script-paint-worklets-plumbing); r=jdm
<!-- Please describe your changes on the following line: -->

This PR implements the plumbing for paint worklets:

* Adding CSS values for paint worklets.
* Implementing a skeleton for the `PaintWorkletGlobalScope` webidl.
* Implementing an executor for paint worklet tasks, and passing it from script to layout.
* Building the display list items for paint worklet images.

This PR does not implement registering or calling paint worklets in JS.

Before it merges, this PR needs a reftest added for basic paint worklet functionality.

---
<!-- 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
- [ ] 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: bf46da065db58549a74c489d521f9375f4137637
2017-06-07 11:57:07 -07:00
Connor Brewster
34dd008741 servo: Merge #17112 - Implement custom element registry (from cbrewster:custom_element_registry); r=jdm
<!-- Please describe your changes on the following line: -->
Implements https://html.spec.whatwg.org/multipage/#customelementregistry

---
<!-- 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 #16753 (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: b584944f1731c71920abf9a03e1f3cd1e790f7c4
2017-06-05 08:38:03 -07:00
antunovicm
12640c5d04 servo: Merge #16920 - Implement window.closed (from synlestidae:servo-16705); r=asajeffrey
<!-- Please describe your changes on the following line: -->

Implements #16705. window.closed should evaluate to true if BrowsingContext is discarded

---
<!-- 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 #16705 (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: 8747ccc9e853bcede73b838634992638655934f5
2017-05-26 10:10:36 -05:00
Anthony Ramine
d00428c643 servo: Merge #17004 - Rollup of 7 pull requests (from nox:rollup); r=nox
- Successful merges: #16885, #16886, #16932, #16939, #16948, #16986, #16995
- Failed merges:

Source-Repo: https://github.com/servo/servo
Source-Revision: 98edf5d54d2c8269395379c68c1342bd867c8cf9
2017-05-24 04:26:19 -05:00
Imanol Fernandez
b0a2e00a30 servo: Merge #16893 - Implement WebGL extensions (from MortimerGoro:webgl_extensions); r=emilio
<!-- Please describe your changes on the following line: -->

This PR provides the base for implementing WebGL extensions. It comes with the following ones already implemented and passing all related WebGL conformance tests:

- OES_texture_float
- OES_texture_float_linear
- OES_texture_half_float
- OES_texture_half_float_linear
- OES_vertex_array_object

I'll submit other extensions like compressed textures in a separate PR to ease the review process. I included the 5 extensions in this PR because it's easier to show/review how the WebGL extension base works.

To pass all OES_texture_float_xxx tests I had to add some missing format conversions in WebGLRenderingContext.rs

---
<!-- 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: b0976566fb9c79f7dc67b2ac808eb50ef4ad653f
2017-05-19 01:09:48 -05:00
Alan Jeffrey
bb213d3150 servo: Merge #16814 - Implement Houdini worklets (from asajeffrey:script-worklets); r=jdm
<!-- Please describe your changes on the following line: -->

This PR implements the current draft Houdini Worklets specification (https://drafts.css-houdini.org/worklets/).

The implementation is intended to provide a responsive environment for worklet execution, and in particular to ensure that the primary worklet executor does not garbage collect, and does not block loading module code. The implementation does this by providing a thread pool, and performing GC and module loading in a backup thread, not in the primary thread.

---
<!-- 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 #16206
- [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: ac99a48aeaa184d3acdb39d249636a140c4b7393
2017-05-17 16:20:42 -05:00
Sumit
5bb75204dc servo: Merge #16883 - Mutation Observer API (from jdm:mutationobserver); r=jdm
Rebased from #16668.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix (partially) #6633
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 5da0aa9f11b7b1c2dc8b5adf178eebafa92d1849
2017-05-17 01:21:40 -05:00
Connor Brewster
2d05e1310d servo: Merge #16697 - Make History attributes and methods throw (from cbrewster:history_throw); r=KiChjang
<!-- Please describe your changes on the following line: -->
All History methods and attributes should throw a `SecurityError` if the document associated with the `History` object is not fully active.
https://html.spec.whatwg.org/multipage/browsers.html#history-3

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

Source-Repo: https://github.com/servo/servo
Source-Revision: ca2a5025e50819f3fc54f66f681f9d73479386e4
2017-05-04 18:50:17 -05:00
Jack Moffitt
d3bc52d30a servo: Merge #16530 - Remove DOMRectList and use sequences instead (from metajack:kill-domrectlist); r=nox
DOMRectList was removed last back in 2015. See
https://www.w3.org/Bugs/Public/show_bug.cgi?id=26200 for details.

<!-- 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: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they are covered by existing 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: ef3903163da57ef31ee0a2566b627c58473bdaab
2017-04-24 10:35:52 -05:00
Imanol Fernandez
2415d9d994 servo: Merge #16544 - Implement WebGL::GetShaderPrecisionFormat (from MortimerGoro:get_shader_precision_format); r=jdm
<!-- Please describe your changes on the following line: -->

Implement WebGL::GetShaderPrecisionFormat. See https://github.com/servo/gleam/pull/119 && https://github.com/servo/webrender/pull/1127

---
<!-- 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 #13985 (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: 1661ae6cf40df574853a822164d36f8d791c646a
2017-04-21 15:16:07 -05:00
Cameron McCormack
a7bd9db013 servo: Merge #16413 - implement the all shorthand (from heycam:all); r=emilio
From https://bugzilla.mozilla.org/show_bug.cgi?id=1356125.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1bf10a915c087e8be3f7fc8452e781d56aa0c265
2017-04-14 02:40:52 -05:00
Hiroyuki Ikezoe
078d71cb9c servo: Merge #16421 - Font variant shorthand (from hiikezoe:font-variant-shorthand); r=heycam
<!-- Please describe your changes on the following line: -->
This is a PR of https://bugzilla.mozilla.org/show_bug.cgi?id=1354876

---
<!-- 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] These changes do not require tests because gecko has a bunch of test cases.

<!-- 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: 8bd07ec5861b2e245dbd1fea388e87488cb69106
2017-04-13 20:48:14 -05:00
Imanol Fernandez
a0cf2377cc servo: Merge #16260 - Gamepad API implementation (from MortimerGoro:gamepad); r=nox,larsbergstrom
<!-- Please describe your changes on the following line: -->

Gamepad API implementation. Tested with HTC Vive and Daydream controllers ;)

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because : current gamepad tests are manual (https://github.com/w3c/web-platform-tests/tree/master/gamepad). There is a  open issue about the best way to test WebVR/Gamepad without real devices https://github.com/w3c/webvr/issues/187. We'll work on the testing suite & mock devices/data on a separate issue.

<!-- 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: 26c45275ffaccf746e47606a74b3aee519673e54
2017-04-13 16:10:42 -05:00
Sumit
5b52b7579e servo: Merge #16268 - Basic MutationObserver interface stubs (from jdm:tmp); r=jdm
Rebase and squash of https://github.com/servo/servo/pull/16190.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e2a1477ae800b86eae45fc9c6daf85615100854
2017-04-05 01:56:16 -05:00
Simon Sapin
aa7e1030b3 servo: Merge #16224 - Make the parser accept @font-face rules without font-family or src (from servo:valid-fontface); r=upsuper
Fix #16165.

Also, it turns out that the CSSFontFaceRule IDL specified in the css-fonts spec is not web-compatible. Instead browsers implement a .style attribute like in CSSStyleRule: https://github.com/w3c/csswg-drafts/issues/825

This in turn requires preserving data about which descriptors were set or not (distinguishing unset from set to a value that happens to be the initial value), so this commit also makes every field `Option<_>`.

Source-Repo: https://github.com/servo/servo
Source-Revision: fac0d17fd6edf996876d6e6379e48ef4f9cb43d6
2017-04-03 03:53:09 -05:00
Ying-Ruei Liang(KK)
940f61d613 servo: Merge #16170 - Implement HTMLAnchorElement.rel getter and setter (from TheKK:implement_html_anchor_element_rel); r=jdm
This PR makes code below possible:

```javascript
a = document.createElement("a");
a.rel = "foo";
console.log(a.rel); // print out "foo"
```
---
- [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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2e743c2c56d7841ed9135e72581bf7db5e1092b5
2017-03-30 17:25:31 -05:00
Alan Jeffrey
d497b7cef8 servo: Merge #15679 - Implement cross-thread postMessage (from asajeffrey:script-postMessage-xorigin); r=emilio
<!-- Please describe your changes on the following line: -->

This PR implements cross-thread postMessage,

It builds on #15438 and #15478, only the last commit is part of this PR.

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

<!-- 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: 1caf8a71dcdb9d749ad2d2c9d82fe0d913d7e17c
2017-03-15 12:59:15 -07:00
Alan Jeffrey
c9f3ef23e6 servo: Merge #15536 - Implement setter for document.domain (from asajeffrey:script-document-domain-setter); r=nox
<!-- Please describe your changes on the following line: -->

This PR implements the setter for `document.domain`.

It builds on #15438 and #15478, only the last commit is part of this PR.

It includes tests for similar-origin security checks.

---
<!-- 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 #934.
- [X] There are tests for these changes.

<!-- 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: e600e0495ce4ab0f1bb798689f8ebeab84258ec3
2017-03-15 08:35:41 -07:00
montrivo
36f0408eda servo: Merge #15821 - Implement ImageData constructors #15671 -- 1 (from montrivo:ImDataConstructors); r=Ms2ger
<!-- Please describe your changes on the following line: -->
Implement ImageData constructors
* new constructors in the imagedata.rs file
* modification of the ImageData::new method
* new method ImageData::from_vec
* new wpt test file imagedata.html

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

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

<!-- 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: 5bfa87a8e27e125fced2c8824e3ce784f8dc5405
2017-03-15 02:23:48 -07:00
projektir
485941d81f servo: Merge #15861 - Make text decoration testable and do not serialize initial text-decoration-style (from projektir:make-text-decoration-testable); r=Wafflespeanut
Servo now uses the same name for the text-decoration-line longhand property as Gecko. This was done to enable testing of the text-decoration shorthand.

The text-decoration shorthand has been fixed to not serialize initial text-decoration-style.

---

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

---

- [x ] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: dc3b32c853d51973cea98c235e7a9ab0bd00366e
2017-03-08 21:39:30 -08:00