diff options
author | Mark H Weaver <mhw@netris.org> | 2017-12-26 20:44:48 -0500 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2017-12-26 22:53:02 -0500 |
commit | e8e860a5596659e0ce2ed8911dfa78663e216bf9 (patch) | |
tree | 3e2f63a3f7da94f9bfb897744b1f5abc0bcbb651 /gnu/packages/patches | |
parent | b3ecb3fe8d4a947a7807018647616f95532df3ac (diff) | |
download | gnu-guix-e8e860a5596659e0ce2ed8911dfa78663e216bf9.tar gnu-guix-e8e860a5596659e0ce2ed8911dfa78663e216bf9.tar.gz |
gnu: icecat: Add more fixes from upstream mozilla-esr52.
* gnu/packages/gnuzilla.scm (icecat)[source]: Add selected fixes from the
upstream mozilla-esr52 repository.
* gnu/packages/patches/icecat-bug-1414945.patch,
gnu/packages/patches/icecat-bug-1424373-pt2.patch: New files.
* gnu/local.mk (dist_patch_DATA): Add them.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r-- | gnu/packages/patches/icecat-bug-1414945.patch | 73 | ||||
-rw-r--r-- | gnu/packages/patches/icecat-bug-1424373-pt2.patch | 183 |
2 files changed, 256 insertions, 0 deletions
diff --git a/gnu/packages/patches/icecat-bug-1414945.patch b/gnu/packages/patches/icecat-bug-1414945.patch new file mode 100644 index 0000000000..3638ace1c4 --- /dev/null +++ b/gnu/packages/patches/icecat-bug-1414945.patch @@ -0,0 +1,73 @@ +Based on: + https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/d303b3bb88c3 + +Adapted to apply cleanly to IceCat. + +# HG changeset patch +# User Philip Chimento <philip.chimento@gmail.com> +# Date 1510012155 28800 +# Node ID d303b3bb88c3345d3a089901e2b6fe883d148e44 +# Parent 0152d097672f7e99504815cf7b06d9f303419fba +Bug 1414945 - Don't use TimeDuration in static initializer. r=jandem, a=ritu + +On Darwin this would cause a race between two static initializers. + +diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp +--- a/js/src/shell/js.cpp ++++ b/js/src/shell/js.cpp +@@ -138,17 +138,17 @@ static const size_t gMaxStackSize = 2 * + #else + static const size_t gMaxStackSize = 128 * sizeof(size_t) * 1024; + #endif + + /* + * Limit the timeout to 30 minutes to prevent an overflow on platfoms + * that represent the time internally in microseconds using 32-bit int. + */ +-static const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(1800.0); ++static const double MAX_TIMEOUT_SECONDS = 1800.0; + + // SharedArrayBuffer and Atomics settings track IceCat. Choose a custom setting + // with --shared-memory={on,off}. + #ifndef RELEASE_OR_BETA + # define SHARED_MEMORY_DEFAULT 1 + #else + # define SHARED_MEMORY_DEFAULT 0 + #endif +@@ -3518,16 +3518,17 @@ Sleep_fn(JSContext* cx, unsigned argc, V + if (!ToNumber(cx, args[0], &t_secs)) + return false; + if (mozilla::IsNaN(t_secs)) { + JS_ReportErrorASCII(cx, "sleep interval is not a number"); + return false; + } + + duration = TimeDuration::FromSeconds(Max(0.0, t_secs)); ++ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); + if (duration > MAX_TIMEOUT_INTERVAL) { + JS_ReportErrorASCII(cx, "Excessive sleep interval"); + return false; + } + } + { + LockGuard<Mutex> guard(sc->watchdogLock); + TimeStamp toWakeup = TimeStamp::Now() + duration; +@@ -3675,16 +3676,17 @@ CancelExecution(JSContext* cx) + + static bool + SetTimeoutValue(JSContext* cx, double t) + { + if (mozilla::IsNaN(t)) { + JS_ReportErrorASCII(cx, "timeout is not a number"); + return false; + } ++ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); + if (TimeDuration::FromSeconds(t) > MAX_TIMEOUT_INTERVAL) { + JS_ReportErrorASCII(cx, "Excessive timeout value"); + return false; + } + GetShellContext(cx)->timeoutInterval = t; + if (!ScheduleWatchdog(cx, t)) { + JS_ReportErrorASCII(cx, "Failed to create the watchdog"); + return false; + diff --git a/gnu/packages/patches/icecat-bug-1424373-pt2.patch b/gnu/packages/patches/icecat-bug-1424373-pt2.patch new file mode 100644 index 0000000000..cdc7226bd3 --- /dev/null +++ b/gnu/packages/patches/icecat-bug-1424373-pt2.patch @@ -0,0 +1,183 @@ +Based on: + https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/19ea736e7e3d + +Adapted to apply cleanly to IceCat. + +# HG changeset patch +# User Mike Conley <mconley@mozilla.com> +# Date 1513892173 18000 +# Node ID 19ea736e7e3d20555ee6633b9d7803c1225979e1 +# Parent 320032aaa06899f5585dcd0288059e5342118714 +Bug 1424373 - Rename crash report submission pref. r=Mossop a=jcristau + +diff --git a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js +--- a/browser/app/profile/icecat.js ++++ b/browser/app/profile/icecat.js +@@ -1557,15 +1557,15 @@ pref("browser.crashReports.unsubmittedCh + pref("browser.crashReports.unsubmittedCheck.enabled", false); + #endif + + // chancesUntilSuppress is how many times we'll show the unsubmitted + // crash report notification across different days and shutdown + // without a user choice before we suppress the notification for + // some number of days. + pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4); +-pref("browser.crashReports.unsubmittedCheck.autoSubmit", false); ++pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); + + #ifdef NIGHTLY_BUILD + // Enable the (fairly costly) client/server validation on nightly only. The other prefs + // controlling validation are located in /services/sync/services-sync.js + pref("services.sync.validation.enabled", true); + #endif +diff --git a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js +--- a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js ++++ b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js +@@ -1,12 +1,12 @@ + "use strict"; + + const PAGE = "data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page."; +-const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit"; ++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); +diff --git a/browser/components/preferences/in-content/advanced.xul b/browser/components/preferences/in-content/advanced.xul +--- a/browser/components/preferences/in-content/advanced.xul ++++ b/browser/components/preferences/in-content/advanced.xul +@@ -51,18 +51,18 @@ + #ifdef MOZ_TELEMETRY_REPORTING + <preference id="toolkit.telemetry.enabled" + name="toolkit.telemetry.enabled" + type="bool"/> + #endif + + <!-- Data Choices tab --> + #ifdef MOZ_CRASHREPORTER +- <preference id="browser.crashReports.unsubmittedCheck.autoSubmit" +- name="browser.crashReports.unsubmittedCheck.autoSubmit" ++ <preference id="browser.crashReports.unsubmittedCheck.autoSubmit2" ++ name="browser.crashReports.unsubmittedCheck.autoSubmit2" + type="bool"/> + #endif + + <!-- Network tab --> + <preference id="browser.cache.disk.capacity" + name="browser.cache.disk.capacity" + type="int"/> + <preference id="browser.offline-apps.notify" +@@ -232,17 +232,17 @@ + </hbox> + </vbox> + </groupbox> + #endif + #ifdef MOZ_CRASHREPORTER + <groupbox> + <caption> + <checkbox id="automaticallySubmitCrashesBox" +- preference="browser.crashReports.unsubmittedCheck.autoSubmit" ++ preference="browser.crashReports.unsubmittedCheck.autoSubmit2" + label="&alwaysSubmitCrashReports.label;" + accesskey="&alwaysSubmitCrashReports.accesskey;"/> + </caption> + <hbox class="indent"> + <label flex="1">&crashReporterDesc2.label;</label> + <spacer flex="10"/> + <label id="crashReporterLearnMore" + class="text-link">&crashReporterLearnMore.label;</label> +diff --git a/browser/components/sessionstore/test/browser_background_tab_crash.js b/browser/components/sessionstore/test/browser_background_tab_crash.js +--- a/browser/components/sessionstore/test/browser_background_tab_crash.js ++++ b/browser/components/sessionstore/test/browser_background_tab_crash.js +@@ -142,17 +142,17 @@ add_task(function* test_background_crash + /** + * Tests that if a content process crashes taking down only + * background tabs, and the user is configured to send backlogged + * crash reports automatically, that the tab crashed page is not + * shown. + */ + add_task(function* test_background_crash_autosubmit_backlogged() { + yield SpecialPowers.pushPrefEnv({ +- set: [["browser.crashReports.unsubmittedCheck.autoSubmit", true]], ++ set: [["browser.crashReports.unsubmittedCheck.autoSubmit2", true]], + }); + + yield setupBackgroundTabs(function*([tab1, tab2]) { + // Let's crash one of those background tabs now... + yield crashBackgroundTabs([tab1, tab2]); + + // Selecting the first tab should restore it. + let tabRestored = promiseTabRestored(tab1); +diff --git a/browser/modules/ContentCrashHandlers.jsm b/browser/modules/ContentCrashHandlers.jsm +--- a/browser/modules/ContentCrashHandlers.jsm ++++ b/browser/modules/ContentCrashHandlers.jsm +@@ -865,21 +865,21 @@ this.UnsubmittedCrashHandler = { + return nb.appendNotification(message, notificationID, + "chrome://browser/skin/tab-crashed.svg", + nb.PRIORITY_INFO_HIGH, buttons, + eventCallback); + }, + + get autoSubmit() { + return Services.prefs +- .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit"); ++ .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2"); + }, + + set autoSubmit(val) { +- Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit", ++ Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2", + val); + }, + + /** + * Attempt to submit reports to the crash report server. Each + * report will have the "SubmittedFromInfobar" extra key set + * to true. + * +diff --git a/browser/modules/test/browser_UnsubmittedCrashHandler.js b/browser/modules/test/browser_UnsubmittedCrashHandler.js +--- a/browser/modules/test/browser_UnsubmittedCrashHandler.js ++++ b/browser/modules/test/browser_UnsubmittedCrashHandler.js +@@ -344,17 +344,17 @@ add_task(function* test_can_submit_sever + clearPendingCrashReports(); + }); + + /** + * Tests that choosing "Send Always" flips the autoSubmit pref + * and sends the pending crash reports. + */ + add_task(function* test_can_submit_always() { +- let pref = "browser.crashReports.unsubmittedCheck.autoSubmit"; ++ let pref = "browser.crashReports.unsubmittedCheck.autoSubmit2"; + Assert.equal(Services.prefs.getBoolPref(pref), false, + "We should not be auto-submitting by default"); + + let reportIDs = yield createPendingCrashReports(1); + let notification = + yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports(); + Assert.ok(notification, "There should be a notification"); + +@@ -388,17 +388,17 @@ add_task(function* test_can_submit_alway + + /** + * Tests that if the user has chosen to automatically send + * crash reports that no notification is displayed to the + * user. + */ + add_task(function* test_can_auto_submit() { + yield SpecialPowers.pushPrefEnv({ set: [ +- ["browser.crashReports.unsubmittedCheck.autoSubmit", true], ++ ["browser.crashReports.unsubmittedCheck.autoSubmit2", true], + ]}); + + let reportIDs = yield createPendingCrashReports(3); + let promiseReports = waitForSubmittedReports(reportIDs); + let notification = + yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports(); + Assert.equal(notification, null, "There should be no notification"); + info("Waiting on reports to be received."); + |