Commit graph

3959 commits

Author SHA1 Message Date
bors-servo
52c90955dc
Auto merge of #27438 - paulrouget:crashReporter, r=jdm
UWP Crash reporter

This is supposed to address #27167 and #26523. Also fix #27435.

These changes are still WIP as I found a few bugs, it needs more testing and the actual code to upload is not implemented yet. But I'd like to get an early feedback.

First, panics are caught via `panic::set_hook` instead of `catch_unwind` allowing us to catch more panics.
We also now report panics reported via the `Embedder:Panic` message.
Once the panic is caught, if possible, we try to recover.
I haven't found a way to recover when the panic is caught is a non-GL thread. We need a generic way to throw from the UWP code, and even trying to add a UnhandledEvent handler doesn't appear to work.

Once a panic is caught (even if we can not recover) a crash-report file is created, including the backtrace, stdout, and the current url.

If the app did not crash at that point, or after a restart if it did, we check if the crash report file is present, and if so, we present a panel to the user to allow them to upload the report. At that point the user can also add details to the report.

<img width="1079" alt="Screen Shot 2020-07-29 at 12 35 44" src="https://user-images.githubusercontent.com/373579/88790406-6d777180-d198-11ea-9237-6f80dc9d0340.png">
2020-08-04 11:30:47 -04:00
Paul Rouget
43670c6eaa Box C preferences to avoid dangling pointers 2020-08-03 17:36:52 +02:00
Paul Rouget
593200e693 Catch more panics.
Stop using catch_unwind and use set_hook, allowing us to catch
more panics. Also reporting Embedder::Panic messages.
2020-08-03 17:31:34 +02:00
Alan Jeffrey
ea0fec6aab Added a recipe for streaming to twitch 2020-07-31 14:16:13 -05:00
Alan Jeffrey
172d296c8b Replace a bounded channel by an unbounded one in the gstreamer plugin 2020-07-30 13:31:12 -05:00
Alan Jeffrey
78c7621177 Add an example streaming a Hubs room to the gstreamer plugin 2020-07-30 13:30:21 -05:00
Alan Jeffrey
f87fdfee3c Add a prefs property to the gstreamer plugin 2020-07-30 13:29:30 -05:00
bors-servo
b1bd409047
Auto merge of #27449 - asajeffrey:gst-plugin-readme-edits, r=jdm
Gstreamer plugin README edits

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

Updated docs to the gstreamer plugin, now with a recipe for streaming to youtube live!

---
<!-- 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 don't test READMEs

<!-- 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. -->
2020-07-29 22:34:10 -04:00
Alan Jeffrey
4d4a9c22ef Update gstreamer plugin README: directions for streaming to youtube live 2020-07-29 17:59:43 -05:00
Alan Jeffrey
308aa1606b Update gstreamer plugin README: use the glvideoflip plugin 2020-07-29 17:39:06 -05:00
Alan Jeffrey
5c121bc8d4 Update gstreamer plugin README: use the -e flag 2020-07-29 17:38:35 -05:00
Alan Jeffrey
ad4eb52a85 Update gstreamer plugin README: we support webgl content 2020-07-29 17:37:55 -05:00
bors-servo
c26a803fee
Auto merge of #27429 - asajeffrey:webxr-user-intent-pref, r=Manishearth
Add a pref to indicate user intent to enter webxr

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

Add a pref to indicate that the user has indicated intent to enter webxr.

---
<!-- 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 command-line pref

<!-- 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. -->
2020-07-29 18:25:12 -04:00
Alan Jeffrey
89a2c5175f Set the dom.webxr.unsafe-assume-user-intent pref in the gstreamer plugin's webxr mode 2020-07-29 16:58:47 -05:00
bors-servo
0ce3ad5a4b
Auto merge of #27417 - jdm:clear-reload, r=Manishearth
Make reload button clear the network cache.

The developer workflow in FxR is frustrating right now because of bugs like https://github.com/servo/servo/issues/24385. To allow us to put out a new release soon that addresses this papercut, these changes make the reload button clear the network cache in FxR.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix (kind of) #26411.
- [x] These changes do not require tests because can't test FxR.
2020-07-28 03:02:44 -04:00
Manish Goregaokar
9fe70e6b71 Move secondary view support into a pref 2020-07-27 20:45:42 -07:00
Josh Matthews
f030162ec3 Make reload button clear the network cache. 2020-07-27 22:34:07 -04:00
bors-servo
774673d186
Auto merge of #27304 - paulrouget:staticdevtoolsport, r=jdm
UWP: non random port for devtools, and support for custom UWP prefs

packages-prefs.json is now taken into account for libsimpleservo. Making it possible to have custom pref for the UWP builds, removing some weirdness in the way we handle preferences in the hololens code.

This also adds a new set of preferences to control the devtools server startup state, and make the port choice constant across sessions.

Fix #27267
Fix #22970
2020-07-21 03:38:10 -04:00
Paul Rouget
1b0de562ed Remove simpleservo antialiasing option, rely on pref 2020-07-21 06:30:06 +02:00
bors-servo
8ce3ff656d
Auto merge of #27295 - asajeffrey:gstreamer-webxr, r=Manishearth
Gstreamer plugin support for streaming from webxr

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

