Commit graph

39510 commits

Author SHA1 Message Date
Anthony Ramine
10eccc8beb Rename Arc to ServoArc in layout_2020::dom_traversal 2019-11-26 16:36:24 +01:00
Simon Sapin
c156bf2dd9 Add a .servobuild option for --with-debug-assertions 2019-11-26 16:36:24 +01:00
Simon Sapin
98e6f21d02 Run WPT for Layout 2020 on CI 2019-11-26 16:22:58 +01:00
Simon Sapin
cbc3f8a421 Linux release build CI: time virtualenv creation and cargo fetch 2019-11-26 16:22:58 +01:00
Simon Sapin
67cb511549 Update WPT expectations for Layout 2020 2019-11-26 16:22:58 +01:00
Mátyás Mustoha
8fefa23019 Add support for WebGL2 ReadPixels functions
Adds support for the new ReadPixels functions introduced with WebGL2
and the relevant PixelStorei parameters.

Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.10
2019-11-26 16:09:13 +01:00
Patrick Shaughnessy
7363db31db Fix #2909 as far as WPT is concerned, not full data-url class integration 2019-11-26 09:49:30 -05:00
Simon Sapin
80eec48d37 Use std::mem::take instead of defining it 2019-11-26 15:42:27 +01:00
Simon Sapin
b2b3ea992c Make IndependentFormattingContext a struct that owns styles
… and has a private enum for its contents.

Privacy forces the rest of the code to go through methods
rather than matching on the enum,
reducing accidental layout-mode-specific behavior.
2019-11-26 15:42:27 +01:00
bors-servo
7a72f8a168
Auto merge of #24842 - servo:jdm-patch-34, r=nox
Make JS runnables for workers execute on correct event loop

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #24812
2019-11-26 09:33:59 -05:00
WPT Sync Bot
e77be0ce0f Update web-platform-tests to revision 1cee79240e1a6e2df18faa0ed27c7febada1e3fb 2019-11-26 13:17:56 +00:00
bors-servo
799057f1e6
Auto merge of #24863 - asajeffrey:gstplugin-resizing, r=ferjm
The gstreamer plugin should resize when it's presented with frames to fill

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

This is a workaround for race conditions in the embedder.

---
<!-- 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 #24835
- [x] These changes do not require tests because it's fixing a bug with an embedding

<!-- 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. -->
2019-11-26 06:41:33 -05:00
bors-servo
75aba2b7d9
Auto merge of #24854 - paulrouget:xrprompt, r=Manishearth
Prompt user to install OpenXR package if not installed

Fix #24086

It's important to note that this PR introduces a restricted capability. During the app store submission process we will need to justify why we want to use that capability.

This piece of UI is important for the Emulator, where OpenXR is not available by default.
2019-11-26 02:22:07 -05:00
bors-servo
74bf0ce5c2
Auto merge of #24866 - Manishearth:iterator-invalidation, r=jdm
Fix iterator invalidation in our forEach implementation.

Currently we iterate over iterables in forEach based on the length they report when we start iterating, however the inner callback is able to change this.

```js
let params = new URLSearchParams("foo=bar&baz=qux");
params.forEach((p) => {
    console.log(p);
    params.delete("baz");
})
```

This causes us to panic [here](f1aa5d8dbd/components/script/dom/bindings/codegen/CodegenRust.py (L7412)) over an attempt to access out of bounds.

Relevant spec: https://heycam.github.io/webidl/#es-forEach

r? @jdm
2019-11-25 23:27:33 -05:00
Manish Goregaokar
38a666742f Add WPT test for invalidating WebIDL iterators during forEach 2019-11-25 20:27:15 -08:00
Paul Rouget
75b522d210 Prompt user to install OpenXR package if not installed 2019-11-26 05:10:39 +01:00
Manish Goregaokar
d233558b9b Fix iterator invalidation in our forEach implementation. 2019-11-25 19:56:14 -08:00
Alan Jeffrey
2356f3ea6b The gstreamer plugin should resize when it's presented with frames to fill, not when caps are set 2019-11-25 15:03:58 -06:00
Alan Jeffrey
82e7e457e7 Add url parameter to the servosrc gstreamer plugin 2019-11-25 13:27:36 -06:00
bors-servo
f1aa5d8dbd
Auto merge of #24857 - pshaughn:master, r=jdm
add llvm-dev to Debian requirements

<!-- 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: -->
- [ ] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #24852 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's the build process itself, not servo code

<!-- 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. -->
2019-11-25 13:09:42 -05:00
bors-servo
49841b8ce9
Auto merge of #24754 - asajeffrey:gstplugin, r=ferjm
Add a gstreamer servosrc plugin

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

A first draft of a gstreamer plugin. Lots of stuff to fix, most importantly that it should write to GL memory, not do readback. But it's a start!

---
<!-- 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 it's a new platform

<!-- 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. -->
2019-11-25 12:42:00 -05:00
Josh Matthews
9d8b15f1bf Don't panic if surfman initialization fails. 2019-11-25 12:12:45 -05:00
Alan Jeffrey
0ee6695e4e Run bootstrap-gstreamer in CI 2019-11-25 10:13:15 -06:00
Alan Jeffrey
57af033a28 Require gstreamer 1.16 in mach 2019-11-25 10:12:05 -06:00
Alan Jeffrey
69acec137d Add a gstreamer servosrc plugin 2019-11-25 10:12:05 -06:00
bors-servo
f6a20a14b8
Auto merge of #24856 - servo-wpt-sync:wpt_update_25-11-2019, r=servo-wpt-sync
Sync WPT with upstream (25-11-2019)

