Commit graph

34062 commits

Author SHA1 Message Date
Paul Rouget
6a31864126 Update Gradle and SDK 2018-07-31 22:39:45 +08:00
Paul Rouget
bef2fe83cd new android port: fix android build and tests 2018-07-31 22:39:45 +08:00
Paul Rouget
76d394eca8 new android port: update fakeld 2018-07-31 22:39:45 +08:00
Paul Rouget
be6b5f9aad new android port: minimal Android app that relies on libsimpleservo 2018-07-31 22:39:44 +08:00
Paul Rouget
baf6635a4c new android port: introduce a simple servo library 2018-07-31 22:33:51 +08:00
Paul Rouget
cbaf19c65c new android port: Remove Android code from /ports/servo/ 2018-07-31 22:08:54 +08:00
bors-servo
0051597525
Auto merge of #21158 - ferjm:webaudio, r=manishearth,nox,ferjm
WebAudio API

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

This PR adds basic support for the WebAudio API using [servo-media](https://github.com/servo/media) with GStreamer as the audio backend.

There are still some major stuff to fix like:

- [x] Detach ArrayBuffer during the [AudioBuffer "acquire the content" operation](https://webaudio.github.io/web-audio-api/#acquire-the-content). I am naively using `JS_StealArrayBufferContents()` directly, because it is what Gecko uses, but this should probably be part of the [rust-mozjs](https://github.com/servo/rust-mozjs) [TypedArray](https://github.com/servo/rust-mozjs/blob/master/src/typedarray.rs) API. And, in any case, I am not even sure if that's the proper way to do it. According to the results of the WPTs it may not even be right since [this assertion](https://github.com/servo/rust-mozjs/blob/master/src/typedarray.rs#L285) is failing in some cases. I need to dig more about this.
- [x] Disable the GStreamer dependency on Android. Unfortunately gstreamer-rs requires an NDK version upgrade, so we need to disable this for Android until then. I tried adding [different features to servo-media](https://github.com/servo/media/pull/79), but I am currently hitting [this issue](https://github.com/rust-lang/cargo/issues/1197)

I still need to run servo-tidy, change the servo-media dependency to use the git repo and add/fix some comments and TODOs.

The remaining feature work should be done in future PRs.

Note that most of the failing WPTs are failing because we don't implement the tested features yet (we only implement a few AudioNodes) and we have no OfflineAudioContext support, which most WPTs rely on.

<!-- 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/21158)
<!-- Reviewable:end -->
2018-07-31 09:00:06 -04:00
bors-servo
6e7f7fc8eb
Auto merge of #21284 - servo:webgl, r=emilio
Various fixes for the lifecycle of WebGL objects

<!-- 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/21284)
<!-- Reviewable:end -->
2018-07-31 05:14:24 -04:00
Anthony Ramine
34d1195af3 Reenable origin-clean-conformance.html 2018-07-31 11:12:46 +02:00
Anthony Ramine
15d1215949 Properly check for context ownership of objects passed to gl.is*() 2018-07-31 11:12:45 +02:00
Anthony Ramine
76f23f7d78 Simplify gl.getShaderParameter() (fixes #20562)
The expectation change is due to the shader now using its DOM-side compile status.
It is actually a bug for the shader to think it actually compiled successfully,
but at least it does so consistently now.
2018-07-31 11:12:45 +02:00
Anthony Ramine
a0fc4c9832 Fix program and shader lifetime cycle 2018-07-31 11:12:40 +02:00
Manish Goregaokar
2daf9ff3eb Update wpt expectations 2018-07-30 20:38:25 -07:00
Manish Goregaokar
1bb34b1aa9 Bump servo-media 2018-07-30 16:42:38 -07:00
Manish Goregaokar
2c19814bec 48000 -> 44100 2018-07-30 16:42:38 -07:00
Manish Goregaokar
a1fe48d721 Use JS_GetArrayBufferViewBuffer with JS_DetachArrayBuffer 2018-07-30 16:42:38 -07:00
Anthony Ramine
43463e80cb Remove an obsolete todo in gl.compileShader()
We get the uniform data etc at link-time.
2018-07-31 00:28:14 +02:00
Anthony Ramine
6af2ce79a2 Remove an obsolete todo in gl.attachShader()
Attaching the same shader twice should indeed emit an InvalidOperation error.
2018-07-31 00:28:14 +02:00
Anthony Ramine
3c0e82d106 Reenable glsl-long-variable-names.html 2018-07-31 00:28:13 +02:00
Anthony Ramine
e2425c9158 Mark many-draw-calls.html as long-running 2018-07-31 00:28:13 +02:00
bors-servo
b8b691d063
Auto merge of #21286 - servo:jdm-patch-25, r=jdm
Avoid frequent disk space errors on cross builders.

This is killing our CI throughput. Fixes #21235.

<!-- 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/21286)
<!-- Reviewable:end -->
2018-07-30 16:42:36 -04:00
Josh Matthews
f63c9d14a9 Avoid frequent disk space errors on cross builders. 2018-07-30 15:39:24 -04:00
Fernando Jiménez Moreno
b738d9a912 Throw if AudioBufferSourceNode.Start params are negative 2018-07-30 19:54:55 +02:00
Anthony Ramine
a7901bb8d1 Fix some patched WebGL tests where the timeout was malformed 2018-07-30 19:51:00 +02:00
Anthony Ramine
1adfc0badb Add bug links to some WebGL expectations 2018-07-30 19:50:59 +02:00
Anthony Ramine
d6673d1eaf Remove outdated WebGL expectations 2018-07-30 19:50:59 +02:00
bors-servo
1bd34e7c55
Auto merge of #21250 - paulrouget:fixkeys, r=jdm
Refactor winit key handling

This should improve keys input on Linux and Windows.
Should fix #17146 and fix #21161

Tested Mac, Windows and Linux. Basic typing works, combo work, text navigation works. I hit some strange issues where sometimes the text would be displayed late, but I believe it is unrelated to this PR.

If we land that now, we will hit a regression on Mac, we need a winit update that includes https://github.com/tomaka/winit/pull/610.

<!-- 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/21250)
<!-- Reviewable:end -->
2018-07-30 13:02:41 -04:00
Fernando Jiménez Moreno
3b8cb83e04 Make OfflineAudioContextOptions spec compliant 2018-07-30 18:50:36 +02:00
Fernando Jiménez Moreno
19e4c627a3 Update manifest 2018-07-30 15:12:27 +02:00
Fernando Jiménez Moreno
ce828c0071 Get rooting out of AudioBuffer::new_inherited 2018-07-30 14:24:42 +02:00
Fernando Jiménez Moreno
2dba4142ed Update manifest 2018-07-30 14:24:41 +02:00
Fernando Jiménez Moreno
cf86020ef7 Fix interfaces wpt 2018-07-30 14:23:49 +02:00
Fernando Jiménez Moreno
a12374726d Update WPTs expectations 2018-07-30 14:23:48 +02:00
Manish Goregaokar
f8d61a34a2 Update lockfile 2018-07-30 14:23:48 +02:00
Fernando Jiménez Moreno
6aaf5806b1 OfflineAudioContext 2018-07-30 14:23:48 +02:00
Fernando Jiménez Moreno
e034159423 Set env vars to let the build know where GStreamer libs are 2018-07-30 14:23:47 +02:00
Fernando Jiménez Moreno
75dd050e57 Fix rebase mistake 2018-07-30 14:23:47 +02:00
Fernando Jiménez Moreno
572c04c833 Add deps to appveyor 2018-07-30 14:23:47 +02:00
Manish Goregaokar
00014b3f16 Add AudioParam connection support 2018-07-30 14:23:46 +02:00
Fernando Jiménez Moreno
841fedda4f Bump pkg-config version 2018-07-30 14:23:46 +02:00
Fernando Jiménez Moreno
acb03603b6 Fire AudioScheduledSourceNode.onended when playback stops 2018-07-30 14:23:46 +02:00
Fernando Jiménez Moreno
c9ff1b9f57 Enter compartment during AudioBuffer creation 2018-07-30 14:23:46 +02:00
Fernando Jiménez Moreno
596640595c Root JS channels during AudioBuffer construction 2018-07-30 14:23:46 +02:00
Fernando Jiménez Moreno
c617ca0d30 Remove commented code 2018-07-30 14:23:46 +02:00
Manish Goregaokar
fe18200bfc Update media dep, fix duplicate syn dependency 2018-07-30 14:23:45 +02:00
Fernando Jiménez Moreno
477907e578 Do not copy initial data during AudioBuffer construction and use JS_DetachArrayBuffer 2018-07-30 14:23:45 +02:00
Fernando Jiménez Moreno
1649b6a528 Fix build errors after rebase 2018-07-30 14:23:45 +02:00
Fernando Jiménez Moreno
4059e16a15 Remove unneeded libxml2 and gtk deps and change gst binaries url 2018-07-30 14:21:49 +02:00
Fernando Jiménez Moreno
284aeb20ec Try gstreamer-rs travis config 2018-07-30 14:21:48 +02:00
Fernando Jiménez Moreno
562e58ac49 AudioParam value getter 2018-07-30 14:21:48 +02:00