firefox: Add beta 71 to testing.

This commit is contained in:
Dylan Araps 2019-10-27 14:29:59 +02:00
parent 1124b26c94
commit ded0a8fc3e
No known key found for this signature in database
GPG Key ID: 46D62DD9F1DE636E
18 changed files with 1595 additions and 0 deletions

40
testing/firefox/build Executable file
View File

@ -0,0 +1,40 @@
#!/bin/sh -e
# Build autoconf 2.13 for Firefox's sole use.
# See: https://bugzilla.mozilla.org/show_bug.cgi?id=104642
(
cd autoconf2.13
./configure \
--prefix="$PWD/../autoconf" \
--program-suffix=-2.13
make
make install
)
export PATH=$PWD/autoconf/bin:$PATH
export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/firefox"
for patch in *.patch; do
patch -p1 < "$patch"
done
# Fix OOM errors.
cores=$(nproc)
printf '%s\n' "mk_add_options MOZ_MAKE_FLAGS=\"-j$cores -l$cores\"" >> mozconfig
./mach build
DESTDIR="$1" ./mach install
rm -rf "$1/usr/include"
rm -rf "$1/usr/lib/firefox-devel"
rm -rf "$1/usr/share/idl"
rm -rf "$1/usr/lib/firefox/gtk2"
rm -f "$1/usr/lib/firefox/browser/features/fxmonitor@mozilla.org.xpi"
rm -f "$1/usr/lib/firefox/browser/features/screenshots@mozilla.org.xpi"
rm -f "$1/usr/lib/firefox/browser/features/webcompat-reporter@mozilla.org.xpi"
rm -f "$1/usr/lib/firefox/browser/features/webcompat@mozilla.org.xpi"
install -D vendor.js "$1/usr/lib/firefox/browser/defaults/preferences/vendor.js"
install -D policies.json "$1/usr/lib/firefox/distribution/policies.json"

15
testing/firefox/checksums Normal file
View File

@ -0,0 +1,15 @@
dd756a5f67ecde7f1e19d2ec91ef0e6dbc434e58ba634017b8ac96c6204ee9b7 firefox-71.0b4.source.tar.xz
f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13.tar.gz
499bbe040374e513f8b95ec67714d3967f7be9f9ea5500f4e084d8be54556ad6 mozconfig
960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28 stab.h
5ade1dd02da56b23a1f705c4f81149a6ad6626d5f5c4f2544704bda5c4693567 vendor.js
f4ce7ee2485256b3f8c2bc467445f14b4730a7b895b17de7a21711d78bcfedea policies.json
315880530f09175788dfa48a1915bfa1e190bfd3e267988b9100cb93006c808c fix-fortify-system-wrappers.patch
418a2a9f80c41ee004cb640968617cab283b99f3d109aaf6180b0088d60c84b0 fix-sandbox-membarrier.patch
14f281ee323aa682e04479019171bde243ac6227820856aa03b162179b14bfd9 fix-seccomp-bpf.patch
b19aaae7fc45db643f8d2540d96919c745ea341e36d9aea2df40e3e90eb951f0 fix-toolkit.patch
e24f71a6a0d8d4637b2081780c66b01be4eeb4dd496031270d0ae0b898be94d2 fix-tools.patch
5e0fcfde375837074baad21a8ab26aa442a7940617ebd074a6b238a48f2ceb63 fix-webrtc-glibcisms.patch
1d4a8f110d34da478f5597727eda9acacebd443dd86cce5bb64f898c01feabce mallinfo.patch
49b1c589bc3248fa6389c8b9ff9316c5c5f10cb7868436c9c47cab888bdc8df6 firefox-71-no-dbus.patch
b050ee807c000f26d09ff0c3e79f0149f195d802efa92b8740a75e7f07267064 firefox-71-no-accessibility.patch

53
testing/firefox/depends Normal file
View File

@ -0,0 +1,53 @@
alsa-lib
atk
bzip2
cairo
cbindgen make
clang make
expat
ffmpeg
fontconfig
freetype-harfbuzz
fribidi
gdk-pixbuf
glib
gtk+2 make
gtk+3
hicolor-icon-theme
libICE
libSM
libX11
libXau
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXinerama
libXrandr
libXrender
libXt
libXxf86vm
libdrm
libepoxy
libffi
libjpeg-turbo
libpng
libvpx
libxcb
libxshmfence
llvm make
mesa
nasm make
nodejs make
pango
perl make
pixman
python make
python2 make
rust make
util-linux
yasm make
zip make
zlib

View File

@ -0,0 +1,59 @@
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
ac_add_options --enable-official-branding
ac_add_options --enable-optimize="$CFLAGS"
ac_add_options --enable-install-strip
ac_add_options --enable-strip
ac_add_options --without-system-nspr
ac_add_options --without-system-nss
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
ac_add_options --with-system-png
# System 'libvpx' is too new.
ac_add_options --without-system-libvpx
ac_add_options --with-system-pixman
ac_add_options --with-system-ffi
ac_add_options --disable-gconf
ac_add_options --disable-profiling
ac_add_options --disable-accessibility
ac_add_options --disable-tests
ac_add_options --disable-system-extension-dirs
ac_add_options --disable-parental-controls
ac_add_options --disable-debug-symbols
ac_add_options --disable-callgrind
ac_add_options --disable-vtune
# Settings for musl.
ac_add_options --disable-elf-hack
ac_add_options --disable-gold
ac_add_options --disable-jemalloc
ac_add_options --enable-release
# ALSA/PulseAudio (removed in 70 (still present in 70b12(!))
ac_add_options --disable-pulseaudio
ac_add_options --enable-alsa
ac_add_options --disable-startup-notification
# Respect the user.
ac_add_options MOZ_SERVICES_METRICS=
ac_add_options MOZ_PAY=
ac_add_options MOZ_SERVICES_HEALTHREPORTER=
ac_add_options MOZ_SERVICES_FXACCOUNTS=
ac_add_options MOZ_SERVICES_METRICS=
ac_add_options MOZ_DATA_REPORTING=
ac_add_options MOZ_DEVICES=
ac_add_options MOZ_REQUIRE_SIGNING=
ac_add_options MOZ_TELEMETRY_REPORTING=
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-dbus
ac_add_options --disable-eme
ac_add_options --disable-necko-wifi
ac_add_options --disable-webrtc

View File

@ -0,0 +1,21 @@
{
"policies": {
"DisableAppUpdate": true,
"DisableFirefoxStudies": true,
"DisablePocket": true,
"DisableTelemetry": true,
"DontCheckDefaultBrowser": true,
"DisableFeedbackCommands": true,
"DisableFirefoxAccounts": true,
"DisableFirefoxScreenshots": true,
"DisableFirefoxStudies": true,
"DisableMasterPasswordCreation": true,
"DisableSetDesktopBackground": true,
"DisableSystemAddonUpdate": true,
"DontCheckDefaultBrowser": true,
"ExtensionUpdate": false,
"NetworkPrediction": false,
"OverridePostUpdatePage": "",
"CaptivePortal": false
}
}

View File

