Update to 49.0
This commit is contained in:
parent
277347da45
commit
358c2b48a3
2
.gitignore
vendored
2
.gitignore
vendored
@ -204,3 +204,5 @@ firefox-3.6.4.source.tar.bz2
|
|||||||
/firefox-langpacks-48.0-20160727.tar.xz
|
/firefox-langpacks-48.0-20160727.tar.xz
|
||||||
/firefox-langpacks-48.0.1-20160819.tar.xz
|
/firefox-langpacks-48.0.1-20160819.tar.xz
|
||||||
/firefox-48.0.1.source.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
26
firefox.spec
26
firefox.spec
@ -85,14 +85,14 @@
|
|||||||
|
|
||||||
Summary: Mozilla Firefox Web browser
|
Summary: Mozilla Firefox Web browser
|
||||||
Name: firefox
|
Name: firefox
|
||||||
Version: 48.0.1
|
Version: 49.0
|
||||||
Release: 2%{?pre_tag}%{?dist}
|
Release: 1%{?pre_tag}%{?dist}
|
||||||
URL: https://www.mozilla.org/firefox/
|
URL: https://www.mozilla.org/firefox/
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||||
Group: Applications/Internet
|
Group: Applications/Internet
|
||||||
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
|
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
|
||||||
%if %{build_langpacks}
|
%if %{build_langpacks}
|
||||||
Source1: firefox-langpacks-%{version}%{?pre_version}-20160819.tar.xz
|
Source1: firefox-langpacks-%{version}%{?pre_version}-20160906.tar.xz
|
||||||
%endif
|
%endif
|
||||||
Source10: firefox-mozconfig
|
Source10: firefox-mozconfig
|
||||||
Source12: firefox-redhat-default-prefs.js
|
Source12: firefox-redhat-default-prefs.js
|
||||||
@ -113,7 +113,6 @@ Patch20: firefox-build-prbool.patch
|
|||||||
Patch21: firefox-ppc64le.patch
|
Patch21: firefox-ppc64le.patch
|
||||||
Patch24: firefox-debug.patch
|
Patch24: firefox-debug.patch
|
||||||
Patch25: rhbz-1219542-s390-build.patch
|
Patch25: rhbz-1219542-s390-build.patch
|
||||||
Patch26: mozilla-1282843.patch
|
|
||||||
|
|
||||||
# Fedora specific patches
|
# Fedora specific patches
|
||||||
# Unable to install addons from https pages
|
# Unable to install addons from https pages
|
||||||
@ -121,21 +120,14 @@ Patch204: rhbz-966424.patch
|
|||||||
Patch215: firefox-enable-addons.patch
|
Patch215: firefox-enable-addons.patch
|
||||||
Patch219: rhbz-1173156.patch
|
Patch219: rhbz-1173156.patch
|
||||||
Patch221: firefox-fedora-ua.patch
|
Patch221: firefox-fedora-ua.patch
|
||||||
Patch222: firefox-gtk3-20.patch
|
|
||||||
Patch223: rhbz-1291190-appchooser-crash.patch
|
Patch223: rhbz-1291190-appchooser-crash.patch
|
||||||
Patch224: mozilla-1170092.patch
|
Patch224: mozilla-1170092.patch
|
||||||
|
|
||||||
# Upstream patches
|
# Upstream patches
|
||||||
Patch304: mozilla-1253216.patch
|
Patch304: mozilla-1253216.patch
|
||||||
Patch402: mozilla-1196777.patch
|
Patch402: mozilla-1196777.patch
|
||||||
Patch404: mozilla-1270046.patch
|
|
||||||
# Remove when mozbz#1269319 lands - Firefox 49
|
|
||||||
Patch405: mozilla-1245783.patch
|
|
||||||
Patch406: mozilla-256180.patch
|
Patch406: mozilla-256180.patch
|
||||||
Patch407: mozilla-890908-async-nego.patch
|
Patch407: mozilla-890908-async-nego.patch
|
||||||
Patch408: mozilla-1272332.patch
|
|
||||||
Patch409: mozilla-1225044.patch
|
|
||||||
Patch410: mozilla-1291700.patch
|
|
||||||
|
|
||||||
# Debian patches
|
# Debian patches
|
||||||
Patch500: mozilla-440908.patch
|
Patch500: mozilla-440908.patch
|
||||||
@ -256,7 +248,6 @@ cd %{tarballdir}
|
|||||||
%ifarch s390
|
%ifarch s390
|
||||||
%patch25 -p1 -b .rhbz-1219542-s390
|
%patch25 -p1 -b .rhbz-1219542-s390
|
||||||
%endif
|
%endif
|
||||||
%patch26 -p1 -b .mzbz#1282843
|
|
||||||
|
|
||||||
%patch3 -p1 -b .arm
|
%patch3 -p1 -b .arm
|
||||||
|
|
||||||
@ -272,15 +263,9 @@ cd %{tarballdir}
|
|||||||
%endif
|
%endif
|
||||||
%patch224 -p1 -b .1170092
|
%patch224 -p1 -b .1170092
|
||||||
%patch304 -p1 -b .1253216
|
%patch304 -p1 -b .1253216
|
||||||
%patch222 -p1 -b .gtk3-20
|
|
||||||
%patch402 -p1 -b .1196777
|
%patch402 -p1 -b .1196777
|
||||||
%patch404 -p1 -b .1270046
|
|
||||||
%patch405 -p1 -b .1245783
|
|
||||||
%patch406 -p1 -b .256180
|
%patch406 -p1 -b .256180
|
||||||
%patch407 -p1 -b .890908-async-nego
|
%patch407 -p1 -b .890908-async-nego
|
||||||
%patch408 -p1 -b .1272332
|
|
||||||
%patch409 -p1 -b .1225044
|
|
||||||
%patch410 -p1 -b .1291700
|
|
||||||
|
|
||||||
# Debian extension patch
|
# Debian extension patch
|
||||||
%patch500 -p1 -b .440908
|
%patch500 -p1 -b .440908
|
||||||
@ -732,9 +717,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
%{mozappdir}/browser/components/*.so
|
%{mozappdir}/browser/components/*.so
|
||||||
%{mozappdir}/browser/components/components.manifest
|
%{mozappdir}/browser/components/components.manifest
|
||||||
%{mozappdir}/browser/defaults/preferences/firefox-redhat-default-prefs.js
|
%{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/e10srollout@mozilla.org.xpi
|
||||||
%{mozappdir}/browser/features/firefox@getpocket.com.xpi
|
%{mozappdir}/browser/features/firefox@getpocket.com.xpi
|
||||||
|
%{mozappdir}/browser/features/webcompat@mozilla.org.xpi
|
||||||
%attr(644, root, root) %{mozappdir}/browser/blocklist.xml
|
%attr(644, root, root) %{mozappdir}/browser/blocklist.xml
|
||||||
%dir %{mozappdir}/browser/extensions
|
%dir %{mozappdir}/browser/extensions
|
||||||
%{mozappdir}/browser/extensions/*
|
%{mozappdir}/browser/extensions/*
|
||||||
@ -783,6 +768,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%changelog
|
%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
|
* Mon Aug 22 2016 Jan Horak <jhorak@redhat.com> - 48.0.1-2
|
||||||
- Added translations for .desktop file actions
|
- Added translations for .desktop file actions
|
||||||
|
|
||||||
|
@ -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;
|
|
||||||
|
|
@ -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)
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
@ -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();
|
|
@ -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',
|
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
diff -up firefox-47.0/modules/libpref/prefapi.cpp.440908 firefox-47.0/modules/libpref/prefapi.cpp
|
diff -up firefox-49.0/modules/libpref/prefapi.cpp.440908 firefox-49.0/modules/libpref/prefapi.cpp
|
||||||
--- firefox-47.0/modules/libpref/prefapi.cpp.440908 2016-06-01 17:17:19.723700226 +0200
|
--- firefox-49.0/modules/libpref/prefapi.cpp.440908 2016-07-25 22:22:05.000000000 +0200
|
||||||
+++ firefox-47.0/modules/libpref/prefapi.cpp 2016-06-01 17:21:05.839971471 +0200
|
+++ firefox-49.0/modules/libpref/prefapi.cpp 2016-09-08 11:45:51.283206722 +0200
|
||||||
@@ -947,8 +947,8 @@ void PREF_ReaderCallback(void *clo
|
@@ -971,8 +971,8 @@ void PREF_ReaderCallback(void *clo
|
||||||
PrefValue value,
|
PrefValue value,
|
||||||
PrefType type,
|
PrefType type,
|
||||||
bool isDefault,
|
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;
|
uint32_t flags = 0;
|
||||||
if (isDefault) {
|
if (isDefault) {
|
||||||
@@ -960,4 +960,6 @@ void PREF_ReaderCallback(void *clo
|
@@ -984,4 +984,6 @@ void PREF_ReaderCallback(void *clo
|
||||||
flags |= kPrefForceSet;
|
flags |= kPrefForceSet;
|
||||||
}
|
}
|
||||||
pref_HashPref(pref, value, type, flags);
|
pref_HashPref(pref, value, type, flags);
|
||||||
+ if (isLocked)
|
+ if (isLocked)
|
||||||
+ PREF_LockPref(pref, true);
|
+ PREF_LockPref(pref, true);
|
||||||
}
|
}
|
||||||
diff -up firefox-47.0/modules/libpref/prefapi.h.440908 firefox-47.0/modules/libpref/prefapi.h
|
diff -up firefox-49.0/modules/libpref/prefapi.h.440908 firefox-49.0/modules/libpref/prefapi.h
|
||||||
--- firefox-47.0/modules/libpref/prefapi.h.440908 2016-06-01 06:11:44.000000000 +0200
|
--- firefox-49.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
|
+++ firefox-49.0/modules/libpref/prefapi.h 2016-09-08 11:45:51.283206722 +0200
|
||||||
@@ -243,7 +243,8 @@ void PREF_ReaderCallback( void *closure,
|
@@ -243,7 +243,8 @@ void PREF_ReaderCallback( void *closure,
|
||||||
PrefValue value,
|
PrefValue value,
|
||||||
PrefType type,
|
PrefType type,
|
||||||
@ -32,9 +32,9 @@ diff -up firefox-47.0/modules/libpref/prefapi.h.440908 firefox-47.0/modules/libp
|
|||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
diff -up firefox-47.0/modules/libpref/prefread.cpp.440908 firefox-47.0/modules/libpref/prefread.cpp
|
diff -up firefox-49.0/modules/libpref/prefread.cpp.440908 firefox-49.0/modules/libpref/prefread.cpp
|
||||||
--- firefox-47.0/modules/libpref/prefread.cpp.440908 2016-06-01 06:11:44.000000000 +0200
|
--- firefox-49.0/modules/libpref/prefread.cpp.440908 2016-09-05 22:12:58.000000000 +0200
|
||||||
+++ firefox-47.0/modules/libpref/prefread.cpp 2016-06-01 17:29:47.017596668 +0200
|
+++ firefox-49.0/modules/libpref/prefread.cpp 2016-09-08 11:45:51.284206727 +0200
|
||||||
@@ -43,6 +43,7 @@ enum {
|
@@ -43,6 +43,7 @@ enum {
|
||||||
#define BITS_PER_HEX_DIGIT 4
|
#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 kPref[] = "pref";
|
||||||
static const char kPrefSticky[] = "sticky_pref";
|
static const char kPrefSticky[] = "sticky_pref";
|
||||||
static const char kTrue[] = "true";
|
static const char kTrue[] = "true";
|
||||||
@@ -131,7 +132,7 @@ pref_DoCallback(PrefParseState *ps)
|
@@ -146,7 +147,7 @@ pref_DoCallback(PrefParseState *ps)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
(*ps->reader)(ps->closure, ps->lb, value, ps->vtype, ps->fdefault,
|
(*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;
|
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->vtype = PrefType::Invalid;
|
||||||
ps->fdefault = false;
|
ps->fdefault = false;
|
||||||
ps->fstickydefault = 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) {
|
switch (c) {
|
||||||
case '/': /* begin comment block or line? */
|
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;
|
break;
|
||||||
case 'u': /* indicating user_pref */
|
case 'u': /* indicating user_pref */
|
||||||
case 's': /* indicating sticky_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 {
|
} else {
|
||||||
ps->smatch = kPref;
|
ps->smatch = kPref;
|
||||||
}
|
}
|
||||||
@@ -252,8 +257,10 @@ PREF_ParseBuf(PrefParseState *ps, const
|
@@ -277,8 +282,10 @@ PREF_ParseBuf(PrefParseState *ps, const
|
||||||
/* name parsing */
|
/* name parsing */
|
||||||
case PREF_PARSE_UNTIL_NAME:
|
case PREF_PARSE_UNTIL_NAME:
|
||||||
if (c == '\"' || c == '\'') {
|
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->quotechar = c;
|
||||||
ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
|
ps->nextstate = PREF_PARSE_UNTIL_COMMA; /* return here when done */
|
||||||
state = PREF_PARSE_QUOTED_STRING;
|
state = PREF_PARSE_QUOTED_STRING;
|
||||||
diff -up firefox-47.0/modules/libpref/prefread.h.440908 firefox-47.0/modules/libpref/prefread.h
|
diff -up firefox-49.0/modules/libpref/prefread.h.440908 firefox-49.0/modules/libpref/prefread.h
|
||||||
--- firefox-47.0/modules/libpref/prefread.h.440908 2016-06-01 06:11:44.000000000 +0200
|
--- firefox-49.0/modules/libpref/prefread.h.440908 2016-09-05 22:12:58.000000000 +0200
|
||||||
+++ firefox-47.0/modules/libpref/prefread.h 2016-06-01 17:30:32.310651004 +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
|
@@ -34,7 +34,8 @@ typedef void (*PrefReader)(void *c
|
||||||
PrefValue val,
|
PrefValue val,
|
||||||
PrefType type,
|
PrefType type,
|
||||||
@ -98,13 +98,22 @@ diff -up firefox-47.0/modules/libpref/prefread.h.440908 firefox-47.0/modules/lib
|
|||||||
+ bool stickyPref,
|
+ bool stickyPref,
|
||||||
+ bool lockPref);
|
+ bool lockPref);
|
||||||
|
|
||||||
/* structure fields are private */
|
/**
|
||||||
typedef struct PrefParseState {
|
* Report any errors or warnings we encounter during parsing.
|
||||||
@@ -56,6 +57,7 @@ typedef struct PrefParseState {
|
@@ -62,6 +63,7 @@ typedef struct PrefParseState {
|
||||||
PrefType vtype; /* PREF_STRING,INT,BOOL */
|
PrefType vtype; /* PREF_STRING,INT,BOOL */
|
||||||
bool fdefault; /* true if (default) pref */
|
bool fdefault; /* true if (default) pref */
|
||||||
bool fstickydefault; /* true if (sticky) pref */
|
bool fstickydefault; /* true if (sticky) pref */
|
||||||
+ bool flock; /* true if pref to be locked */
|
+ bool flock; /* true if pref to be locked */
|
||||||
} PrefParseState;
|
} PrefParseState;
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -90,7 +92,7 @@ void PREF_InitParseState(PrefParseState
|
||||||
|
*
|
||||||
|
* @param ps
|
||||||
|
* PrefParseState instance.
|
||||||
|
- */
|
||||||
|
+ */
|
||||||
|
void PREF_FinalizeParseState(PrefParseState *ps);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -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
|
+// This runnable is created by GenerateCredentialsAsync and it runs
|
||||||
+// in nsHttpNegotiateAuth::mNegotiateThread and calling GenerateCredentials.
|
+// in nsHttpNegotiateAuth::mNegotiateThread and calling GenerateCredentials.
|
||||||
+//
|
+//
|
||||||
+class GetNextTokenRunnable final : public nsRunnable
|
+class GetNextTokenRunnable final : public mozilla::Runnable
|
||||||
+{
|
+{
|
||||||
+ virtual ~GetNextTokenRunnable() {}
|
+ virtual ~GetNextTokenRunnable() {}
|
||||||
+ public:
|
+ public:
|
||||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
892a534ca51f5d21d658d1d1fc08e8c5 firefox-langpacks-48.0.1-20160819.tar.xz
|
b96eda40533dbd644eb2ae7f3da9f850 firefox-49.0.source.tar.xz
|
||||||
8c09b6cbf13ce13aa57d87175da997f4 firefox-48.0.1.source.tar.xz
|
f24eb2f6eb67d5609579a2baac416374 firefox-langpacks-49.0-20160906.tar.xz
|
||||||
|
Loading…
Reference in New Issue
Block a user