Merge branch 'master' into f24

This commit is contained in:
Martin Stransky 2017-04-18 10:36:21 +02:00
commit 4845916761
11 changed files with 785 additions and 1405 deletions

View File

@ -1,6 +1,6 @@
diff -up firefox-52.0/dom/u2f/U2F.cpp.prbool firefox-52.0/dom/u2f/U2F.cpp
--- firefox-52.0/dom/u2f/U2F.cpp.prbool 2017-03-03 13:42:22.613691228 +0100
+++ firefox-52.0/dom/u2f/U2F.cpp 2017-03-03 13:48:20.864647727 +0100
diff -up firefox-53.0/dom/u2f/U2F.cpp.prbool firefox-53.0/dom/u2f/U2F.cpp
--- firefox-53.0/dom/u2f/U2F.cpp.prbool 2017-04-11 06:15:14.000000000 +0200
+++ firefox-53.0/dom/u2f/U2F.cpp 2017-04-18 09:19:20.524285200 +0200
@@ -4,6 +4,7 @@
* 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/. */
@ -9,20 +9,20 @@ diff -up firefox-52.0/dom/u2f/U2F.cpp.prbool firefox-52.0/dom/u2f/U2F.cpp
#include "hasht.h"
#include "mozilla/dom/CallbackFunction.h"
#include "mozilla/dom/ContentChild.h"
diff -up firefox-52.0/security/certverifier/CTLogVerifier.cpp.prbool firefox-52.0/security/certverifier/CTLogVerifier.cpp
--- firefox-52.0/security/certverifier/CTLogVerifier.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
+++ firefox-52.0/security/certverifier/CTLogVerifier.cpp 2017-03-03 13:42:22.613691228 +0100
@@ -7,6 +7,7 @@
#include "CTLogVerifier.h"
diff -up firefox-53.0/security/certverifier/CTLogVerifier.cpp.prbool firefox-53.0/security/certverifier/CTLogVerifier.cpp
--- firefox-53.0/security/certverifier/CTLogVerifier.cpp.prbool 2017-04-18 09:19:20.524285200 +0200
+++ firefox-53.0/security/certverifier/CTLogVerifier.cpp 2017-04-18 09:52:34.189402811 +0200
@@ -9,6 +9,7 @@
#include <stdint.h>
#include "CTSerialization.h"
+#include "prtypes.h"
#include "hasht.h"
#include "mozilla/ArrayUtils.h"
#include "mozilla/Assertions.h"
diff -up firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool firefox-52.0/security/certverifier/CTObjectsExtractor.cpp
--- firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
+++ firefox-52.0/security/certverifier/CTObjectsExtractor.cpp 2017-03-03 13:42:22.613691228 +0100
diff -up firefox-53.0/security/certverifier/CTObjectsExtractor.cpp.prbool firefox-53.0/security/certverifier/CTObjectsExtractor.cpp
--- firefox-53.0/security/certverifier/CTObjectsExtractor.cpp.prbool 2017-01-16 17:16:51.000000000 +0100
+++ firefox-53.0/security/certverifier/CTObjectsExtractor.cpp 2017-04-18 09:19:20.525285196 +0200
@@ -6,6 +6,7 @@
#include "CTObjectsExtractor.h"
@ -31,9 +31,9 @@ diff -up firefox-52.0/security/certverifier/CTObjectsExtractor.cpp.prbool firefo
#include "hasht.h"
#include "mozilla/Assertions.h"
#include "mozilla/Casting.h"
diff -up firefox-52.0/security/certverifier/OCSPCache.h.prbool firefox-52.0/security/certverifier/OCSPCache.h
--- firefox-52.0/security/certverifier/OCSPCache.h.prbool 2017-02-27 17:11:06.000000000 +0100
+++ firefox-52.0/security/certverifier/OCSPCache.h 2017-03-03 13:42:22.613691228 +0100
diff -up firefox-53.0/security/certverifier/OCSPCache.h.prbool firefox-53.0/security/certverifier/OCSPCache.h
--- firefox-53.0/security/certverifier/OCSPCache.h.prbool 2017-04-11 06:15:19.000000000 +0200
+++ firefox-53.0/security/certverifier/OCSPCache.h 2017-04-18 09:19:20.525285196 +0200
@@ -25,6 +25,7 @@
#ifndef mozilla_psm_OCSPCache_h
#define mozilla_psm_OCSPCache_h