@ -0,0 +1,71 @@
/* $OpenBSD: stab.h,v 1.3 2003/06/02 19:34:12 millert Exp $ */
/* $NetBSD: stab.h,v 1.4 1994/10/26 00:56:25 cgd Exp $ */
/*-
* Copyright (c) 1991 The Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)stab.h 5.2 (Berkeley) 4/4/91
*/
#ifndef _STAB_H_
#define _STAB_H_
/*
* The following are symbols used by various debuggers and by the Pascal
* compiler. Each of them must have one (or more) of the bits defined by
* the N_STAB mask set.
*/
#define N_GSYM 0x20 /* global symbol */
#define N_FNAME 0x22 /* F77 function name */
#define N_FUN 0x24 /* procedure name */
#define N_STSYM 0x26 /* data segment variable */
#define N_LCSYM 0x28 /* bss segment variable */
#define N_MAIN 0x2a /* main function name */
#define N_PC 0x30 /* global Pascal symbol */
#define N_RSYM 0x40 /* register variable */
#define N_SLINE 0x44 /* text segment line number */
#define N_DSLINE 0x46 /* data segment line number */
#define N_BSLINE 0x48 /* bss segment line number */
#define N_SSYM 0x60 /* structure/union element */
#define N_SO 0x64 /* main source file name */
#define N_LSYM 0x80 /* stack variable */
#define N_BINCL 0x82 /* include file beginning */
#define N_SOL 0x84 /* included source file name */
#define N_PSYM 0xa0 /* parameter variable */
#define N_EINCL 0xa2 /* include file end */
#define N_ENTRY 0xa4 /* alternate entry point */
#define N_LBRAC 0xc0 /* left bracket */
#define N_EXCL 0xc2 /* deleted include file */
#define N_RBRAC 0xe0 /* right bracket */
#define N_BCOMM 0xe2 /* begin common */
#define N_ECOMM 0xe4 /* end common */
#define N_ECOML 0xe8 /* end common (local name) */
#define N_LENG 0xfe /* length of preceding entry */
#endif /* !_STAB_H_ */

View File

