Commit graph

1680 commits

Author SHA1 Message Date
bors-servo
8eddb60150
Auto merge of #24137 - gterzian:fix_error_throwing_on_unknown_js_arg, r=jdm
Codegen: throw type error when encountering an unknown argument

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

FIX #24130

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24137)
<!-- Reviewable:end -->
2019-09-05 13:39:52 -04:00
Gregory Terzian
5149aefd85 codegen: throw type error when encountering an unknown argument 2019-09-05 18:29:02 +08:00
Kagami Sascha Rosylight
5695ee94a5 Add [Default] toJSON() to performance interfaces 2019-09-01 23:23:57 +09:00
Simon Sapin
98e4a53b72 Upgrade to rustc 1.39.0-nightly (f7af19c27 2019-08-15) 2019-08-23 08:23:21 +02:00
bors-servo
4275420a56
Auto merge of #23844 - saschanaz:tojson, r=Manishearth
Support default toJSON in WebIDL

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

Ported related lines from gecko.

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23844)
<!-- Reviewable:end -->
2019-08-20 17:27:14 -04:00
marmeladema
357b6c54ff Use safe JSContext in callbacks 2019-08-09 00:43:29 +01:00
marmeladema
0703a1ad6d Use safe JSContext as first argument for throw_dom_exception 2019-08-09 00:43:28 +01:00
marmeladema
6c26518f61 Remove usage of various unsafe keyword 2019-08-09 00:43:28 +01:00
marmeladema
78034a90d0 Use safe JSContext when possible in interface.rs 2019-08-09 00:43:24 +01:00
marmeladema
8b070fef52 Use safe JSContext in get_constructor_object_from_local_name 2019-08-09 00:02:10 +01:00
marmeladema
b18fa8b8a7 Use safe JSContext in compartments 2019-08-09 00:02:10 +01:00
marmeladema
ce3778afcc Remove some usage of unsafe code in iterator.rs 2019-08-09 00:02:09 +01:00
marmeladema
8968286aa1 Don't mark new methods as unsafe in code generation 2019-08-09 00:02:09 +01:00
marmeladema
51e22fbc26 Remove some usage of unsafe code in Promise 2019-08-09 00:02:07 +01:00
Simon Sapin
c38c964f1b Upgrade to rustc 1.38.0-nightly (dddb7fca0 2019-07-30) 2019-07-31 13:34:01 +02:00
Simon Sapin
0215d09ccb Generate apis.html and css-properties.json for docs as part of crates’ build scripts
… rather than as an extra step after `cargo doc`.
This helps always using the correct set of CSS properties
(for layout 2013 v.s. 2020).
2019-07-30 08:37:33 +02:00
Simon Sapin
f1300bb98b Auto-generate CSSStyleDeclaration.webidl for CSS properties based on the style crate 2019-07-29 17:37:03 +02:00
bors-servo
8ec28978cd
Auto merge of #23777 - jdm:webgl-main-thread, r=asajeffrey
Support running WebGL in its own thread or on the main thread.

This is the final missing piece to support WebGL in ANGLE on Windows. ANGLE doesn't support multiple GL contexts on separate threads using the same underlying Direct3d device, so we need to process all GL operations for WebGL on the same thread as the compositor. These changes try to retain enough flexibility to support both approaches so we can get WebGL working on Windows ASAP.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23697
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23777)
<!-- Reviewable:end -->
2019-07-26 09:16:34 -04:00
Josh Matthews
a2ca3ddbd9 Remove extra webgl message pumping thread. 2019-07-25 23:07:23 -04:00
Josh Matthews
410d5bc772 Update SpiderMonkey bindings for Windows arm64 crash fix. 2019-07-25 20:23:21 -04:00
Kagami Sascha Rosylight
bf70decdd3 remove redundant extra scoping 2019-07-25 12:43:43 +09:00
Kagami Sascha Rosylight
87cc409579 use SafeJSContext 2019-07-25 11:14:21 +09:00
Kagami Sascha Rosylight
caf7a2488e
Merge branch 'master' into tojson 2019-07-25 10:09:33 +09:00
Kagami Sascha Rosylight
16b4e3446b Support default toJSON in WebIDL 2019-07-24 22:01:55 +09:00
marmeladema
88cacfb009 Modify *::get_cx methods to return a safe JSContext instead of a raw one 2019-07-24 09:53:10 +01:00
marmeladema
2c5d0a6ebc Convert CGTraitInterface to use safe JSContext instead of raw JSContext 2019-07-24 08:24:50 +01:00
marmeladema
808fa65aef Convert internal methods to handle safe JSContext instead of raw JSContext 2019-07-24 08:18:22 +01:00
marmeladema
2fb3f1f983 Callbacks now uses safe JSContext instead of raw JSContext 2019-07-24 08:18:22 +01:00
marmeladema
6e4caf1153 DefineDOMInterfaceMethod now takes a SafeJSContext instead of a JSContext
as first argument.
2019-07-24 08:18:22 +01:00
marmeladema
aa0e4f5c76 GetPerInterfaceObject methods now takes a SafeJSContext instead of a JSContext
as first argument.
2019-07-24 08:18:22 +01:00
marmeladema
0a5a9bc7bc CreateInterfaceObjects now takes a SafeJSContext instead of a JSContext
as first argument.
2019-07-24 08:18:21 +01:00
marmeladema
35dc5320ab Wrap(Global)Method now takes a SafeJSContext instead of a JSContext
as first argument.
2019-07-24 08:18:21 +01:00
marmeladema
cd0eb88a3e ConstructorEnabled now takes a SafeJSContext instead of a JSContext
a first argument. The function cannot be made safe because of call
to unsafe function is_exposed_in.
2019-07-24 08:18:20 +01:00
bors-servo
7ffe65e672
Auto merge of #23745 - georgeroman:implement_get_element_property_wd_command, r=jdm
Implement GetElementProperty wd command

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

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23745)
<!-- Reviewable:end -->
2019-07-23 21:24:57 -04:00
Emilio Cobos Álvarez
3d57c22e9c Update euclid.
There are a few canvas2d-related dependencies that haven't updated, but they
only use euclid internally so that's not blocking landing the rest of the
changes.