View File

@ -1,12 +0,0 @@
diff -up firefox-42.0/browser/installer/package-manifest.in.debug firefox-42.0/browser/installer/package-manifest.in
--- firefox-42.0/browser/installer/package-manifest.in.debug 2015-10-30 15:35:53.231857572 +0100
+++ firefox-42.0/browser/installer/package-manifest.in 2015-10-30 15:36:58.975091068 +0100
@@ -620,7 +620,7 @@
@RESPATH@/components/MozKeyboard.js
@RESPATH@/components/InputMethod.manifest
-#ifdef MOZ_DEBUG
+#ifdef ENABLE_TESTS
@RESPATH@/components/TestInterfaceJS.js
@RESPATH@/components/TestInterfaceJS.manifest
@RESPATH@/components/TestInterfaceJSMaplike.js

View File

@ -1,7 +1,7 @@
diff -up firefox-48.0/browser/app/profile/firefox.js.addons firefox-48.0/browser/app/profile/firefox.js
--- firefox-48.0/browser/app/profile/firefox.js.addons 2016-07-26 10:56:48.598900568 +0200
+++ firefox-48.0/browser/app/profile/firefox.js 2016-07-26 11:05:45.199789758 +0200
@@ -94,7 +94,8 @@ pref("extensions.systemAddon.update.url"
diff -up firefox-53.0/browser/app/profile/firefox.js.addons firefox-53.0/browser/app/profile/firefox.js
--- firefox-53.0/browser/app/profile/firefox.js.addons 2017-04-18 10:03:02.300234728 +0200
+++ firefox-53.0/browser/app/profile/firefox.js 2017-04-18 10:05:38.170676613 +0200
@@ -63,7 +63,8 @@ pref("extensions.systemAddon.update.url"
// Disable add-ons that are not installed by the user in all scopes by default.
// See the SCOPE constants in AddonManager.jsm for values to use here.
@ -9,5 +9,5 @@ diff -up firefox-48.0/browser/app/profile/firefox.js.addons firefox-48.0/browser
+pref("extensions.autoDisableScopes", 0);
+pref("extensions.showMismatchUI", false);
// Add-on content security policies.
pref("extensions.webextensions.base-content-security-policy", "script-src 'self' https://* moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; object-src 'self' https://* moz-extension: blob: filesystem:;");
// Whether or not webextension themes are supported.
pref("extensions.webextensions.themes.enabled", false);

View File

@ -102,14 +102,14 @@
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 52.0.2
Release: 2%{?pre_tag}%{?dist}
Version: 53.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}-20170329.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20170418.tar.xz
%endif
Source10: firefox-mozconfig
Source12: firefox-redhat-default-prefs.js
@ -127,7 +127,6 @@ Patch18: xulrunner-24.0-jemalloc-ppc.patch
# workaround linking issue on s390 (JSContext::updateMallocCounter(size_t) not found)
Patch19: xulrunner-24.0-s390-inlines.patch
Patch20: firefox-build-prbool.patch
Patch24: firefox-debug.patch
Patch25: rhbz-1219542-s390-build.patch
Patch26: build-icu-big-endian.patch
@ -153,9 +152,6 @@ Patch406: mozilla-256180.patch
# Rebase Gtk3 widget code to latest trunk to
# fix various rendering problems
Patch407: widget-rebase.patch
Patch410: mozilla-1348576.patch
Patch411: mozilla-1158076-1.patch
Patch412: mozilla-1158076-2.patch
# Debian patches
Patch500: mozilla-440908.patch
@ -286,7 +282,6 @@ cd %{tarballdir}
%patch18 -p1 -b .jemalloc-ppc
%patch19 -p2 -b .s390-inlines
%patch20 -p1 -b .prbool
%patch24 -p1 -b .debug
%ifarch s390
%patch25 -p1 -b .rhbz-1219542-s390
%endif
@ -320,10 +315,6 @@ cd %{tarballdir}
# Rebase Gtk3 widget code to latest trunk to
# fix various rendering problems
%patch407 -p1 -b .widget-rebase
# Disabled due to rhbz#1435964
%patch410 -p1 -b .1348576
%patch411 -p1 -b .1158076-1
%patch412 -p1 -b .1158076-2
# Debian extension patch
%patch500 -p1 -b .440908
@ -843,6 +834,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Thu Apr 18 2017 Martin Stransky <stransky@redhat.com> - 53.0-1
- Updated to 53.0 (B6)
* Fri Mar 31 2017 Martin Stransky <stransky@redhat.com> - 52.0.2-2
- Added patch for mozbz#1348576 - enable e10s by default
- Added patch for mozbz#1158076 - enable dark theme by pref

View File

@ -1,51 +0,0 @@
diff -up firefox-52.0.2/modules/libpref/init/all.js.1158076-1 firefox-52.0.2/modules/libpref/init/all.js
--- firefox-52.0.2/modules/libpref/init/all.js.1158076-1 2017-03-31 09:44:28.377647329 +0200
+++ firefox-52.0.2/modules/libpref/init/all.js 2017-03-31 09:46:02.847234586 +0200
@@ -4646,6 +4646,8 @@ pref("gfx.apitrace.enabled",false);
pref("gfx.content.use-native-pushlayer", true);
#ifdef MOZ_WIDGET_GTK
pref("gfx.xrender.enabled",false);
+pref("widget.chrome.allow-gtk-dark-theme", false);
+pref("widget.content.allow-gtk-dark-theme", false);
#endif
#endif
diff -up firefox-52.0.2/widget/gtk/nsLookAndFeel.cpp.1158076-1 firefox-52.0.2/widget/gtk/nsLookAndFeel.cpp
--- firefox-52.0.2/widget/gtk/nsLookAndFeel.cpp.1158076-1 2017-03-31 09:44:28.374647342 +0200
+++ firefox-52.0.2/widget/gtk/nsLookAndFeel.cpp 2017-03-31 09:44:35.125617758 +0200
@@ -1134,16 +1134,27 @@ 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);
+ gboolean darkThemeDefault;
+ g_object_get(settings, dark_setting, &darkThemeDefault, nullptr);
- if (dark && !PR_GetEnv("MOZ_ALLOW_GTK_DARK_THEME")) {
- g_object_set(settings, dark_setting, FALSE, nullptr);
+ // Dark themes interacts poorly with widget styling (see bug 1216658).
+ // We disable dark themes by default for all processes (chrome, web content)
+ // but allow user to overide it by prefs.
+ if (darkThemeDefault) {
+ bool allowDarkTheme;
+ if (XRE_IsContentProcess()) {
+ allowDarkTheme =
+ mozilla::Preferences::GetBool("widget.content.allow-gtk-dark-theme",
+ false);
+ } else {
+ allowDarkTheme = (PR_GetEnv("MOZ_ALLOW_GTK_DARK_THEME") != nullptr) ||
+ mozilla::Preferences::GetBool("widget.chrome.allow-gtk-dark-theme",
+ false);
+ }
+ if (!allowDarkTheme) {
+ g_object_set(settings, dark_setting, FALSE, nullptr);
+ }
}
// Scrollbar colors

View File

@ -1,184 +0,0 @@
diff --git a/widget/gtk/nsLookAndFeel.h b/widget/gtk/nsLookAndFeel.h
--- a/widget/gtk/nsLookAndFeel.h
+++ b/widget/gtk/nsLookAndFeel.h
@@ -76,13 +76,14 @@ protected:
nscolor sTextSelectedBackground;
nscolor sMozScrollbar;
#if (MOZ_WIDGET_GTK == 3)
nscolor sInfoBarText;
#endif
char16_t sInvisibleCharacter;
float sCaretRatio;
bool sMenuSupportsDrag;
+ bool mInitialized;
- void Init();
+ void EnsureInit();
};
#endif
diff --git a/widget/gtk/nsLookAndFeel.cpp b/widget/gtk/nsLookAndFeel.cpp
--- a/widget/gtk/nsLookAndFeel.cpp
+++ b/widget/gtk/nsLookAndFeel.cpp
@@ -45,19 +45,19 @@ using mozilla::LookAndFeel;
(int)((c).blue*255), (int)((c).alpha*255)))
nsLookAndFeel::nsLookAndFeel()
: nsXPLookAndFeel(),
#if (MOZ_WIDGET_GTK == 2)
mStyle(nullptr),
#endif
mDefaultFontCached(false), mButtonFontCached(false),
- mFieldFontCached(false), mMenuFontCached(false)
+ mFieldFontCached(false), mMenuFontCached(false),
+ mInitialized(false)
{
- Init();
}
nsLookAndFeel::~nsLookAndFeel()
{
#if (MOZ_WIDGET_GTK == 2)
g_object_unref(mStyle);
#endif
}
@@ -219,16 +219,18 @@ GetBorderColors(GtkStyleContext* aContex
*aDarkColor = GDK_RGBA_TO_NS_RGBA(darkColor);
return ret;
}
#endif
nsresult
nsLookAndFeel::NativeGetColor(ColorID aID, nscolor& aColor)
{
+ EnsureInit();
+
#if (MOZ_WIDGET_GTK == 3)
GdkRGBA gdk_color;
#endif
nsresult res = NS_OK;
switch (aID) {
// These colors don't seem to be used for anything anymore in Mozilla
// (except here at least TextSelectBackground and TextSelectForeground)
@@ -670,16 +672,21 @@ nsLookAndFeel::GetIntImpl(IntID aID, int
break;
}
res = nsXPLookAndFeel::GetIntImpl(aID, aResult);
if (NS_SUCCEEDED(res))
return res;
res = NS_OK;
+ // We use delayed initialization by EnsureInit() here
+ // to make sure mozilla::Preferences is available (Bug 115807).
+ // eIntID_UseAccessibilityTheme is requested before user preferences
+ // are read, and so EnsureInit(), which depends on preference values,
+ // is deliberately delayed until required.
switch (aID) {
case eIntID_CaretBlinkTime:
{
GtkSettings *settings;
gint blink_time;
gboolean blink;
settings = gtk_settings_get_default ();
@@ -832,16 +839,17 @@ nsLookAndFeel::GetIntImpl(IntID aID, int
case eIntID_IMESelectedRawTextUnderlineStyle:
case eIntID_IMESelectedConvertedTextUnderline:
aResult = NS_STYLE_TEXT_DECORATION_STYLE_NONE;
break;
case eIntID_SpellCheckerUnderlineStyle:
aResult = NS_STYLE_TEXT_DECORATION_STYLE_WAVY;
break;
case eIntID_MenuBarDrag:
+ EnsureInit();
aResult = sMenuSupportsDrag;
break;
case eIntID_ScrollbarButtonAutoRepeatBehavior:
aResult = 1;
break;
case eIntID_SwipeAnimationEnabled:
aResult = 0;
break;
@@ -872,16 +880,17 @@ nsLookAndFeel::GetFloatImpl(FloatID aID,
switch (aID) {
case eFloatID_IMEUnderlineRelativeSize:
aResult = 1.0f;
break;
case eFloatID_SpellCheckerUnderlineRelativeSize:
aResult = 1.0f;
break;
case eFloatID_CaretAspectRatio:
+ EnsureInit();
aResult = sCaretRatio;
break;
default:
aResult = -1.0;
res = NS_ERROR_FAILURE;
}
return res;
}
@@ -1052,21 +1061,25 @@ nsLookAndFeel::GetFontImpl(FontID aID, n
}
aFontName = *cachedFontName;
aFontStyle = *cachedFontStyle;
return true;
}
void
-nsLookAndFeel::Init()
+nsLookAndFeel::EnsureInit()
{
GdkColor colorValue;
GdkColor *colorValuePtr;
+ if (mInitialized)
+ return;
+ mInitialized = true;
+
#if (MOZ_WIDGET_GTK == 2)
NS_ASSERTION(!mStyle, "already initialized");
// GtkInvisibles come with a refcount that is not floating
// (since their initialization code calls g_object_ref_sink) and
// their destroy code releases that reference (which means they
// have to be explicitly destroyed, since calling unref enough
// to cause destruction would lead to *another* unref).
// However, this combination means that it's actually still ok
@@ -1445,16 +1458,17 @@ nsLookAndFeel::Init()
gtk_widget_destroy(window);
}
// virtual
char16_t
nsLookAndFeel::GetPasswordCharacterImpl()
{
+ EnsureInit();
return sInvisibleCharacter;
}
void
nsLookAndFeel::RefreshImpl()
{
nsXPLookAndFeel::RefreshImpl();
@@ -1463,15 +1477,15 @@ nsLookAndFeel::RefreshImpl()
mFieldFontCached = false;
mMenuFontCached = false;
#if (MOZ_WIDGET_GTK == 2)
g_object_unref(mStyle);
mStyle = nullptr;
#endif
- Init();
+ mInitialized = false;
}
bool
nsLookAndFeel::GetEchoPasswordImpl() {
return false;
}

View File

@ -1,9 +1,9 @@
diff -up firefox-48.0/js/src/jit/AtomicOperations.h.old firefox-48.0/js/src/jit/AtomicOperations.h
--- firefox-48.0/js/src/jit/AtomicOperations.h.old 2016-07-27 09:42:43.148175449 +0200
+++ firefox-48.0/js/src/jit/AtomicOperations.h 2016-07-27 09:41:13.000000000 +0200
@@ -340,7 +340,7 @@ AtomicOperations::isLockfree(int32_t siz
# elif defined(__aarch64__)
# include "jit/arm64/AtomicOperations-arm64.h"
diff -up firefox-53.0/js/src/jit/AtomicOperations.h.1253216 firefox-53.0/js/src/jit/AtomicOperations.h
--- firefox-53.0/js/src/jit/AtomicOperations.h.1253216 2017-04-18 10:07:25.939282630 +0200
+++ firefox-53.0/js/src/jit/AtomicOperations.h 2017-04-18 10:15:50.965436343 +0200
@@ -348,7 +348,7 @@ AtomicOperations::isLockfree(int32_t siz
#elif defined(__sh__)
# include "jit/none/AtomicOperations-ppc.h"
# else
-# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
+# include "jit/none/AtomicOperations-ppc.h"

View File

@ -1,46 +0,0 @@
diff -up firefox-52.0.2/browser/extensions/e10srollout/bootstrap.js.1348576 firefox-52.0.2/browser/extensions/e10srollout/bootstrap.js
--- firefox-52.0.2/browser/extensions/e10srollout/bootstrap.js.1348576 2017-03-31 09:36:20.070787199 +0200
+++ firefox-52.0.2/browser/extensions/e10srollout/bootstrap.js 2017-03-31 09:38:09.211308920 +0200
@@ -9,6 +9,7 @@ const {classes: Cc, interfaces: Ci, util
Cu.import("resource://gre/modules/Preferences.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/UpdateUtils.jsm");
+Cu.import("resource://gre/modules/AppConstants.jsm");
// The amount of people to be part of e10s
const TEST_THRESHOLD = {
@@ -23,6 +24,23 @@ const ADDON_ROLLOUT_POLICY = {
"esr" : "esrA", // WebExtensions and Addons with mpc=true
};
+if (AppConstants.RELEASE_OR_BETA) {
+ // Bug 1348576 - e10s is never enabled for non-official release builds
+ // This is hacky, but the problem it solves is the following:
+ // the e10s rollout is controlled by the channel name, which
+ // is the only way to distinguish between Beta and Release.
+ // However, non-official release builds (like the ones done by distros
+ // to ship Firefox on their package managers) do not set a value
+ // for the release channel, which gets them to the default value
+ // of.. (drumroll) "default".
+ // But we can't just always configure the same settings for the
+ // "default" channel because that's also the name that a locally
+ // built Firefox gets, and e10s is managed in a different way
+ // there (directly by prefs, on Nightly and Aurora).
+ TEST_THRESHOLD.default = TEST_THRESHOLD.release;
+ ADDON_ROLLOUT_POLICY.default = ADDON_ROLLOUT_POLICY.release;
+}
+
const PREF_COHORT_SAMPLE = "e10s.rollout.cohortSample";
const PREF_COHORT_NAME = "e10s.rollout.cohort";
const PREF_E10S_OPTED_IN = "browser.tabs.remote.autostart";
diff -up firefox-52.0.2/browser/extensions/e10srollout/install.rdf.in.1348576 firefox-52.0.2/browser/extensions/e10srollout/install.rdf.in
--- firefox-52.0.2/browser/extensions/e10srollout/install.rdf.in.1348576 2017-03-31 09:36:20.070787199 +0200
+++ firefox-52.0.2/browser/extensions/e10srollout/install.rdf.in 2017-03-31 09:38:45.579149534 +0200
@@ -11,6 +11,7 @@
<Description about="urn:mozilla:install-manifest">
<em:id>e10srollout@mozilla.org</em:id>
<em:version>1.9</em:version>
+ <em:version>1.9.1</em:version>
<em:type>2</em:type>
<em:bootstrap>true</em:bootstrap>
<em:multiprocessCompatible>true</em:multiprocessCompatible>

View File

@ -12,27 +12,3 @@ diff -up firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm firefox-52.0/
//////////////////////////////////////////////////////////////////////
#if !defined(SKIA_IMPLEMENTATION)
diff -up firefox-52.0/media/webrtc/trunk/webrtc/build/common.gypi.arm firefox-52.0/media/webrtc/trunk/webrtc/build/common.gypi
--- firefox-52.0/media/webrtc/trunk/webrtc/build/common.gypi.arm 2016-09-05 22:12:57.000000000 +0200
+++ firefox-52.0/media/webrtc/trunk/webrtc/build/common.gypi 2017-03-03 13:53:52.480754536 +0100
@@ -312,20 +312,6 @@
'defines': [
'WEBRTC_ARCH_ARM',
],
- 'conditions': [
- ['arm_version>=7', {
- 'defines': ['WEBRTC_ARCH_ARM_V7',
- 'WEBRTC_BUILD_NEON_LIBS'],
- 'conditions': [
- ['arm_neon==1', {
- 'defines': ['WEBRTC_ARCH_ARM_NEON',],
- }],
- ['arm_neon==0 and arm_neon_optional==1', {
- 'defines': ['WEBRTC_DETECT_ARM_NEON',],
- }],
- ],
- }],
- ],
}],
['os_bsd==1', {
'defines': [

View File

@ -1,2 +1,2 @@
SHA512 (firefox-52.0.2.source.tar.xz) = 15668625d212acf874b560d0adf738faf3e0df532c549ab94e1d91944542e13bf16265f08fca1eded42820f9b7ad3f0ff70a8b5bc9adde0a79d11e022bb1158e
SHA512 (firefox-langpacks-52.0.2-20170329.tar.xz) = 4c4b953e5f6aefa754a2a1d15273a46ab1028b14799e2adc949c7ecbd7041d80856221ed90ff179ceb1b39bc387765b1888ce614169ca482096eadf78d04e379
SHA512 (firefox-53.0.source.tar.xz) = 36ec810bab58e3d99478455a38427a5efbc74d6dd7d4bb93b700fd7429b9b89250efd0abe4609091483991802090c6373c8434dfc9ba64c79a778e51fd2a2886
SHA512 (firefox-langpacks-53.0-20170418.tar.xz) = 5bb972e22953149b03e135be64664412ee2b2c0791eb6b26c506a170b2aa6ea2e31c77ae6971e393ac3952146855ad423e66c3be53258dcedd17b8932d16982b

File diff suppressed because it is too large Load Diff