Update to 49.0

This commit is contained in:
Martin Stransky 2016-09-08 13:37:25 +02:00
parent 277347da45
commit 358c2b48a3
12 changed files with 42 additions and 2701 deletions

2
.gitignore vendored
View File

@ -204,3 +204,5 @@ firefox-3.6.4.source.tar.bz2
/firefox-langpacks-48.0-20160727.tar.xz
/firefox-langpacks-48.0.1-20160819.tar.xz
/firefox-48.0.1.source.tar.xz
/firefox-49.0.source.tar.xz
/firefox-langpacks-49.0-20160906.tar.xz

File diff suppressed because it is too large Load Diff

View File

@ -85,14 +85,14 @@
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 48.0.1
Release: 2%{?pre_tag}%{?dist}
Version: 49.0
Release: 1%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Group: Applications/Internet
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
%if %{build_langpacks}
Source1: firefox-langpacks-%{version}%{?pre_version}-20160819.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20160906.tar.xz
%endif
Source10: firefox-mozconfig
Source12: firefox-redhat-default-prefs.js
@ -113,7 +113,6 @@ Patch20: firefox-build-prbool.patch
Patch21: firefox-ppc64le.patch
Patch24: firefox-debug.patch
Patch25: rhbz-1219542-s390-build.patch
Patch26: mozilla-1282843.patch
# Fedora specific patches
# Unable to install addons from https pages
@ -121,21 +120,14 @@ Patch204: rhbz-966424.patch
Patch215: firefox-enable-addons.patch
Patch219: rhbz-1173156.patch
Patch221: firefox-fedora-ua.patch
Patch222: firefox-gtk3-20.patch
Patch223: rhbz-1291190-appchooser-crash.patch
Patch224: mozilla-1170092.patch
# Upstream patches
Patch304: mozilla-1253216.patch
Patch402: mozilla-1196777.patch
Patch404: mozilla-1270046.patch
# Remove when mozbz#1269319 lands - Firefox 49
Patch405: mozilla-1245783.patch
Patch406: mozilla-256180.patch
Patch407: mozilla-890908-async-nego.patch
Patch408: mozilla-1272332.patch
Patch409: mozilla-1225044.patch
Patch410: mozilla-1291700.patch
# Debian patches
Patch500: mozilla-440908.patch
@ -256,7 +248,6 @@ cd %{tarballdir}
%ifarch s390
%patch25 -p1 -b .rhbz-1219542-s390
%endif
%patch26 -p1 -b .mzbz#1282843
%patch3 -p1 -b .arm
@ -272,15 +263,9 @@ cd %{tarballdir}
%endif
%patch224 -p1 -b .1170092
%patch304 -p1 -b .1253216
%patch222 -p1 -b .gtk3-20
%patch402 -p1 -b .1196777
%patch404 -p1 -b .1270046
%patch405 -p1 -b .1245783
%patch406 -p1 -b .256180
%patch407 -p1 -b .890908-async-nego
%patch408 -p1 -b .1272332
%patch409 -p1 -b .1225044
%patch410 -p1 -b .1291700
# Debian extension patch
%patch500 -p1 -b .440908
@ -732,9 +717,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{mozappdir}/browser/components/*.so
%{mozappdir}/browser/components/components.manifest
%{mozappdir}/browser/defaults/preferences/firefox-redhat-default-prefs.js
%{mozappdir}/browser/features/loop@mozilla.org.xpi
%{mozappdir}/browser/features/e10srollout@mozilla.org.xpi
%{mozappdir}/browser/features/firefox@getpocket.com.xpi
%{mozappdir}/browser/features/webcompat@mozilla.org.xpi
%attr(644, root, root) %{mozappdir}/browser/blocklist.xml
%dir %{mozappdir}/browser/extensions
%{mozappdir}/browser/extensions/*
@ -783,6 +768,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Tue Sep 6 2016 Martin Stransky <stransky@redhat.com> - 49.0-1
- Update to Firefox 49
* Mon Aug 22 2016 Jan Horak <jhorak@redhat.com> - 48.0.1-2
- Added translations for .desktop file actions

View File

@ -1,125 +0,0 @@
diff -up firefox-48.0/widget/gtk/nsWindow.cpp.1225044 firefox-48.0/widget/gtk/nsWindow.cpp
--- firefox-48.0/widget/gtk/nsWindow.cpp.1225044 2016-08-17 11:49:31.675792661 +0200
+++ firefox-48.0/widget/gtk/nsWindow.cpp 2016-08-17 11:51:49.773545394 +0200
@@ -216,6 +216,9 @@ static gboolean window_state_event_cb
static void theme_changed_cb (GtkSettings *settings,
GParamSpec *pspec,
nsWindow *data);
+static void check_resize_cb (GtkContainer* container,
+ gpointer user_data);
+
#if (MOZ_WIDGET_GTK == 3)
static void scale_changed_cb (GtkWidget* widget,
GParamSpec* aPSpec,
@@ -472,6 +475,8 @@ nsWindow::nsWindow()
#if GTK_CHECK_VERSION(3,4,0)
mLastScrollEventTime = GDK_CURRENT_TIME;
#endif
+
+ mPendingConfigures = 0;
}
nsWindow::~nsWindow()
@@ -2413,6 +2418,8 @@ nsWindow::OnConfigureEvent(GtkWidget *aW
LOG(("configure event [%p] %d %d %d %d\n", (void *)this,
aEvent->x, aEvent->y, aEvent->width, aEvent->height));
+ mPendingConfigures--;
+
LayoutDeviceIntRect screenBounds;
GetScreenBounds(screenBounds);
@@ -3403,6 +3410,12 @@ nsWindow::OnDPIChanged()
}
void
+nsWindow::OnCheckResize()
+{
+ mPendingConfigures++;
+}
+
+void
nsWindow::DispatchDragEvent(EventMessage aMsg, const LayoutDeviceIntPoint& aRefPoint,
guint aTime)
{
@@ -3858,6 +3871,8 @@ nsWindow::Create(nsIWidget* aParent,
G_CALLBACK(delete_event_cb), nullptr);
g_signal_connect(mShell, "window_state_event",
G_CALLBACK(window_state_event_cb), nullptr);
+ g_signal_connect(mShell, "check-resize",
+ G_CALLBACK(check_resize_cb), nullptr);
GtkSettings* default_settings = gtk_settings_get_default();
g_signal_connect_after(default_settings,
@@ -4177,7 +4192,31 @@ nsWindow::NativeShow(bool aAction)
}
else {
if (mIsTopLevel) {
- gtk_widget_hide(GTK_WIDGET(mShell));
+ // Workaround window freezes on GTK versions before 3.21.2 by
+ // ensuring that configure events get dispatched to windows before
+ // they are unmapped. See bug 1225044.
+ if (gtk_check_version(3, 21, 2) != nullptr && mPendingConfigures > 0) {
+ GtkAllocation allocation;
+ gtk_widget_get_allocation(GTK_WIDGET(mShell), &allocation);
+
+ GdkEventConfigure event;
+ PodZero(&event);
+ event.type = GDK_CONFIGURE;
+ event.window = mGdkWindow;
+ event.send_event = TRUE;
+ event.x = allocation.x;
+ event.y = allocation.y;
+ event.width = allocation.width;
+ event.height = allocation.height;
+
+ auto shellClass = GTK_WIDGET_GET_CLASS(mShell);
+ for (int i = 0; i < mPendingConfigures; i++) {
+ Unused << shellClass->configure_event(mShell, &event);
+ }
+ mPendingConfigures = 0;
+ }
+
+ gtk_widget_hide(mShell);
ClearTransparencyBitmap(); // Release some resources
}
@@ -6028,6 +6067,16 @@ theme_changed_cb (GtkSettings *settings,
window->ThemeChanged();
}
+static void
+check_resize_cb (GtkContainer* container, gpointer user_data)
+{
+ RefPtr<nsWindow> window = get_window_for_gtk_widget(GTK_WIDGET(container));
+ if (!window) {
+ return;
+ }
+ window->OnCheckResize();
+}
+
#if (MOZ_WIDGET_GTK == 3)
static void
scale_changed_cb (GtkWidget* widget, GParamSpec* aPSpec, gpointer aPointer)
diff -up firefox-48.0/widget/gtk/nsWindow.h.1225044 firefox-48.0/widget/gtk/nsWindow.h
--- firefox-48.0/widget/gtk/nsWindow.h.1225044 2016-07-25 22:22:07.000000000 +0200
+++ firefox-48.0/widget/gtk/nsWindow.h 2016-08-17 11:50:55.274248334 +0200
@@ -254,6 +254,7 @@ public:
void ThemeChanged(void);
void OnDPIChanged(void);
+ void OnCheckResize(void);
#ifdef MOZ_X11
Window mOldFocusWindow;
@@ -463,6 +464,10 @@ private:
RefPtr<nsShmImage> mBackShmImage;
#endif
+ // Upper bound on pending ConfigureNotify events to be dispatched to the
+ // window. See bug 1225044.
+ int mPendingConfigures;
+
#ifdef ACCESSIBILITY
RefPtr<mozilla::a11y::Accessible> mRootAccessible;

View File

@ -1,17 +0,0 @@
# Remove when mozbz#1269319 lands
--- firefox-45.0.1-orig/js/src/Makefile.in 2016-05-17 14:53:58.753178403 +0200
+++ firefox-45.0.1/js/src/Makefile.in 2016-05-17 14:53:28.432817862 +0200
@@ -144,6 +144,11 @@ distclean::
CFLAGS += $(MOZ_ZLIB_CFLAGS)
+# Avoid GNU gcc bug #70526
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70526#c14
+CFLAGS += -fno-schedule-insns2
+CXXFLAGS += -fno-schedule-insns2
+
# Silence warnings on AIX/HP-UX from non-GNU compilers
ifndef GNU_CC
ifeq ($(OS_ARCH),AIX)

View File

@ -1,12 +0,0 @@
--- firefox-46.0.1/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 2016-05-03 06:31:11.000000000 +0100
+++ firefox-46.0.1/extensions/auth/nsAuthSambaNTLM.cpp 2016-05-04 10:18:53.157429123 +0100
@@ -256,7 +256,8 @@ nsAuthSambaNTLM::GetNextToken(const void
nsCString line;
if (!ReadLine(mFromChildFD, line))
return NS_ERROR_FAILURE;
- if (!StringBeginsWith(line, NS_LITERAL_CSTRING("KK "))) {
+ if (!StringBeginsWith(line, NS_LITERAL_CSTRING("KK ")) &&
+ !StringBeginsWith(line, NS_LITERAL_CSTRING("AF "))) {
// Something went wrong. Perhaps no credentials are accessible.
return NS_ERROR_FAILURE;
}

View File

@ -1,54 +0,0 @@
diff -up firefox-48.0/modules/libpref/init/all.js.orig firefox-48.0/modules/libpref/init/all.js
--- firefox-48.0/modules/libpref/init/all.js.orig 2016-07-25 22:22:05.000000000 +0200
+++ firefox-48.0/modules/libpref/init/all.js 2016-07-28 13:14:39.065888837 +0200
@@ -4497,6 +4497,7 @@ pref("gfx.apitrace.enabled",false);
pref("gfx.content.use-native-pushlayer", true);
#ifdef MOZ_WIDGET_GTK
pref("gfx.xrender.enabled",false);
+pref("widget.allow-gtk-dark-theme", false);
#endif
#endif
diff -up firefox-48.0/widget/gtk/nsLookAndFeel.cpp.orig firefox-48.0/widget/gtk/nsLookAndFeel.cpp
--- firefox-48.0/widget/gtk/nsLookAndFeel.cpp.orig 2016-06-01 06:11:44.000000000 +0200
+++ firefox-48.0/widget/gtk/nsLookAndFeel.cpp 2016-07-28 13:58:35.645067880 +0200
@@ -28,6 +28,7 @@
#include <dlfcn.h>
#include "mozilla/gfx/2D.h"
+#include "mozilla/Preferences.h"
#if MOZ_WIDGET_GTK != 2
#include <cairo-gobject.h>
@@ -1097,16 +1098,22 @@ nsLookAndFeel::Init()
// with wrong color theme, see Bug 972382
GtkSettings *settings = gtk_settings_get_for_screen(gdk_screen_get_default());
- // Disable dark theme because it interacts poorly with widget styling in
- // web content (see bug 1216658).
- // To avoid triggering reload of theme settings unnecessarily, only set the
- // setting when necessary.
- const gchar* dark_setting = "gtk-application-prefer-dark-theme";
- gboolean dark;
- g_object_get(settings, dark_setting, &dark, nullptr);
- if (dark) {
- g_object_set(settings, dark_setting, FALSE, nullptr);
+ bool isContentProcess = XRE_IsContentProcess();
+ bool allowDarkTheme = mozilla::Preferences::GetBool("widget.allow-gtk-dark-theme", false);
+
+ if (isContentProcess || !allowDarkTheme) {
+ // Disable dark theme because it interacts poorly with widget styling in
+ // web content (see bug 1216658).
+ // To avoid triggering reload of theme settings unnecessarily, only set the
+ // setting when necessary.
+ const gchar* dark_setting = "gtk-application-prefer-dark-theme";
+ gboolean dark;
+ g_object_get(settings, dark_setting, &dark, nullptr);
+
+ if (dark) {
+ g_object_set(settings, dark_setting, FALSE, nullptr);
+ }
}
GtkWidgetPath *path = gtk_widget_path_new();

View File

@ -1,24 +0,0 @@
Add ability to specify system paths to @old_configure_options
--- a/build/moz.configure/old.configure 2016-07-04 12:03:37.503301144 -0400
+++ b/build/moz.configure/old.configure 2016-07-04 12:04:33.443147224 -0400
@@ -149,16 +149,19 @@
def all_options(help):
return list(options)
return depends(prepare_configure, extra_old_configure_args, all_options,
*options)
@old_configure_options(
+ '--libdir',
+ '--includedir',
+ '--datadir',
'--cache-file',
'--enable-accessibility',
'--enable-address-sanitizer',
'--enable-alsa',
'--enable-android-omx',
'--enable-android-resource-constrained',
'--enable-approximate-location',
'--enable-b2g-bt',

View File

@ -1,93 +0,0 @@
# HG changeset patch
# User Honza Bambas <honzab.moz@firemni.cz>
# Parent 069612b7e7c93f79394fc40bc24c1e354de7a3e5
Bug 1291700 - Allow negotiate/ntml to work when in the 'Never remember history' mode, r=jduell
diff --git a/extensions/auth/nsHttpNegotiateAuth.cpp b/extensions/auth/nsHttpNegotiateAuth.cpp
--- a/extensions/auth/nsHttpNegotiateAuth.cpp
+++ b/extensions/auth/nsHttpNegotiateAuth.cpp
@@ -60,17 +60,37 @@ static const char kNegotiateAuthSSPI[] =
//-----------------------------------------------------------------------------
// Return false when the channel comes from a Private browsing window.
static bool
TestNotInPBMode(nsIHttpAuthenticableChannel *authChannel)
{
nsCOMPtr<nsIChannel> bareChannel = do_QueryInterface(authChannel);
MOZ_ASSERT(bareChannel);
- return !NS_UsePrivateBrowsing(bareChannel);
+
+ if (!NS_UsePrivateBrowsing(bareChannel)) {
+ return true;
+ }
+
+ nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
+ if (!prefs) {
+ return true;
+ }
+
+ // When the "Never remember history" option is set, all channels are
+ // set PB mode flag, but here we want to make an exception, users
+ // want their credentials go out.
+ bool dontRememberHistory;
+ if (NS_SUCCEEDED(prefs->GetBoolPref("browser.privatebrowsing.autostart",
+ &dontRememberHistory)) &&
+ dontRememberHistory) {
+ return true;
+ }
+
+ return false;
}
NS_IMETHODIMP
nsHttpNegotiateAuth::GetAuthFlags(uint32_t *flags)
{
//
// Negotiate Auth creds should not be reused across multiple requests.
// Only perform the negotiation when it is explicitly requested by the
diff --git a/netwerk/protocol/http/nsHttpNTLMAuth.cpp b/netwerk/protocol/http/nsHttpNTLMAuth.cpp
--- a/netwerk/protocol/http/nsHttpNTLMAuth.cpp
+++ b/netwerk/protocol/http/nsHttpNTLMAuth.cpp
@@ -182,28 +182,38 @@ ForceGenericNTLM()
return flag;
}
// Check to see if we should use default credentials for this host or proxy.
static bool
CanUseDefaultCredentials(nsIHttpAuthenticableChannel *channel,
bool isProxyAuth)
{
+ nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
+
// Prevent using default credentials for authentication when we are in the
// private browsing mode. It would cause a privacy data leak.
nsCOMPtr<nsIChannel> bareChannel = do_QueryInterface(channel);
MOZ_ASSERT(bareChannel);
+
if (NS_UsePrivateBrowsing(bareChannel)) {
+ // But allow when in the "Never remember history" mode.
+ bool dontRememberHistory;
+ if (prefs &&
+ NS_SUCCEEDED(prefs->GetBoolPref("browser.privatebrowsing.autostart",
+ &dontRememberHistory)) &&
+ !dontRememberHistory) {
+ return false;
+ }
+ }
+
+ if (!prefs) {
return false;
}
- nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
- if (!prefs)
- return false;
-
if (isProxyAuth) {
bool val;
if (NS_FAILED(prefs->GetBoolPref(kAllowProxies, &val)))
val = false;
LOG(("Default credentials allowed for proxy: %d\n", val));
return val;
}

View File

@ -1,7 +1,7 @@
diff -up firefox-47.0/modules/libpref/prefapi.cpp.440908 firefox-47.0/modules/libpref/prefapi.cpp
--- firefox-47.0/modules/libpref/prefapi.cpp.440908 2016-06-01 17:17:19.723700226 +0200
+++ firefox-47.0/modules/libpref/prefapi.cpp 2016-06-01 17:21:05.839971471 +0200
@@ -947,8 +947,8 @@ void PREF_ReaderCallback(void *clo
diff -up firefox-49.0/modules/libpref/prefapi.cpp.440908 firefox-49.0/modules/libpref/prefapi.cpp
--- firefox-49.0/modules/libpref/prefapi.cpp.440908 2016-07-25 22:22:05.000000000 +0200
+++ firefox-49.0/modules/libpref/prefapi.cpp 2016-09-08 11:45:51.283206722 +0200
@@ -971,8 +971,8 @@ void PREF_ReaderCallback(void *clo
PrefValue value,
PrefType type,
bool isDefault,
@ -12,16 +12,16 @@ diff -up firefox-47.0/modules/libpref/prefapi.cpp.440908 firefox-47.0/modules/li
{
uint32_t flags = 0;
if (isDefault) {
@@ -960,4 +960,6 @@ void PREF_ReaderCallback(void *clo
@@ -984,4 +984,6 @@ void PREF_ReaderCallback(void *clo
flags |= kPrefForceSet;
}
pref_HashPref(pref, value, type, flags);
+ if (isLocked)
+ PREF_LockPref(pref, true);
}
diff -up firefox-47.0/modules/libpref/prefapi.h.440908 firefox-47.0/modules/libpref/prefapi.h
--- firefox-47.0/modules/libpref/prefapi.h.440908 2016-06-01 06:11:44.000000000 +0200
+++ firefox-47.0/modules/libpref/prefapi.h 2016-06-01 17:17:19.723700226 +0200
diff -up firefox-49.0/modules/libpref/prefapi.h.440908 firefox-49.0/modules/libpref/prefapi.h
--- firefox-49.0/modules/libpref/prefapi.h.440908 2016-06-01 06:11:44.000000000 +0200
+++ firefox-49.0/modules/libpref/prefapi.h 2016-09-08 11:45:51.283206722 +0200
@@ -243,7 +243,8 @@ void PREF_ReaderCallback( void *closure,
PrefValue value,
PrefType type,
@ -32,9 +32,9 @@ diff -up firefox-47.0/modules/libpref/prefapi.h.440908 firefox-47.0/modules/libp
#ifdef __cplusplus
}
diff -up firefox-47.0/modules/libpref/prefread.cpp.440908 firefox-47.0/modules/libpref/prefread.cpp
--- firefox-47.0/modules/libpref/prefread.cpp.440908 2016-06-01 06:11:44.000000000 +0200
+++ firefox-47.0/modules/libpref/prefread.cpp 2016-06-01 17:29:47.017596668 +0200
diff -up firefox-49.0/modules/libpref/prefread.cpp.440908 firefox-49.0/modules/libpref/prefread.cpp
--- firefox-49.0/modules/libpref/prefread.cpp.440908 2016-09-05 22:12:58.000000000 +0200
+++ firefox-49.0/modules/libpref/prefread.cpp 2016-09-08 11:45:51.284206727 +0200
@@ -43,6 +43,7 @@ enum {
#define BITS_PER_HEX_DIGIT 4
@ -43,7 +43,7 @@ diff -up firefox-47.0/modules/libpref/prefread.cpp.440908 firefox-47.0/modules/l
static const char kPref[] = "pref";
static const char kPrefSticky[] = "sticky_pref";
static const char kTrue[] = "true";
@@ -131,7 +132,7 @@ pref_DoCallback(PrefParseState *ps)
@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
break;
}
(*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
@ -52,7 +52,7 @@ diff -up firefox-47.0/modules/libpref/prefread.cpp.440908 firefox-47.0/modules/l
return true;
}
@@ -191,6 +192,7 @@ PREF_ParseBuf(PrefParseState *ps, const
@@ -215,6 +216,7 @@ PREF_ParseBuf(PrefParseState *ps, const
ps->vtype = PrefType::Invalid;
ps->fdefault = false;
ps->fstickydefault = false;
@ -60,7 +60,7 @@ diff -up firefox-47.0/modules/libpref/prefread.cpp.440908 firefox-47.0/modules/l
}
switch (c) {
case '/': /* begin comment block or line? */
@@ -201,11 +203,14 @@ PREF_ParseBuf(PrefParseState *ps, const
@@ -225,11 +227,14 @@ PREF_ParseBuf(PrefParseState *ps, const
break;
case 'u': /* indicating user_pref */
case 's': /* indicating sticky_pref */
@ -75,7 +75,7 @@ diff -up firefox-47.0/modules/libpref/prefread.cpp.440908 firefox-47.0/modules/l
} else {
ps->smatch = kPref;
}
@@ -252,8 +257,10 @@ PREF_ParseBuf(PrefParseState *ps, const
@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
/* name parsing */
case PREF_PARSE_UNTIL_NAME:
if (c == '\"' || c == '\'') {
@ -87,9 +87,9 @@ diff -up firefox-47.0/modules/libpref/prefread.cpp.440908 firefox-47.0/modules/l
ps->quotechar = c;
ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
state = PREF_PARSE_QUOTED_STRING;
diff -up firefox-47.0/modules/libpref/prefread.h.440908 firefox-47.0/modules/libpref/prefread.h
--- firefox-47.0/modules/libpref/prefread.h.440908 2016-06-01 06:11:44.000000000 +0200
+++ firefox-47.0/modules/libpref/prefread.h 2016-06-01 17:30:32.310651004 +0200
diff -up firefox-49.0/modules/libpref/prefread.h.440908 firefox-49.0/modules/libpref/prefread.h
--- firefox-49.0/modules/libpref/prefread.h.440908 2016-09-05 22:12:58.000000000 +0200
+++ firefox-49.0/modules/libpref/prefread.h 2016-09-08 11:57:09.485889976 +0200
@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
PrefValue val,
PrefType type,
@ -98,13 +98,22 @@ diff -up firefox-47.0/modules/libpref/prefread.h.440908 firefox-47.0/modules/lib
+ bool stickyPref,
+ bool lockPref);
/* structure fields are private */
typedef struct PrefParseState {
@@ -56,6 +57,7 @@ typedef struct PrefParseState {
/**
* Report any errors or warnings we encounter during parsing.
@@ -62,6 +63,7 @@ typedef struct PrefParseState {
PrefType vtype; /* PREF_STRING,INT,BOOL */
bool fdefault; /* true if (default) pref */
bool fstickydefault; /* true if (sticky) pref */
+ bool flock; /* true if pref to be locked */
} PrefParseState;
/**
@@ -90,7 +92,7 @@ void PREF_InitParseState(PrefParseState
*
* @param ps
* PrefParseState instance.
- */
+ */
void PREF_FinalizeParseState(PrefParseState *ps);
/**

View File

@ -125,7 +125,7 @@ diff -up firefox-48.0/extensions/auth/nsHttpNegotiateAuth.cpp.890908-async-nego
+// This runnable is created by GenerateCredentialsAsync and it runs
+// in nsHttpNegotiateAuth::mNegotiateThread and calling GenerateCredentials.
+//
+class GetNextTokenRunnable final : public nsRunnable
+class GetNextTokenRunnable final : public mozilla::Runnable
+{
+ virtual ~GetNextTokenRunnable() {}
+ public:

View File

@ -1,2 +1,2 @@
892a534ca51f5d21d658d1d1fc08e8c5 firefox-langpacks-48.0.1-20160819.tar.xz
8c09b6cbf13ce13aa57d87175da997f4 firefox-48.0.1.source.tar.xz
b96eda40533dbd644eb2ae7f3da9f850 firefox-49.0.source.tar.xz
f24eb2f6eb67d5609579a2baac416374 firefox-langpacks-49.0-20160906.tar.xz