mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-10 21:28:04 +02:00
Instead of attaching / listening for click events in BrowserOnClick for the Try Again button, we instead bubble up an event when the Try Again button is clicked. That event has a listener set up for it that is established during delayedStartup, so it has a very high probability of being set. This bypasses some error cases where we hadn't successfully attached BrowserOnClick in the past. --HG-- extra : rebase_source : 19c7d7157a8bd24a1a39bda4072d7c01cd398756
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
function parseQueryString() {
|
|
let url = document.documentURI;
|
|
let queryString = url.replace(/^about:tabcrashed?e=tabcrashed/, "");
|
|
|
|
let titleMatch = queryString.match(/d=([^&]*)/);
|
|
return titleMatch && titleMatch[1] ? decodeURIComponent(titleMatch[1]) : "";
|
|
}
|
|
|
|
document.title = parseQueryString();
|
|
|
|
addEventListener("DOMContentLoaded", () => {
|
|
let tryAgain = document.getElementById("tryAgain");
|
|
let sendCrashReport = document.getElementById("checkSendReport");
|
|
|
|
tryAgain.addEventListener("click", () => {
|
|
let event = new CustomEvent("AboutTabCrashedTryAgain", {
|
|
bubbles: true,
|
|
detail: {
|
|
sendCrashReport: sendCrashReport.checked,
|
|
},
|
|
});
|
|
|
|
document.dispatchEvent(event);
|
|
});
|
|
});
|
|
|
|
// Error pages are loaded as LOAD_BACKGROUND, so they don't get load events.
|
|
var event = new CustomEvent("AboutTabCrashedLoad", {bubbles:true});
|
|
document.dispatchEvent(event);
|