diff options
author | bors-servo <servo-ops@mozilla.com> | 2020-08-04 11:30:47 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-04 11:30:47 -0400 |
commit | 52c90955dcd598fa6b2f7833ec1e670cfe57f707 (patch) | |
tree | d8c5c5bda1eace729bb9c0bc0b09c37eeab1409b /components/script/dom/mod.rs | |
parent | 286793c2d2dd7e9aeac974744ec757f65136c8fb (diff) | |
parent | 8759eb18ba0189332623904436c41b1081e26b76 (diff) | |
download | servo-52c90955dcd598fa6b2f7833ec1e670cfe57f707.tar.gz servo-52c90955dcd598fa6b2f7833ec1e670cfe57f707.zip |
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">
Diffstat (limited to 'components/script/dom/mod.rs')
0 files changed, 0 insertions, 0 deletions