Automated downstream sync of changes from upstream as of 25-11-2019.
[no-wpt-sync]
r? @servo-wpt-sync
2019-11-25 11:03:56 -05:00
WPT Sync Bot
ae09310953 Update web-platform-tests to revision 157b71e48394fb63f91fa497be429c3543b0ab03 2019-11-25 14:07:26 +00:00
bors-servo
a562808ebb
Auto merge of #24822 - servo:fontcontext, r=SimonSapin
Start implementing text in layout 2020
2019-11-25 08:07:02 -05:00
Anthony Ramine
85b2a4dc64 Support line_height better in layout 2020 2019-11-25 10:54:46 +01:00
Anthony Ramine
b3d30d284e Start implementing text in layout 2020 2019-11-25 10:54:46 +01:00
Anthony Ramine
7e143c7a05 Make floats not parse on layout 2020 2019-11-25 10:54:46 +01:00
Anthony Ramine
a5e55ddb20 Introduce GlyphStore::total_advance 2019-11-25 10:54:46 +01:00
Anthony Ramine
6f49dc2356 Properly use STYLE_THREAD_POOL in layout 2020 2019-11-25 10:54:46 +01:00
Anthony Ramine
1446756774 Pass a LayoutContext to TextRun::layout in 2020 2019-11-25 10:54:46 +01:00
bors-servo
ea32495504
Auto merge of #24708 - szeged:webgpu-base, r=gterzian,kvark
Initial implementation of WebGPU API

<!-- Please describe your changes on the following line: -->
- Added the WebIDL bindings for GPU and GPUadapter interfaces.
- Created a background thread for WebGPU api calls.
- Established the async communication between the background thread and the WebGPU interfaces.
- Implemented the `requesAdapter` function of `navigator.gpu`

`./mach test-tidy` reports an error due to the different `arrayvec` version used in `servo` and `webgpu`, so added it to the ignore list in `servo-tidy.toml`

---
<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes addresses a part of #https://github.com/servo/servo/issues/24706

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

cc @jdm, cc @kvark

<!-- 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/24708)
<!-- Reviewable:end -->
2019-11-25 00:00:46 -05:00
bors-servo
c8791c0dbb
Auto merge of #24680 - saschanaz:formdataevent, r=jdm
Require FormDataEventInit dictionary

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

Should probably wait until https://github.com/whatwg/html/issues/5064 be fixed.

---
<!-- 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 __ (#22670 mentions `FormDataEvent` but the codegen itself still has a problem, in e.g. `PromiseRejectionEventInit`)

<!-- 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. -->
2019-11-24 17:39:30 -05:00
bors-servo
122d4fd617
Auto merge of #24851 - servo-wpt-sync:wpt_update_24-11-2019, r=servo-wpt-sync
Sync WPT with upstream (24-11-2019)

Automated downstream sync of changes from upstream as of 24-11-2019.
[no-wpt-sync]
r? @servo-wpt-sync
2019-11-24 10:06:21 -05:00
Zakor Gyula
47e39ec1e3 Patch wgpu-native 2019-11-24 15:10:42 +01:00
WPT Sync Bot
cf1754151c Update web-platform-tests to revision 3f26c954fb1791782bb73bd2f37a727bd8650d55 2019-11-24 13:00:21 +00:00
Kagami Sascha Rosylight
94565c4088 Require FormDataEventInit dictionary 2019-11-24 15:31:15 +09:00
Patrick Shaughnessy
a2a3ecac93 Merge branch 'master' of https://github.com/pshaughn/servo 2019-11-23 22:08:43 -05:00
Patrick Shaughnessy
f1b34aa995 llvm-dev is required on Debian 2019-11-23 22:06:39 -05:00
bors-servo
3a21261f69
Auto merge of #24847 - servo-wpt-sync:wpt_update_23-11-2019, r=servo-wpt-sync
Sync WPT with upstream (23-11-2019)

Automated downstream sync of changes from upstream as of 23-11-2019.
[no-wpt-sync]
r? @servo-wpt-sync
2019-11-23 08:40:01 -05:00
WPT Sync Bot
7289e837fd Update web-platform-tests to revision f0cb9071aea5ce5b641fcba5f362a0796bdc70bc 2019-11-23 13:39:46 +00:00
bors-servo
0d549e8146
Auto merge of #24841 - servo:jdm-patch-31, r=Manishearth
Useful scripts for interacting with WPT logs

These are scripts I used to generate the list in https://github.com/servo/servo/issues/24828, analyze test failures for #23290, and disable slow tests.
2019-11-22 21:06:18 -05:00
bors-servo
834a0409b9
Auto merge of #24811 - servo:fail-fast, r=jdm
Fix updating the GitHub Status as soon as any TC task fails

… rather than only when the entire task group is resolved. This allows Homu to more quickly be notified of a failure, and move on to the next PR in the queue sooner.

(Plus drive-by Brewfile fix.)
2019-11-22 19:38:49 -05:00
bors-servo
f14eb65a11
Auto merge of #24838 - Manishearth:squeeze, r=jdm
Add support for squeeze events

Depends on https://github.com/servo/webxr/pull/98
2019-11-22 17:24:16 -05:00
Manish Goregaokar
87f729731a Add support for squeeze events 2019-11-22 13:58:13 -08:00
Josh Matthews
41d1ecac64
Fix visual indent error. 2019-11-22 14:34:26 -05:00
Josh Matthews
0f30755522 Ensure JS runnables are dispatched to a worker's event loop instead of its parent. 2019-11-22 14:08:02 -05:00