@ -0,0 +1,620 @@
// KISS' vendor.js.
//
// Sources:
// - GNU IceCat,
// - OpenBSD,
// - GHacks user.js
// - pyllyukko/user.js
// - anarcat/firefox-tmp
// - Debian
//
// STARTUP
//
pref("browser.newtab.preload", false);
pref("browser.newtabpage.directory.ping", "");
pref("browser.newtabpage.directory.source", "data:application/json,{}");
pref("browser.newtabpage.enabled", false);
pref("browser.newtabpage.enhanced", false);
pref("browser.newtabpage.introShown", false);
pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
pref("browser.newtabpage.activity-stream.telemetry", false);
pref("browser.newtabpage.activity-stream.telemetry.ping.endpoint", "");
pref("browser.newtabpage.activity-stream.telemetry.ut.events", false);
pref("browser.newtabpage.activity-stream.telemetry.structuredIngestion", false);
pref("browser.newtabpage.activity-stream.feeds.snippets", false);
pref("browser.newtabpage.activity-stream.asrouter.providers.snippets", "");
pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
pref("browser.newtabpage.activity-stream.showSponsored", false);
pref("browser.newtabpage.activity-stream.feeds.discoverystreamfeed", false);
//
// GEO
//
pref("geo.enabled", false);
pref("geo.provider.use_gpsd", false);
pref("geo.wifi.uri", "");
pref("browser.search.geoip.url", "");
pref("browser.search.geoSpecificDefaults", false);
pref("browser.search.geoSpecificDefaults.url", "");
//
// LANGUAGE
//
pref("intl.accept_languages", "en-US, en");
pref("javascript.use_us_english_locale", true);
pref("intl.charset.fallback.override", "windows-1252");
//
// SILENT FIREFOX
//
pref("app.update.auto", false);
pref("app.update.enabled", false);
pref("browser.newtabbage.enabled", false);
pref("browser.search.update", false);
pref("extensions.getAddons.showPane", false);
pref("extensions.htmlaboutaddons.recommendations.enabled", false);
pref("toolkit.telemetry.unified", false);
pref("toolkit.telemetry.server", "data:,");
pref("toolkit.telemetry.archive.enabled", false);
pref("toolkit.telemetry.newProfilePing.enabled", false);
pref("toolkit.telemetry.shutdownPingSender.enabled", false);
pref("toolkit.telemetry.updatePing.enabled", false);
pref("toolkit.telemetry.bhrPing.enabled", false);
pref("toolkit.telemetry.firstShutdownPing.enabled", false);
pref("toolkit.telemetry.hybridContent.enabled", false);
pref("toolkit.telemetry.coverage.opt-out", true);
pref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false);
pref("toolkit.telemetry.server_owner", "");
pref("toolkit.telemetry.geckoview.streaming", false);
pref("toolkit.telemetry.ecosystemtelemetry.enabled", false);
pref("toolkit.telemetry.cachedClientID", "");
pref("toolkit.telemetry.enabled", false);
pref("toolkit.telemetry.rejected", true);
pref("toolkit.telemetry.server", "");
pref("toolkit.telemetry.unifiedIsOptIn", false);
pref("toolkit.telemetry.prompted", 2);
pref("security.protectionspopup.recordEventTelemetry", false);
pref("security.identitypopup.recordEventTelemetry", false);
pref("privacy.trackingprotection.origin_telemetry.enabled", false);
pref("privacy.trackingprotection.pbmode.enabled", false);
pref("permissions.eventTelemetry.enabled", false);
pref("browser.urlbar.eventTelemetry.enabled", false);
pref("toolkit.coverage.opt-out", true);
pref("toolkit.coverage.endpoint.base", "");
pref("datareporting.healthreport.uploadEnabled", false);
pref("datareporting.policy.dataSubmissionEnabled", false);
pref("datareporting.healthreport.about.reportUrl", "127.0.0.1");
pref("datareporting.healthreport.documentServerURI", "127.0.0.1");
pref("datareporting.policy.dataSubmissionPolicyBypassNotification", true);
pref("datareporting.policy.firstRunURL", "");
pref("startup.homepage_welcome_url.additional", "");
pref("browser.startup.firstrunSkipsHomepage", true);
pref("healthreport.uploadEnabled", false);
pref("social.toast-notifications.enabled", false);
pref("datareporting.healthreport.service.enabled", false);
pref("browser.slowStartup.notificationDisabled", true);
pref("network.http.sendRefererHeader", 2);
pref("network.http.referer.spoofSource", true);
pref("app.shield.optoutstudies.enabled", false);
pref("extensions.shield-recipe-client.enabled", false);
pref("browser.discovery.enabled", false);
pref("breakpad.reportURL", "");
pref("browser.tabs.crashReporting.sendReport", false);
pref("browser.crashReports.unsubmittedCheck.enabled", false);
pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
pref("captivedetect.canonicalURL", "");
pref("network.captive-portal-service.enabled", false);
pref("network.connectivity-service.enabled", false);
pref("extensions.blocklist.enabled", false);
pref("privacy.announcements.enabled", false);
pref("browser.snippets.enabled", false);
pref("browser.snippets.syncPromo.enabled", false);
pref("browser.snippets.geoUrl", "http://127.0.0.1/");
pref("browser.snippets.updateUrl", "http://127.0.0.1/");
pref("browser.snippets.statsUrl", "http://127.0.0.1/");
pref("datareporting.policy.firstRunTime", 0);
pref("datareporting.policy.dataSubmissionPolicyVersion", 2);
pref("browser.webapps.checkForUpdates", 0);
pref("browser.webapps.updateCheckUrl", "http://127.0.0.1/");
pref("dom.flyweb.enabled", false);
pref("services.sync.autoconnect", false);
pref("services.sync.engine.addons", false);
pref("services.sync.engine.bookmarks", false);
pref("services.sync.engine.history", false);
pref("services.sync.engine.passwords", false);
pref("services.sync.engine.prefs", false);
pref("services.sync.engine.tabs", false);
pref("extensions.webservice.discoverURL", "");
pref("browser.shell.checkDefaultBrowser", false);
pref("shell.checkDefaultClient", false);
pref("browser.newtabpage.directory.source", 'data:application/json,{}');
pref("browser.urlbar.suggest.searches", false);
pref("geo.wifi.scan", false);
pref("dom.push.connection.enabled", false);
pref("extensions.update.url", "");
pref("extensions.update.background.url", "");
pref("extensions.blocklist.detailsURL", "");
pref("extensions.blocklist.itemURL", "");
pref("extensions.blocklist.url", "");
pref("extensions.hotfix.url", "");
pref("extensions.getAddons.get.url", "");
pref("extensions.getAddons.getWithPerformance.url", "");
pref("extensions.getAddons.search.browseURL", "");
pref("services.settings.server", "");
pref("datareporting.healthreport.documentServerURI", "");
pref("general.useragent.updates.enabled", false);
pref("general.useragent.updates.url", "");
pref("identity.fxaccounts.auth.uri", "");
pref("identity.fxaccounts.remote.root", "");
pref("identity.fxaccounts.skipDeviceRegistration", true);
pref("browser.translation.bing.authURL", "");
pref("browser.translation.bing.translateArrayURL", "");
pref("browser.translation.yandex.translateURLOverride", "");
pref("browser.translation.engine", "bing");
pref("browser.aboutHomeSnippets.updateUrl", "nonexistent://test");
pref("browser.newtabpage.activity-stream.default.sites", "");
pref("browser.newtabpage.activity-stream.tippyTop.service.endpoint", "");
pref("browser.uitour.pinnedTabUrl", "");
pref("browser.uitour.url", "");
pref("browser.search.isUS", true);
pref("browser.search.countryCode", "US");
pref("browser.ping-centre.staging.endpoint", "");
pref("browser.ping-centre.production.endpoint", "");
pref("browser.contentblocking.report.monitor.sign_in_url", "");
pref("browser.contentblocking.report.monitor.url", "");
pref("identity.fxaccounts.service.monitorLoginUrl", "");
pref("network.trr.resolvers", "");
pref("network.trr.uri", "");
pref("security.certerrors.mitm.priming.endpoint", "");
pref("signon.management.page.breachAlertUrl", "");
pref("network.connectivity-service.IPv4.url", "");
pref("network.connectivity-service.IPv6.url", "");
pref("accessibility.support.url", "");
pref("app.feedback.baseURL", "");
pref("app.normandy.shieldLearnMoreUrl", "");
pref("app.update.url", "");
pref("browser.chrome.errorReporter.infoURL", "");
pref("browser.contentblocking.report.cookie.url", "");
pref("browser.dictionaries.download.url", "");
pref("browser.safebrowsing.provider.google.reportMalwareMistakeURL", "");
pref("browser.safebrowsing.provider.google.reportPhishMistakeURL", "");
pref("browser.safebrowsing.provider.google.reportURL", "");
pref("browser.safebrowsing.provider.google4.dataSharingURL", "");
pref("browser.safebrowsing.provider.google4.reportMalwareMistakeURL", "");
pref("browser.safebrowsing.provider.google4.reportPhishMistakeURL", "");
pref("browser.safebrowsing.provider.google4.reportURL", "");
pref("browser.safebrowsing.reportPhishURL", "");
pref("devtools.devices.url", "");
pref("devtools.performance.recording.ui-base-url", "");
pref("devtools.webide.templatesURL", "");
pref("extensions.getAddons.compatOverides.url", "");
pref("extensions.getAddons.discovery.api_url", "");
pref("extensions.getAddons.langpacks.url", "");
pref("extensions.recommendations.themeRecommendationUrl", "");
pref("gecko.handlerService.schemes.webcal.0.name", "");
pref("gecko.handlerService.schemes.webcal.0.uriTemplate", "");
pref("gecko.handlerService.schemes.irc.0.name", "");
pref("gecko.handlerService.schemes.irc.0.uriTemplate", "");
pref("media.gmp-manager.url", "");
// Firefox connects to cloudfront on startup unless
// these are false/blank.
pref("browser.selfsupport.url", "");
pref("keyword.enabled", false);
//
// "SAFE" BROWSING
//
pref("browser.safebrowsing.malware.enabled", false);
pref("browser.safebrowsing.phishing.enabled", false);
pref("browser.safebrowsing.downloads.enabled", false);
pref("browser.safebrowsing.downloads.remote.enabled", false);
pref("browser.safebrowsing.downloads.remote.url", "");
pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false);
pref("browser.safebrowsing.downloads.remote.block_uncommon", false);
pref("browser.safebrowsing.provider.mozilla.updateURL", "");
pref("browser.safebrowsing.provider.mozilla.gethashURL", "");
pref("browser.safebrowsing.provider.google.gethashURL", "");
pref("browser.safebrowsing.provider.google.updateURL", "");
pref("browser.safebrowsing.provider.google4.gethashURL", "");
pref("browser.safebrowsing.provider.google4.updateURL", "");
pref("privacy.trackingprotection.introURL", "");
//
// EXPERIMENTS
//
pref("app.normandy.enabled", false);
pref("app.normandy.api_url", "");
pref("app.normandy.user_id", "");
pref("extensions.systemAddon.update.url", "");
pref("browser.ping-centre.telemetry", false);
pref("extensions.screenshots.disabled", true);
pref("extensions.screenshots.upload-disabled", true);
pref("extensions.formautofill.addresses.enabled", false);
pref("extensions.formautofill.available", "off");
pref("extensions.formautofill.creditCards.enabled", false);
pref("extensions.formautofill.heuristics.enabled", false);
pref("extensions.webcompat-reporter.enabled", false);
pref("experiments.supported", false);
pref("experiments.enabled", false);
pref("experiments.manifest.uri", "");
pref("network.allow-experiments", false);
pref("privacy.trackingprotection.enabled", false);
//
// IMPLICIT OUTBOUND CONNECTIONS
//
pref("network.prefetch-next", false);
pref("network.dns.disablePrefetch", true);
pref("network.dns.disablePrefetchFromHTTPS", true);
pref("network.http.keep-alive.timeout", 15);
pref("network.predictor.enabled", false);
pref("network.predictor.enable-prefetch", false);
pref("network.http.speculative-parallel-limit", 0);
pref("browser.startup.page", 0);
pref("browser.send_pings", false);
pref("browser.send_pings.require_same_host", true);
pref("network.dns.blockDotOnion", true);
pref("browser.casting.enabled", false);
//
// PROTOCOLS
//
pref("network.dns.disableIPv6", true);
pref("network.http.altsvc.enabled", false);
pref("network.http.altsvc.oe", false);
pref("network.proxy.socks_remote_dns", true);
pref("network.trr.mode", 5);
pref("network.file.disable_unc_paths", true);
pref("network.gio.supported-protocols", "");
pref("network.http.pipelining", true);
pref("network.http.proxy.pipelining", true);
pref("network.http.pipelining.maxrequests", 10);
pref("nglayout.initialpaint.delay", 0);
pref("network.protocol-handler.warn-external-default", true);
pref("network.protocol-handler.external.http", false);
pref("network.protocol-handler.external.https", false);
pref("network.protocol-handler.external.javascript",false);
pref("network.protocol-handler.external.moz-extension", false);
pref("network.protocol-handler.external.ftp", false);
pref("network.protocol-handler.external.file", false);
pref("network.protocol-handler.external.about", false);
pref("network.protocol-handler.external.chrome", false);
pref("network.protocol-handler.external.blob", false);
pref("network.protocol-handler.external.data", false);
pref("network.protocol-handler.expose-all", false);
pref("network.protocol-handler.expose.http", true);
pref("network.protocol-handler.expose.https", true);
pref("network.protocol-handler.expose.javascript", true);
pref("network.protocol-handler.expose.moz-extension", true);
pref("network.protocol-handler.expose.ftp", true);
pref("network.protocol-handler.expose.file", true);
pref("network.protocol-handler.expose.about", true);
pref("network.protocol-handler.expose.chrome", true);
pref("network.protocol-handler.expose.blob", true);
pref("network.protocol-handler.expose.data", true);
//
// SEARCH / AUTOFILL / FORMS
//
pref("browser.fixup.alternate.enabled", false);
pref("browser.urlbar.trimURLs", false);
pref("browser.sessionhistory.max_entries", 10);
pref("layout.css.visited_links_enabled", false);
pref("browser.search.suggest.enabled", false);
pref("browser.urlbar.usepreloadedtopurls.enabled", false);
pref("browser.urlbar.speculativeConnect.enabled", false);
pref("browser.formfill.enable", false);
pref("browser.taskbar.lists.enabled", false);
pref("browser.taskbar.lists.frequent.enabled", false);
pref("browser.taskbar.lists.recent.enabled", false);
pref("browser.taskbar.lists.tasks.enabled", false);
pref("browser.taskbar.previews.enable", false);
//
// PASSWORDS
//
pref("signon.autofillForms", false);
pref("signon.formlessCapture.enabled", false);
pref("network.auth.subresource-http-auth-allow", 1);
//
// CACHE
//
pref("browser.cache.disk.enable", false);
pref("browser.sessionstore.privacy_level", 2);
pref("browser.sessionstore.interval", 30000);
pref("toolkit.winRegisterApplicationRestart", false);
pref("browser.shell.shortcutFavicons", false);
pref("alerts.showFavicons", false);
//
// CIPHERS
//
pref("security.ssl.require_safe_negotiation", true);
pref("security.ssl.disable_session_identifiers", true);
pref("security.ssl.errorReporting.automatic", false);
pref("security.tls.enable_0rtt_data", false);
pref("security.ssl.enable_ocsp_stapling", true);
pref("security.OCSP.enabled", 1);
pref("security.OCSP.require", true);
pref("security.pki.sha1_enforcement_level", 1);
pref("security.family_safety.mode", 0);
pref("security.cert_pinning.enforcement_level", 2);
pref("security.ssl.errorReporting.enabled", false);
pref("security.ssl.errorReporting.url", "");
pref("security.mixed_content.block_active_content", true);
pref("security.mixed_content.block_display_content", true);
pref("security.mixed_content.block_object_subrequest", true);
pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
pref("browser.ssl_override_behavior", 1);
pref("browser.xul.error_pages.expert_bad_cert", true);
pref("security.insecure_connection_icon.enabled", true);
pref("security.insecure_connection_text.enabled", true);
pref("security.ssl3.ecdhe_ecdsa_rc4_128_sha", false);
pref("security.ssl3.ecdhe_rsa_rc4_128_sha", false);
pref("security.ssl3.rsa_rc4_128_md5", false);
pref("security.ssl3.rsa_rc4_128_sha", false);
pref("security.tls.version.min", 1);
pref("security.ssl3.dhe_rsa_aes_128_sha", false);
pref("security.ssl3.dhe_rsa_aes_256_sha", false);
//
// FONTS
//
pref("gfx.font_rendering.opentype_svg.enabled", false);
pref("gfx.font_rendering.graphite.enabled", false);
//
// HEADERS / REFERERS
//
pref("network.http.referer.XOriginPolicy", 1);
pref("network.http.referer.XOriginTrimmingPolicy", 0);
pref("network.http.referer.hideOnionSource", true);
pref("privacy.donottrackheader.enabled", true);
//
// CONTAINERS
//
pref("privacy.userContext.ui.enabled", true);
pref("privacy.userContext.enabled", true);
pref("privacy.usercontext.about_newtab_segregation.enabled", true);
pref("privacy.userContext.longPressBehavior", 2);
//
// PLUGINS
//
pref("plugin.state.flash", 0);
pref("plugin.state.java", 0);
pref("media.gmp-widevinecdm.visible", false);
pref("media.gmp-widevinecdm.enabled", false);
pref("media.eme.enabled", false);
pref("media.gmp-manager.url.override", "data:text/plain,");
pref("browser.eme.ui.enabled", false);
pref("media.eme.apiVisible", false);
pref("media.gmp-provider.enabled", false);
pref("media.gmp-gmpopenh264.enabled", false);
pref("media.gmp-gmpopenh264.provider.enabled", false);
pref("plugins.hide_infobar_for_missing_plugin", true);
pref("plugins.hide_infobar_for_outdated_plugin", true);
pref("plugins.notifyMissingFlash", false);
pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);
pref("dom.ipc.plugins.reportCrashURL", false);
pref("plugins.click_to_play", true);
//
// CAMERA / MIC
//
pref("media.peerconnection.enabled", false);
pref("media.peerconnection.ice.default_address_only", true);
pref("media.peerconnection.ice.no_host", true);
pref("webgl.disabled", true);
pref("webgl.dxgl.enabled", false);
pref("webgl.enable-webgl2", false);
pref("webgl.min_capability_mode", true);
pref("webgl.disable-extensions", true);
pref("webgl.disable-fail-if-major-performance-caveat", true);
pref("media.getusermedia.screensharing.enabled", false);
pref("media.getusermedia.browser.enabled", false);
pref("media.getusermedia.audiocapture.enabled", false);
pref("media.autoplay.enabled.user-gestures-needed", false);
pref("media.block-autoplay-until-in-foreground", true);
//
// WINDOW MEDDLING / POPUPS
//
pref("dom.disable_window_open_feature.close", true);
pref("dom.disable_window_open_feature.location", true);
pref("dom.disable_window_open_feature.menubar", true);
pref("dom.disable_window_open_feature.minimizable", true);
pref("dom.disable_window_open_feature.personalbar", true);
pref("dom.disable_window_open_feature.resizable", true);
pref("dom.disable_window_open_feature.status", true);
pref("dom.disable_window_open_feature.titlebar", true);
pref("dom.disable_window_open_feature.toolbar", true);
pref("dom.disable_window_move_resize", true);
pref("browser.link.open_newwindow", 3);
pref("browser.link.open_newwindow.restriction", 0);
pref("dom.disable_open_during_load", true);
pref("dom.popup_allowed_events", "click dblclick");
//
// WEB WORKERS
//
pref("dom.serviceWorkers.enabled", false);
pref("dom.push.enabled", false);
pref("dom.webnotifications.enabled", false);
pref("dom.webnotifications.serviceworker.enabled", false);
pref("permissions.default.desktop-notification", 2);
//
// DOM / JAVASCRIPT
//
pref("dom.event.clipboardevents.enabled", false);
pref("middlemouse.paste", false);
pref("dom.allow_cut_copy", false);
pref("dom.disable_beforeunload", true);
pref("dom.vibrator.enabled", false);
pref("javascript.options.asmjs", false);
pref("javascript.options.wasm", false);
pref("dom.targetBlankNoOpener.enabled", true);
//
// HARDWARE FINGERPRINTING
//
pref("dom.battery.enabled", false);
pref("dom.vr.enabled", false);
pref("media.navigator.enabled", false);
pref("dom.webaudio.enabled", false);
//
// MISC
//
pref("accessibility.force_disabled", 1);
pref("beacon.enabled", false);
pref("browser.helperApps.deleteTempFileOnExit", true);
pref("browser.pagethumbnails.capturing_disabled", true);
pref("browser.tabs.remote.allowLinkedWebInFileUriProcess", false);
pref("browser.uitour.enabled", false);
pref("devtools.chrome.enabled", false);
pref("devtools.debugger.remote-enabled", false);
pref("devtools.webide.enabled", false);
pref("devtools.webide.autoinstallADBExtension", false);
pref("middlemouse.contentLoadURL", false);
pref("network.http.redirection-limit", 10);
pref("permissions.manager.defaultsUrl", "");
pref("webchannel.allowObject.urlWhitelist", "");
pref("network.IDN_show_punycode", true);
pref("social.whitelist", "");
pref("social.directories", "");
pref("social.shareDirectory", "");
pref("browser.apps.URL", "");
pref("dom.enable_user_timing", false);
pref("dom.mozTCPSocket.enabled", false);
pref("dom.netinfo.enabled", false);
pref("dom.telephony.enabled", false);
pref("media.webspeech.recognition.enable", false);
pref("device.sensors.enabled", false);
pref("media.webspeech.synth.enabled", false);
pref("dom.gamepad.enabled", false);
pref("dom.enable_resource_timing", false);
pref("dom.archivereader.enabled", false);
pref("camera.control.face_detection.enabled", false);
pref("browser.search.region", "US");
pref("intl.locale.matchOS", false);
pref("clipboard.autocopy", false);
pref("browser.fixup.alternate.enabled", false);
pref("media.video_stats.enabled", false);
pref("devtools.chrome.enabled", false);
pref("devtools.debugger.force-local", true);
pref("browser.startup.homepage_override.mstone", "ignore");
// Taken from TOR browser.
pref("general.buildID.override", "20100101");
pref("browser.startup.homepage_override.buildID", "20100101");
pref("toolkit.telemetry.previousBuildID", "20100101");
//
// DOWNLOADS
//
pref("browser.download.useDownloadDir", false);
pref("browser.download.manager.addToRecentDocs", false);
pref("browser.download.hide_plugins_without_extensions", false);
//
// EXTENSIONS
//
pref("extensions.enabledScopes", 5);
pref("extensions.autoDisableScopes", 15);
pref("extensions.update.enabled", false);
pref("xpinstall.signatures.required", true);
pref("extensions.getAddons.cache.enabled", false);
pref("lightweightThemes.update.enabled", false);
pref("extensions.systemAddon.update.enabled", false);
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr", false);
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
//
// STORAGE
//
pref("browser.cache.offline.enable", false);
pref("offline-apps.allow_by_default", false);
//
// SHUTDOWN
//
pref("privacy.sanitize.sanitizeOnShutdown", true);
pref("privacy.clearOnShutdown.formdata", true);
pref("privacy.clearOnShutdown.offlineApps", true);
pref("privacy.clearOnShutdown.sessions", true);
pref("privacy.clearOnShutdown.siteSettings", false);
pref("privacy.cpd.cache", true);
pref("privacy.cpd.cookies", true);
pref("privacy.cpd.formdata", true);
pref("privacy.cpd.history", true);
pref("privacy.cpd.offlineApps", true);
pref("privacy.cpd.passwords", false);
pref("privacy.cpd.sessions", true);
pref("privacy.cpd.siteSettings", false);
pref("privacy.sanitize.timeSpan", 0);
//
// ISOLATION
//
pref("privacy.firstparty.isolate", true);
pref("privacy.firstparty.isolate.restrict_opener_access", true);
pref("browser.startup.blankWindow", false);
//
// POCKET / HELLO
//
pref("loop.enabled", false);
pref("loop.feedback.baseUrl", "");
pref("loop.gettingStarted.url", "");
pref("loop.learnMoreUrl", "");
pref("loop.legal.ToS_url", "");
pref("loop.legal.privacy_url", "");
pref("loop.oauth.google.redirect_uri", "");
pref("loop.oauth.google.scope", "");
pref("loop.server", "");
pref("loop.soft_start_hostname", "");
pref("loop.support_url", "");
pref("loop.throttled2", false);
pref("loop.logDomains", false);
pref("browser.pocket.enabled", false);
pref("browser.pocket.api", "");
pref("browser.pocket.site", "");
pref("browser.pocket.oAuthConsumerKey", "");
pref("browser.pocket.useLocaleList", false);
pref("browser.pocket.enabledLocales", "");