Given the size of this patch, I think it's useful to get this landed as-is.
2019-07-23 23:09:55 +02:00
George Roman
ef7b58f0cd Check existence of property in get_property_jsval 2019-07-23 10:00:19 +03:00
Alan Jeffrey
aa0a72df0f Added framebuffer and related attributes to XRWebGLLayer 2019-07-18 14:24:50 -05:00
sreeise
871239a3e3 Change bindings generation to make Exposed annotation aware of members/partial interfaces 2019-07-14 09:24:43 -04:00
Josh Matthews
dbaed5ed92 Make GL/GLES decisions based on the API in use. 2019-07-12 13:36:44 -04:00
Kagami Sascha Rosylight
01151274f1 Require default dictionary value for optional dicts 2019-07-12 12:16:09 +09:00
Kagami Sascha Rosylight
56f31c85ef Sync WebIDL.py with gecko 2019-07-12 12:14:06 +09:00
Manish Goregaokar
b654b6007a Hook input code into new webxr crate 2019-07-11 11:12:59 -07:00
Manish Goregaokar
8780edb165 Hook webxr data into XRFrame/XRView/XRSpace 2019-07-11 11:12:59 -07:00
Manish Goregaokar
d55ed4240c Hook requestSession() into new XR crate 2019-07-11 11:12:59 -07:00
bors-servo
aa752e4d45
Auto merge of #23711 - saschanaz:frompoint, r=Manishearth
Implement DOMPoint.fromPoint

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

Implements DOMPoint.fromPoint and fixes codegen to use default value when an optional dictionary member got `undefined`.

PS: The codegen change is about:

```webidl
dictionary MyDictionary {
  optional short myMember = 0;
  short anotherMember;
}

[Exposed=Window, Constructor]
interface MyInterface {
  void myMethod(optional MyDictionary myDict);
};
```

```js
// The following two must behave same
new MyInterface().myMethod({ myMember: undefined, anotherMember = 0 });
new MyInterface().myMethod({ anotherMember = 0 });
```

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

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23711)
<!-- Reviewable:end -->
2019-07-05 15:01:31 -04:00
Kagami Sascha Rosylight
40dbb2c100 Implement DOMPoint.fromPoint 2019-07-06 01:15:24 +09:00
Fernando Jiménez Moreno
8e0160fa71 Update servo media to include global mute support 2019-07-05 11:01:19 +02:00
bors-servo
0dc17af7f0
Auto merge of #23483 - ceyusa:player-context, r=jdm
Media player rendering with GL textures

These patches pass the application's OpenGL raw context  and the its native display address to the media player, in order to create an internal wrapped context, thus it will generate video frames as textures.

For now only EGL from glutin-based app and android are in place, though tested only in Linux glutin app.

This PR also renders the generated frame textures by Servo/Media and renders them by using a thread that connects Webrenderer's ExternalImageHandler and each instantiated player. **By now, these patches, disable the WebGL rendering**. We need to provide a ExternalImageHandler demuxer.

This PR depends on https://github.com/servo/media/pull/270

- [X]  `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- This PR fixes #22300 and fixes #22920

In order to test it you must launch servo as

`./mach run -- --pref media.glvideo.enabled [...]`

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23483)
<!-- Reviewable:end -->
2019-07-04 23:28:28 -04:00
bors-servo
29097d15d0
Auto merge of #23669 - georgeroman:more_array_like_types, r=ferjm
Add support for more array-like types in is_array_like

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

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23669)
<!-- Reviewable:end -->
2019-07-04 08:18:52 -04:00
Fernando Jiménez Moreno
cd17b6ca66 Fix typos, warnings and other nits 2019-07-04 10:26:48 +02:00