summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js')
-rw-r--r--browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js152
1 files changed, 0 insertions, 152 deletions
diff --git a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js
deleted file mode 100644
index 778331814..000000000
--- a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js
+++ /dev/null
@@ -1,152 +0,0 @@
-"use strict";
-
-const PAGE = "data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page.";
-const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit2";
-
-const {TabStateFlusher} =
- Cu.import("resource:///modules/sessionstore/TabStateFlusher.jsm", {});
-
-// On debug builds, crashing tabs results in much thinking, which
-// slows down the test and results in intermittent test timeouts,
-// so we'll pump up the expected timeout for this test.
-requestLongerTimeout(2);
-
-/**
- * Tests that if the user is not configured to autosubmit
- * backlogged crash reports, that we offer to do that, and
- * that the user can accept that offer.
- */
-add_task(function* test_show_form() {
- yield SpecialPowers.pushPrefEnv({
- set: [[AUTOSUBMIT_PREF, false]],
- })
-
- return BrowserTestUtils.withNewTab({
- gBrowser,
- url: PAGE,
- }, function*(browser) {
- // Make sure we've flushed the browser messages so that
- // we can restore it.
- yield TabStateFlusher.flush(browser);
-
- // Now crash the browser.
- yield BrowserTestUtils.crashBrowser(browser);
-
- let doc = browser.contentDocument;
-
- // Ensure the request is visible. We can safely reach into
- // the content since about:tabcrashed is an in-process URL.
- let requestAutoSubmit = doc.getElementById("requestAutoSubmit");
- Assert.ok(!requestAutoSubmit.hidden,
- "Request for autosubmission is visible.");
-
- // Since the pref is set to false, the checkbox should be
- // unchecked.
- let autoSubmit = doc.getElementById("autoSubmit");
- Assert.ok(!autoSubmit.checked,
- "Checkbox for autosubmission is not checked.")
-
- // Check the checkbox, and then restore the tab.
- autoSubmit.checked = true;
- let restoreButton = doc.getElementById("restoreTab");
- restoreButton.click();
-
- yield BrowserTestUtils.browserLoaded(browser, false, PAGE);
-
- // The autosubmission pref should now be set.
- Assert.ok(Services.prefs.getBoolPref(AUTOSUBMIT_PREF),
- "Autosubmission pref should have been set.");
- });
-});
-
-/**
- * Tests that if the user is autosubmitting backlogged crash reports
- * that we don't make the offer again.
- */
-add_task(function* test_show_form() {
- yield SpecialPowers.pushPrefEnv({
- set: [[AUTOSUBMIT_PREF, true]],
- })
-
- return BrowserTestUtils.withNewTab({
- gBrowser,
- url: PAGE,
- }, function*(browser) {
- yield TabStateFlusher.flush(browser);
- // Now crash the browser.
- yield BrowserTestUtils.crashBrowser(browser);
-
- let doc = browser.contentDocument;
-
- // Ensure the request is NOT visible. We can safely reach into
- // the content since about:tabcrashed is an in-process URL.
- let requestAutoSubmit = doc.getElementById("requestAutoSubmit");
- Assert.ok(requestAutoSubmit.hidden,
- "Request for autosubmission is not visible.");
-
- // Restore the tab.
- let restoreButton = doc.getElementById("restoreTab");
- restoreButton.click();
-
- yield BrowserTestUtils.browserLoaded(browser, false, PAGE);
-
- // The autosubmission pref should still be set to true.
- Assert.ok(Services.prefs.getBoolPref(AUTOSUBMIT_PREF),
- "Autosubmission pref should have been set.");
- });
-});
-
-/**
- * Tests that we properly set the autoSubmit preference if the user is
- * presented with a tabcrashed page without a crash report.
- */
-add_task(function* test_no_offer() {
- // We should default to sending the report.
- Assert.ok(TabCrashHandler.prefs.getBoolPref("sendReport"));
-
- yield SpecialPowers.pushPrefEnv({
- set: [[AUTOSUBMIT_PREF, false]],
- });
-
- yield BrowserTestUtils.withNewTab({
- gBrowser,
- url: PAGE,
- }, function*(browser) {
- yield TabStateFlusher.flush(browser);
-
- // Make it so that it seems like no dump is available for the next crash.
- prepareNoDump();
-
- // Now crash the browser.
- yield BrowserTestUtils.crashBrowser(browser);
-
- // eslint-disable-next-line mozilla/no-cpows-in-tests
- let doc = browser.contentDocument;
-
- // Ensure the request to autosubmit is invisible, since there's no report.
- let requestRect = doc.getElementById("requestAutoSubmit")
- .getBoundingClientRect();
- Assert.equal(0, requestRect.height,
- "Request for autosubmission has no height");
- Assert.equal(0, requestRect.width,
- "Request for autosubmission has no width");
-
- // Since the pref is set to false, the checkbox should be
- // unchecked.
- let autoSubmit = doc.getElementById("autoSubmit");
- Assert.ok(!autoSubmit.checked,
- "Checkbox for autosubmission is not checked.");
-
- let restoreButton = doc.getElementById("restoreTab");
- restoreButton.click();
-
- yield BrowserTestUtils.browserLoaded(browser, false, PAGE);
-
- // The autosubmission pref should now be set.
- Assert.ok(!Services.prefs.getBoolPref(AUTOSUBMIT_PREF),
- "Autosubmission pref should not have changed.");
- });
-
- // We should not have changed the default value for sending the report.
- Assert.ok(TabCrashHandler.prefs.getBoolPref("sendReport"));
-});