firefox-kde: 62.0

This commit is contained in:
Chaoting Liu 2018-09-07 16:44:44 +02:00
parent d897477e27
commit 2d33e18e09
8 changed files with 135 additions and 206 deletions

View File

@ -5,7 +5,7 @@ CFLAGS must contain -fPIC when checking the linker
diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4
--- a/build/autoconf/compiler-opts.m4
+++ b/build/autoconf/compiler-opts.m4
@@ -205,23 +205,26 @@ MOZ_PIE=
@@ -216,23 +216,26 @@ fi
MOZ_ARG_ENABLE_BOOL(pie,
[ --enable-pie Enable Position Independent Executables],

View File

@ -0,0 +1,42 @@
From: Jory A. Pratt <anarchy@gentoo.org>
Ensure we fortify properly, features.h is pulled in via fortification.
diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
--- a/config/system-headers.mozbuild
+++ b/config/system-headers.mozbuild
@@ -224,17 +224,16 @@ system_headers = [
'Events.h',
'exception',
'exdisp.h',
'ExDisp.h',
'exe386.h',
'execinfo.h',
'extras.h',
'fcntl.h',
- 'features.h',
'fenv.h',
'ffi.h',
'fibdef.h',
'File.h',
'filehdr.h',
'files.h',
'Files.h',
'FindDirectory.h',
diff --git a/media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h b/media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
--- a/media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
+++ b/media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
@@ -15,13 +15,10 @@
/* Use operating system malloc */
#define SDP_MALLOC(x) calloc(1, (x))
#define SDP_FREE free
typedef uint8_t tinybool;
typedef unsigned short ushort;
typedef unsigned long ulong;
-#ifndef __GNUC_STDC_INLINE__
-#define inline
-#endif
#endif /* _SDP_OS_DEFS_H_ */

View File

@ -7,7 +7,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=847568
diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
--- a/config/system-headers.mozbuild
+++ b/config/system-headers.mozbuild
@@ -1227,16 +1227,23 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'andr
@@ -1228,16 +1228,23 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'andr
'utils/TypeHelpers.h',
'utils/Unicode.h',
'utils/Vector.h',
@ -34,7 +34,7 @@ diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
diff --git a/dom/base/moz.build b/dom/base/moz.build
--- a/dom/base/moz.build
+++ b/dom/base/moz.build
@@ -472,16 +472,19 @@ include('/ipc/chromium/chromium-config.m
@@ -477,16 +477,19 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul'
if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
@ -107,7 +107,7 @@ diff --git a/gfx/moz.build b/gfx/moz.build
diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
--- a/gfx/skia/generate_mozbuild.py
+++ b/gfx/skia/generate_mozbuild.py
@@ -132,16 +132,19 @@ if CONFIG['CC_TYPE'] == 'gcc':
@@ -143,16 +143,19 @@ if CONFIG['CC_TYPE'] == 'gcc':
if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
CXXFLAGS += [
'-Wno-implicit-fallthrough',
@ -130,7 +130,7 @@ diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
--- a/gfx/skia/moz.build
+++ b/gfx/skia/moz.build
@@ -777,16 +777,19 @@ if CONFIG['CC_TYPE'] == 'gcc':
@@ -817,16 +817,19 @@ if CONFIG['CC_TYPE'] == 'gcc':
if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
CXXFLAGS += [
'-Wno-implicit-fallthrough',
@ -153,7 +153,7 @@ diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
@@ -270,11 +270,14 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('and
@@ -281,11 +281,14 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('and
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
@ -187,7 +187,7 @@ diff --git a/intl/unicharutil/util/moz.build b/intl/unicharutil/util/moz.build
diff --git a/netwerk/dns/moz.build b/netwerk/dns/moz.build
--- a/netwerk/dns/moz.build
+++ b/netwerk/dns/moz.build
@@ -64,12 +64,15 @@ etld_data = GENERATED_FILES['etld_data.i
@@ -67,12 +67,15 @@ etld_data = GENERATED_FILES['etld_data.i
etld_data.script = 'prepare_tlds.py'
etld_data.inputs = ['effective_tld_names.dat']
@ -206,7 +206,7 @@ diff --git a/netwerk/dns/moz.build b/netwerk/dns/moz.build
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -223,16 +223,19 @@ if CONFIG['SERVO_TARGET_DIR']:
@@ -233,16 +233,19 @@ if CONFIG['SERVO_TARGET_DIR']:
OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
if CONFIG['MOZ_SYSTEM_JPEG']:
@ -218,18 +218,18 @@ diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
+
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
if CONFIG['MOZ_SYSTEM_LIBVPX']:
OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
if not CONFIG['MOZ_TREE_PIXMAN']:
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -308,16 +308,26 @@ def freetype2_combined_info(fontconfig_i
@@ -331,16 +331,26 @@ def freetype2_combined_info(fontconfig_i
return namespace(
cflags=freetype2_info.cflags + fontconfig_info.cflags,
libs=freetype2_info.libs + fontconfig_info.libs,

View File

@ -7,7 +7,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=847568
diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
--- a/config/system-headers.mozbuild
+++ b/config/system-headers.mozbuild
@@ -1234,16 +1234,22 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'andr
@@ -1235,16 +1235,22 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'andr
if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
system_headers += [
@ -112,7 +112,7 @@ diff --git a/gfx/moz.build b/gfx/moz.build
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
@@ -268,16 +268,19 @@ CFLAGS += CONFIG['TK_CFLAGS']
@@ -279,16 +279,19 @@ CFLAGS += CONFIG['TK_CFLAGS']
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android'):
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
@ -136,7 +136,7 @@ diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
diff --git a/old-configure.in b/old-configure.in
--- a/old-configure.in
+++ b/old-configure.in
@@ -4091,16 +4091,37 @@ if test "$USE_FC_FREETYPE"; then
@@ -3857,16 +3857,37 @@ if test "$USE_FC_FREETYPE"; then
CPPFLAGS="$CPPFLAGS $FT2_CFLAGS $XCFLAGS"
MOZ_CHECK_HEADERS([fontconfig/fcfreetype.h], ,
[AC_MSG_ERROR(Can't find header fontconfig/fcfreetype.h.)], [#include <fontconfig/fontconfig.h>])
@ -177,30 +177,30 @@ diff --git a/old-configure.in b/old-configure.in
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -223,16 +223,19 @@ if CONFIG['SERVO_TARGET_DIR']:
OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
if CONFIG['MOZ_SYSTEM_JPEG']:
@@ -236,16 +236,19 @@ if CONFIG['MOZ_SYSTEM_JPEG']:
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
+
if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
+
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
if CONFIG['MOZ_SYSTEM_LIBVPX']:
OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
if not CONFIG['MOZ_TREE_PIXMAN']:
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -308,16 +308,30 @@ def freetype2_combined_info(fontconfig_i
@@ -331,16 +331,30 @@ def freetype2_combined_info(fontconfig_i
return namespace(
cflags=freetype2_info.cflags + fontconfig_info.cflags,
libs=freetype2_info.libs + fontconfig_info.libs,

View File

@ -1,93 +0,0 @@
From:
This commit fixes some implicit declarations in the nICEr thirt-party
component.The fixes apply to mozilla's modifications of nICEr rather than nICEr
upstream. Also of note, Mozilla bug 1374699 contains fixes and changes that deal
with these in addition to many other isues in a future firefox version, and
so this patch will not be upstreamed but rather dropped when it becomes obsolete
in firefox-58 or 59.
diff --git a/media/mtransport/third_party/nICEr/src/ice/ice_component.c b/media/mtransport/third_party/nICEr/src/ice/ice_component.c
--- a/media/mtransport/third_party/nICEr/src/ice/ice_component.c
+++ b/media/mtransport/third_party/nICEr/src/ice/ice_component.c
@@ -49,17 +49,16 @@ static char *RCSSTRING __UNUSED__="$Id:
#include "nr_socket_multi_tcp.h"
#include "ice_reg.h"
#include "nr_crypto.h"
#include "r_time.h"
static int nr_ice_component_stun_server_default_cb(void *cb_arg,nr_stun_server_ctx *stun_ctx,nr_socket *sock, nr_stun_server_request *req, int *dont_free, int *error);
static int nr_ice_pre_answer_request_destroy(nr_ice_pre_answer_request **parp);
void nr_ice_component_consent_schedule_consent_timer(nr_ice_component *comp);
-void nr_ice_component_consent_destroy(nr_ice_component *comp);
/* This function takes ownership of the contents of req (but not req itself) */
static int nr_ice_pre_answer_request_create(nr_transport_addr *dst, nr_stun_server_request *req, nr_ice_pre_answer_request **parp)
{
int r, _status;
nr_ice_pre_answer_request *par = 0;
nr_stun_message_attribute *attr;
diff --git a/media/mtransport/third_party/nICEr/src/ice/ice_component.h b/media/mtransport/third_party/nICEr/src/ice/ice_component.h
--- a/media/mtransport/third_party/nICEr/src/ice/ice_component.h
+++ b/media/mtransport/third_party/nICEr/src/ice/ice_component.h
@@ -80,16 +80,17 @@ struct nr_ice_component_ {
STAILQ_ENTRY(nr_ice_component_)entry;
};
typedef STAILQ_HEAD(nr_ice_component_head_,nr_ice_component_) nr_ice_component_head;
int nr_ice_component_create(struct nr_ice_media_stream_ *stream, int component_id, nr_ice_component **componentp);
int nr_ice_component_destroy(nr_ice_component **componentp);
+void nr_ice_component_consent_destroy(nr_ice_component *comp);
int nr_ice_component_initialize(struct nr_ice_ctx_ *ctx,nr_ice_component *component);
int nr_ice_component_maybe_prune_candidate(nr_ice_ctx *ctx, nr_ice_component *comp, nr_ice_candidate *c1, int *was_pruned);
int nr_ice_component_pair_candidate(nr_ice_peer_ctx *pctx, nr_ice_component *pcomp, nr_ice_candidate *lcand, int pair_all_remote);
int nr_ice_component_pair_candidates(nr_ice_peer_ctx *pctx, nr_ice_component *lcomp, nr_ice_component *pcomp);
int nr_ice_component_service_pre_answer_requests(nr_ice_peer_ctx *pctx, nr_ice_component *pcomp, char *username, int *serviced);
int nr_ice_component_nominated_pair(nr_ice_component *comp, nr_ice_cand_pair *pair);
int nr_ice_component_failed_pair(nr_ice_component *comp, nr_ice_cand_pair *pair);
int nr_ice_component_check_if_failed(nr_ice_component *comp);
diff --git a/media/mtransport/third_party/nICEr/src/stun/stun_client_ctx.c b/media/mtransport/third_party/nICEr/src/stun/stun_client_ctx.c
--- a/media/mtransport/third_party/nICEr/src/stun/stun_client_ctx.c
+++ b/media/mtransport/third_party/nICEr/src/stun/stun_client_ctx.c
@@ -39,16 +39,17 @@ static char *RCSSTRING __UNUSED__="$Id:
#include <nr_api.h>
#include "stun.h"
#include "async_timer.h"
#include "registry.h"
#include "stun_reg.h"
#include "nr_crypto.h"
#include "r_time.h"
+#include "ice_ctx.h"
static int nr_stun_client_send_request(nr_stun_client_ctx *ctx);
static void nr_stun_client_timer_expired_cb(NR_SOCKET s, int b, void *cb_arg);
static int nr_stun_client_get_password(void *arg, nr_stun_message *msg, Data **password);
#define NR_STUN_TRANSPORT_ADDR_CHECK_WILDCARD 1
#define NR_STUN_TRANSPORT_ADDR_CHECK_LOOPBACK 2
diff --git a/media/mtransport/third_party/nICEr/src/stun/turn_client_ctx.c b/media/mtransport/third_party/nICEr/src/stun/turn_client_ctx.c
--- a/media/mtransport/third_party/nICEr/src/stun/turn_client_ctx.c
+++ b/media/mtransport/third_party/nICEr/src/stun/turn_client_ctx.c
@@ -43,16 +43,17 @@ static char *RCSSTRING __UNUSED__="$Id:
#include <string.h>
#include "nr_api.h"
#include "r_time.h"
#include "async_timer.h"
#include "nr_socket_buffered_stun.h"
#include "stun.h"
#include "turn_client_ctx.h"
+#include "ice_ctx.h"
int NR_LOG_TURN = 0;
#define TURN_MAX_PENDING_BYTES 32000
#define TURN_RTO 100 /* Hardcoded RTO estimate */
#define TURN_LIFETIME_REQUEST_SECONDS 3600 /* One hour */
#define TURN_USECS_PER_S 1000000

View File

@ -1,17 +0,0 @@
From: Jory A. Pratt <anarchy@gentoo.org>
Modified: Luca Giambonini <almack@chakralinux.org>
Enable to build with LTO support
diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
--- a/security/sandbox/linux/moz.build
+++ b/security/sandbox/linux/moz.build
@@ -100,7 +100,7 @@
# from the function using it which breaks the build. Work around that by
# forcing there to be only one partition.
if '-flto' in CONFIG['OS_CXXFLAGS'] and CONFIG['CC_TYPE'] != 'clang':
- LDFLAGS += ['--param lto-partitions=1']
+ LDFLAGS += ['--lto-partition=one']
DEFINES['NS_NO_XPCOM'] = True
DisableStlWrapping()

View File

@ -1,12 +1,12 @@
pkgname=firefox-kde
pkgver=61.0.2
pkgver=62.0
pkgrel=1
pkgdesc="Standalone web browser from mozilla.org with OpenSUSE patch, integrate better with KDE"
arch=('x86_64')
license=('MPL' 'GPL' 'LGPL')
url="https://www.mozilla.org/firefox/"
depends=(gtk3 mozilla-common libxt startup-notification mime-types dbus-glib alsa-lib ffmpeg
libvpx libevent hunspell libproxy nss nspr pixman
libvpx libevent libproxy nss nspr pixman
kio knotifications kwindowsystem ki18n)
makedepends=(unzip zip diffutils python2 yasm mesa imake libpulse inetutils xorg-server-xvfb
autoconf2.13 gtk2 gobject-introspection jack rust gconf
@ -14,10 +14,11 @@ makedepends=(unzip zip diffutils python2 yasm mesa imake libpulse inetutils xorg
optdepends=('networkmanager: Location detection via available WiFi networks'
'libnotify: Notification integration'
'upower: Battery API'
'firefox-i18n: for multilanguage support')
'firefox-i18n: for multilanguage support'
'hunspell: for spell check support')
options=(!emptydirs !strip)
screenshot="http://img864.imageshack.us/img864/5116/firefoxm.png"
provides=("firefox=${pkgver}" "kmozillahelper")
provides=("firefox=${pkgver}" "kmozillahelper=5.0.2")
conflicts=('kmozillahelper')
replaces=('kmozillahelper')
#
@ -33,7 +34,7 @@ replaces=('kmozillahelper')
#
# Usually, we also port non-openSUSE specific patch together.
#
_patchrev=a0c915e59e05
_patchrev=18f97bd2c2bf
_kmozillahelper_commit=2ca28e0 #v5.0.2
_patchurl=http://www.rosenauer.org/hg/mozilla/raw-file/$_patchrev
source=("https://releases.mozilla.org/pub/firefox/releases/${pkgver}/source/${pkgname%%-kde}-${pkgver}.source.tar.xz"
@ -51,12 +52,10 @@ source=("https://releases.mozilla.org/pub/firefox/releases/${pkgver}/source/${pk
"$_patchurl/mozilla-openaes-decl.patch"
# Gentoo patch
1004_fix_pie_detection.patch
1005_fix_fortify_sources.patch
2000_system_harfbuzz.patch
2001_system_graphite2.patch
2003_nICER_implicit_decls.patch
2004_fix_lto_builds.patch
1002_fix_pie_detection.patch
1003_foritify_sources_properly.patch
2000_system_harfbuzz_support.patch
2001_system_graphite2_support.patch
# Ubuntu patch
unity-menubar.patch
@ -72,23 +71,21 @@ source=("https://releases.mozilla.org/pub/firefox/releases/${pkgver}/source/${pk
#"$_patchurl/mozilla-prefer_plugin_pref.patch" removed from opensuse. reason: dropped mozilla-prefer_plugin_pref.patch as this feature is likely not worth maintaining further
#"$_patchurl/mozilla-shared-nss-db.patch" shared by default now
)
sha256sums=('0bdecbbb2a955c9f4c5cd0b33acd1e47afcb6cd57ac89cf11257668e3cef202c'
sha256sums=('b3f850581f7d89655a05d5dc26ba010783934d86aa920399237f79dedd5daec9'
'SKIP'
'6c2ea431c36afef67710547ae67e81975254309e9e1c82d8312f765caa950fe5'
'1190f251471305f4c96a313b32aa66ee1549125300d7ce385356f45bd8ebcb3d'
'7c3b3079e587fb5c7fd8725b4677efb270355c03c8d16513bbe619903038381e'
'336706c48f2a39eb3515227e97323a4933362d4f3b8f2d499f6e1ff843e1a18b'
'c70835b481317d64b3c7f70c6feabd36bef67b5a54f3638aca8c9f31ad6087ca'
'29acfc63f366510f471e395cc7a3815108072abda5851c48b64fdb894550408c'
'ef0f90c9134ef05b950f06a3ffbd699c2e5a5f99a4cdf9868e799534d68c204f'
'a18680f62e07c3a217dcbd31d2b974db4a38eae8561bc1de65a5d725c1c42f9e'
'ee1ee84425723bee11dfa16837e48b025b5cbf05ace861f8f170c0ea40230040'
'be7aa94f682dcb0feec3dd7c277d5d19e3c56fe3d4940203c942bbbefad6ed70'
'2b813ba66a3904b3e745d199479967dafc9b23e69db2238a932e013cdc21b91d'
'2b679a3cb082d73bec085b8529a56030a990106408f4d9e73915ec51f4c3259e'
'e5d8f0410ecd05119119e2d44a88fb5f1eb67a5b1035fd0a66b8cf167fb81c5d'
'a850e98166d89f6541f04ac188c4bbdf075f2be601d3d6e88b17d20048ae5243'
'6d9a7d3059d9017c1d3c28b38f257fe99b48ebcb1d829d427db59f80826fdc89'
'c39d22c4223c99181e1e828c1d6ba3bde035f497744ad423c60da91425ac4942'
'd199e00089a407f1a08e1d547c822279afd1abbffa361fb471990413eeeb2862'
'47b9c634e511ec384e6984575428d50f2b6c31100f0f09b896d2602f7bd7d370')
'1e101b49faa804bd3fc6487c8e3cab4af7bd1f9aa32ad8199941739a6b3b71cb'
'4c75f71ba636934ded24eecb3a81f5ba6583e88db2dd9025c842aefc9c8ef216'
'9b5ef6e910e59054715a78d83a4d7ecf41cd8c202a7796a73f5fd6d53dc415be')
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
@ -148,7 +145,6 @@ ac_add_options --with-distribution-id=org.chakralinux
ac_add_options --enable-default-toolkit=cairo-gtk3
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
export MOZ_ADDON_SIGNING=1
export MOZ_REQUIRE_SIGNING=1
# Keys
@ -166,7 +162,6 @@ ac_add_options --with-system-nspr
ac_add_options --with-system-icu
ac_add_options --with-system-png
ac_add_options --enable-system-pixman
#ac_add_options --enable-system-hunspell
#ac_add_options --enable-system-sqlite
ac_add_options --enable-system-ffi
ac_add_options --enable-libproxy
@ -195,12 +190,10 @@ END
patch -Np0 -i "$srcdir/pgo-fix-missing-kdejs.patch"
msg "Gentoo Patchset"
patch -Np1 -i $srcdir/1004_fix_pie_detection.patch
patch -Np1 -i $srcdir/1005_fix_fortify_sources.patch
patch -Np1 -i $srcdir/2000_system_harfbuzz.patch
patch -Np1 -i $srcdir/2001_system_graphite2.patch
patch -Np1 -i $srcdir/2003_nICER_implicit_decls.patch
patch -Np1 -i $srcdir/2004_fix_lto_builds.patch
patch -Np1 -i $srcdir/1002_fix_pie_detection.patch
patch -Np1 -i $srcdir/1003_foritify_sources_properly.patch
patch -Np1 -i $srcdir/2000_system_harfbuzz_support.patch
patch -Np1 -i $srcdir/2001_system_graphite2_support.patch
msg "Ubuntu Patchset"
patch -Np1 -i $srcdir/unity-menubar.patch
@ -266,6 +259,10 @@ pref("browser.shell.checkDefaultBrowser", false);
// Don't disable our bundled extensions in the application directory
pref("extensions.autoDisableScopes", 11);
pref("extensions.shownSelectionUI", true);
// Force HW acceleration
pref("layers.acceleration.force-enabled", true);
pref("webgl.force-enabled", true);
END
install -Dm644 kde.js "$pkgdir/usr/lib/firefox/browser/defaults/preferences/kde.js"

View File

@ -19,13 +19,13 @@ diff --git a/browser/base/content/browser-menubar.inc b/browser/base/content/bro
<menu id="file-menu" label="&fileMenu.label;"
accesskey="&fileMenu.accesskey;">
<menupopup id="menu_FilePopup"
onpopupshowing="updateUserContextUIVisibility();">
onpopupshowing="updateFileMenuUserContextUIVisibility('menu_newUserContext');">
<menuitem id="menu_newNavigatorTab"
label="&tabCmd.label;"
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -5573,21 +5573,27 @@ function onViewToolbarsPopupShowing(aEve
@@ -5701,21 +5701,27 @@ function onViewToolbarsPopupShowing(aEve
if (deadItem.hasAttribute("toolbarId"))
popup.removeChild(deadItem);
}
@ -196,7 +196,7 @@ diff --git a/layout/build/nsLayoutStatics.cpp b/layout/build/nsLayoutStatics.cpp
#include "mozilla/dom/ipc/IPCBlobInputStreamStorage.h"
#include "mozilla/dom/U2FTokenManager.h"
#include "mozilla/dom/PointerEventHandler.h"
#include "nsHostObjectProtocolHandler.h"
#include "mozilla/dom/BlobURLProtocolHandler.h"
#include "nsThreadManager.h"
+#ifdef MOZ_WIDGET_GTK
@ -227,16 +227,16 @@ diff --git a/layout/build/nsLayoutStatics.cpp b/layout/build/nsLayoutStatics.cpp
NS_SetStaticAtomsDone();
StartupJSEnvironment();
nsJSContext::EnsureStatics();
nsGlobalWindowInner::Init();
nsGlobalWindowOuter::Init();
Navigator::Init();
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
@@ -272,16 +272,19 @@ pref("dom.script_loader.bytecode_cache.e
// look at: ScriptLoader::ShouldCacheBytecode function.
pref("dom.script_loader.bytecode_cache.strategy", 0);
@@ -262,16 +262,19 @@ pref("dom.script_loader.bytecode_cache.s
pref("dom.script_loader.binast_encoding.enabled", false);
#endif
// Fastback caching - if this pref is negative, then we calculate the number
// of content viewers to cache based on the amount of available memory.
@ -282,14 +282,15 @@ diff --git a/toolkit/content/xul.css b/toolkit/content/xul.css
-moz-box-flex: 1000;
}
toolbarpaletteitem {
-moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbarpaletteitem");
}
/********* menu ***********/
menubar > menu {
-moz-binding: url("chrome://global/content/bindings/menu.xml#menu-menubar");
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
index d0edc29..a2fec84 100644
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -39,10 +39,18 @@
@@ -39,10 +39,18 @@ UNIFIED_SOURCES += [
'nsAppShell.cpp',
'nsBidiKeyboard.cpp',
'nsColorPicker.cpp',
@ -308,24 +309,23 @@ diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
'nsNativeThemeGTK.cpp',
'nsSound.cpp',
'nsToolkit.cpp',
@@ -55,6 +63,8 @@
@@ -55,6 +63,8 @@ UNIFIED_SOURCES += [
]
SOURCES += [
+ 'nsMenu.cpp', # conflicts with X11 headers
+ 'nsNativeMenuService.cpp',
'nsWindow.cpp', # conflicts with X11 headers
]
@@ -125,6 +135,7 @@
@@ -125,6 +135,7 @@ FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'/layout/generic',
+ '/layout/style',
'/layout/xul',
'/other-licenses/atk-1.0',
'/toolkit/xre',
diff --git a/widget/gtk/nsDbusmenu.cpp b/widget/gtk/nsDbusmenu.cpp
new file mode 100644
--- /dev/null
@ -838,7 +838,7 @@ new file mode 100644
+ continue;
+ }
+
+ AppendChild(Move(child));
+ AppendChild(std::move(child));
+ }
+}
+
@ -913,7 +913,7 @@ new file mode 100644
+ EnsureNoPlaceholderItem();
+ }
+
+ nsMenuContainer::InsertChildAfter(Move(aChild), aPrevSibling,
+ nsMenuContainer::InsertChildAfter(std::move(aChild), aPrevSibling,
+ !IsInBatchedUpdate());
+ StructureMutated();
+}
@ -925,7 +925,7 @@ new file mode 100644
+ EnsureNoPlaceholderItem();
+ }
+
+ nsMenuContainer::AppendChild(Move(aChild), !IsInBatchedUpdate());
+ nsMenuContainer::AppendChild(std::move(aChild), !IsInBatchedUpdate());
+ StructureMutated();
+}
+
@ -967,7 +967,7 @@ new file mode 100644
+ UniquePtr<nsMenuObject> child = CreateChild(aChild);
+
+ if (child) {
+ InsertChildAfter(Move(child), aPrevSibling);
+ InsertChildAfter(std::move(child), aPrevSibling);
+ }
+ } else {
+ Build();
@ -1713,7 +1713,7 @@ new file mode 100644
+ continue;
+ }
+
+ AppendChild(Move(child));
+ AppendChild(std::move(child));
+ }
+}
+
@ -1880,7 +1880,7 @@ new file mode 100644
+ return;
+ }
+
+ InsertChildAfter(Move(child), aPrevSibling);
+ InsertChildAfter(std::move(child), aPrevSibling);
+}
+
+void
@ -1954,7 +1954,7 @@ new file mode 100644
+ return nullptr;
+ }
+
+ return Move(menubar);
+ return std::move(menubar);
+}
+
+nsMenuObject::EType
@ -2235,7 +2235,7 @@ new file mode 100644
+ }
+
+ UniquePtr<nsMenuObject> res = ctor(this, aContent);
+ return Move(res);
+ return std::move(res);
+}
+
+size_t
@ -2298,7 +2298,7 @@ new file mode 100644
+ index));
+ }
+
+ MOZ_ALWAYS_TRUE(mChildren.InsertElementAt(index, Move(aChild)));
+ MOZ_ALWAYS_TRUE(mChildren.InsertElementAt(index, std::move(aChild)));
+}
+
+void
@ -2312,7 +2312,7 @@ new file mode 100644
+ aChild->GetNativeData()));
+ }
+
+ MOZ_ALWAYS_TRUE(mChildren.AppendElement(Move(aChild)));
+ MOZ_ALWAYS_TRUE(mChildren.AppendElement(std::move(aChild)));
+}
+
+bool
@ -5334,10 +5334,10 @@ new file mode 100644
+ NS_ENSURE_ARG(aParent);
+ NS_ENSURE_ARG(aMenuBarNode);
+
+ if (aMenuBarNode->AsElement()->AttrValueIs(kNameSpaceID_None,
+ nsNativeMenuAtoms::_moz_menubarkeeplocal,
+ nsGkAtoms::_true,
+ eCaseMatters)) {
+ if (aMenuBarNode->AttrValueIs(kNameSpaceID_None,
+ nsNativeMenuAtoms::_moz_menubarkeeplocal,
+ nsGkAtoms::_true,
+ eCaseMatters)) {
+ return NS_OK;
+ }
+
@ -5358,7 +5358,7 @@ new file mode 100644
+ mMenuBars.AppendElement(menubar.get());
+ RegisterNativeMenuBar(menubar.get());
+
+ static_cast<nsWindow *>(aParent)->SetMenuBar(Move(menubar));
+ static_cast<nsWindow *>(aParent)->SetMenuBar(std::move(menubar));
+
+ return NS_OK;
+}
@ -5497,7 +5497,7 @@ new file mode 100644
diff --git a/widget/gtk/nsWidgetFactory.cpp b/widget/gtk/nsWidgetFactory.cpp
--- a/widget/gtk/nsWidgetFactory.cpp
+++ b/widget/gtk/nsWidgetFactory.cpp
@@ -43,16 +43,18 @@
@@ -44,16 +44,18 @@
#include "nsImageToPixbuf.h"
#include "nsPrintDialogGTK.h"
@ -5516,7 +5516,7 @@ diff --git a/widget/gtk/nsWidgetFactory.cpp b/widget/gtk/nsWidgetFactory.cpp
#include "mozilla/gfx/2D.h"
#include "mozilla/widget/ScreenManager.h"
#include <gtk/gtk.h>
@@ -111,16 +113,19 @@ nsNativeThemeGTKConstructor(nsISupports
@@ -112,16 +114,19 @@ nsNativeThemeGTKConstructor(nsISupports
namespace mozilla {
namespace widget {
// This constructor should really be shared with all platforms.
@ -5536,7 +5536,7 @@ diff --git a/widget/gtk/nsWidgetFactory.cpp b/widget/gtk/nsWidgetFactory.cpp
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintDialogServiceGTK, Init)
#endif
@@ -224,16 +229,17 @@ NS_DEFINE_NAMED_CID(NS_PRINTSESSION_CID)
@@ -225,16 +230,17 @@ NS_DEFINE_NAMED_CID(NS_PRINTSESSION_CID)
NS_DEFINE_NAMED_CID(NS_DEVICE_CONTEXT_SPEC_CID);
NS_DEFINE_NAMED_CID(NS_PRINTDIALOGSERVICE_CID);
#endif
@ -5554,7 +5554,7 @@ diff --git a/widget/gtk/nsWidgetFactory.cpp b/widget/gtk/nsWidgetFactory.cpp
{ &kNS_APPSHELL_CID, false, nullptr, nsAppShellConstructor, Module::ALLOW_IN_GPU_PROCESS },
{ &kNS_COLORPICKER_CID, false, nullptr, nsColorPickerConstructor, Module::MAIN_PROCESS_ONLY },
{ &kNS_FILEPICKER_CID, false, nullptr, nsFilePickerConstructor, Module::MAIN_PROCESS_ONLY },
@@ -260,16 +266,17 @@ static const mozilla::Module::CIDEntry k
@@ -261,16 +267,17 @@ static const mozilla::Module::CIDEntry k
{ &kNS_DEVICE_CONTEXT_SPEC_CID, false, nullptr, nsDeviceContextSpecGTKConstructor },
{ &kNS_PRINTDIALOGSERVICE_CID, false, nullptr, nsPrintDialogServiceGTKConstructor },
#endif
@ -5572,7 +5572,7 @@ diff --git a/widget/gtk/nsWidgetFactory.cpp b/widget/gtk/nsWidgetFactory.cpp
{ "@mozilla.org/widgets/child_window/gtk;1", &kNS_CHILD_CID },
{ "@mozilla.org/widget/appshell/gtk;1", &kNS_APPSHELL_CID, Module::ALLOW_IN_GPU_PROCESS },
{ "@mozilla.org/colorpicker;1", &kNS_COLORPICKER_CID, Module::MAIN_PROCESS_ONLY },
@@ -298,16 +305,17 @@ static const mozilla::Module::ContractID
@@ -299,16 +306,17 @@ static const mozilla::Module::ContractID
{ "@mozilla.org/gfx/devicecontextspec;1", &kNS_DEVICE_CONTEXT_SPEC_CID },
{ NS_PRINTDIALOGSERVICE_CONTRACTID, &kNS_PRINTDIALOGSERVICE_CID },
#endif
@ -5611,7 +5611,7 @@ diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
#include "nsGtkUtils.h"
#include "nsIObserverService.h"
#include "mozilla/layers/LayersTypes.h"
@@ -5219,16 +5220,21 @@ nsWindow::SetWindowDecoration(nsBorderSt
@@ -5246,16 +5247,21 @@ nsWindow::SetWindowDecoration(nsBorderSt
}
void
@ -5622,7 +5622,7 @@ diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
+void
+nsWindow::SetMenuBar(UniquePtr<nsMenuBar> aMenuBar) {
+ mMenuBar = mozilla::Move(aMenuBar);
+ mMenuBar = std::move(aMenuBar);
+}
+
bool
@ -5655,7 +5655,7 @@ diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
#include "Units.h"
extern mozilla::LazyLogModule gWidgetLog;
@@ -159,16 +161,18 @@ public:
@@ -173,16 +175,18 @@ public:
uint16_t aDuration,
nsISupports* aData,
nsIRunnable* aCallback) override;
@ -5674,7 +5674,7 @@ diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
// utility method, -1 if no change should be made, otherwise returns a
// value that can be passed to gdk_window_set_decorations
@@ -632,11 +636,13 @@ private:
@@ -646,11 +650,13 @@ private:
* all windows in a hierarchy. If the children are released after the top
* level window is released, the children still have a valid pointer,
* however, IME doesn't work at that time.
@ -5717,7 +5717,7 @@ diff --git a/widget/moz.build b/widget/moz.build
diff --git a/xpfe/appshell/nsWebShellWindow.cpp b/xpfe/appshell/nsWebShellWindow.cpp
--- a/xpfe/appshell/nsWebShellWindow.cpp
+++ b/xpfe/appshell/nsWebShellWindow.cpp
@@ -62,17 +62,17 @@
@@ -61,17 +61,17 @@
#include "mozilla/DebugOnly.h"
#include "mozilla/EventDispatcher.h"
#include "mozilla/MouseEvents.h"