forked from pool/MozillaFirefox
Accepting request 619394 from mozilla:Factory
OBS-URL: https://build.opensuse.org/request/show/619394 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=274
This commit is contained in:
commit
570123f4e1
@ -1,9 +1,94 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jun 23 07:25:51 UTC 2018 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- update to Firefox 61.0
|
||||||
|
* Performance enhancements
|
||||||
|
* Various improvements for dark theme support will provide a more
|
||||||
|
consistent experience across the entire Firefox UI
|
||||||
|
* OpenSearch plugins offered by web pages can now be added from the
|
||||||
|
page action menu for easier installation
|
||||||
|
* Improved support for allowing WebExtensions to manage and hide tabs
|
||||||
|
MFSA 2018-15 (bsc#1098998)
|
||||||
|
* CVE-2018-12359 (bmo#1459162)
|
||||||
|
Buffer overflow using computed size of canvas element
|
||||||
|
* CVE-2018-12360 (bmo#1459693)
|
||||||
|
Use-after-free when using focus()
|
||||||
|
* CVE-2018-12361 (bmo#1463244)
|
||||||
|
Integer overflow in SwizzleData
|
||||||
|
* CVE-2018-12358 (bmo#1467852)
|
||||||
|
Same-origin bypass using service worker and redirection
|
||||||
|
* CVE-2018-12362 (bmo#1452375)
|
||||||
|
Integer overflow in SSSE3 scaler
|
||||||
|
* CVE-2018-5156 (bmo#1453127)
|
||||||
|
Media recorder segmentation fault when track type is changed during capture
|
||||||
|
* CVE-2018-12363 (bmo#1464784)
|
||||||
|
Use-after-free when appending DOM nodes
|
||||||
|
* CVE-2018-12364 (bmo#1436241)
|
||||||
|
CSRF attacks through 307 redirects and NPAPI plugins
|
||||||
|
* CVE-2018-12365 (bmo#1459206)
|
||||||
|
Compromised IPC child process can list local filenames
|
||||||
|
* CVE-2018-12371 (bmo#1465686)
|
||||||
|
Integer overflow in Skia library during edge builder allocation
|
||||||
|
* CVE-2018-12366 (bmo#1464039)
|
||||||
|
Invalid data handling during QCMS transformations
|
||||||
|
* CVE-2018-12367 (bmo#1462891)
|
||||||
|
Timing attack mitigation of PerformanceNavigationTiming
|
||||||
|
* CVE-2018-12369 (bmo#1454909)
|
||||||
|
WebExtension security permission checks bypassed by embedded experiments
|
||||||
|
* CVE-2018-12370 (bmo#1456652)
|
||||||
|
SameSite cookie protections bypassed when exiting Reader View
|
||||||
|
* CVE-2018-5186 (bmo#1464872,bmo#1463329,bmo#1419373,bmo#1412882,
|
||||||
|
bmo#1413033,bmo#1444673,bmo#1454448,bmo#1453505,bmo#1438671)
|
||||||
|
Memory safety bugs fixed in Firefox 61
|
||||||
|
* CVE-2018-5187 (bmo#1461324,bmo#1414829,bmo#1395246,bmo#1467938,
|
||||||
|
bmo#1461619,bmo#1425930,bmo#1438556,bmo#1454285,bmo#1459568,
|
||||||
|
bmo#1463884)
|
||||||
|
Memory safety bugs fixed in Firefox 60 and Firefox ESR 60.1
|
||||||
|
* CVE-2018-5188 (bmo#1456189,bmo#1456975,bmo#1465898,bmo#1392739,
|
||||||
|
bmo#1451297,bmo#1464063,bmo#1437842,bmo#1442722,bmo#1452576,
|
||||||
|
bmo#1450688,bmo#1458264,bmo#1458270,bmo#1465108,bmo#1464829,
|
||||||
|
bmo#1464079,bmo#1463494,bmo#1458048)
|
||||||
|
Memory safety bugs fixed in Firefox 60, Firefox ESR 60.1, and Firefox ESR 52.9
|
||||||
|
- requires NSS 3.37.3
|
||||||
|
- requires python >= 3.5 to build
|
||||||
|
- removed obsolete patches
|
||||||
|
mozilla-i586-DecoderDoctorLogger.patch
|
||||||
|
mozilla-i586-domPrefs.patch
|
||||||
|
mozilla-fix-skia-aarch64.patch
|
||||||
|
mozilla-bmo1375074.patch
|
||||||
|
mozilla-enable-csd.patch
|
||||||
|
- patch for new no-return warnings (mozilla-no-return.patch)
|
||||||
|
- do not disable system installed locales (mozilla-bmo1464766.patch)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 8 10:52:13 UTC 2018 - bjorn.lie@gmail.com
|
||||||
|
|
||||||
|
- Add conditional for pkgconfig(gconf-2.0) BuildRequires, and pass
|
||||||
|
conditional --disable-gconf to configure: no longer pull in
|
||||||
|
obsolete gconf2 for Tumbleweed.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 7 12:11:06 UTC 2018 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- update to Firefox 60.0.2
|
||||||
|
* requires NSS 3.36.4
|
||||||
|
MFSA 2018-14 (bsc#1096449)
|
||||||
|
* CVE-2018-6126 (bmo#1462682)
|
||||||
|
Heap buffer overflow rasterizing paths in SVG with Skia
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 6 18:57:52 UTC 2018 - guillaume.gardet@opensuse.org
|
||||||
|
|
||||||
|
- Add upstream patch to fix boo#1093059 instead of '-ffixed-x28'
|
||||||
|
workaround:
|
||||||
|
* mozilla-bmo1375074.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat May 26 15:53:25 UTC 2018 - wr@rosenauer.org
|
Sat May 26 15:53:25 UTC 2018 - wr@rosenauer.org
|
||||||
|
|
||||||
- fixed "open with" option under KDE (boo#1094747)
|
- fixed "open with" option under KDE (boo#1094747)
|
||||||
- workaround crash on startup on aarch64 (boo#1093059)
|
- workaround crash on startup on aarch64 (boo#1093059)
|
||||||
(contributed by guillaume@Arm.com)
|
(contributed by guillaume.gardet@arm.com)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed May 23 08:49:09 UTC 2018 - guillaume.gardet@opensuse.org
|
Wed May 23 08:49:09 UTC 2018 - guillaume.gardet@opensuse.org
|
||||||
|
@ -18,12 +18,14 @@
|
|||||||
|
|
||||||
|
|
||||||
# changed with every update
|
# changed with every update
|
||||||
%define major 60
|
%define major 61
|
||||||
%define mainver %major.0.1
|
%define mainver %major.0
|
||||||
|
%define orig_version 61.0
|
||||||
|
%define orig_suffix %{nil}
|
||||||
%define update_channel release
|
%define update_channel release
|
||||||
%define branding 1
|
%define branding 1
|
||||||
%define releasedate 20180516032328
|
%define releasedate 20180621125625
|
||||||
%define source_prefix firefox-%{mainver}
|
%define source_prefix firefox-%{orig_version}
|
||||||
|
|
||||||
# PIE, full relro (x86_64 for now)
|
# PIE, full relro (x86_64 for now)
|
||||||
%define build_hardened 1
|
%define build_hardened 1
|
||||||
@ -58,6 +60,7 @@ BuildRequires: alsa-devel
|
|||||||
BuildRequires: autoconf213
|
BuildRequires: autoconf213
|
||||||
BuildRequires: dbus-1-glib-devel
|
BuildRequires: dbus-1-glib-devel
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: memory-constraints
|
||||||
%if 0%{?suse_version} <= 1320
|
%if 0%{?suse_version} <= 1320
|
||||||
BuildRequires: gcc7-c++
|
BuildRequires: gcc7-c++
|
||||||
%else
|
%else
|
||||||
@ -72,9 +75,10 @@ BuildRequires: libnotify-devel
|
|||||||
BuildRequires: libproxy-devel
|
BuildRequires: libproxy-devel
|
||||||
BuildRequires: makeinfo
|
BuildRequires: makeinfo
|
||||||
BuildRequires: mozilla-nspr-devel >= 4.19
|
BuildRequires: mozilla-nspr-devel >= 4.19
|
||||||
BuildRequires: mozilla-nss-devel >= 3.36.1
|
BuildRequires: mozilla-nss-devel >= 3.37.3
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
BuildRequires: python2-xml
|
BuildRequires: python2-xml
|
||||||
|
BuildRequires: python3 >= 3.5
|
||||||
BuildRequires: rust >= 1.24
|
BuildRequires: rust >= 1.24
|
||||||
BuildRequires: rust-std
|
BuildRequires: rust-std
|
||||||
BuildRequires: startup-notification-devel
|
BuildRequires: startup-notification-devel
|
||||||
@ -83,7 +87,9 @@ BuildRequires: update-desktop-files
|
|||||||
BuildRequires: xorg-x11-libXt-devel
|
BuildRequires: xorg-x11-libXt-devel
|
||||||
BuildRequires: yasm
|
BuildRequires: yasm
|
||||||
BuildRequires: zip
|
BuildRequires: zip
|
||||||
|
%if 0%{?suse_version} < 1550
|
||||||
BuildRequires: pkgconfig(gconf-2.0)
|
BuildRequires: pkgconfig(gconf-2.0)
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig(gdk-x11-2.0)
|
BuildRequires: pkgconfig(gdk-x11-2.0)
|
||||||
BuildRequires: pkgconfig(glib-2.0) >= 2.22
|
BuildRequires: pkgconfig(glib-2.0) >= 2.22
|
||||||
BuildRequires: pkgconfig(gobject-2.0)
|
BuildRequires: pkgconfig(gobject-2.0)
|
||||||
@ -121,13 +127,13 @@ Summary: Mozilla %{appname} Web Browser
|
|||||||
License: MPL-2.0
|
License: MPL-2.0
|
||||||
Group: Productivity/Networking/Web/Browsers
|
Group: Productivity/Networking/Web/Browsers
|
||||||
Url: http://www.mozilla.org/
|
Url: http://www.mozilla.org/
|
||||||
Source: http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz
|
Source: http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{orig_version}%{orig_suffix}.source.tar.xz
|
||||||
Source1: MozillaFirefox.desktop
|
Source1: MozillaFirefox.desktop
|
||||||
Source2: MozillaFirefox-rpmlintrc
|
Source2: MozillaFirefox-rpmlintrc
|
||||||
Source3: mozilla.sh.in
|
Source3: mozilla.sh.in
|
||||||
Source5: source-stamp.txt
|
Source5: source-stamp.txt
|
||||||
Source6: kde.js
|
Source6: kde.js
|
||||||
Source7: l10n-%{version}.tar.xz
|
Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz
|
||||||
Source8: firefox-mimeinfo.xml
|
Source8: firefox-mimeinfo.xml
|
||||||
Source9: firefox.js
|
Source9: firefox.js
|
||||||
Source10: compare-locales.tar.xz
|
Source10: compare-locales.tar.xz
|
||||||
@ -142,7 +148,7 @@ Source16: MozillaFirefox.changes
|
|||||||
# please get your own set of keys.
|
# please get your own set of keys.
|
||||||
Source18: mozilla-api-key
|
Source18: mozilla-api-key
|
||||||
Source19: google-api-key
|
Source19: google-api-key
|
||||||
Source20: http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz.asc
|
Source20: http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{orig_version}%{orig_suffix}.source.tar.xz.asc
|
||||||
Source21: mozilla.keyring
|
Source21: mozilla.keyring
|
||||||
# Gecko/Toolkit
|
# Gecko/Toolkit
|
||||||
Patch1: mozilla-nongnome-proxies.patch
|
Patch1: mozilla-nongnome-proxies.patch
|
||||||
@ -153,10 +159,8 @@ Patch5: mozilla-no-stdcxx-check.patch
|
|||||||
Patch6: mozilla-reduce-files-per-UnifiedBindings.patch
|
Patch6: mozilla-reduce-files-per-UnifiedBindings.patch
|
||||||
Patch7: mozilla-aarch64-startup-crash.patch
|
Patch7: mozilla-aarch64-startup-crash.patch
|
||||||
Patch8: mozilla-bmo256180.patch
|
Patch8: mozilla-bmo256180.patch
|
||||||
Patch9: mozilla-i586-DecoderDoctorLogger.patch
|
Patch9: mozilla-no-return.patch
|
||||||
Patch10: mozilla-i586-domPrefs.patch
|
Patch10: mozilla-bmo1464766.patch
|
||||||
Patch11: mozilla-enable-csd.patch
|
|
||||||
Patch12: mozilla-fix-skia-aarch64.patch
|
|
||||||
# Firefox/browser
|
# Firefox/browser
|
||||||
Patch101: firefox-kde.patch
|
Patch101: firefox-kde.patch
|
||||||
Patch102: firefox-branded-icons.patch
|
Patch102: firefox-branded-icons.patch
|
||||||
@ -266,12 +270,8 @@ cd $RPM_BUILD_DIR/%{source_prefix}
|
|||||||
%endif
|
%endif
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
%ifarch %ix86
|
|
||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
%endif
|
|
||||||
%patch11 -p1
|
|
||||||
%patch12 -p1
|
|
||||||
# Firefox
|
# Firefox
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
@ -305,10 +305,6 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
|
|||||||
%if 0%{?suse_version} > 1320
|
%if 0%{?suse_version} > 1320
|
||||||
export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks"
|
export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks"
|
||||||
%endif
|
%endif
|
||||||
%ifarch aarch64
|
|
||||||
# Workaround crash on startup. boo#1093059
|
|
||||||
export CFLAGS="$CFLAGS -ffixed-x28"
|
|
||||||
%endif
|
|
||||||
%ifarch %arm
|
%ifarch %arm
|
||||||
export CFLAGS="${CFLAGS/-g / }"
|
export CFLAGS="${CFLAGS/-g / }"
|
||||||
%endif
|
%endif
|
||||||
@ -329,6 +325,7 @@ export CXXFLAGS="$CFLAGS"
|
|||||||
export RUSTFLAGS="-Cdebuginfo=0"
|
export RUSTFLAGS="-Cdebuginfo=0"
|
||||||
%endif
|
%endif
|
||||||
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
|
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
|
||||||
|
%limit_build -m 1500
|
||||||
cat << EOF > $MOZCONFIG
|
cat << EOF > $MOZCONFIG
|
||||||
mk_add_options MOZILLA_OFFICIAL=1
|
mk_add_options MOZILLA_OFFICIAL=1
|
||||||
mk_add_options BUILD_OFFICIAL=1
|
mk_add_options BUILD_OFFICIAL=1
|
||||||
@ -340,6 +337,9 @@ ac_add_options --libdir=%{_libdir}
|
|||||||
ac_add_options --includedir=%{_includedir}
|
ac_add_options --includedir=%{_includedir}
|
||||||
ac_add_options --enable-release
|
ac_add_options --enable-release
|
||||||
ac_add_options --enable-default-toolkit=cairo-gtk3
|
ac_add_options --enable-default-toolkit=cairo-gtk3
|
||||||
|
%if 0%{?suse_version} >= 1550
|
||||||
|
ac_add_options --disable-gconf
|
||||||
|
%endif
|
||||||
%if 0%{?build_hardened}
|
%if 0%{?build_hardened}
|
||||||
ac_add_options --enable-pie
|
ac_add_options --enable-pie
|
||||||
%endif
|
%endif
|
||||||
@ -418,6 +418,7 @@ install -m 644 %{SOURCE6} %{buildroot}%{progdir}/browser/defaults/preferences/kd
|
|||||||
install -m 644 %{SOURCE9} %{buildroot}%{progdir}/browser/defaults/preferences/firefox.js
|
install -m 644 %{SOURCE9} %{buildroot}%{progdir}/browser/defaults/preferences/firefox.js
|
||||||
# install additional locales
|
# install additional locales
|
||||||
%if %localize
|
%if %localize
|
||||||
|
mkdir -p %{buildroot}%{progdir}/browser/extensions
|
||||||
truncate -s 0 %{_tmppath}/translations.{common,other}
|
truncate -s 0 %{_tmppath}/translations.{common,other}
|
||||||
sed -r '/^(ja-JP-mac|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/browser/locales/shipped-locales \
|
sed -r '/^(ja-JP-mac|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/browser/locales/shipped-locales \
|
||||||
| xargs -P 8 -n 1 -I {} /bin/sh -c '
|
| xargs -P 8 -n 1 -I {} /bin/sh -c '
|
||||||
@ -576,11 +577,9 @@ exit 0
|
|||||||
%dir %{progdir}
|
%dir %{progdir}
|
||||||
%dir %{progdir}/browser/
|
%dir %{progdir}/browser/
|
||||||
%dir %{progdir}/browser/chrome/
|
%dir %{progdir}/browser/chrome/
|
||||||
%dir %{progdir}/browser/extensions/
|
|
||||||
%{progdir}/browser/defaults
|
%{progdir}/browser/defaults
|
||||||
%{progdir}/browser/features/
|
%{progdir}/browser/features/
|
||||||
%{progdir}/browser/chrome/icons
|
%{progdir}/browser/chrome/icons
|
||||||
%{progdir}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
|
|
||||||
%{progdir}/browser/blocklist.xml
|
%{progdir}/browser/blocklist.xml
|
||||||
%{progdir}/browser/chrome.manifest
|
%{progdir}/browser/chrome.manifest
|
||||||
%{progdir}/browser/omni.ja
|
%{progdir}/browser/omni.ja
|
||||||
@ -597,7 +596,6 @@ exit 0
|
|||||||
%{progdir}/application.ini
|
%{progdir}/application.ini
|
||||||
%{progdir}/chrome.manifest
|
%{progdir}/chrome.manifest
|
||||||
%{progdir}/dependentlibs.list
|
%{progdir}/dependentlibs.list
|
||||||
#%{progdir}/icudt*.dat
|
|
||||||
%{progdir}/*.so
|
%{progdir}/*.so
|
||||||
%{progdir}/omni.ja
|
%{progdir}/omni.ja
|
||||||
%{progdir}/fonts/
|
%{progdir}/fonts/
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:971053a42b39417bb7d549e3de0d4b267732bb961e5178bbc3a2340b58f84b31
|
oid sha256:afe9b5aaf788e86ff4d2249b500e8cd457f7102a04d1d23db0ca6aa629e228d6
|
||||||
size 28368
|
size 28368
|
||||||
|
@ -7,45 +7,15 @@
|
|||||||
|
|
||||||
CHANNEL="release"
|
CHANNEL="release"
|
||||||
BRANCH="releases/mozilla-$CHANNEL"
|
BRANCH="releases/mozilla-$CHANNEL"
|
||||||
RELEASE_TAG="FIREFOX_60_0_1_RELEASE"
|
RELEASE_TAG="785d242a5b01d5f1094882aa2144d8e5e2791e06"
|
||||||
VERSION="60.0.1"
|
VERSION="61.0"
|
||||||
|
VERSION_SUFFIX=""
|
||||||
|
LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json"
|
||||||
|
|
||||||
# check required tools
|
# check required tools
|
||||||
test -x /usr/bin/hg || ( echo "hg missing: execute zypper in mercurial"; exit 5 )
|
test -x /usr/bin/hg || ( echo "hg missing: execute zypper in mercurial"; exit 5 )
|
||||||
test -x /usr/bin/jq || ( echo "jq missing: execute zypper in jq"; exit 5 )
|
test -x /usr/bin/jq || ( echo "jq missing: execute zypper in jq"; exit 5 )
|
||||||
|
|
||||||
|
|
||||||
# mozilla
|
|
||||||
if [ -d mozilla ]; then
|
|
||||||
pushd mozilla
|
|
||||||
_repourl=$(hg paths)
|
|
||||||
case "$_repourl" in
|
|
||||||
*$BRANCH*)
|
|
||||||
echo "updating previous tree"
|
|
||||||
hg pull
|
|
||||||
popd
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
echo "removing obsolete tree"
|
|
||||||
popd
|
|
||||||
rm -rf mozilla
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
if [ ! -d mozilla ]; then
|
|
||||||
echo "cloning new $BRANCH..."
|
|
||||||
hg clone http://hg.mozilla.org/$BRANCH mozilla
|
|
||||||
fi
|
|
||||||
pushd mozilla
|
|
||||||
hg update --check
|
|
||||||
[ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG
|
|
||||||
# get repo and source stamp
|
|
||||||
echo -n "REV=" > ../source-stamp.txt
|
|
||||||
hg -R . parent --template="{node|short}\n" >> ../source-stamp.txt
|
|
||||||
echo -n "REPO=" >> ../source-stamp.txt
|
|
||||||
hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" >> ../source-stamp.txt
|
|
||||||
popd
|
|
||||||
|
|
||||||
# use parallel compression, if available
|
# use parallel compression, if available
|
||||||
compression='-J'
|
compression='-J'
|
||||||
pixz -h > /dev/null 2>&1
|
pixz -h > /dev/null 2>&1
|
||||||
@ -53,13 +23,52 @@ if (($? != 127)); then
|
|||||||
compression='-Ipixz'
|
compression='-Ipixz'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "creating archive..."
|
# we might have an upstream archive already and can skip the checkout
|
||||||
tar $compression -cf firefox-$VERSION.source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS mozilla
|
if [ -e firefox-$VERSION$VERSION_SUFFIX.source.tar.xz ]; then
|
||||||
|
echo "skip firefox checkout and use available archive"
|
||||||
|
# still need to extract the locale information from the archive
|
||||||
|
echo "extract locale changesets"
|
||||||
|
tar -xf firefox-$VERSION$VERSION_SUFFIX.source.tar.xz $LOCALE_FILE
|
||||||
|
else
|
||||||
|
# mozilla
|
||||||
|
if [ -d firefox-$VERSION ]; then
|
||||||
|
pushd firefox-$VERSION
|
||||||
|
_repourl=$(hg paths)
|
||||||
|
case "$_repourl" in
|
||||||
|
*$BRANCH*)
|
||||||
|
echo "updating previous tree"
|
||||||
|
hg pull
|
||||||
|
popd
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
echo "removing obsolete tree"
|
||||||
|
popd
|
||||||
|
rm -rf firefox-$VERSION
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
if [ ! -d firefox-$VERSION ]; then
|
||||||
|
echo "cloning new $BRANCH..."
|
||||||
|
hg clone http://hg.mozilla.org/$BRANCH firefox-$VERSION
|
||||||
|
fi
|
||||||
|
pushd firefox-$VERSION
|
||||||
|
hg update --check
|
||||||
|
[ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG
|
||||||
|
# get repo and source stamp
|
||||||
|
echo -n "REV=" > ../source-stamp.txt
|
||||||
|
hg -R . parent --template="{node|short}\n" >> ../source-stamp.txt
|
||||||
|
echo -n "REPO=" >> ../source-stamp.txt
|
||||||
|
hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" >> ../source-stamp.txt
|
||||||
|
popd
|
||||||
|
|
||||||
|
echo "creating archive..."
|
||||||
|
tar $compression -cf firefox-$VERSION$VERSION_SUFFIX.source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS firefox-$VERSION
|
||||||
|
fi
|
||||||
|
|
||||||
# l10n
|
# l10n
|
||||||
echo "fetching locales..."
|
echo "fetching locales..."
|
||||||
test ! -d l10n && mkdir l10n
|
test ! -d l10n && mkdir l10n
|
||||||
jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' mozilla/browser/locales/l10n-changesets.json | \
|
jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' $LOCALE_FILE | \
|
||||||
while read locale changeset ; do
|
while read locale changeset ; do
|
||||||
case $locale in
|
case $locale in
|
||||||
ja-JP-mac|en-US)
|
ja-JP-mac|en-US)
|
||||||
@ -73,7 +82,7 @@ jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' mozilla/browser/locales/l10n
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
echo "creating l10n archive..."
|
echo "creating l10n archive..."
|
||||||
tar $compression -cf l10n-$VERSION.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg l10n
|
tar $compression -cf l10n-$VERSION$VERSION_SUFFIX.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg l10n
|
||||||
|
|
||||||
# compare-locales
|
# compare-locales
|
||||||
echo "creating compare-locales"
|
echo "creating compare-locales"
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c8e621c7dfccbef14cce41a6847b83bee15b5276cd0c35771c3874e464e6a662
|
|
||||||
size 267804748
|
|
@ -1,17 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
Version: GnuPG v2.0.14 (GNU/Linux)
|
|
||||||
|
|
||||||
iQIcBAABCAAGBQJa+8WlAAoJELu+vbskxvNV+JAP/Awb2XYbSOgKOZapZ6+wa7W5
|
|
||||||
RnnGiVL2OtaMm+2XJDcKrYYolw57OKb1vnpHrpgUkq1NQ3W8yknLnFMue0chY0Lk
|
|
||||||
gfOeyUGKK/mDPxvq1+qbuwkYnVvkRQNvvy7J33jqWLWc0sai1zI5djjounqsHstD
|
|
||||||
KL/alWqoBRux627m0QSGZ4+a5ex87aOKfYlMgCX0qI0j+h1Grx2P3BpN414At1jf
|
|
||||||
N4kI5vjAQSvPu8Xw7bwtbBrpctf2Ufwv8B9kcnM7018KxV3j8LukpceHYjApMY5D
|
|
||||||
ROCD09lYqnmhbv7hJN9wSYIG5EG0bCQ+bsw9TJdiCPwBSw0i0tAL6SkMUhLiuB8d
|
|
||||||
gau9Ed9QkSFBsu+a0M5Y61cwFWSm/HI9Ya2wvc3rYGn2njtrOhUFBWm7PAsiKM8P
|
|
||||||
bwZkB8+KTAu31dgeIC/uXRjOGuHkdK7+WU1HjbZhbGZIIn2zawJfdT3IJKk6hHIk
|
|
||||||
gDkcYKL0amnSFaoUXcvlLZfnEWcv+uEhGbGztE7ztA9Vo1IfLzXQtduGdn0F1fp/
|
|
||||||
sZ/Q1N1liZkVwK0GtV4+GUxIs5d0XCTZ4tNPeQ82+ePbQjo7HavJBE8gTrbj06Ui
|
|
||||||
Q4gdxdhsyuKkF8iaDx0Ft92KhZKiLyGgP3vcb025wj8l58nBCNnn2j9UDyholuDL
|
|
||||||
Xs2b4IADNmSPjxHqRgNh
|
|
||||||
=m07A
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
firefox-61.0.source.tar.xz
Normal file
3
firefox-61.0.source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3453e8ac7c602390bda0d34a4a636e0d65fd89d9ae69f7aa1740926715c42268
|
||||||
|
size 266932956
|
17
firefox-61.0.source.tar.xz.asc
Normal file
17
firefox-61.0.source.tar.xz.asc
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2.0.14 (GNU/Linux)
|
||||||
|
|
||||||
|
iQIcBAABCAAGBQJbLAYAAAoJELu+vbskxvNV74MQAImAjaPBzW2ytG6f3pK8A4VB
|
||||||
|
fwhex7/7gaJv+Y5YdcIolRRMEzUJ7dVqPkoiQK+fE5yc3HX+/Vs5/YnGa6nt8Tml
|
||||||
|
+cootnuiXnONb3wClUByLbgFw2vfE7uy6vgoL2HaoWYKGVMo1n3zvs24upi6w3XV
|
||||||
|
rbj0vvHY1Y7GfCUIuU8S85VYRxvtQB+UcGEUXy6Rtpb/hyPqzPqgctMRUmfLGUUr
|
||||||
|
rTxgHhmOlPoMsCYp1QeFzhmAwHXa88I57KjIchMsVZhOWQ9rUQzU1WXSmIvUEU6C
|
||||||
|
ukpouiFd7mMRkNpSVa86r+IWR40y6C8YpXq/yE3aSYiVZugenC3R2BkkAhBd5u++
|
||||||
|
4AZN+yE7saA8EESmSGJ3BPKFe+4237Ux6cmpRjRjRMM805RdD2CBxuInYe07WSaY
|
||||||
|
jQpV0zQY/AOI5m9wdqsH32F1u7B9GUt4u7L2wsOnvDT244OWL3OFWr1H1pGdWosJ
|
||||||
|
y9WugGrR6qTfw76AUpc/GSkIsLDvs0552PwwAumkZ254hwA/pEnQlE1W5V81rMpr
|
||||||
|
deB9ONVY7ZWLRNSM4G3M3Zh6a+FkLdDfBwvcyTazdEtjujxmgzUs2XNS4BPSxiu4
|
||||||
|
fiRnyjkjY3ZLjDpAB1K4EvLg3kYhYop4XyUCnFTX0mopETFs84mRAKmzkIbT8osZ
|
||||||
|
0aXJpCAJEq4ml8kSTvoS
|
||||||
|
=TGCY
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,11 +1,11 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
|
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
|
||||||
# Parent 38e46d7f98d3e392de95d83660ecd147b30dc9aa
|
# Parent 8a401a01454e9f5e8a357262d774e0ff348d9bc1
|
||||||
|
|
||||||
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
|
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
|
||||||
--- a/browser/branding/branding-common.mozbuild
|
--- a/browser/branding/branding-common.mozbuild
|
||||||
+++ b/browser/branding/branding-common.mozbuild
|
+++ b/browser/branding/branding-common.mozbuild
|
||||||
@@ -17,12 +17,15 @@ def FirefoxBranding():
|
@@ -22,12 +22,15 @@ def FirefoxBranding():
|
||||||
FINAL_TARGET_FILES.VisualElements += [
|
FINAL_TARGET_FILES.VisualElements += [
|
||||||
'VisualElements_150.png',
|
'VisualElements_150.png',
|
||||||
'VisualElements_70.png',
|
'VisualElements_70.png',
|
||||||
@ -24,9 +24,9 @@ diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/brandi
|
|||||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||||
--- a/browser/installer/package-manifest.in
|
--- a/browser/installer/package-manifest.in
|
||||||
+++ b/browser/installer/package-manifest.in
|
+++ b/browser/installer/package-manifest.in
|
||||||
@@ -601,20 +601,23 @@
|
@@ -404,20 +404,23 @@
|
||||||
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest
|
@RESPATH@/browser/chrome/pdfjs.manifest
|
||||||
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
|
@RESPATH@/browser/chrome/pdfjs/*
|
||||||
@RESPATH@/chrome/toolkit@JAREXT@
|
@RESPATH@/chrome/toolkit@JAREXT@
|
||||||
@RESPATH@/chrome/toolkit.manifest
|
@RESPATH@/chrome/toolkit.manifest
|
||||||
@RESPATH@/chrome/recording.manifest
|
@RESPATH@/chrome/recording.manifest
|
||||||
@ -46,5 +46,5 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-m
|
|||||||
; [Webide Files]
|
; [Webide Files]
|
||||||
@RESPATH@/browser/chrome/webide@JAREXT@
|
@RESPATH@/browser/chrome/webide@JAREXT@
|
||||||
@RESPATH@/browser/chrome/webide.manifest
|
@RESPATH@/browser/chrome/webide.manifest
|
||||||
@RESPATH@/browser/@PREF_DIR@/webide-prefs.js
|
@RESPATH@/browser/@PREF_DIR@/webide.js
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent 1b44c077e473c5a7d02fab26e2a220ebf219e0ab
|
# Parent 242712e5a1879111d1a93a5d55dfae3fd5d47abc
|
||||||
|
|
||||||
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
|
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/browser/base/content/browser-kde.xul
|
+++ b/browser/base/content/browser-kde.xul
|
||||||
@@ -0,0 +1,1280 @@
|
@@ -0,0 +1,1293 @@
|
||||||
+#filter substitution
|
+#filter substitution
|
||||||
+<?xml version="1.0"?>
|
+<?xml version="1.0"?>
|
||||||
+# -*- Mode: HTML -*-
|
+# -*- Mode: HTML -*-
|
||||||
@ -21,14 +21,17 @@ new file mode 100644
|
|||||||
+<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
|
+<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
|
||||||
+<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
|
+<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
|
||||||
+<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css"?>
|
+<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css"?>
|
||||||
|
+<?xml-stylesheet href="chrome://browser/skin/places/places.css"?>
|
||||||
|
+<?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css"?>
|
||||||
+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
|
+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
|
||||||
+<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
|
+<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
|
||||||
+
|
+<?xml-stylesheet href="chrome://browser/skin/compacttheme.css" type="text/css" alternate="yes" title="Light/Dark"?>
|
||||||
+<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
|
|
||||||
+
|
+
|
||||||
+# All DTD information is stored in a separate file so that it can be shared by
|
+# All DTD information is stored in a separate file so that it can be shared by
|
||||||
+# hiddenWindow.xul.
|
+# hiddenWindow.xul.
|
||||||
|
+<!DOCTYPE window [
|
||||||
+#include browser-doctype.inc
|
+#include browser-doctype.inc
|
||||||
|
+]>
|
||||||
+
|
+
|
||||||
+<window id="main-window"
|
+<window id="main-window"
|
||||||
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
@ -51,14 +54,12 @@ new file mode 100644
|
|||||||
+ titlemodifier_normal="&mainWindow.titlemodifier;"
|
+ titlemodifier_normal="&mainWindow.titlemodifier;"
|
||||||
+ titlemodifier_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
|
+ titlemodifier_privatebrowsing="&mainWindow.titlemodifier; &mainWindow.titlePrivateBrowsingSuffix;"
|
||||||
+#endif
|
+#endif
|
||||||
+#ifdef CAN_DRAW_IN_TITLEBAR
|
|
||||||
+#ifdef XP_WIN
|
+#ifdef XP_WIN
|
||||||
+ chromemargin="0,2,2,2"
|
+ chromemargin="0,2,2,2"
|
||||||
+#else
|
+#else
|
||||||
+ chromemargin="0,-1,-1,-1"
|
+ chromemargin="0,-1,-1,-1"
|
||||||
+#endif
|
+#endif
|
||||||
+ tabsintitlebar="true"
|
+ tabsintitlebar="true"
|
||||||
+#endif
|
|
||||||
+ titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
|
+ titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
|
||||||
+ windowtype="navigator:browser"
|
+ windowtype="navigator:browser"
|
||||||
+ macanimationtype="document"
|
+ macanimationtype="document"
|
||||||
@ -68,18 +69,33 @@ new file mode 100644
|
|||||||
+ retargetdocumentfocus="urlbar"
|
+ retargetdocumentfocus="urlbar"
|
||||||
+ persist="screenX screenY width height sizemode">
|
+ persist="screenX screenY width height sizemode">
|
||||||
+
|
+
|
||||||
+# All JS files which are not content (only) dependent that browser.xul
|
+# All JS files which are needed by browser.xul and other top level windows to
|
||||||
+# wishes to include *must* go into the global-scripts.inc file
|
+# support MacOS specific features *must* go into the global-scripts.inc file so
|
||||||
+# so that they can be shared by macBrowserOverlay.xul.
|
+# that they can be shared with macWindow.inc.xul.
|
||||||
+#include global-scripts.inc
|
+#include global-scripts.inc
|
||||||
+
|
+
|
||||||
+<script type="application/javascript">
|
+<script type="application/javascript">
|
||||||
+ Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
|
+ Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
|
||||||
+ Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
|
+ Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
|
||||||
|
+
|
||||||
|
+ ChromeUtils.defineModuleGetter(window,
|
||||||
|
+ "PlacesUtils", "resource://gre/modules/PlacesUtils.jsm");
|
||||||
|
+ ChromeUtils.defineModuleGetter(window,
|
||||||
|
+ "PlacesUIUtils", "resource:///modules/PlacesUIUtils.jsm");
|
||||||
|
+ ChromeUtils.defineModuleGetter(window,
|
||||||
|
+ "PlacesTransactions", "resource://gre/modules/PlacesTransactions.jsm");
|
||||||
|
+
|
||||||
|
+ ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||||
|
+ XPCOMUtils.defineLazyScriptGetter(window, "PlacesTreeView",
|
||||||
|
+ "chrome://browser/content/places/treeView.js");
|
||||||
|
+ XPCOMUtils.defineLazyScriptGetter(window,
|
||||||
|
+ ["PlacesInsertionPoint", "PlacesController", "PlacesControllerDragHelper"],
|
||||||
|
+ "chrome://browser/content/places/controller.js");
|
||||||
+</script>
|
+</script>
|
||||||
+
|
+
|
||||||
+# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
|
+# All sets except for popupsets (commands, keys, stringbundles and broadcasters)
|
||||||
+# browser-sets.inc file for sharing with hiddenWindow.xul.
|
+# *must* go into the browser-sets.inc file so that they can be shared with other
|
||||||
|
+# top level windows in macWindow.inc.xul.
|
||||||
+#define FULL_BROWSER_WINDOW
|
+#define FULL_BROWSER_WINDOW
|
||||||
+#include browser-sets.inc
|
+#include browser-sets.inc
|
||||||
+#undef FULL_BROWSER_WINDOW
|
+#undef FULL_BROWSER_WINDOW
|
||||||
@ -219,7 +235,7 @@ new file mode 100644
|
|||||||
+ <description id="editBookmarkPanelDescription"/>
|
+ <description id="editBookmarkPanelDescription"/>
|
||||||
+ </vbox>
|
+ </vbox>
|
||||||
+ </row>
|
+ </row>
|
||||||
+ <vbox id="editBookmarkPanelContent" flex="1" hidden="true"/>
|
+#include ../../components/places/content/editBookmarkPanel.inc.xul
|
||||||
+ <hbox id="editBookmarkPanelBottomButtons" pack="end">
|
+ <hbox id="editBookmarkPanelBottomButtons" pack="end">
|
||||||
+#ifdef XP_UNIX
|
+#ifdef XP_UNIX
|
||||||
+ <button id="editBookmarkPanelDoneButton"
|
+ <button id="editBookmarkPanelDoneButton"
|
||||||
@ -403,7 +419,7 @@ new file mode 100644
|
|||||||
+#include browser-context.inc
|
+#include browser-context.inc
|
||||||
+ </menupopup>
|
+ </menupopup>
|
||||||
+
|
+
|
||||||
+ <menupopup id="placesContext"/>
|
+#include ../../components/places/content/placesContextMenu.inc.xul
|
||||||
+
|
+
|
||||||
+ <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
|
+ <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
|
||||||
+ <hbox>
|
+ <hbox>
|
||||||
@ -432,7 +448,8 @@ new file mode 100644
|
|||||||
+ copyURL-title="&pageAction.copyLink.label;"
|
+ copyURL-title="&pageAction.copyLink.label;"
|
||||||
+ emailLink-title="&emailPageCmd.label;"
|
+ emailLink-title="&emailPageCmd.label;"
|
||||||
+ sendToDevice-title="&pageAction.sendTabToDevice.label;"
|
+ sendToDevice-title="&pageAction.sendTabToDevice.label;"
|
||||||
+ sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;">
|
+ sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;"
|
||||||
|
+ shareURL-title="&pageAction.shareUrl.label;">
|
||||||
+ <panelmultiview id="pageActionPanelMultiView"
|
+ <panelmultiview id="pageActionPanelMultiView"
|
||||||
+ mainViewId="pageActionPanelMainView"
|
+ mainViewId="pageActionPanelMainView"
|
||||||
+ viewCacheId="appMenu-viewCache">
|
+ viewCacheId="appMenu-viewCache">
|
||||||
@ -480,8 +497,7 @@ new file mode 100644
|
|||||||
+ oncommand="BrowserPageActions.openAboutAddonsForContextAction();"/>
|
+ oncommand="BrowserPageActions.openAboutAddonsForContextAction();"/>
|
||||||
+ </menupopup>
|
+ </menupopup>
|
||||||
+
|
+
|
||||||
+ <!-- Bookmarks and history tooltip -->
|
+#include ../../components/places/content/bookmarksHistoryTooltip.inc.xul
|
||||||
+ <tooltip id="bhTooltip"/>
|
|
||||||
+
|
+
|
||||||
+ <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
|
+ <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
|
||||||
+
|
+
|
||||||
@ -515,15 +531,6 @@ new file mode 100644
|
|||||||
+ </vbox>
|
+ </vbox>
|
||||||
+ </hbox>
|
+ </hbox>
|
||||||
+
|
+
|
||||||
+ <hbox id="bookmarked-notification-container" mousethrough="always">
|
|
||||||
+ <vbox id="bookmarked-notification-anchor">
|
|
||||||
+ <vbox id="bookmarked-notification"/>
|
|
||||||
+ </vbox>
|
|
||||||
+ <vbox id="bookmarked-notification-dropmarker-anchor">
|
|
||||||
+ <image id="bookmarked-notification-dropmarker-icon"/>
|
|
||||||
+ </vbox>
|
|
||||||
+ </hbox>
|
|
||||||
+
|
|
||||||
+ <tooltip id="dynamic-shortcut-tooltip"
|
+ <tooltip id="dynamic-shortcut-tooltip"
|
||||||
+ onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
|
+ onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
|
||||||
+
|
+
|
||||||
@ -589,7 +596,6 @@ new file mode 100644
|
|||||||
+ </popupset>
|
+ </popupset>
|
||||||
+ <box id="appMenu-viewCache" hidden="true"/>
|
+ <box id="appMenu-viewCache" hidden="true"/>
|
||||||
+
|
+
|
||||||
+#ifdef CAN_DRAW_IN_TITLEBAR
|
|
||||||
+<vbox id="titlebar">
|
+<vbox id="titlebar">
|
||||||
+ <hbox id="titlebar-content">
|
+ <hbox id="titlebar-content">
|
||||||
+ <spacer id="titlebar-spacer" flex="1"/>
|
+ <spacer id="titlebar-spacer" flex="1"/>
|
||||||
@ -611,7 +617,6 @@ new file mode 100644
|
|||||||
+#endif
|
+#endif
|
||||||
+ </hbox>
|
+ </hbox>
|
||||||
+</vbox>
|
+</vbox>
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+ <toolbox id="navigator-toolbox">
|
+ <toolbox id="navigator-toolbox">
|
||||||
+ <!-- Menu -->
|
+ <!-- Menu -->
|
||||||
@ -626,17 +631,15 @@ new file mode 100644
|
|||||||
+#endif
|
+#endif
|
||||||
+ context="toolbar-context-menu">
|
+ context="toolbar-context-menu">
|
||||||
+ <toolbaritem id="menubar-items" align="center">
|
+ <toolbaritem id="menubar-items" align="center">
|
||||||
+# The entire main menubar is placed into browser-menubar.inc, so that it can be shared by
|
+# The entire main menubar is placed into browser-menubar.inc, so that it can be
|
||||||
+# hiddenWindow.xul.
|
+# shared with other top level windows in macWindow.inc.xul.
|
||||||
+#include browser-menubar.inc
|
+#include browser-menubar.inc
|
||||||
+ </toolbaritem>
|
+ </toolbaritem>
|
||||||
+
|
+
|
||||||
+#ifdef CAN_DRAW_IN_TITLEBAR
|
|
||||||
+#ifndef XP_MACOSX
|
+#ifndef XP_MACOSX
|
||||||
+ <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
|
+ <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
|
||||||
+ skipintoolbarset="true"/>
|
+ skipintoolbarset="true"/>
|
||||||
+#endif
|
+#endif
|
||||||
+#endif
|
|
||||||
+ </toolbar>
|
+ </toolbar>
|
||||||
+
|
+
|
||||||
+ <toolbar id="TabsToolbar"
|
+ <toolbar id="TabsToolbar"
|
||||||
@ -645,13 +648,9 @@ new file mode 100644
|
|||||||
+ customizable="true"
|
+ customizable="true"
|
||||||
+ mode="icons"
|
+ mode="icons"
|
||||||
+ aria-label="&tabsToolbar.label;"
|
+ aria-label="&tabsToolbar.label;"
|
||||||
+ context="toolbar-context-menu"
|
+ context="toolbar-context-menu">
|
||||||
+ collapsed="true">
|
|
||||||
+
|
|
||||||
+#ifdef CAN_DRAW_IN_TITLEBAR
|
|
||||||
+ <hbox class="titlebar-placeholder" type="pre-tabs"
|
+ <hbox class="titlebar-placeholder" type="pre-tabs"
|
||||||
+ skipintoolbarset="true"/>
|
+ skipintoolbarset="true"/>
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+ <tabs id="tabbrowser-tabs"
|
+ <tabs id="tabbrowser-tabs"
|
||||||
+ flex="1"
|
+ flex="1"
|
||||||
@ -675,7 +674,7 @@ new file mode 100644
|
|||||||
+ removable="true"/>
|
+ removable="true"/>
|
||||||
+
|
+
|
||||||
+ <toolbarbutton id="alltabs-button"
|
+ <toolbarbutton id="alltabs-button"
|
||||||
+ class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button"
|
+ class="toolbarbutton-1 chromeclass-toolbar-additional tabs-alltabs-button badged-button"
|
||||||
+ type="menu"
|
+ type="menu"
|
||||||
+ label="&listAllTabs.label;"
|
+ label="&listAllTabs.label;"
|
||||||
+ tooltiptext="&listAllTabs.label;"
|
+ tooltiptext="&listAllTabs.label;"
|
||||||
@ -692,21 +691,23 @@ new file mode 100644
|
|||||||
+ <menupopup id="alltabs_containersMenuTab" />
|
+ <menupopup id="alltabs_containersMenuTab" />
|
||||||
+ </menu>
|
+ </menu>
|
||||||
+ <menuseparator id="alltabs-popup-separator-2"/>
|
+ <menuseparator id="alltabs-popup-separator-2"/>
|
||||||
|
+ <menu id="alltabs_hiddenTabs"
|
||||||
|
+ label="&hiddenTabs.label;">
|
||||||
|
+ <menupopup id="alltabs_hiddenTabsMenu"/>
|
||||||
|
+ </menu>
|
||||||
|
+ <menuseparator id="alltabs-popup-separator-3"/>
|
||||||
+ </menupopup>
|
+ </menupopup>
|
||||||
+ </toolbarbutton>
|
+ </toolbarbutton>
|
||||||
+
|
+
|
||||||
+#ifdef CAN_DRAW_IN_TITLEBAR
|
|
||||||
+ <hbox class="titlebar-placeholder" type="post-tabs"
|
+ <hbox class="titlebar-placeholder" type="post-tabs"
|
||||||
+ ordinal="1000"
|
+ ordinal="1000"
|
||||||
+ skipintoolbarset="true"/>
|
+ skipintoolbarset="true"/>
|
||||||
+#endif
|
|
||||||
+
|
+
|
||||||
+ <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;"
|
+ <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;"
|
||||||
+ ordinal="1000"
|
+ ordinal="1000"
|
||||||
+ aria-live="polite" skipintoolbarset="true"/>
|
+ aria-live="polite" skipintoolbarset="true"/>
|
||||||
+ <hbox class="private-browsing-indicator" skipintoolbarset="true"
|
+ <hbox class="private-browsing-indicator" skipintoolbarset="true"
|
||||||
+ ordinal="1000"/>
|
+ ordinal="1000"/>
|
||||||
+#ifdef CAN_DRAW_IN_TITLEBAR
|
|
||||||
+ <hbox class="titlebar-placeholder" type="caption-buttons"
|
+ <hbox class="titlebar-placeholder" type="caption-buttons"
|
||||||
+#ifndef XP_MACOSX
|
+#ifndef XP_MACOSX
|
||||||
+ ordinal="1000"
|
+ ordinal="1000"
|
||||||
@ -717,7 +718,6 @@ new file mode 100644
|
|||||||
+ <hbox class="titlebar-placeholder" type="fullscreen-button"
|
+ <hbox class="titlebar-placeholder" type="fullscreen-button"
|
||||||
+ skipintoolbarset="true"/>
|
+ skipintoolbarset="true"/>
|
||||||
+#endif
|
+#endif
|
||||||
+#endif
|
|
||||||
+ </toolbar>
|
+ </toolbar>
|
||||||
+
|
+
|
||||||
+ <toolbar id="nav-bar"
|
+ <toolbar id="nav-bar"
|
||||||
@ -876,7 +876,7 @@ new file mode 100644
|
|||||||
+ <image id="midi-notification-icon" class="notification-anchor-icon midi-icon" role="button"
|
+ <image id="midi-notification-icon" class="notification-anchor-icon midi-icon" role="button"
|
||||||
+ tooltiptext="&urlbar.midiNotificationAnchor.tooltip;"/>
|
+ tooltiptext="&urlbar.midiNotificationAnchor.tooltip;"/>
|
||||||
+ <image id="webauthn-notification-icon" class="notification-anchor-icon" role="button"
|
+ <image id="webauthn-notification-icon" class="notification-anchor-icon" role="button"
|
||||||
+ tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/>
|
+ tooltiptext="&urlbar.webAuthnAnchor.tooltip;"/>
|
||||||
+ </box>
|
+ </box>
|
||||||
+ <image id="connection-icon"/>
|
+ <image id="connection-icon"/>
|
||||||
+ <image id="extension-icon"/>
|
+ <image id="extension-icon"/>
|
||||||
@ -1228,8 +1228,12 @@ new file mode 100644
|
|||||||
+ onselect="if (event.target.localName == 'tabpanels') gBrowser.updateCurrentBrowser();">
|
+ onselect="if (event.target.localName == 'tabpanels') gBrowser.updateCurrentBrowser();">
|
||||||
+ <tabpanels flex="1" class="plain" selectedIndex="0" id="tabbrowser-tabpanels">
|
+ <tabpanels flex="1" class="plain" selectedIndex="0" id="tabbrowser-tabpanels">
|
||||||
+ <notificationbox flex="1" notificationside="top">
|
+ <notificationbox flex="1" notificationside="top">
|
||||||
+ <hbox flex="1" class="browserSidebarContainer">
|
+ <!-- Set large flex to allow the devtools toolbox to set a flex attribute.
|
||||||
+ <vbox flex="1" class="browserContainer">
|
+ We don't want the toolbox to actually take up free space, but we do want it to collapse when the window shrinks, and with flex=0 it can't.
|
||||||
|
+ When the toolbox is on the bottom it's a sibling of browserSidebarContainer,
|
||||||
|
+ and when it's on the side it's a sibling of browserContainer. -->
|
||||||
|
+ <hbox flex="10000" class="browserSidebarContainer">
|
||||||
|
+ <vbox flex="10000" class="browserContainer">
|
||||||
+ <stack flex="1" class="browserStack">
|
+ <stack flex="1" class="browserStack">
|
||||||
+ <browser id="tabbrowser-initialBrowser" type="content"
|
+ <browser id="tabbrowser-initialBrowser" type="content"
|
||||||
+ message="true" messagemanagergroup="browsers"
|
+ message="true" messagemanagergroup="browsers"
|
||||||
@ -1240,6 +1244,15 @@ new file mode 100644
|
|||||||
+ selectmenulist="ContentSelectDropdown"
|
+ selectmenulist="ContentSelectDropdown"
|
||||||
+ datetimepicker="DateTimePickerPanel"/>
|
+ datetimepicker="DateTimePickerPanel"/>
|
||||||
+ </stack>
|
+ </stack>
|
||||||
|
+ <hbox id="statuspanel" inactive="true" layer="true">
|
||||||
|
+ <hbox id="statuspanel-inner">
|
||||||
|
+ <label id="statuspanel-label"
|
||||||
|
+ role="status"
|
||||||
|
+ aria-live="off"
|
||||||
|
+ flex="1"
|
||||||
|
+ crop="end"/>
|
||||||
|
+ </hbox>
|
||||||
|
+ </hbox>
|
||||||
+ </vbox>
|
+ </vbox>
|
||||||
+ </hbox>
|
+ </hbox>
|
||||||
+ </notificationbox>
|
+ </notificationbox>
|
||||||
@ -1289,7 +1302,7 @@ new file mode 100644
|
|||||||
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
||||||
--- a/browser/base/jar.mn
|
--- a/browser/base/jar.mn
|
||||||
+++ b/browser/base/jar.mn
|
+++ b/browser/base/jar.mn
|
||||||
@@ -42,16 +42,18 @@ browser.jar:
|
@@ -44,16 +44,18 @@ browser.jar:
|
||||||
content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png)
|
content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png)
|
||||||
content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
|
content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
|
||||||
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
|
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
|
||||||
@ -1330,7 +1343,7 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
|
|||||||
|
|
||||||
#include "rdf.h"
|
#include "rdf.h"
|
||||||
#include "nsFeedSniffer.h"
|
#include "nsFeedSniffer.h"
|
||||||
@@ -32,18 +32,16 @@ using namespace mozilla::browser;
|
@@ -31,18 +31,16 @@ using namespace mozilla::browser;
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
@ -1349,9 +1362,9 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
|
|||||||
|
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
|
||||||
|
|
||||||
@@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID)
|
@@ -60,17 +58,17 @@ NS_DEFINE_NAMED_CID(NS_WINIEHISTORYENUME
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSessionStoreUtils)
|
NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
|
||||||
NS_DEFINE_NAMED_CID(NS_SESSIONSTOREUTILS_CID);
|
#endif
|
||||||
|
|
||||||
static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
|
static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
|
||||||
{ &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
|
{ &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
|
||||||
@ -1371,7 +1384,7 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
|
|||||||
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
|
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
|
||||||
--- a/browser/components/preferences/in-content/main.js
|
--- a/browser/components/preferences/in-content/main.js
|
||||||
+++ b/browser/components/preferences/in-content/main.js
|
+++ b/browser/components/preferences/in-content/main.js
|
||||||
@@ -333,16 +333,23 @@ var gMainPane = {
|
@@ -327,16 +327,23 @@ var gMainPane = {
|
||||||
this._backoffIndex++ : backoffTimes.length - 1]);
|
this._backoffIndex++ : backoffTimes.length - 1]);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1395,7 +1408,7 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
|
|||||||
performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
|
performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
|
||||||
|
|
||||||
this.updateDefaultPerformanceSettingsPref();
|
this.updateDefaultPerformanceSettingsPref();
|
||||||
@@ -1060,16 +1067,27 @@ var gMainPane = {
|
@@ -868,16 +875,27 @@ var gMainPane = {
|
||||||
// Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
|
// Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
|
||||||
this._backoffIndex = 0;
|
this._backoffIndex = 0;
|
||||||
|
|
||||||
@ -1442,9 +1455,9 @@ diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.b
|
|||||||
if SOURCES:
|
if SOURCES:
|
||||||
FINAL_LIBRARY = 'browsercomps'
|
FINAL_LIBRARY = 'browsercomps'
|
||||||
|
|
||||||
EXTRA_COMPONENTS += [
|
EXTRA_JS_MODULES += [
|
||||||
'nsSetDefaultBrowser.js',
|
'HeadlessShell.jsm',
|
||||||
'nsSetDefaultBrowser.manifest',
|
'ShellService.jsm',
|
||||||
diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
|
diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@ -1537,7 +1550,7 @@ new file mode 100644
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+NS_IMETHODIMP
|
+NS_IMETHODIMP
|
||||||
+nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement,
|
+nsKDEShellService::SetDesktopBackground(dom::Element* aElement,
|
||||||
+ int32_t aPosition,
|
+ int32_t aPosition,
|
||||||
+ const nsACString& aImageName)
|
+ const nsACString& aImageName)
|
||||||
+{
|
+{
|
||||||
@ -1677,8 +1690,8 @@ new file mode 100644
|
|||||||
+ nsKDEShellService() : mCheckedThisSession(false) { }
|
+ nsKDEShellService() : mCheckedThisSession(false) { }
|
||||||
+
|
+
|
||||||
+ NS_DECL_ISUPPORTS
|
+ NS_DECL_ISUPPORTS
|
||||||
+ NS_DECL_NSIGNOMESHELLSERVICE
|
|
||||||
+ NS_DECL_NSISHELLSERVICE
|
+ NS_DECL_NSISHELLSERVICE
|
||||||
|
+ NS_DECL_NSIGNOMESHELLSERVICE
|
||||||
+
|
+
|
||||||
+ nsresult Init();
|
+ nsresult Init();
|
||||||
+
|
+
|
||||||
@ -1739,7 +1752,7 @@ new file mode 100644
|
|||||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||||
--- a/browser/installer/package-manifest.in
|
--- a/browser/installer/package-manifest.in
|
||||||
+++ b/browser/installer/package-manifest.in
|
+++ b/browser/installer/package-manifest.in
|
||||||
@@ -646,16 +646,18 @@
|
@@ -452,16 +452,18 @@
|
||||||
@RESPATH@/browser/defaults/blocklists
|
@RESPATH@/browser/defaults/blocklists
|
||||||
@RESPATH@/browser/defaults/pinning
|
@RESPATH@/browser/defaults/pinning
|
||||||
|
|
||||||
@ -1748,13 +1761,13 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-m
|
|||||||
; gre location for now.
|
; gre location for now.
|
||||||
@RESPATH@/defaults/pref/channel-prefs.js
|
@RESPATH@/defaults/pref/channel-prefs.js
|
||||||
|
|
||||||
+@BINPATH@/defaults/pref/kde.js
|
+@RESPATH@/defaults/pref/kde.js
|
||||||
+
|
+
|
||||||
; Remote control protocol prefs
|
|
||||||
; defined in ../../testing/marionette/prefs/marionette.js
|
|
||||||
@RESPATH@/defaults/pref/marionette.js
|
|
||||||
|
|
||||||
; Services (gre) prefs
|
; Services (gre) prefs
|
||||||
@RESPATH@/defaults/pref/services-sync.js
|
@RESPATH@/defaults/pref/services-sync.js
|
||||||
|
|
||||||
; [Layout Engine Resources]
|
; [Layout Engine Resources]
|
||||||
|
; Style Sheets, Graphics and other Resources used by the layout engine.
|
||||||
|
@RESPATH@/res/EditorOverride.css
|
||||||
|
@RESPATH@/res/contenteditable.css
|
||||||
|
@RESPATH@/res/designmode.css
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:818593ebff301f74bf90ad714e263398c2fc67d318f687b8049c774ffdc56a2b
|
|
||||||
size 49782444
|
|
3
l10n-61.0.tar.xz
Normal file
3
l10n-61.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cd26ea35915c7b5e526588daa10ae26bcb265bd343c85d81ed2ed8925aa5760d
|
||||||
|
size 50086832
|
119
mozilla-bmo1464766.patch
Normal file
119
mozilla-bmo1464766.patch
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User Mike Hommey <mh+mozilla@glandium.org>
|
||||||
|
# Date 1527491713 -32400
|
||||||
|
# Node ID c28becad0c10b906454d7e424f9a9402799ea8dd
|
||||||
|
# Parent 86eaa6799cf51660c0b598937121305b8f70c84d
|
||||||
|
Bug 1464766 - Allow to relax the addon signature requirements. r?rhelmer
|
||||||
|
|
||||||
|
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
|
||||||
|
--- a/modules/libpref/init/all.js
|
||||||
|
+++ b/modules/libpref/init/all.js
|
||||||
|
@@ -1134,16 +1134,19 @@ pref("print.print_via_parent", true);
|
||||||
|
pref("print.print_via_parent", false);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Pref used by the spellchecker extension to control the
|
||||||
|
// maximum number of misspelled words that will be underlined
|
||||||
|
// in a document.
|
||||||
|
pref("extensions.spellcheck.inline.max-misspellings", 500);
|
||||||
|
|
||||||
|
+// Add-on manager scoped allowing unsigned addons. None by default.
|
||||||
|
+pref("extensions.unsignedScopes", 12, locked);
|
||||||
|
+
|
||||||
|
// Prefs used by libeditor. Prefs specific to seamonkey composer
|
||||||
|
// belong in comm-central/editor/ui/composer.js
|
||||||
|
|
||||||
|
pref("editor.use_custom_colors", false);
|
||||||
|
pref("editor.singleLine.pasteNewlines", 2);
|
||||||
|
pref("editor.use_css", false);
|
||||||
|
pref("editor.css.default_length_unit", "px");
|
||||||
|
pref("editor.resizing.preserve_ratio", true);
|
||||||
|
diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js
|
||||||
|
--- a/toolkit/mozapps/extensions/content/extensions.js
|
||||||
|
+++ b/toolkit/mozapps/extensions/content/extensions.js
|
||||||
|
@@ -42,16 +42,17 @@ XPCOMUtils.defineLazyPreferenceGetter(th
|
||||||
|
const PREF_DISCOVERURL = "extensions.webservice.discoverURL";
|
||||||
|
const PREF_DISCOVER_ENABLED = "extensions.getAddons.showPane";
|
||||||
|
const PREF_GETADDONS_CACHE_ENABLED = "extensions.getAddons.cache.enabled";
|
||||||
|
const PREF_GETADDONS_CACHE_ID_ENABLED = "extensions.%ID%.getAddons.cache.enabled";
|
||||||
|
const PREF_UI_TYPE_HIDDEN = "extensions.ui.%TYPE%.hidden";
|
||||||
|
const PREF_UI_LASTCATEGORY = "extensions.ui.lastCategory";
|
||||||
|
const PREF_LEGACY_EXCEPTIONS = "extensions.legacy.exceptions";
|
||||||
|
const PREF_LEGACY_ENABLED = "extensions.legacy.enabled";
|
||||||
|
+const PREF_UNSIGNED_SCOPES = "extensions.unsignedScopes";
|
||||||
|
|
||||||
|
const LOADING_MSG_DELAY = 100;
|
||||||
|
|
||||||
|
const UPDATES_RECENT_TIMESPAN = 2 * 24 * 3600000; // 2 days (in milliseconds)
|
||||||
|
const UPDATES_RELEASENOTES_TRANSFORMFILE = "chrome://mozapps/content/extensions/updateinfo.xsl";
|
||||||
|
|
||||||
|
const XMLURI_PARSE_ERROR = "http://www.mozilla.org/newlayout/xml/parsererror.xml";
|
||||||
|
|
||||||
|
@@ -223,19 +224,21 @@ function loadView(aViewId) {
|
||||||
|
|
||||||
|
function isCorrectlySigned(aAddon) {
|
||||||
|
// Add-ons without an "isCorrectlySigned" property are correctly signed as
|
||||||
|
// they aren't the correct type for signing.
|
||||||
|
return aAddon.isCorrectlySigned !== false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isDisabledUnsigned(addon) {
|
||||||
|
- let signingRequired = (addon.type == "locale") ?
|
||||||
|
- AddonSettings.LANGPACKS_REQUIRE_SIGNING :
|
||||||
|
- AddonSettings.REQUIRE_SIGNING;
|
||||||
|
+ let unsignedScopes = Services.prefs.getIntPref(PREF_UNSIGNED_SCOPES, 0);
|
||||||
|
+ let signingRequired = !(addon.scope & unsignedScopes) &&
|
||||||
|
+ ((addon.type == "locale") ?
|
||||||
|
+ AddonSettings.LANGPACKS_REQUIRE_SIGNING :
|
||||||
|
+ AddonSettings.REQUIRE_SIGNING);
|
||||||
|
return signingRequired && !isCorrectlySigned(addon);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLegacyExtension(addon) {
|
||||||
|
let legacy = false;
|
||||||
|
if (addon.type == "extension" && !addon.isWebExtension) {
|
||||||
|
legacy = true;
|
||||||
|
}
|
||||||
|
diff --git a/toolkit/mozapps/extensions/internal/XPIDatabase.jsm b/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
|
||||||
|
--- a/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
|
||||||
|
+++ b/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
|
||||||
|
@@ -78,16 +78,17 @@ const KEY_PROFILEDIR =
|
||||||
|
const FILE_JSON_DB = "extensions.json";
|
||||||
|
|
||||||
|
// The last version of DB_SCHEMA implemented in SQLITE
|
||||||
|
const LAST_SQLITE_DB_SCHEMA = 14;
|
||||||
|
|
||||||
|
const PREF_BLOCKLIST_ITEM_URL = "extensions.blocklist.itemURL";
|
||||||
|
const PREF_DB_SCHEMA = "extensions.databaseSchema";
|
||||||
|
const PREF_EM_AUTO_DISABLED_SCOPES = "extensions.autoDisableScopes";
|
||||||
|
+const PREF_EM_UNSIGNED_SCOPES = "extensions.unsignedScopes";
|
||||||
|
const PREF_EM_EXTENSION_FORMAT = "extensions.";
|
||||||
|
const PREF_PENDING_OPERATIONS = "extensions.pendingOperations";
|
||||||
|
const PREF_XPI_SIGNATURES_DEV_ROOT = "xpinstall.signatures.dev-root";
|
||||||
|
|
||||||
|
const TOOLKIT_ID = "toolkit@mozilla.org";
|
||||||
|
|
||||||
|
const KEY_APP_SYSTEM_ADDONS = "app-system-addons";
|
||||||
|
const KEY_APP_SYSTEM_DEFAULTS = "app-system-defaults";
|
||||||
|
@@ -1959,17 +1960,19 @@ this.XPIDatabase = {
|
||||||
|
* Calculates whether an add-on should be appDisabled or not.
|
||||||
|
*
|
||||||
|
* @param {AddonInternal} aAddon
|
||||||
|
* The add-on to check
|
||||||
|
* @returns {boolean}
|
||||||
|
* True if the add-on should not be appDisabled
|
||||||
|
*/
|
||||||
|
isUsableAddon(aAddon) {
|
||||||
|
- if (this.mustSign(aAddon.type) && !aAddon.isCorrectlySigned) {
|
||||||
|
+ let unsignedScopes = Services.prefs.getIntPref(PREF_EM_UNSIGNED_SCOPES, 0);
|
||||||
|
+ if (!(aAddon._installLocation.scope & unsignedScopes) &&
|
||||||
|
+ this.mustSign(aAddon.type) && !aAddon.isCorrectlySigned) {
|
||||||
|
logger.warn(`Add-on ${aAddon.id} is not correctly signed.`);
|
||||||
|
if (Services.prefs.getBoolPref(PREF_XPI_SIGNATURES_DEV_ROOT, false)) {
|
||||||
|
logger.warn(`Preference ${PREF_XPI_SIGNATURES_DEV_ROOT} is set.`);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (aAddon.blocklistState == nsIBlocklistService.STATE_BLOCKED) {
|
@ -1,614 +0,0 @@
|
|||||||
This is a composition of these patches for Firefox 60:
|
|
||||||
|
|
||||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1441873
|
|
||||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1441665
|
|
||||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1456898
|
|
||||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1457309
|
|
||||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1457691
|
|
||||||
|
|
||||||
which fix popup window placement at CSD window mode.
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/widget/gtk/nsLookAndFeel.cpp b/widget/gtk/nsLookAndFeel.cpp
|
|
||||||
--- a/widget/gtk/nsLookAndFeel.cpp
|
|
||||||
+++ b/widget/gtk/nsLookAndFeel.cpp
|
|
||||||
@@ -1076,19 +1076,18 @@ nsLookAndFeel::EnsureInit()
|
|
||||||
nullptr);
|
|
||||||
|
|
||||||
GetSystemFontInfo(gtk_widget_get_style_context(entry),
|
|
||||||
&mFieldFontName, &mFieldFontStyle);
|
|
||||||
|
|
||||||
gtk_widget_destroy(window);
|
|
||||||
g_object_unref(labelWidget);
|
|
||||||
|
|
||||||
- // Require GTK 3.10 for GtkHeaderBar support and compatible window manager.
|
|
||||||
- mCSDAvailable = (gtk_check_version(3, 10, 0) == nullptr &&
|
|
||||||
- nsWindow::GetCSDSupportLevel() != nsWindow::CSD_SUPPORT_NONE);
|
|
||||||
+ mCSDAvailable =
|
|
||||||
+ nsWindow::GetSystemCSDSupportLevel() != nsWindow::CSD_SUPPORT_NONE;
|
|
||||||
|
|
||||||
mCSDCloseButton = false;
|
|
||||||
mCSDMinimizeButton = false;
|
|
||||||
mCSDMaximizeButton = false;
|
|
||||||
|
|
||||||
// We need to initialize whole CSD config explicitly because it's queried
|
|
||||||
// as -moz-gtk* media features.
|
|
||||||
WidgetNodeType buttonLayout[TOOLBAR_BUTTONS];
|
|
||||||
diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
|
|
||||||
--- a/widget/gtk/nsWindow.h
|
|
||||||
+++ b/widget/gtk/nsWindow.h
|
|
||||||
@@ -395,28 +395,26 @@ public:
|
|
||||||
// From GDK
|
|
||||||
int GdkCoordToDevicePixels(gint coord);
|
|
||||||
LayoutDeviceIntPoint GdkPointToDevicePixels(GdkPoint point);
|
|
||||||
LayoutDeviceIntPoint GdkEventCoordsToDevicePixels(gdouble x, gdouble y);
|
|
||||||
LayoutDeviceIntRect GdkRectToDevicePixels(GdkRectangle rect);
|
|
||||||
|
|
||||||
virtual bool WidgetTypeSupportsAcceleration() override;
|
|
||||||
|
|
||||||
- bool DoDrawTitlebar() const;
|
|
||||||
-
|
|
||||||
typedef enum { CSD_SUPPORT_SYSTEM, // CSD including shadows
|
|
||||||
CSD_SUPPORT_CLIENT, // CSD without shadows
|
|
||||||
CSD_SUPPORT_NONE, // WM does not support CSD at all
|
|
||||||
CSD_SUPPORT_UNKNOWN
|
|
||||||
} CSDSupportLevel;
|
|
||||||
/**
|
|
||||||
* Get the support of Client Side Decoration by checking
|
|
||||||
* the XDG_CURRENT_DESKTOP environment variable.
|
|
||||||
*/
|
|
||||||
- static CSDSupportLevel GetCSDSupportLevel();
|
|
||||||
+ static CSDSupportLevel GetSystemCSDSupportLevel();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual ~nsWindow();
|
|
||||||
|
|
||||||
// event handling code
|
|
||||||
void DispatchActivateEvent(void);
|
|
||||||
void DispatchDeactivateEvent(void);
|
|
||||||
void DispatchResized();
|
|
||||||
@@ -512,19 +510,21 @@ private:
|
|
||||||
int mXDepth;
|
|
||||||
mozilla::widget::WindowSurfaceProvider mSurfaceProvider;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Upper bound on pending ConfigureNotify events to be dispatched to the
|
|
||||||
// window. See bug 1225044.
|
|
||||||
unsigned int mPendingConfigures;
|
|
||||||
|
|
||||||
- bool mIsCSDAvailable;
|
|
||||||
+ // Window titlebar rendering mode, CSD_SUPPORT_NONE if it's disabled
|
|
||||||
+ // for this window.
|
|
||||||
+ CSDSupportLevel mCSDSupportLevel;
|
|
||||||
// If true, draw our own window titlebar.
|
|
||||||
- bool mIsCSDEnabled;
|
|
||||||
+ bool mDrawInTitlebar;
|
|
||||||
// Draggable titlebar region maintained by UpdateWindowDraggingRegion
|
|
||||||
LayoutDeviceIntRegion mDraggableRegion;
|
|
||||||
|
|
||||||
#ifdef ACCESSIBILITY
|
|
||||||
RefPtr<mozilla::a11y::Accessible> mRootAccessible;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Request to create the accessible for this window if it is top level.
|
|
||||||
|
|
||||||
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
|
||||||
--- a/widget/gtk/nsWindow.cpp
|
|
||||||
+++ b/widget/gtk/nsWindow.cpp
|
|
||||||
@@ -474,18 +474,18 @@ nsWindow::nsWindow()
|
|
||||||
|
|
||||||
mTransparencyBitmapWidth = 0;
|
|
||||||
mTransparencyBitmapHeight = 0;
|
|
||||||
|
|
||||||
#if GTK_CHECK_VERSION(3,4,0)
|
|
||||||
mLastScrollEventTime = GDK_CURRENT_TIME;
|
|
||||||
#endif
|
|
||||||
mPendingConfigures = 0;
|
|
||||||
- mIsCSDAvailable = false;
|
|
||||||
- mIsCSDEnabled = false;
|
|
||||||
+ mCSDSupportLevel = CSD_SUPPORT_NONE;
|
|
||||||
+ mDrawInTitlebar = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsWindow::~nsWindow()
|
|
||||||
{
|
|
||||||
LOG(("nsWindow::~nsWindow() [%p]\n", (void *)this));
|
|
||||||
|
|
||||||
delete[] mTransparencyBitmap;
|
|
||||||
mTransparencyBitmap = nullptr;
|
|
||||||
@@ -2814,17 +2814,17 @@ nsWindow::OnButtonReleaseEvent(GdkEventB
|
|
||||||
LayoutDeviceIntPoint pos = event.mRefPoint;
|
|
||||||
|
|
||||||
nsEventStatus eventStatus = DispatchInputEvent(&event);
|
|
||||||
|
|
||||||
bool defaultPrevented = (eventStatus == nsEventStatus_eConsumeNoDefault);
|
|
||||||
// Check if mouse position in titlebar and doubleclick happened to
|
|
||||||
// trigger restore/maximize.
|
|
||||||
if (!defaultPrevented
|
|
||||||
- && mIsCSDEnabled
|
|
||||||
+ && mDrawInTitlebar
|
|
||||||
&& event.button == WidgetMouseEvent::eLeftButton
|
|
||||||
&& event.mClickCount == 2
|
|
||||||
&& mDraggableRegion.Contains(pos.x, pos.y)) {
|
|
||||||
|
|
||||||
if (mSizeState == nsSizeMode_Maximized) {
|
|
||||||
SetSizeMode(nsSizeMode_Normal);
|
|
||||||
} else {
|
|
||||||
SetSizeMode(nsSizeMode_Maximized);
|
|
||||||
@@ -3758,22 +3758,18 @@ nsWindow::Create(nsIWidget* aParent,
|
|
||||||
gtk_window_set_wmclass(GTK_WINDOW(mShell), "Toplevel",
|
|
||||||
gdk_get_program_class());
|
|
||||||
|
|
||||||
// each toplevel window gets its own window group
|
|
||||||
GtkWindowGroup *group = gtk_window_group_new();
|
|
||||||
gtk_window_group_add_window(group, GTK_WINDOW(mShell));
|
|
||||||
g_object_unref(group);
|
|
||||||
|
|
||||||
- int32_t isCSDAvailable = false;
|
|
||||||
- nsresult rv = LookAndFeel::GetInt(LookAndFeel::eIntID_GTKCSDAvailable,
|
|
||||||
- &isCSDAvailable);
|
|
||||||
- if (NS_SUCCEEDED(rv)) {
|
|
||||||
- mIsCSDAvailable = isCSDAvailable;
|
|
||||||
- }
|
|
||||||
+ // We enable titlebar rendering for toplevel windows only.
|
|
||||||
+ mCSDSupportLevel = GetSystemCSDSupportLevel();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a container to hold child windows and child GtkWidgets.
|
|
||||||
GtkWidget *container = moz_container_new();
|
|
||||||
mContainer = MOZ_CONTAINER(container);
|
|
||||||
|
|
||||||
// "csd" style is set when widget is realized so we need to call
|
|
||||||
// it explicitly now.
|
|
||||||
@@ -3788,17 +3784,17 @@ nsWindow::Create(nsIWidget* aParent,
|
|
||||||
* are drawn by Gtk+ to mShell. Content is rendered to mContainer
|
|
||||||
* and we listen to the Gtk+ events on mContainer.
|
|
||||||
* 3) We're running on Wayland. All gecko content is rendered
|
|
||||||
* to mContainer and we listen to the Gtk+ events on mContainer.
|
|
||||||
*/
|
|
||||||
GtkStyleContext* style = gtk_widget_get_style_context(mShell);
|
|
||||||
drawToContainer =
|
|
||||||
!mIsX11Display ||
|
|
||||||
- (mIsCSDAvailable && GetCSDSupportLevel() == CSD_SUPPORT_CLIENT) ||
|
|
||||||
+ (mCSDSupportLevel == CSD_SUPPORT_CLIENT) ||
|
|
||||||
gtk_style_context_has_class(style, "csd");
|
|
||||||
eventWidget = (drawToContainer) ? container : mShell;
|
|
||||||
|
|
||||||
gtk_widget_add_events(eventWidget, kEvents);
|
|
||||||
if (drawToContainer)
|
|
||||||
gtk_widget_add_events(mShell, GDK_PROPERTY_CHANGE_MASK);
|
|
||||||
|
|
||||||
// Prevent GtkWindow from painting a background to avoid flickering.
|
|
||||||
@@ -6581,90 +6577,91 @@ nsWindow::ClearCachedResources()
|
|
||||||
window->ClearCachedResources();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
nsresult
|
|
||||||
nsWindow::SetNonClientMargins(LayoutDeviceIntMargin &aMargins)
|
|
||||||
{
|
|
||||||
- SetDrawsInTitlebar(aMargins.top == 0);
|
|
||||||
- return NS_OK;
|
|
||||||
+ SetDrawsInTitlebar(aMargins.top == 0);
|
|
||||||
+ return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
nsWindow::SetDrawsInTitlebar(bool aState)
|
|
||||||
{
|
|
||||||
- if (!mIsCSDAvailable || aState == mIsCSDEnabled)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- if (mShell) {
|
|
||||||
- if (GetCSDSupportLevel() == CSD_SUPPORT_SYSTEM) {
|
|
||||||
- SetWindowDecoration(aState ? eBorderStyle_border : mBorderStyle);
|
|
||||||
- }
|
|
||||||
- else {
|
|
||||||
- /* Window manager does not support GDK_DECOR_BORDER,
|
|
||||||
- * emulate it by CSD.
|
|
||||||
- *
|
|
||||||
- * gtk_window_set_titlebar() works on unrealized widgets only,
|
|
||||||
- * we need to handle mShell carefully here.
|
|
||||||
- * When CSD is enabled mGdkWindow is owned by mContainer which is good
|
|
||||||
- * as we can't delete our mGdkWindow. To make mShell unrealized while
|
|
||||||
- * mContainer is preserved we temporary reparent mContainer to an
|
|
||||||
- * invisible GtkWindow.
|
|
||||||
- */
|
|
||||||
- NativeShow(false);
|
|
||||||
-
|
|
||||||
- // Using GTK_WINDOW_POPUP rather than
|
|
||||||
- // GTK_WINDOW_TOPLEVEL in the hope that POPUP results in less
|
|
||||||
- // initialization and window manager interaction.
|
|
||||||
- GtkWidget* tmpWindow = gtk_window_new(GTK_WINDOW_POPUP);
|
|
||||||
- gtk_widget_realize(tmpWindow);
|
|
||||||
-
|
|
||||||
- gtk_widget_reparent(GTK_WIDGET(mContainer), tmpWindow);
|
|
||||||
- gtk_widget_unrealize(GTK_WIDGET(mShell));
|
|
||||||
-
|
|
||||||
- // Available as of GTK 3.10+
|
|
||||||
- static auto sGtkWindowSetTitlebar = (void (*)(GtkWindow*, GtkWidget*))
|
|
||||||
- dlsym(RTLD_DEFAULT, "gtk_window_set_titlebar");
|
|
||||||
- MOZ_ASSERT(sGtkWindowSetTitlebar,
|
|
||||||
- "Missing gtk_window_set_titlebar(), old Gtk+ library?");
|
|
||||||
-
|
|
||||||
- if (aState) {
|
|
||||||
- // Add a hidden titlebar widget to trigger CSD, but disable the default
|
|
||||||
- // titlebar. GtkFixed is a somewhat random choice for a simple unused
|
|
||||||
- // widget. gtk_window_set_titlebar() takes ownership of the titlebar
|
|
||||||
- // widget.
|
|
||||||
- sGtkWindowSetTitlebar(GTK_WINDOW(mShell), gtk_fixed_new());
|
|
||||||
- } else {
|
|
||||||
- sGtkWindowSetTitlebar(GTK_WINDOW(mShell), nullptr);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- /* A workaround for https://bugzilla.gnome.org/show_bug.cgi?id=791081
|
|
||||||
- * gtk_widget_realize() throws:
|
|
||||||
- * "In pixman_region32_init_rect: Invalid rectangle passed"
|
|
||||||
- * when mShell has default 1x1 size.
|
|
||||||
- */
|
|
||||||
- GtkAllocation allocation = {0, 0, 0, 0};
|
|
||||||
- gtk_widget_get_preferred_width(GTK_WIDGET(mShell), nullptr,
|
|
||||||
- &allocation.width);
|
|
||||||
- gtk_widget_get_preferred_height(GTK_WIDGET(mShell), nullptr,
|
|
||||||
- &allocation.height);
|
|
||||||
- gtk_widget_size_allocate(GTK_WIDGET(mShell), &allocation);
|
|
||||||
-
|
|
||||||
- gtk_widget_realize(GTK_WIDGET(mShell));
|
|
||||||
- gtk_widget_reparent(GTK_WIDGET(mContainer), GTK_WIDGET(mShell));
|
|
||||||
- mNeedsShow = true;
|
|
||||||
- NativeResize();
|
|
||||||
-
|
|
||||||
- gtk_widget_destroy(tmpWindow);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- mIsCSDEnabled = aState;
|
|
||||||
+ if (!mShell ||
|
|
||||||
+ mCSDSupportLevel == CSD_SUPPORT_NONE ||
|
|
||||||
+ aState == mDrawInTitlebar) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (mCSDSupportLevel == CSD_SUPPORT_SYSTEM) {
|
|
||||||
+ SetWindowDecoration(aState ? eBorderStyle_border : mBorderStyle);
|
|
||||||
+ }
|
|
||||||
+ else if (mCSDSupportLevel == CSD_SUPPORT_CLIENT) {
|
|
||||||
+ /* Window manager does not support GDK_DECOR_BORDER,
|
|
||||||
+ * emulate it by CSD.
|
|
||||||
+ *
|
|
||||||
+ * gtk_window_set_titlebar() works on unrealized widgets only,
|
|
||||||
+ * we need to handle mShell carefully here.
|
|
||||||
+ * When CSD is enabled mGdkWindow is owned by mContainer which is good
|
|
||||||
+ * as we can't delete our mGdkWindow. To make mShell unrealized while
|
|
||||||
+ * mContainer is preserved we temporary reparent mContainer to an
|
|
||||||
+ * invisible GtkWindow.
|
|
||||||
+ */
|
|
||||||
+ NativeShow(false);
|
|
||||||
+
|
|
||||||
+ // Using GTK_WINDOW_POPUP rather than
|
|
||||||
+ // GTK_WINDOW_TOPLEVEL in the hope that POPUP results in less
|
|
||||||
+ // initialization and window manager interaction.
|
|
||||||
+ GtkWidget* tmpWindow = gtk_window_new(GTK_WINDOW_POPUP);
|
|
||||||
+ gtk_widget_realize(tmpWindow);
|
|
||||||
+
|
|
||||||
+ gtk_widget_reparent(GTK_WIDGET(mContainer), tmpWindow);
|
|
||||||
+ gtk_widget_unrealize(GTK_WIDGET(mShell));
|
|
||||||
+
|
|
||||||
+ // Available as of GTK 3.10+
|
|
||||||
+ static auto sGtkWindowSetTitlebar = (void (*)(GtkWindow*, GtkWidget*))
|
|
||||||
+ dlsym(RTLD_DEFAULT, "gtk_window_set_titlebar");
|
|
||||||
+ MOZ_ASSERT(sGtkWindowSetTitlebar,
|
|
||||||
+ "Missing gtk_window_set_titlebar(), old Gtk+ library?");
|
|
||||||
+
|
|
||||||
+ if (aState) {
|
|
||||||
+ // Add a hidden titlebar widget to trigger CSD, but disable the default
|
|
||||||
+ // titlebar. GtkFixed is a somewhat random choice for a simple unused
|
|
||||||
+ // widget. gtk_window_set_titlebar() takes ownership of the titlebar
|
|
||||||
+ // widget.
|
|
||||||
+ sGtkWindowSetTitlebar(GTK_WINDOW(mShell), gtk_fixed_new());
|
|
||||||
+ } else {
|
|
||||||
+ sGtkWindowSetTitlebar(GTK_WINDOW(mShell), nullptr);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* A workaround for https://bugzilla.gnome.org/show_bug.cgi?id=791081
|
|
||||||
+ * gtk_widget_realize() throws:
|
|
||||||
+ * "In pixman_region32_init_rect: Invalid rectangle passed"
|
|
||||||
+ * when mShell has default 1x1 size.
|
|
||||||
+ */
|
|
||||||
+ GtkAllocation allocation = {0, 0, 0, 0};
|
|
||||||
+ gtk_widget_get_preferred_width(GTK_WIDGET(mShell), nullptr,
|
|
||||||
+ &allocation.width);
|
|
||||||
+ gtk_widget_get_preferred_height(GTK_WIDGET(mShell), nullptr,
|
|
||||||
+ &allocation.height);
|
|
||||||
+ gtk_widget_size_allocate(GTK_WIDGET(mShell), &allocation);
|
|
||||||
+
|
|
||||||
+ gtk_widget_realize(GTK_WIDGET(mShell));
|
|
||||||
+ gtk_widget_reparent(GTK_WIDGET(mContainer), GTK_WIDGET(mShell));
|
|
||||||
+ mNeedsShow = true;
|
|
||||||
+ NativeResize();
|
|
||||||
+
|
|
||||||
+ gtk_widget_destroy(tmpWindow);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ mDrawInTitlebar = aState;
|
|
||||||
}
|
|
||||||
|
|
||||||
gint
|
|
||||||
nsWindow::GdkScaleFactor()
|
|
||||||
{
|
|
||||||
#if (MOZ_WIDGET_GTK >= 3)
|
|
||||||
// Available as of GTK 3.10+
|
|
||||||
static auto sGdkWindowGetScaleFactorPtr = (gint (*)(GdkWindow*))
|
|
||||||
@@ -6923,28 +6920,28 @@ nsWindow::SynthesizeNativeTouchPoint(uin
|
|
||||||
event.touch.y = DevicePixelsToGdkCoordRoundDown(pointInWindow.y);
|
|
||||||
|
|
||||||
gdk_event_put(&event);
|
|
||||||
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-bool
|
|
||||||
-nsWindow::DoDrawTitlebar() const
|
|
||||||
-{
|
|
||||||
- return mIsCSDEnabled && mSizeState == nsSizeMode_Normal;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
nsWindow::CSDSupportLevel
|
|
||||||
-nsWindow::GetCSDSupportLevel() {
|
|
||||||
+nsWindow::GetSystemCSDSupportLevel() {
|
|
||||||
if (sCSDSupportLevel != CSD_SUPPORT_UNKNOWN) {
|
|
||||||
return sCSDSupportLevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // Require GTK 3.10 for GtkHeaderBar support and compatible window manager.
|
|
||||||
+ if (gtk_check_version(3, 10, 0) != nullptr) {
|
|
||||||
+ sCSDSupportLevel = CSD_SUPPORT_NONE;
|
|
||||||
+ return sCSDSupportLevel;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
const char* currentDesktop = getenv("XDG_CURRENT_DESKTOP");
|
|
||||||
if (currentDesktop) {
|
|
||||||
// GNOME Flashback (fallback)
|
|
||||||
if (strstr(currentDesktop, "GNOME-Flashback:GNOME") != nullptr) {
|
|
||||||
sCSDSupportLevel = CSD_SUPPORT_CLIENT;
|
|
||||||
// gnome-shell
|
|
||||||
} else if (strstr(currentDesktop, "GNOME") != nullptr) {
|
|
||||||
sCSDSupportLevel = CSD_SUPPORT_SYSTEM;
|
|
||||||
diff -up firefox-60.0/widget/gtk/gtk3drawing.cpp.orig firefox-60.0/widget/gtk/gtk3drawing.cpp
|
|
||||||
--- firefox-60.0/widget/gtk/gtk3drawing.cpp.orig 2018-04-26 22:07:36.000000000 +0200
|
|
||||||
+++ firefox-60.0/widget/gtk/gtk3drawing.cpp 2018-04-30 13:38:19.083949868 +0200
|
|
||||||
@@ -38,6 +38,16 @@ static ToolbarGTKMetrics sToolbarMetrics
|
|
||||||
#define GTK_STATE_FLAG_CHECKED (1 << 11)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+static GtkBorder
|
|
||||||
+operator+=(GtkBorder& first, const GtkBorder& second)
|
|
||||||
+{
|
|
||||||
+ first.left += second.left;
|
|
||||||
+ first.right += second.right;
|
|
||||||
+ first.top += second.top;
|
|
||||||
+ first.bottom += second.bottom;
|
|
||||||
+ return first;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static gint
|
|
||||||
moz_gtk_get_tab_thickness(GtkStyleContext *style);
|
|
||||||
|
|
||||||
@@ -3056,6 +3066,76 @@ GetScrollbarMetrics(GtkOrientation aOrie
|
|
||||||
return metrics;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/*
|
|
||||||
+ * get_shadow_width() from gtkwindow.c is not public so we need
|
|
||||||
+ * to implement it.
|
|
||||||
+ */
|
|
||||||
+bool
|
|
||||||
+GetCSDDecorationSize(GtkWindow *aGtkWindow, GtkBorder* aDecorationSize)
|
|
||||||
+{
|
|
||||||
+ GtkStyleContext* context = gtk_widget_get_style_context(GTK_WIDGET(aGtkWindow));
|
|
||||||
+ bool solidDecorations = gtk_style_context_has_class(context, "solid-csd");
|
|
||||||
+ context = GetStyleContext(solidDecorations ?
|
|
||||||
+ MOZ_GTK_WINDOW_DECORATION_SOLID :
|
|
||||||
+ MOZ_GTK_WINDOW_DECORATION);
|
|
||||||
+
|
|
||||||
+ /* Always sum border + padding */
|
|
||||||
+ GtkBorder padding;
|
|
||||||
+ GtkStateFlags state = gtk_style_context_get_state(context);
|
|
||||||
+ gtk_style_context_get_border(context, state, aDecorationSize);
|
|
||||||
+ gtk_style_context_get_padding(context, state, &padding);
|
|
||||||
+ *aDecorationSize += padding;
|
|
||||||
+
|
|
||||||
+ // Available on GTK 3.20+.
|
|
||||||
+ static auto sGtkRenderBackgroundGetClip =
|
|
||||||
+ (void (*)(GtkStyleContext*, gdouble, gdouble, gdouble, gdouble, GdkRectangle*))
|
|
||||||
+ dlsym(RTLD_DEFAULT, "gtk_render_background_get_clip");
|
|
||||||
+
|
|
||||||
+ GtkBorder margin;
|
|
||||||
+ gtk_style_context_get_margin(context, state, &margin);
|
|
||||||
+
|
|
||||||
+ GtkBorder extents = {0, 0, 0, 0};
|
|
||||||
+ if (sGtkRenderBackgroundGetClip) {
|
|
||||||
+ /* Get shadow extents but combine with style margin; use the bigger value.
|
|
||||||
+ */
|
|
||||||
+ GdkRectangle clip;
|
|
||||||
+ sGtkRenderBackgroundGetClip(context, 0, 0, 0, 0, &clip);
|
|
||||||
+
|
|
||||||
+ extents.top = -clip.y;
|
|
||||||
+ extents.right = clip.width + clip.x;
|
|
||||||
+ extents.bottom = clip.height + clip.y;
|
|
||||||
+ extents.left = -clip.x;
|
|
||||||
+
|
|
||||||
+ // Margin is used for resize grip size - it's not present on
|
|
||||||
+ // popup windows.
|
|
||||||
+ if (gtk_window_get_window_type(aGtkWindow) != GTK_WINDOW_POPUP) {
|
|
||||||
+ extents.top = MAX(extents.top, margin.top);
|
|
||||||
+ extents.right = MAX(extents.right, margin.right);
|
|
||||||
+ extents.bottom = MAX(extents.bottom, margin.bottom);
|
|
||||||
+ extents.left = MAX(extents.left, margin.left);
|
|
||||||
+ }
|
|
||||||
+ } else {
|
|
||||||
+ /* If we can't get shadow extents use decoration-resize-handle instead
|
|
||||||
+ * as a workaround. This is inspired by update_border_windows()
|
|
||||||
+ * from gtkwindow.c although this is not 100% accurate as we emulate
|
|
||||||
+ * the extents here.
|
|
||||||
+ */
|
|
||||||
+ gint handle;
|
|
||||||
+ gtk_widget_style_get(GetWidget(MOZ_GTK_WINDOW),
|
|
||||||
+ "decoration-resize-handle", &handle,
|
|
||||||
+ NULL);
|
|
||||||
+
|
|
||||||
+ extents.top = handle + margin.top;
|
|
||||||
+ extents.right = handle + margin.right;
|
|
||||||
+ extents.bottom = handle + margin.bottom;
|
|
||||||
+ extents.left = handle + margin.left;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ *aDecorationSize += extents;
|
|
||||||
+
|
|
||||||
+ return (sGtkRenderBackgroundGetClip != nullptr);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* cairo_t *cr argument has to be a system-cairo. */
|
|
||||||
gint
|
|
||||||
moz_gtk_widget_paint(WidgetNodeType widget, cairo_t *cr,
|
|
||||||
diff -up firefox-60.0/widget/gtk/gtkdrawing.h.orig firefox-60.0/widget/gtk/gtkdrawing.h
|
|
||||||
--- firefox-60.0/widget/gtk/gtkdrawing.h.orig 2018-04-26 22:07:35.000000000 +0200
|
|
||||||
+++ firefox-60.0/widget/gtk/gtkdrawing.h 2018-04-30 13:38:19.083949868 +0200
|
|
||||||
@@ -334,6 +334,10 @@ typedef enum {
|
|
||||||
*/
|
|
||||||
MOZ_GTK_HEADER_BAR_BUTTON_MAXIMIZE_RESTORE,
|
|
||||||
|
|
||||||
+ /* Client-side window decoration node. Available on GTK 3.20+. */
|
|
||||||
+ MOZ_GTK_WINDOW_DECORATION,
|
|
||||||
+ MOZ_GTK_WINDOW_DECORATION_SOLID,
|
|
||||||
+
|
|
||||||
MOZ_GTK_WIDGET_NODE_COUNT
|
|
||||||
} WidgetNodeType;
|
|
||||||
|
|
||||||
@@ -606,4 +610,17 @@ GetToolbarButtonMetrics(WidgetNodeType a
|
|
||||||
int
|
|
||||||
GetGtkHeaderBarButtonLayout(WidgetNodeType* aButtonLayout, int aMaxButtonNums);
|
|
||||||
|
|
||||||
+/**
|
|
||||||
+ * Get size of CSD window extents of given GtkWindow.
|
|
||||||
+ *
|
|
||||||
+ * aGtkWindow [IN] Decorated window.
|
|
||||||
+ * aDecorationSize [OUT] Returns calculated (or estimated) decoration
|
|
||||||
+ * size of given aGtkWindow.
|
|
||||||
+ *
|
|
||||||
+ * returns: True if we have extract decoration size (for GTK 3.20+)
|
|
||||||
+ * False if we have only an estimation (for GTK+ before 3.20+)
|
|
||||||
+ */
|
|
||||||
+bool
|
|
||||||
+GetCSDDecorationSize(GtkWindow *aGtkWindow, GtkBorder* aDecorationSize);
|
|
||||||
+
|
|
||||||
#endif
|
|
||||||
diff -up firefox-60.0/widget/gtk/nsWindow.cpp.orig firefox-60.0/widget/gtk/nsWindow.cpp
|
|
||||||
--- firefox-60.0/widget/gtk/nsWindow.cpp.orig 2018-04-30 13:37:32.145122854 +0200
|
|
||||||
+++ firefox-60.0/widget/gtk/nsWindow.cpp 2018-04-30 13:39:12.593752681 +0200
|
|
||||||
@@ -127,6 +127,7 @@ using namespace mozilla::widget;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "nsShmImage.h"
|
|
||||||
+#include "gtkdrawing.h"
|
|
||||||
|
|
||||||
#include "nsIDOMWheelEvent.h"
|
|
||||||
|
|
||||||
@@ -3360,6 +3361,10 @@ nsWindow::OnWindowStateEvent(GtkWidget *
|
|
||||||
aEvent->new_window_state & GDK_WINDOW_STATE_FULLSCREEN);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ if (mDrawInTitlebar && mCSDSupportLevel == CSD_SUPPORT_CLIENT) {
|
|
||||||
+ UpdateClientOffsetForCSDWindow();
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
@@ -6552,6 +6557,32 @@ nsWindow::ClearCachedResources()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+/* nsWindow::UpdateClientOffsetForCSDWindow() is designed to be called from
|
|
||||||
+ * paint code to update mClientOffset any time. It also propagates
|
|
||||||
+ * the mClientOffset to child tabs.
|
|
||||||
+ *
|
|
||||||
+ * It works only for CSD decorated GtkWindow.
|
|
||||||
+ */
|
|
||||||
+void
|
|
||||||
+nsWindow::UpdateClientOffsetForCSDWindow()
|
|
||||||
+{
|
|
||||||
+ // _NET_FRAME_EXTENTS is not set on client decorated windows,
|
|
||||||
+ // so we need to read offset between mContainer and toplevel mShell
|
|
||||||
+ // window.
|
|
||||||
+ if (mSizeState == nsSizeMode_Normal) {
|
|
||||||
+ GtkBorder decorationSize;
|
|
||||||
+ GetCSDDecorationSize(GTK_WINDOW(mShell), &decorationSize);
|
|
||||||
+ mClientOffset = nsIntPoint(decorationSize.left, decorationSize.top);
|
|
||||||
+ } else {
|
|
||||||
+ mClientOffset = nsIntPoint(0, 0);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ // Send a WindowMoved notification. This ensures that TabParent
|
|
||||||
+ // picks up the new client offset and sends it to the child process
|
|
||||||
+ // if appropriate.
|
|
||||||
+ NotifyWindowMoved(mBounds.x, mBounds.y);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
nsresult
|
|
||||||
nsWindow::SetNonClientMargins(LayoutDeviceIntMargin &aMargins)
|
|
||||||
{
|
|
||||||
@@ -6626,6 +6657,13 @@ nsWindow::SetDrawsInTitlebar(bool aState
|
|
||||||
mNeedsShow = true;
|
|
||||||
NativeResize();
|
|
||||||
|
|
||||||
+ // When we use system titlebar setup managed by Gtk+ we also get
|
|
||||||
+ // _NET_FRAME_EXTENTS property for our toplevel window so we can't
|
|
||||||
+ // update the client offset it here.
|
|
||||||
+ if (aState) {
|
|
||||||
+ UpdateClientOffsetForCSDWindow();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
gtk_widget_destroy(tmpWindow);
|
|
||||||
}
|
|
||||||
|
|
||||||
diff -up firefox-60.0/widget/gtk/nsWindow.h.orig firefox-60.0/widget/gtk/nsWindow.h
|
|
||||||
--- firefox-60.0/widget/gtk/nsWindow.h.orig 2018-04-30 13:37:32.143122861 +0200
|
|
||||||
+++ firefox-60.0/widget/gtk/nsWindow.h 2018-04-30 13:38:19.085949861 +0200
|
|
||||||
@@ -454,6 +454,8 @@ private:
|
|
||||||
nsIWidgetListener* GetListener();
|
|
||||||
bool IsComposited() const;
|
|
||||||
|
|
||||||
+ void UpdateClientOffsetForCSDWindow();
|
|
||||||
+
|
|
||||||
GtkWidget *mShell;
|
|
||||||
MozContainer *mContainer;
|
|
||||||
GdkWindow *mGdkWindow;
|
|
||||||
diff -up firefox-60.0/widget/gtk/WidgetStyleCache.cpp.orig firefox-60.0/widget/gtk/WidgetStyleCache.cpp
|
|
||||||
--- firefox-60.0/widget/gtk/WidgetStyleCache.cpp.orig 2018-04-26 22:07:35.000000000 +0200
|
|
||||||
+++ firefox-60.0/widget/gtk/WidgetStyleCache.cpp 2018-04-30 13:38:19.085949861 +0200
|
|
||||||
@@ -1285,6 +1285,22 @@ GetCssNodeStyleInternal(WidgetNodeType a
|
|
||||||
"MOZ_GTK_HEADER_BAR_BUTTON_RESTORE is used as an icon only!");
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
+ case MOZ_GTK_WINDOW_DECORATION:
|
|
||||||
+ {
|
|
||||||
+ GtkStyleContext* parentStyle =
|
|
||||||
+ CreateSubStyleWithClass(MOZ_GTK_WINDOW, "csd");
|
|
||||||
+ style = CreateCSSNode("decoration", parentStyle);
|
|
||||||
+ g_object_unref(parentStyle);
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ case MOZ_GTK_WINDOW_DECORATION_SOLID:
|
|
||||||
+ {
|
|
||||||
+ GtkStyleContext* parentStyle =
|
|
||||||
+ CreateSubStyleWithClass(MOZ_GTK_WINDOW, "solid-csd");
|
|
||||||
+ style = CreateCSSNode("decoration", parentStyle);
|
|
||||||
+ g_object_unref(parentStyle);
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
default:
|
|
||||||
return GetWidgetRootStyle(aNodeType);
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
--- firefox-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.orig 2018-05-14 13:23:26.001095058 +0200
|
|
||||||
+++ firefox-60.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp 2018-05-14 13:24:46.851416500 +0200
|
|
||||||
@@ -666,7 +666,7 @@ SI F approx_powf(F x, F y) {
|
|
||||||
}
|
|
||||||
|
|
||||||
SI F from_half(U16 h) {
|
|
||||||
-#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
|
|
||||||
+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
|
|
||||||
return vcvt_f32_f16(h);
|
|
||||||
|
|
||||||
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
|
|
||||||
@@ -686,7 +686,7 @@ SI F from_half(U16 h) {
|
|
||||||
}
|
|
||||||
|
|
||||||
SI U16 to_half(F f) {
|
|
||||||
-#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
|
|
||||||
+#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
|
|
||||||
return vcvt_f16_f32(f);
|
|
||||||
|
|
||||||
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
|
|
@ -1,26 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# Parent f3fe334a20e8a63266eb06c5d298ad793cefc015
|
|
||||||
Mozilla Bug#1447070 - DecoderDoctorLogger.h must be included in MediaKeySession.h
|
|
||||||
to fix non-unified build error for i586 target.
|
|
||||||
|
|
||||||
diff --git a/dom/media/eme/MediaKeySession.h b/dom/media/eme/MediaKeySession.h
|
|
||||||
--- a/dom/media/eme/MediaKeySession.h
|
|
||||||
+++ b/dom/media/eme/MediaKeySession.h
|
|
||||||
@@ -2,16 +2,17 @@
|
|
||||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
||||||
/* 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/. */
|
|
||||||
|
|
||||||
#ifndef mozilla_dom_MediaKeySession_h
|
|
||||||
#define mozilla_dom_MediaKeySession_h
|
|
||||||
|
|
||||||
+#include "DecoderDoctorLogger.h"
|
|
||||||
#include "mozilla/Attributes.h"
|
|
||||||
#include "mozilla/ErrorResult.h"
|
|
||||||
#include "nsCycleCollectionParticipant.h"
|
|
||||||
#include "mozilla/DOMEventTargetHelper.h"
|
|
||||||
#include "nsCOMPtr.h"
|
|
||||||
#include "mozilla/dom/TypedArray.h"
|
|
||||||
#include "mozilla/Mutex.h"
|
|
||||||
#include "mozilla/dom/Date.h"
|
|
@ -1,27 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# User Andrea Marchesini <amarchesini@mozilla.com>
|
|
||||||
# Parent fab938f4757d8487a87fbf911200ff0317612746
|
|
||||||
Mozilla Bug#1447409 - DOMPrefs.h must be included in WorkerScope, r=qdot
|
|
||||||
To fix 32bit build error for i586 target.
|
|
||||||
|
|
||||||
diff --git a/dom/workers/WorkerScope.h b/dom/workers/WorkerScope.h
|
|
||||||
--- a/dom/workers/WorkerScope.h
|
|
||||||
+++ b/dom/workers/WorkerScope.h
|
|
||||||
@@ -4,16 +4,17 @@
|
|
||||||
* 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/. */
|
|
||||||
|
|
||||||
#ifndef mozilla_dom_workerscope_h__
|
|
||||||
#define mozilla_dom_workerscope_h__
|
|
||||||
|
|
||||||
#include "mozilla/dom/WorkerCommon.h"
|
|
||||||
#include "mozilla/DOMEventTargetHelper.h"
|
|
||||||
+#include "mozilla/dom/DOMPrefs.h"
|
|
||||||
#include "mozilla/dom/Headers.h"
|
|
||||||
#include "mozilla/dom/RequestBinding.h"
|
|
||||||
#include "nsWeakReference.h"
|
|
||||||
#include "mozilla/dom/ImageBitmapSource.h"
|
|
||||||
|
|
||||||
#ifdef XP_WIN
|
|
||||||
#undef PostMessage
|
|
||||||
#endif
|
|
@ -1,5 +1,5 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent d7a4d772ba2afb3ac43e2f2f234ffa55bcf50e70
|
# Parent 8671b358718cb8898a55fada20fc9999408daefe
|
||||||
Description: Add KDE integration to Firefox (toolkit parts)
|
Description: Add KDE integration to Firefox (toolkit parts)
|
||||||
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
||||||
Author: Lubos Lunak <lunak@suse.com>
|
Author: Lubos Lunak <lunak@suse.com>
|
||||||
@ -9,7 +9,7 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
|
|||||||
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||||
--- a/modules/libpref/Preferences.cpp
|
--- a/modules/libpref/Preferences.cpp
|
||||||
+++ b/modules/libpref/Preferences.cpp
|
+++ b/modules/libpref/Preferences.cpp
|
||||||
@@ -76,16 +76,17 @@
|
@@ -77,16 +77,17 @@
|
||||||
#include "nsXPCOMCID.h"
|
#include "nsXPCOMCID.h"
|
||||||
#include "nsXPCOM.h"
|
#include "nsXPCOM.h"
|
||||||
#include "nsXULAppAPI.h"
|
#include "nsXULAppAPI.h"
|
||||||
@ -27,7 +27,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
|||||||
using namespace mozilla;
|
using namespace mozilla;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
@@ -3868,25 +3869,37 @@ Preferences::InitInitialObjects()
|
@@ -4201,25 +4202,37 @@ Preferences::InitInitialObjects(bool aIs
|
||||||
// application pref files for backwards compatibility.
|
// application pref files for backwards compatibility.
|
||||||
static const char* specialFiles[] = {
|
static const char* specialFiles[] = {
|
||||||
#if defined(XP_MACOSX)
|
#if defined(XP_MACOSX)
|
||||||
@ -65,7 +65,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
|||||||
|
|
||||||
// Load jar:$app/omni.jar!/defaults/preferences/*.js
|
// Load jar:$app/omni.jar!/defaults/preferences/*.js
|
||||||
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
|
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
|
||||||
@@ -3935,17 +3948,17 @@ Preferences::InitInitialObjects()
|
@@ -4268,17 +4281,17 @@ Preferences::InitInitialObjects(bool aIs
|
||||||
}
|
}
|
||||||
|
|
||||||
nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
|
nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
|
||||||
@ -79,17 +79,17 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MOZ_WIDGET_ANDROID
|
if (XRE_IsParentProcess()) {
|
||||||
// Set up the correct default for toolkit.telemetry.enabled. If this build
|
SetupTelemetryPref();
|
||||||
// has MOZ_TELEMETRY_ON_BY_DEFAULT *or* we're on the beta channel, telemetry
|
}
|
||||||
// is on by default, otherwise not. This is necessary so that beta users who
|
|
||||||
// are testing final release builds don't flipflop defaults.
|
NS_CreateServicesFromCategory(NS_PREFSERVICE_APPDEFAULTS_TOPIC_ID,
|
||||||
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
|
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
|
||||||
--- a/modules/libpref/moz.build
|
--- a/modules/libpref/moz.build
|
||||||
+++ b/modules/libpref/moz.build
|
+++ b/modules/libpref/moz.build
|
||||||
@@ -27,16 +27,20 @@ XPIDL_MODULE = 'pref'
|
@@ -29,16 +29,20 @@ EXPORTS.mozilla += [
|
||||||
EXPORTS.mozilla += [
|
|
||||||
'Preferences.h',
|
'Preferences.h',
|
||||||
|
'StaticPrefs.h',
|
||||||
]
|
]
|
||||||
|
|
||||||
UNIFIED_SOURCES += [
|
UNIFIED_SOURCES += [
|
||||||
@ -171,7 +171,7 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
|
|||||||
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
||||||
--- a/toolkit/content/jar.mn
|
--- a/toolkit/content/jar.mn
|
||||||
+++ b/toolkit/content/jar.mn
|
+++ b/toolkit/content/jar.mn
|
||||||
@@ -69,16 +69,18 @@ toolkit.jar:
|
@@ -68,16 +68,18 @@ toolkit.jar:
|
||||||
content/global/bindings/checkbox.xml (widgets/checkbox.xml)
|
content/global/bindings/checkbox.xml (widgets/checkbox.xml)
|
||||||
content/global/bindings/colorpicker.xml (widgets/colorpicker.xml)
|
content/global/bindings/colorpicker.xml (widgets/colorpicker.xml)
|
||||||
content/global/bindings/datekeeper.js (widgets/datekeeper.js)
|
content/global/bindings/datekeeper.js (widgets/datekeeper.js)
|
||||||
@ -183,13 +183,13 @@ diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
|
|||||||
+* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml)
|
+* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml)
|
||||||
+% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
|
+% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
|
||||||
content/global/bindings/editor.xml (widgets/editor.xml)
|
content/global/bindings/editor.xml (widgets/editor.xml)
|
||||||
content/global/bindings/filefield.xml (widgets/filefield.xml)
|
|
||||||
* content/global/bindings/findbar.xml (widgets/findbar.xml)
|
* content/global/bindings/findbar.xml (widgets/findbar.xml)
|
||||||
content/global/bindings/general.xml (widgets/general.xml)
|
content/global/bindings/general.xml (widgets/general.xml)
|
||||||
content/global/bindings/groupbox.xml (widgets/groupbox.xml)
|
content/global/bindings/groupbox.xml (widgets/groupbox.xml)
|
||||||
content/global/bindings/listbox.xml (widgets/listbox.xml)
|
content/global/bindings/listbox.xml (widgets/listbox.xml)
|
||||||
content/global/bindings/menu.xml (widgets/menu.xml)
|
content/global/bindings/menu.xml (widgets/menu.xml)
|
||||||
content/global/bindings/menulist.xml (widgets/menulist.xml)
|
content/global/bindings/menulist.xml (widgets/menulist.xml)
|
||||||
|
content/global/bindings/notification.xml (widgets/notification.xml)
|
||||||
diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
|
diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@ -676,45 +676,7 @@ new file mode 100644
|
|||||||
diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
|
diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
|
||||||
--- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
|
--- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
|
||||||
+++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
|
+++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
|
||||||
@@ -627,17 +627,17 @@ nsUnknownContentTypeDialog.prototype = {
|
@@ -1035,30 +1035,60 @@ nsUnknownContentTypeDialog.prototype = {
|
||||||
else
|
|
||||||
typeString = mimeInfo.MIMEType;
|
|
||||||
}
|
|
||||||
// When the length is unknown, contentLength would be -1
|
|
||||||
if (this.mLauncher.contentLength >= 0) {
|
|
||||||
let [size, unit] = DownloadUtils.
|
|
||||||
convertByteUnits(this.mLauncher.contentLength);
|
|
||||||
type.value = this.dialogElement("strings")
|
|
||||||
- .getFormattedString("orderedFileSizeWithType",
|
|
||||||
+ .getFormattedString("orderedFileSizeWithType",
|
|
||||||
[typeString, size, unit]);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
type.value = typeString;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// Returns true if opening the default application makes sense.
|
|
||||||
@@ -801,17 +801,17 @@ nsUnknownContentTypeDialog.prototype = {
|
|
||||||
switch (this.dialogElement("openHandler").selectedIndex) {
|
|
||||||
case 0:
|
|
||||||
// No app need be specified in this case.
|
|
||||||
ok = true;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
// only enable the OK button if we have a default app to use or if
|
|
||||||
// the user chose an app....
|
|
||||||
- ok = this.chosenApp || /\S/.test(this.dialogElement("otherHandler").getAttribute("path"));
|
|
||||||
+ ok = this.chosenApp || /\S/.test(this.dialogElement("otherHandler").getAttribute("path"));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Enable Ok button if ok to press.
|
|
||||||
this.mDialog.document.documentElement.getButton("accept").disabled = !ok;
|
|
||||||
},
|
|
||||||
|
|
||||||
@@ -1066,30 +1066,60 @@ nsUnknownContentTypeDialog.prototype = {
|
|
||||||
|
|
||||||
if (params.handlerApp &&
|
if (params.handlerApp &&
|
||||||
params.handlerApp.executable &&
|
params.handlerApp.executable &&
|
||||||
@ -1371,7 +1333,7 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
|||||||
'android/nsExternalSharingAppService.cpp',
|
'android/nsExternalSharingAppService.cpp',
|
||||||
'android/nsExternalURLHandlerService.cpp',
|
'android/nsExternalURLHandlerService.cpp',
|
||||||
'android/nsMIMEInfoAndroid.cpp',
|
'android/nsMIMEInfoAndroid.cpp',
|
||||||
@@ -124,16 +126,17 @@ include('/ipc/chromium/chromium-config.m
|
@@ -122,16 +124,17 @@ include('/ipc/chromium/chromium-config.m
|
||||||
FINAL_LIBRARY = 'xul'
|
FINAL_LIBRARY = 'xul'
|
||||||
|
|
||||||
LOCAL_INCLUDES += [
|
LOCAL_INCLUDES += [
|
||||||
@ -1808,7 +1770,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
||||||
--- a/widget/gtk/moz.build
|
--- a/widget/gtk/moz.build
|
||||||
+++ b/widget/gtk/moz.build
|
+++ b/widget/gtk/moz.build
|
||||||
@@ -121,16 +121,17 @@ else:
|
@@ -122,16 +122,17 @@ else:
|
||||||
include('/ipc/chromium/chromium-config.mozbuild')
|
include('/ipc/chromium/chromium-config.mozbuild')
|
||||||
|
|
||||||
FINAL_LIBRARY = 'xul'
|
FINAL_LIBRARY = 'xul'
|
||||||
@ -2204,7 +2166,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
const char* directive;
|
const char* directive;
|
||||||
int argc;
|
int argc;
|
||||||
|
|
||||||
@@ -444,16 +445,17 @@ ParseManifest(NSLocationType aType, File
|
@@ -441,16 +442,17 @@ ParseManifest(NSLocationType aType, File
|
||||||
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
|
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
|
||||||
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
|
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
|
||||||
NS_NAMED_LITERAL_STRING(kApplication, "application");
|
NS_NAMED_LITERAL_STRING(kApplication, "application");
|
||||||
@ -2222,7 +2184,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
NS_NAMED_LITERAL_STRING(kMain, "main");
|
NS_NAMED_LITERAL_STRING(kMain, "main");
|
||||||
NS_NAMED_LITERAL_STRING(kContent, "content");
|
NS_NAMED_LITERAL_STRING(kContent, "content");
|
||||||
|
|
||||||
@@ -499,44 +501,49 @@ ParseManifest(NSLocationType aType, File
|
@@ -496,44 +498,49 @@ ParseManifest(NSLocationType aType, File
|
||||||
CopyUTF8toUTF16(s, abi);
|
CopyUTF8toUTF16(s, abi);
|
||||||
abi.Insert(char16_t('_'), 0);
|
abi.Insert(char16_t('_'), 0);
|
||||||
abi.Insert(osTarget, 0);
|
abi.Insert(osTarget, 0);
|
||||||
@ -2272,7 +2234,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
process = kMain;
|
process = kMain;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -638,25 +645,27 @@ ParseManifest(NSLocationType aType, File
|
@@ -635,25 +642,27 @@ ParseManifest(NSLocationType aType, File
|
||||||
TriState stOsVersion = eUnspecified;
|
TriState stOsVersion = eUnspecified;
|
||||||
TriState stOs = eUnspecified;
|
TriState stOs = eUnspecified;
|
||||||
TriState stABI = eUnspecified;
|
TriState stABI = eUnspecified;
|
||||||
@ -2300,7 +2262,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MOZ_WIDGET_ANDROID)
|
#if defined(MOZ_WIDGET_ANDROID)
|
||||||
@@ -701,16 +710,17 @@ ParseManifest(NSLocationType aType, File
|
@@ -698,16 +707,17 @@ ParseManifest(NSLocationType aType, File
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ok ||
|
if (!ok ||
|
||||||
@ -2321,16 +2283,16 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
|||||||
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
|
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
|
||||||
--- a/xpcom/components/moz.build
|
--- a/xpcom/components/moz.build
|
||||||
+++ b/xpcom/components/moz.build
|
+++ b/xpcom/components/moz.build
|
||||||
@@ -44,12 +44,13 @@ FINAL_LIBRARY = 'xul'
|
@@ -43,12 +43,13 @@ FINAL_LIBRARY = 'xul'
|
||||||
|
|
||||||
LOCAL_INCLUDES += [
|
LOCAL_INCLUDES += [
|
||||||
'!..',
|
'!..',
|
||||||
'../base',
|
'../base',
|
||||||
'../build',
|
'../build',
|
||||||
'../ds',
|
'../ds',
|
||||||
'../reflect/xptinfo',
|
|
||||||
'/chrome',
|
'/chrome',
|
||||||
'/modules/libjar',
|
'/modules/libjar',
|
||||||
+ '/toolkit/xre'
|
+ '/toolkit/xre',
|
||||||
]
|
]
|
||||||
|
|
||||||
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
|
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
|
||||||
|
40
mozilla-no-return.patch
Normal file
40
mozilla-no-return.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
# Parent 242712e5a1879111d1a93a5d55dfae3fd5d47abc
|
||||||
|
|
||||||
|
diff --git a/intl/icu/source/i18n/number_grouping.cpp b/intl/icu/source/i18n/number_grouping.cpp
|
||||||
|
--- a/intl/icu/source/i18n/number_grouping.cpp
|
||||||
|
+++ b/intl/icu/source/i18n/number_grouping.cpp
|
||||||
|
@@ -43,16 +43,17 @@ Grouper Grouper::forStrategy(UGroupingSt
|
||||||
|
case UNUM_GROUPING_MIN2:
|
||||||
|
return {-2, -2, -3};
|
||||||
|
case UNUM_GROUPING_ON_ALIGNED:
|
||||||
|
return {-4, -4, 1};
|
||||||
|
case UNUM_GROUPING_THOUSANDS:
|
||||||
|
return {3, 3, 1};
|
||||||
|
default:
|
||||||
|
U_ASSERT(FALSE);
|
||||||
|
+ return {0, 0, 0};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Grouper::setLocaleData(const impl::ParsedPatternInfo &patternInfo, const Locale& locale) {
|
||||||
|
if (fGrouping1 != -2 && fGrouping2 != -4) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
auto grouping1 = static_cast<int16_t> (patternInfo.positive.groupingSizes & 0xffff);
|
||||||
|
diff --git a/media/libcubeb/src/cubeb_utils.cpp b/media/libcubeb/src/cubeb_utils.cpp
|
||||||
|
--- a/media/libcubeb/src/cubeb_utils.cpp
|
||||||
|
+++ b/media/libcubeb/src/cubeb_utils.cpp
|
||||||
|
@@ -14,10 +14,11 @@ size_t cubeb_sample_size(cubeb_sample_fo
|
||||||
|
case CUBEB_SAMPLE_S16BE:
|
||||||
|
return sizeof(int16_t);
|
||||||
|
case CUBEB_SAMPLE_FLOAT32LE:
|
||||||
|
case CUBEB_SAMPLE_FLOAT32BE:
|
||||||
|
return sizeof(float);
|
||||||
|
default:
|
||||||
|
// should never happen as all cases are handled above.
|
||||||
|
assert(false);
|
||||||
|
+ return sizeof(float);
|
||||||
|
}
|
||||||
|
}
|
@ -1,2 +1,2 @@
|
|||||||
REV=03d4f76300be
|
REV=785d242a5b01
|
||||||
REPO=http://hg.mozilla.org/releases/mozilla-release
|
REPO=http://hg.mozilla.org/releases/mozilla-release
|
||||||
|
Loading…
Reference in New Issue
Block a user