Allows us to stream webxr video content.

---
<!-- 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 don't reftest the gstreamer plugin

<!-- 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. -->
2020-07-17 17:36:38 -04:00
Alan Jeffrey
ec9f1fe9d4 Added documentation for gstreamer webxr 2020-07-17 10:12:17 -05:00
Paul Rouget
b8d6b1d52d Support package-prefs.json for libsimpleservo 2020-07-17 08:30:11 +02:00
Alan Jeffrey
50e168a688 Gstreamer plugin support for streaming from webxr 2020-07-16 14:16:32 -05:00
Paul Rouget
6252d36a14 Unfocus input when virtual keyboard is dismissed 2020-07-13 14:04:06 +02:00
Alan Jeffrey
a2142d7dbd Add support for webxr cubemap and spherical 360 rendering 2020-07-09 14:02:23 -05:00
bors-servo
ea9ecd6474
Auto merge of #27142 - asajeffrey:gstplugin-lazy-gl-init, r=ferjm
Delay initializing servo GL until as late as possible

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

Initialize the GL state for the gstreamer plugin as late as possible.

---
<!-- 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 #27013
- [x] These changes do not require tests because it's a gstreamer plugin 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. -->
2020-07-07 20:07:07 -04:00
Alan Jeffrey
9522056e5a Delay initializing servo GL until as late as possible 2020-07-07 15:05:11 -05:00
dependabot-preview[bot]
790dc14f66
build(deps): bump smallvec from 1.3.0 to 1.4.1
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.3.0 to 1.4.1.
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.3.0...v1.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 08:14:13 +00:00
Paul Rouget
34265c872e UWP: support virtual keyboard 2020-07-02 10:57:34 +02:00
bors-servo
b7e1a9ae8b
Auto merge of #27118 - atouchet:icon, r=jdm
Update Servo logo files

<!-- Please describe your changes on the following line: -->
Update of #25846. Add new Servo logo files and remove some old versions.

Closes #25846

---
<!-- 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. -->
2020-06-30 10:45:11 -04:00
Alex Touchet
c379b65307
Update Servo logo files 2020-06-29 23:20:54 -07:00
Paul Rouget
2dcb78de13 UWP: Basic key events 2020-06-30 07:30:54 +02:00
Paul Rouget
71bd7a4199 Add key up/down C API 2020-06-29 10:28:34 +02:00
Paul Rouget
7653c6c9fc update keyboard-types crate 2020-06-29 10:27:54 +02:00
Alan Jeffrey
349619ed2d Support for webxr layer management 2020-06-28 16:37:45 -05:00
Trevor F Smith
85548c0bf3 Document a workaround for the failure to find a GL context by the GStreamer plugin. 2020-06-22 18:41:47 -07:00
Paul Rouget
8cf2f14baa Allow embedder to bypass devtools prompt 2020-06-22 11:47:03 +02:00
Josh Matthews
87724ec9a4 Generate keyup events for printable keys. 2020-06-12 18:25:28 -04:00
Paul Rouget
479afcfb8e Embedding API: prefs r/w 2020-06-10 09:38:13 +02:00
Simon Sapin
0abe90647f Remove support for energy profiling 2020-06-04 16:39:08 +02:00
Simon Sapin
d4227b5b0d Remove some unused dependency declarations
This is based on compiling with `RUSTFLAGS="-W unused_crate_dependencies"` (CC https://github.com/rust-lang/rust/pull/72342) in a recent Nightly (more so than used in the tree as of this writing, CC https://github.com/servo/servo/issues/26661 for work-arounds).

Only one crate is actually removed from the dependency graph, others are still dependended from other places.
2020-05-29 00:04:34 +02:00
atouchet
a33c75cbec Rename glutin port to winit 2020-05-27 20:27:15 -07:00
atouchet
ede15557ae Some Cargo.toml cleanups 2020-05-13 22:09:56 -07:00
Josh Matthews
cacefbad17 Use an appropriate graphics adapter when openxr is present. 2020-05-12 14:18:17 -04:00
Manish Goregaokar
bb652a0e0b Update webxr 2020-05-05 22:01:05 -07:00
Alan Jeffrey
5c3f1c90f4 Workarounds for webxr glwindow on macos 2020-05-05 10:29:07 -05:00
Alan Jeffrey
d4f0dbce25 Add a pref for webxr glwindow anaglyphic red-cyan stereo 2020-04-29 17:23:48 -05:00
atouchet
0da9ba5bbe More Cargo.toml updates 2020-04-25 18:26:49 -07:00
atouchet
b5a3f016db Some Cargo.toml cleanups 2020-04-25 12:19:40 -07:00
bors-servo
8c73fb997a
Auto merge of #26312 - jdm:webxr-debug, r=Manishearth
Provide feedback when OpenXR can't start

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #26213
- [x] These changes do not require tests because it's testing an edge case in an environment we can't test on CI
2020-04-24 21:03:55 -04:00