View File

@ -0,0 +1,13 @@
diff -r 22ced1a079e0 accessible/ipc/extension/other/moz.build
--- a/accessible/ipc/extension/other/moz.build Mon Sep 16 22:30:52 2019 +0300
+++ b/accessible/ipc/extension/other/moz.build Tue Sep 17 23:17:02 2019 +0200
@@ -9,7 +9,8 @@
IPDL_SOURCES += ['PDocAccessiblePlatformExt.ipdl']
-if CONFIG['ACCESSIBILITY']:
+#if CONFIG['ACCESSIBILITY']:
+if 1:
EXPORTS.mozilla.a11y += [
'DocAccessiblePlatformExtChild.h',
'DocAccessiblePlatformExtParent.h',

View File

@ -0,0 +1,425 @@
diff --git a/Cargo.lock b/Cargo.lock
index e0fd54008d..c8a3033238 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -72,24 +72,10 @@ dependencies = [
"winapi 0.3.6 (git+https://github.com/froydnj/winapi-rs?branch=aarch64)",
]
-[[package]]
-name = "audio_thread_priority"
-version = "0.20.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "dbus 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "mach 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.6 (git+https://github.com/froydnj/winapi-rs?branch=aarch64)",
-]
-
[[package]]
name = "audioipc"
version = "0.2.4"
dependencies = [
- "audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bytes 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
"cc 1.0.34 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -117,7 +103,6 @@ dependencies = [
name = "audioipc-client"
version = "0.4.0"
dependencies = [
- "audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)",
"audioipc 0.2.4",
"cubeb-backend 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
"futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -130,7 +115,6 @@ dependencies = [
name = "audioipc-server"
version = "0.2.3"
dependencies = [
- "audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)",
"audioipc 0.2.4",
"cubeb-core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
"error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -837,15 +821,6 @@ dependencies = [
"syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
-[[package]]
-name = "dbus"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
- "libdbus-sys 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
[[package]]
name = "deflate"
version = "0.7.19"
@@ -1219,7 +1194,6 @@ name = "gkrust-shared"
version = "0.1.0"
dependencies = [
"arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)",
"audioipc-client 0.4.0",
"audioipc-server 0.2.3",
"authenticator 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1559,14 +1533,6 @@ name = "libc"
version = "0.2.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
-[[package]]
-name = "libdbus-sys"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
[[package]]
name = "libloading"
version = "0.5.0"
@@ -3811,7 +3777,6 @@ dependencies = [
"checksum atomic 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c210c1f4db048cda477b652d170572d84c9640695835f17663595d3bd543fc28"
"checksum atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fb2dcb6e6d35f20276943cc04bb98e538b348d525a04ac79c10021561d202f21"
"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
-"checksum audio_thread_priority 0.20.2 (registry+https://github.com/rust-lang/crates.io-index)" = "197b2d259505d11c92d266e1784f01cc935eb764d2f54e16aedf4e5085197871"
"checksum authenticator 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ec149e5d5d4caa2c9ead53a8ce1ea9c4204c388c65bf3b96c2d1dc0fcf4aeb66"
"checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875"
"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a"
@@ -3872,7 +3837,6 @@ dependencies = [
"checksum darling 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe629a532efad5526454efb0700f86d5ad7ff001acb37e431c8bf017a432a8e"
"checksum darling_core 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ee54512bec54b41cf2337a22ddfadb53c7d4c738494dc2a186d7b037ad683b85"
"checksum darling_macro 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0cd3e432e52c0810b72898296a69d66b1d78d1517dff6cde7a130557a55a62c1"
-"checksum dbus 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b9e1b39f3f6aa3d4a1522c4f0f9f1e9e9167bd93740a8690874caa7cf8ce47d7"
"checksum deflate 0.7.19 (registry+https://github.com/rust-lang/crates.io-index)" = "8a6abb26e16e8d419b5c78662aa9f82857c2386a073da266840e474d5055ec86"
"checksum derive_more 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3f57d78cf3bd45270dad4e70c21ec77a960b36c7a841ff9db76aaa775a8fb871"
"checksum devd-rs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0d009f166c0d9e9f9909dc751630b3a6411ab7f85a153d32d01deb364ffe52a7"
@@ -3931,7 +3895,6 @@ dependencies = [
"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1"
"checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
"checksum libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)" = "d44e80633f007889c7eff624b709ab43c92d708caad982295768a7b13ca3b5eb"
-"checksum libdbus-sys 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "18cb88963258d00f4962205dbb5933d82780d9962c8c8a064b651d2ad7189210"
"checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2"
"checksum libudev 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea626d3bdf40a1c5aee3bcd4f40826970cae8d80a8fec934c82a63840094dcfe"
"checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp
index 393fb53c02..15ddd2cf70 100644
--- a/dom/ipc/ContentChild.cpp
+++ b/dom/ipc/ContentChild.cpp
@@ -107,9 +107,7 @@
#include "nsIStringBundle.h"
#include "nsIWorkerDebuggerManager.h"
#include "nsGeolocation.h"
-#include "audio_thread_priority.h"
#include "nsIConsoleService.h"
-#include "audio_thread_priority.h"
#if !defined(XP_WIN)
# include "mozilla/Omnijar.h"
@@ -1782,9 +1780,6 @@ mozilla::ipc::IPCResult ContentChild::RecvSetProcessSandbox(
} else {
// Pre-start audio before sandboxing; see bug 1443612.
if (Preferences::GetBool("media.cubeb.sandbox")) {
- if (atp_set_real_time_limit(0, 48000)) {
- NS_WARNING("could not set real-time limit at process startup");
- }
InstallSoftRealTimeLimitHandler();
} else {
Unused << CubebUtils::GetCubebContext();
diff --git a/dom/media/GraphRunner.cpp b/dom/media/GraphRunner.cpp
index 8ff3391f4e..7a97faae76 100644
--- a/dom/media/GraphRunner.cpp
+++ b/dom/media/GraphRunner.cpp
@@ -13,7 +13,6 @@
#include "nsISupportsImpl.h"
#include "prthread.h"
#include "Tracing.h"
-#include "audio_thread_priority.h"
namespace mozilla {
@@ -93,9 +92,6 @@ bool GraphRunner::OneIteration(GraphTime aStateEnd) {
void GraphRunner::Run() {
PR_SetCurrentThreadName("GraphRunner");
- atp_handle* handle =
- atp_promote_current_thread_to_real_time(0, mGraph->GraphRate());
-
MonitorAutoLock lock(mMonitor);
while (true) {
while (mThreadState == ThreadState::Wait) {
@@ -111,10 +107,6 @@ void GraphRunner::Run() {
mMonitor.Notify();
}
- if (handle) {
- atp_demote_current_thread_from_real_time(handle);
- }
-
dom::WorkletThread::DeleteCycleCollectedJSContext();
}
diff --git a/dom/media/UnderrunHandlerLinux.cpp b/dom/media/UnderrunHandlerLinux.cpp
index af5c84538e..23bf97a31f 100644
--- a/dom/media/UnderrunHandlerLinux.cpp
+++ b/dom/media/UnderrunHandlerLinux.cpp
@@ -9,7 +9,6 @@
#include <mozilla/Sprintf.h>
#include <mozilla/Atomics.h>
-#include "audio_thread_priority.h"
namespace mozilla {
@@ -57,20 +56,6 @@ void InstallSoftRealTimeLimitHandler() {
}
void DemoteThreadFromRealTime() {
- atp_thread_info* info = atp_get_current_thread_info();
- if (!info) {
- NS_WARNING("Could not get current thread info when demoting thread.");
- return;
- }
- int rv = atp_demote_thread_from_real_time(info);
- if (rv) {
- NS_WARNING("Could not demote thread from real-time.");
- return;
- }
- rv = atp_free_thread_info(info);
- if (rv) {
- NS_WARNING("Could not free atp_thread_info struct");
- }
gRealtimeLimitReached = false;
}
diff --git a/dom/media/moz.build b/dom/media/moz.build
index 716c6a2322..840465f04a 100644
--- a/dom/media/moz.build
+++ b/dom/media/moz.build
@@ -101,7 +101,6 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'dom_media'
EXPORTS += [
- '../../third_party/rust/audio_thread_priority/audio_thread_priority.h',
'ADTSDecoder.h',
'ADTSDemuxer.h',
'AsyncLogger.h',
diff --git a/media/audioipc/audioipc/Cargo.toml b/media/audioipc/audioipc/Cargo.toml
index 286e16789b..c34775cea1 100644
--- a/media/audioipc/audioipc/Cargo.toml
+++ b/media/audioipc/audioipc/Cargo.toml
@@ -19,7 +19,6 @@ serde = "1.*.*"
serde_derive = "1.*.*"
tokio = "0.1"
tokio-io = "0.1"
-audio_thread_priority = "0.20.2"
[target.'cfg(unix)'.dependencies]
iovec = "0.1"
diff --git a/media/audioipc/audioipc/src/messages.rs b/media/audioipc/audioipc/src/messages.rs
index 9a2ca4d59e..612e8d5050 100644
--- a/media/audioipc/audioipc/src/messages.rs
+++ b/media/audioipc/audioipc/src/messages.rs
@@ -9,8 +9,6 @@ use cubeb::{self, ffi};
use std::ffi::{CStr, CString};
use std::os::raw::{c_char, c_int, c_uint};
use std::ptr;
-#[cfg(target_os = "linux")]
-use audio_thread_priority::RtPriorityThreadInfo;
#[derive(Debug, Serialize, Deserialize)]
pub struct Device {
@@ -209,9 +207,6 @@ pub enum ServerMessage {
StreamSetVolume(usize, f32),
StreamGetCurrentDevice(usize),
StreamRegisterDeviceChangeCallback(usize, bool),
-
- #[cfg(target_os = "linux")]
- PromoteThreadToRealTime([u8; std::mem::size_of::<RtPriorityThreadInfo>()]),
}
// Server -> Client messages.
diff --git a/media/audioipc/client/Cargo.toml b/media/audioipc/client/Cargo.toml
index 866cde7e98..eaf9a62cc7 100644
--- a/media/audioipc/client/Cargo.toml
+++ b/media/audioipc/client/Cargo.toml
@@ -9,7 +9,6 @@ description = "Cubeb Backend for talking to remote cubeb server."
edition = "2018"
[dependencies]
-audio_thread_priority = "0.20.2"
audioipc = { path="../audioipc" }
cubeb-backend = "0.6.0"
futures = { version="0.1.18", default-features=false, features=["use_std"] }
diff --git a/media/audioipc/client/src/context.rs b/media/audioipc/client/src/context.rs
index c20e281248..e13dbc2d8d 100644
--- a/media/audioipc/client/src/context.rs
+++ b/media/audioipc/client/src/context.rs
@@ -6,10 +6,6 @@
use crate::{assert_not_in_callback, run_in_callback};
use crate::stream;
use crate::{ClientStream, G_SERVER_FD, CPUPOOL_INIT_PARAMS};
-#[cfg(not(target_os = "linux"))]
-use audio_thread_priority::promote_current_thread_to_real_time;
-#[cfg(target_os = "linux")]
-use audio_thread_priority::get_current_thread_info;
use audioipc::codec::LengthDelimitedCodec;
use audioipc::frame::{framed, Framed};
use audioipc::platformhandle_passing::{framed_with_platformhandles, FramedWithPlatformHandles};
@@ -91,34 +87,6 @@ fn open_server_stream() -> io::Result<audioipc::MessageStream> {
}
}
-#[cfg(target_os = "linux")]
-fn promote_thread(rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>)
-{
- match get_current_thread_info() {
- Ok(info) => {
- let bytes = info.serialize();
- // Don't wait for the response, this is on the callback thread, which must not block.
- rpc.call(ServerMessage::PromoteThreadToRealTime(bytes));
- }
- Err(_) => {
- warn!("Could not remotely promote thread to RT.");
- }
- }
-}
-
-#[cfg(not(target_os = "linux"))]
-fn promote_thread(_rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>)
-{
- match promote_current_thread_to_real_time(0, 48000) {
- Ok(_) => {
- info!("Audio thread promoted to real-time.");
- }
- Err(_) => {
- warn!("Could not promote thread to real-time.");
- }
- }
-}
-
fn register_thread(callback: Option<extern "C" fn(*const ::std::os::raw::c_char)>) {
if let Some(func) = callback {
let thr = thread::current();
@@ -127,12 +95,6 @@ fn register_thread(callback: Option<extern "C" fn(*const ::std::os::raw::c_char)
}
}
-fn promote_and_register_thread(rpc: &rpc::ClientProxy<ServerMessage, ClientMessage>,
- callback: Option<extern "C" fn(*const ::std::os::raw::c_char)>) {
- promote_thread(rpc);
- register_thread(callback);
-}
-
#[derive(Default)]
struct DeviceCollectionCallback {
cb: ffi::cubeb_device_collection_changed_callback,
@@ -235,7 +197,6 @@ impl ContextOps for ClientContext {
let cpu_pool = futures_cpupool::Builder::new()
.name_prefix("AudioIPC")
- .after_start(move || promote_and_register_thread(&rpc2, params.thread_create_callback))
.pool_size(params.pool_size)
.stack_size(params.stack_size)
.create();
diff --git a/media/audioipc/server/Cargo.toml b/media/audioipc/server/Cargo.toml
index 8a628e7090..31f23cbe78 100644
--- a/media/audioipc/server/Cargo.toml
+++ b/media/audioipc/server/Cargo.toml
@@ -9,7 +9,6 @@ description = "Remote cubeb server"
edition = "2018"
[dependencies]
-audio_thread_priority = "0.20.2"
audioipc = { path = "../audioipc" }
cubeb-core = "0.6.0"
futures = "0.1.18"
diff --git a/media/audioipc/server/src/lib.rs b/media/audioipc/server/src/lib.rs
index 63b373fe8f..75f8b99123 100644
--- a/media/audioipc/server/src/lib.rs
+++ b/media/audioipc/server/src/lib.rs
@@ -11,7 +11,6 @@ extern crate log;
#[macro_use]
extern crate lazy_static;
-use audio_thread_priority::promote_current_thread_to_real_time;
use audioipc::core;
use audioipc::platformhandle_passing::framed_with_platformhandles;
use audioipc::rpc;
@@ -64,12 +63,6 @@ fn run() -> Result<ServerWrapper> {
trace!("Starting up cubeb audio server event loop thread...");
let callback_thread = core::spawn_thread("AudioIPC Callback RPC", || {
- match promote_current_thread_to_real_time(0, 48000) {
- Ok(_) => {}
- Err(_) => {
- debug!("Failed to promote audio callback thread to real-time.");
- }
- }
trace!("Starting up cubeb audio callback event loop thread...");
Ok(())
})
diff --git a/media/audioipc/server/src/server.rs b/media/audioipc/server/src/server.rs
index 3d98c8fed2..35fff91130 100644
--- a/media/audioipc/server/src/server.rs
+++ b/media/audioipc/server/src/server.rs
@@ -30,8 +30,6 @@ use std::rc::Rc;
use std::{panic, slice};
use tokio::reactor;
use tokio::runtime::current_thread;
-#[cfg(target_os = "linux")]
-use audio_thread_priority::{RtPriorityThreadInfo, promote_thread_to_real_time};
use crate::errors::*;
@@ -521,21 +519,6 @@ impl CubebServer {
)
.unwrap_or_else(error)
},
-
- #[cfg(target_os = "linux")]
- ServerMessage::PromoteThreadToRealTime(thread_info) => {
- let info = RtPriorityThreadInfo::deserialize(thread_info);
- match promote_thread_to_real_time(info, 0, 48000) {
- Ok(_) => {
- info!("Promotion of content process thread to real-time OK");
- }
- Err(_) => {
- warn!("Promotion of content process thread to real-time error");
- }
- }
- ClientMessage::ThreadPromoted
- },
-
};
trace!("process_msg: req={:?}, resp={:?}", msg, resp);
diff --git a/toolkit/library/rust/shared/Cargo.toml b/toolkit/library/rust/shared/Cargo.toml
index 190503e2ab..dd7f0a5234 100644
--- a/toolkit/library/rust/shared/Cargo.toml
+++ b/toolkit/library/rust/shared/Cargo.toml
@@ -40,7 +40,6 @@ bitsdownload = { path = "../../../components/bitsdownload", optional = true }
storage = { path = "../../../../storage/rust" }
bookmark_sync = { path = "../../../components/places/bookmark_sync", optional = true }
shift_or_euc_c = "0.1.0"
-audio_thread_priority = "0.20.2"
mdns_service = { path="../../../../media/mtransport/mdns_service", optional = true }
[build-dependencies]
diff --git a/toolkit/library/rust/shared/lib.rs b/toolkit/library/rust/shared/lib.rs
index f76f53436d..318f904703 100644
--- a/toolkit/library/rust/shared/lib.rs
+++ b/toolkit/library/rust/shared/lib.rs
@@ -48,8 +48,6 @@ extern crate shift_or_euc_c;
extern crate arrayvec;
-extern crate audio_thread_priority;
-
#[cfg(feature = "webrtc")]
extern crate mdns_service;

View File

@ -0,0 +1,13 @@
The wrapper features.h gets pulled in by system headers causing thigns to
break. We work around it by simply not wrap features.h
--- ./config/system-headers.mozbuild.orig
+++ ./config/system-headers.mozbuild
@@ -229,7 +229,6 @@
'execinfo.h',
'extras.h',
'fcntl.h',
- 'features.h',
'fenv.h',
'ffi.h',
'fibdef.h',

View File

@ -0,0 +1,54 @@
allow usage of SYS_membarrier, needed since musl-1.1.22
Taken from voidlinux: https://github.com/void-linux/void-packages/commit/4198411ac3b9e2620e171c662df82008da0faebb
--- a/security/sandbox/linux/SandboxFilter.cpp
+++ b/security/sandbox/linux/SandboxFilter.cpp
@@ -572,6 +572,8 @@
case __NR_set_tid_address:
return Allow();
#endif
+ case __NR_membarrier:
+ return Allow();
// prctl
case __NR_prctl: {
--- a/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
+++ b/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
@@ -1385,6 +1385,10 @@
#define __NR_memfd_create (__NR_SYSCALL_BASE+385)
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier (__NR_SYSCALL_BASE+389)
+#endif
+
// ARM private syscalls.
#if !defined(__ARM_NR_BASE)
#define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
--- a/security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
+++ b/security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
@@ -1290,5 +1290,9 @@
#define __NR_memfd_create 319
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier 324
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
--- a/security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
+++ b/security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
@@ -1490,5 +1490,9 @@
#define __NR_shutdown 373
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier 375
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_

View File

@ -0,0 +1,14 @@
--- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
+++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
@@ -25,6 +25,11 @@
#include "sandbox/linux/system_headers/linux_seccomp.h"
#include "sandbox/linux/system_headers/linux_signal.h"
+// musl libc defines siginfo_t __si_fields instead of _sifields
+#if defined(OS_LINUX) && !defined(__GLIBC__)
+#define _sifields __si_fields
+#endif
+
namespace {
struct arch_sigsys {

View File

@ -0,0 +1,90 @@
diff --git a/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc b/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
index 4222ce3..4d40c6a 100644
--- a/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
+++ b/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
@@ -46,6 +46,7 @@
#include <sys/mman.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <libgen.h>
#include <iostream>
#include <set>
diff --git a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc
index 6019fc7..5953e32 100644
--- a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc
+++ b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc
@@ -41,6 +41,10 @@
#include "common/using_std_string.h"
+#ifndef N_UNDF
+#define N_UNDF 0
+#endif
+
using std::vector;
namespace google_breakpad {
diff --git a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h
index 98ee2dd..d57aa68 100644
--- a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h
+++ b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h
@@ -55,7 +55,7 @@
#ifdef HAVE_MACH_O_NLIST_H
#include <mach-o/nlist.h>
-#elif defined(HAVE_A_OUT_H)
+#elif 0
#include <a.out.h>
#endif
diff --git a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
index 93fdad7..f34e5e0 100644
--- a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+++ b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
@@ -1239,6 +1239,12 @@ struct kernel_statfs {
#ifndef __NR_fallocate
#define __NR_fallocate 285
#endif
+
+#undef __NR_pread
+#define __NR_pread __NR_pread64
+#undef __NR_pwrite
+#define __NR_pwrite __NR_pwrite64
+
/* End of x86-64 definitions */
#elif defined(__mips__)
#if _MIPS_SIM == _MIPS_SIM_ABI32
diff --git a/toolkit/mozapps/update/common/updatedefines.h b/toolkit/mozapps/update/common/updatedefines.h
index 79276f7..4c67976 100644
--- a/toolkit/mozapps/update/common/updatedefines.h
+++ b/toolkit/mozapps/update/common/updatedefines.h
@@ -87,7 +87,7 @@ static inline int mywcsprintf(WCHAR* dest, size_t count, const WCHAR* fmt,
# ifdef SOLARIS
# include <sys/stat.h>
-# else
+# elif !defined(__linux__) || defined(__GLIBC__)
# include <fts.h>
# endif
# include <dirent.h>
diff --git a/toolkit/mozapps/update/updater/updater.cpp b/toolkit/mozapps/update/updater/updater.cpp
index 257ccb4..01314e4 100644
--- a/toolkit/mozapps/update/updater/updater.cpp
+++ b/toolkit/mozapps/update/updater/updater.cpp
@@ -3978,6 +3978,7 @@
int add_dir_entries(const NS_tchar* dirpath, ActionList* list) {
int rv = OK;
+#if !defined(__linux__) || defined(__GLIBC__)
FTS* ftsdir;
FTSENT* ftsdirEntry;
mozilla::UniquePtr<NS_tchar[]> searchpath(get_full_path(dirpath));
@@ -4085,6 +4086,7 @@
}
fts_close(ftsdir);
+#endif
return rv;
}

View File

@ -0,0 +1,37 @@
diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp
index 19d0a5c56d..b64b543066 100644
--- a/tools/profiler/core/platform-linux-android.cpp
+++ b/tools/profiler/core/platform-linux-android.cpp
@@ -506,8 +506,10 @@ static void PlatformInit(PSLockRef aLock) {}
ucontext_t sSyncUContext;
void Registers::SyncPopulate() {
- if (!getcontext(&sSyncUContext)) {
- PopulateRegsFromContext(*this, &sSyncUContext);
- }
+ #if defined(__GLIBC__)
+ if (!getcontext(&sSyncUContext)) {
+ PopulateRegsFromContext(*this, &sSyncUContext);
+ }
+ #endif
}
#endif
diff --git a/tools/profiler/lul/LulElf.cpp b/tools/profiler/lul/LulElf.cpp
index 9998d04d0d..348a7086fc 100644
--- a/tools/profiler/lul/LulElf.cpp
+++ b/tools/profiler/lul/LulElf.cpp
@@ -469,10 +469,10 @@ string FormatIdentifier(unsigned char identifier[16]) {
// Return the non-directory portion of FILENAME: the portion after the
// last slash, or the whole filename if there are no slashes.
string BaseFileName(const string& filename) {
- // Lots of copies! basename's behavior is less than ideal.
- char* c_filename = strdup(filename.c_str());
- string base = basename(c_filename);
- free(c_filename);
+ // basename's behavior is less than ideal so avoid it
+ const char *c_filename = filename.c_str();
+ const char *p = strrchr(c_filename, '/');
+ string base = p ? p+1 : c_filename;
return base;
}

View File

@ -0,0 +1,20 @@
--- ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c.orig 2018-05-09 23:48:44.677389171 +0200
+++ ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-09 23:48:56.254373557 +0200
@@ -14,7 +14,7 @@
#ifndef __GLIBC_PREREQ
#define __GLIBC_PREREQ(a, b) 0
#endif
-#if __GLIBC_PREREQ(2, 16)
+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16)
#include <sys/auxv.h>
#else
#include <fcntl.h>
@@ -32,7 +32,7 @@
int architecture = 0;
unsigned long hwcap = 0;
const char* platform = NULL;
-#if __GLIBC_PREREQ(2, 16)
+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16)
hwcap = getauxval(AT_HWCAP);
platform = (const char*)getauxval(AT_PLATFORM);
#else

View File

@ -0,0 +1,34 @@
--- a/xpcom/base/nsMemoryReporterManager.cpp.orig 2019-03-19 17:12:20.844810044 +0100
+++ b/xpcom/base/nsMemoryReporterManager.cpp 2019-03-19 17:13:32.505133615 +0100
@@ -123,6 +123,7 @@
return GetProcSelfSmapsPrivate(aN);
}
+#ifdef __GLIBC__
# ifdef HAVE_MALLINFO
# define HAVE_SYSTEM_HEAP_REPORTER 1
static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
@@ -142,6 +143,7 @@
return NS_OK;
}
# endif
+#endif // __GLIBC__
#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
@@ -642,6 +644,7 @@
return NS_OK;
}
+#ifdef __GLIBC__
# define HAVE_SYSTEM_HEAP_REPORTER 1
// Windows can have multiple separate heaps. During testing there were multiple
// heaps present but the non-default ones had sizes no more than a few 10s of
@@ -698,6 +701,7 @@
*aSizeOut = heapsSize;
return NS_OK;
}
+#endif // __GLIBC__
struct SegmentKind {
DWORD mState;

15
testing/firefox/sources Normal file
View File

@ -0,0 +1,15 @@
https://ftp.mozilla.org/pub/firefox/releases/71.0b4/source/firefox-71.0b4.source.tar.xz
https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz autoconf2.13/
files/mozconfig
files/stab.h toolkit/crashreporter/google-breakpad/src/
files/vendor.js
files/policies.json
patches/fix-fortify-system-wrappers.patch
patches/fix-sandbox-membarrier.patch
patches/fix-seccomp-bpf.patch
patches/fix-toolkit.patch
patches/fix-tools.patch
patches/fix-webrtc-glibcisms.patch
patches/mallinfo.patch
patches/firefox-71-no-dbus.patch
patches/firefox-71-no-accessibility.patch

1
testing/firefox/version Normal file
View File

@ -0,0 +1 @@
71.0b3 1