Fixes:
```rust
error: the type `android_injected_glue::ffi::android_app` does not permit zero-initialization
--> ports/libsimpleservo/jniapi/src/lib.rs:511:46
|
511 | let mut app: ffi::android_app = unsafe { std::mem::zeroed() };
| ^^^^^^^^^^^^^^^^^^
| |
| this code causes undefined behavior when executed
| help: use `MaybeUninit<T>` instead
|
= note: `-D invalid-value` implied by `-D warnings`
note: Function pointers must be non-null (in this struct field)
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/android_injected_glue-0.2.3/src/ffi.rs:23:5
|
23 | pub onAppCmd: extern fn(*mut android_app, i32),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to previous error
```
Made all "free" extern "C" APIs in simpleservo fallible by returning …
…null pointr or boolean value. ServoApp will need to be modified to check return values.
<!-- 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#23514 (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because _ServoApp will test/verify.__
<!-- 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/23828)
<!-- Reviewable:end -->
Generate simpleservo.h in appropriate target directory.
This change makes the C API's build script take the the actual build target into account when generating the C header.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#23794
- [x] These changes do not require tests because no tests for UWP build.
<!-- 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/23830)
<!-- Reviewable:end -->
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.
Add source module to UWP logging output
Updated support/hololens/Servo.cpp to use url: google.com
New debug output:
```
RUST: DEBUG - html5ever::tokenizer - got characters None
RUST: DEBUG - script::script_thread - Processing event FromConstellation(ConstellationControlMsg::NavigationResponse).
RUST: DEBUG - html5ever::tokenizer - processing in state RawData(ScriptData)
```
---
<!-- 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#23755
- [x] These changes do not require tests because we can't automatically test logging output.
<!-- 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/23783)
<!-- Reviewable:end -->
Upgrade WebRender
This is against an old Servo because I can't build current Servo due to compile errors in RNG crates. I verified that it starts up.
---
<!-- 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#23516
- [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/23516)
<!-- Reviewable:end -->
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 -->