Update to Firefox 65.0 build 2

This commit is contained in:
Martin Stransky 2019-01-28 14:53:26 +01:00
parent b0598cb9a9
commit eec2ffa6e4
17 changed files with 131 additions and 658 deletions

2
.gitignore vendored
View File

@ -323,3 +323,5 @@ firefox-3.6.4.source.tar.bz2
/firefox-langpacks-64.0-20181204.tar.xz
/firefox-64.0.2.source.tar.xz
/firefox-langpacks-64.0.2-20190110.tar.xz
/firefox-65.0.source.tar.xz
/firefox-langpacks-65.0-20190128.tar.xz

View File

@ -1,8 +1,8 @@
diff -up firefox-63.0/toolkit/moz.configure.disable-elfhack firefox-63.0/toolkit/moz.configure
--- firefox-63.0/toolkit/moz.configure.disable-elfhack 2018-10-18 13:35:35.870039190 +0200
+++ firefox-63.0/toolkit/moz.configure 2018-10-18 13:36:41.682515492 +0200
@@ -1010,7 +1010,7 @@ with only_when('--enable-compile-environ
help='Disable elf hacks')
diff -up firefox-65.0/toolkit/moz.configure.disable-elfhack firefox-65.0/toolkit/moz.configure
--- firefox-65.0/toolkit/moz.configure.disable-elfhack 2019-01-28 14:16:48.530345132 +0100
+++ firefox-65.0/toolkit/moz.configure 2019-01-28 14:18:03.231029682 +0100
@@ -1036,7 +1036,7 @@ with only_when('--enable-compile-environ
help='{Enable|Disable} elf hacks')
set_config('USE_ELF_HACK',
- depends_if('--enable-elf-hack')(lambda _: True))

View File

@ -1,30 +1,12 @@
diff -up firefox-57.0b5/js/src/jit/AtomicOperations.h.jit-atomic-lucky firefox-57.0b5/js/src/jit/AtomicOperations.h
--- firefox-57.0b5/js/src/jit/AtomicOperations.h.jit-atomic-lucky 2017-10-06 12:34:02.338973607 +0200
+++ firefox-57.0b5/js/src/jit/AtomicOperations.h 2017-10-06 12:38:24.632622215 +0200
@@ -415,7 +415,7 @@ AtomicOperations::isLockfreeJS(int32_t s
diff -up firefox-60.5.0/js/src/jit/AtomicOperations.h.jit-atomic-lucky firefox-60.5.0/js/src/jit/AtomicOperations.h
--- firefox-60.5.0/js/src/jit/AtomicOperations.h.jit-atomic-lucky 2019-01-22 10:20:27.993697161 +0100
+++ firefox-60.5.0/js/src/jit/AtomicOperations.h 2019-01-22 10:23:15.337873762 +0100
@@ -394,7 +394,7 @@ inline bool AtomicOperations::isLockfree
#elif defined(__s390__) || defined(__s390x__)
# include "jit/none/AtomicOperations-feeling-lucky.h"
#include "jit/none/AtomicOperations-feeling-lucky.h"
#else
-# error "No AtomicOperations support provided for this platform"
+# include "jit/none/AtomicOperations-feeling-lucky.h"
-#error "No AtomicOperations support provided for this platform"
+#include "jit/none/AtomicOperations-feeling-lucky.h"
#endif
#endif // jit_AtomicOperations_h
diff -up firefox-57.0b5/js/src/jit/none/AtomicOperations-feeling-lucky.h.jit-atomic-lucky firefox-57.0b5/js/src/jit/none/AtomicOperations-feeling-lucky.h
--- firefox-57.0b5/js/src/jit/none/AtomicOperations-feeling-lucky.h.jit-atomic-lucky 2017-09-19 06:18:28.000000000 +0200
+++ firefox-57.0b5/js/src/jit/none/AtomicOperations-feeling-lucky.h 2017-10-06 12:34:02.338973607 +0200
@@ -79,6 +79,14 @@
# define GNUC_COMPATIBLE
#endif
+#ifdef __s390__
+# define GNUC_COMPATIBLE
+#endif
+
+#ifdef __s390x__
+# define GNUC_COMPATIBLE
+#endif
+
// The default implementation tactic for gcc/clang is to use the newer
// __atomic intrinsics added for use in C++11 <atomic>. Where that
// isn't available, we use GCC's older __sync functions instead.
#endif // jit_AtomicOperations_h

View File

@ -1,21 +1,19 @@
diff -up firefox-35.0.1/mozilla-release/media/webrtc/trunk/Makefile.old firefox-35.0.1/mozilla-release/media/webrtc/trunk/Makefile
diff -up firefox-35.0.1/mozilla-release/netwerk/protocol/http/nsHttpHandler.cpp.old firefox-35.0.1/mozilla-release/netwerk/protocol/http/nsHttpHandler.cpp
--- firefox-35.0.1/mozilla-release/netwerk/protocol/http/nsHttpHandler.cpp.old 2015-01-23 07:00:06.000000000 +0100
+++ firefox-35.0.1/mozilla-release/netwerk/protocol/http/nsHttpHandler.cpp 2015-02-09 16:40:42.983220596 +0100
@@ -607,7 +607,7 @@ nsHttpHandler::BuildUserAgent()
mUserAgent.SetCapacity(mLegacyAppName.Length() +
mLegacyAppVersion.Length() +
diff -up firefox-65.0/netwerk/protocol/http/nsHttpHandler.cpp.fedora-ua firefox-65.0/netwerk/protocol/http/nsHttpHandler.cpp
--- firefox-65.0/netwerk/protocol/http/nsHttpHandler.cpp.fedora-ua 2019-01-28 14:28:35.806375063 +0100
+++ firefox-65.0/netwerk/protocol/http/nsHttpHandler.cpp 2019-01-28 14:30:25.886917219 +0100
@@ -873,6 +873,7 @@ void nsHttpHandler::BuildUserAgent() {
mUserAgent.SetCapacity(mLegacyAppName.Length() + mLegacyAppVersion.Length() +
#ifndef UA_SPARE_PLATFORM
- mPlatform.Length() +
+ mPlatform.Length() + 8 +
mPlatform.Length() +
+ mPlatform.Length() + 8 +
#endif
mOscpu.Length() +
mMisc.Length() +
@@ -631,6 +631,7 @@ nsHttpHandler::BuildUserAgent()
if (!mPlatform.IsEmpty()) {
mUserAgent += mPlatform;
mUserAgent.AppendLiteral("; ");
+ mUserAgent.AppendLiteral("Fedora; ");
}
mOscpu.Length() + mMisc.Length() + mProduct.Length() +
mProductSub.Length() + mAppName.Length() +
@@ -891,6 +892,7 @@ void nsHttpHandler::BuildUserAgent() {
if (!mPlatform.IsEmpty()) {
mUserAgent += mPlatform;
mUserAgent.AppendLiteral("; ");
+ mUserAgent.AppendLiteral("Fedora; ");
}
#endif
if (!mCompatDevice.IsEmpty()) {
if (!mCompatDevice.IsEmpty()) {

View File

@ -1,94 +0,0 @@
diff -up firefox-63.0.3/widget/gtk/mozcontainer.cpp.mozbz1507475 firefox-63.0.3/widget/gtk/mozcontainer.cpp
--- firefox-63.0.3/widget/gtk/mozcontainer.cpp.mozbz1507475 2018-11-15 01:20:56.000000000 +0100
+++ firefox-63.0.3/widget/gtk/mozcontainer.cpp 2018-11-21 15:41:41.858692640 +0100
@@ -169,6 +169,8 @@ moz_container_class_init (MozContainerCl
}
#if defined(MOZ_WAYLAND)
+static struct wl_subcompositor *subcompositor;
+
static void
registry_handle_global (void *data,
struct wl_registry *registry,
@@ -176,9 +178,8 @@ registry_handle_global (void *data,
const char *interface,
uint32_t version)
{
- MozContainer *container = MOZ_CONTAINER(data);
if(strcmp(interface, "wl_subcompositor") == 0) {
- container->subcompositor =
+ subcompositor =
static_cast<wl_subcompositor*>(wl_registry_bind(registry,
name,
&wl_subcompositor_interface,
@@ -197,6 +198,24 @@ static const struct wl_registry_listener
registry_handle_global,
registry_handle_global_remove
};
+
+struct wl_subcompositor* subcompositor_get(void)
+{
+ if (!subcompositor) {
+ GdkDisplay *gdk_display = gdk_display_get_default();
+ // Available as of GTK 3.8+
+ static auto sGdkWaylandDisplayGetWlDisplay =
+ (wl_display *(*)(GdkDisplay *))
+ dlsym(RTLD_DEFAULT, "gdk_wayland_display_get_wl_display");
+
+ wl_display* display = sGdkWaylandDisplayGetWlDisplay(gdk_display);
+ wl_registry* registry = wl_display_get_registry(display);
+ wl_registry_add_listener(registry, &registry_listener, nullptr);
+ wl_display_dispatch(display);
+ wl_display_roundtrip(display);
+ }
+ return subcompositor;
+}
#endif
void
@@ -208,25 +227,10 @@ moz_container_init (MozContainer *contai
#if defined(MOZ_WAYLAND)
{
- container->subcompositor = nullptr;
container->surface = nullptr;
container->subsurface = nullptr;
container->eglwindow = nullptr;
container->parent_surface_committed = false;
-
- GdkDisplay *gdk_display = gtk_widget_get_display(GTK_WIDGET(container));
- if (GDK_IS_WAYLAND_DISPLAY (gdk_display)) {
- // Available as of GTK 3.8+
- static auto sGdkWaylandDisplayGetWlDisplay =
- (wl_display *(*)(GdkDisplay *))
- dlsym(RTLD_DEFAULT, "gdk_wayland_display_get_wl_display");
-
- wl_display* display = sGdkWaylandDisplayGetWlDisplay(gdk_display);
- wl_registry* registry = wl_display_get_registry(display);
- wl_registry_add_listener(registry, &registry_listener, container);
- wl_display_dispatch(display);
- wl_display_roundtrip(display);
- }
}
#endif
}
@@ -298,7 +302,7 @@ moz_container_map_surface(MozContainer *
}
container->subsurface =
- wl_subcompositor_get_subsurface (container->subcompositor,
+ wl_subcompositor_get_subsurface (subcompositor_get(),
container->surface,
gtk_surface);
gint x, y;
diff -up firefox-63.0.3/widget/gtk/mozcontainer.h.mozbz1507475 firefox-63.0.3/widget/gtk/mozcontainer.h
--- firefox-63.0.3/widget/gtk/mozcontainer.h.mozbz1507475 2018-11-15 01:20:56.000000000 +0100
+++ firefox-63.0.3/widget/gtk/mozcontainer.h 2018-11-21 14:16:54.412397805 +0100
@@ -69,7 +69,6 @@ struct _MozContainer
GList *children;
#ifdef MOZ_WAYLAND
- struct wl_subcompositor *subcompositor;
struct wl_surface *surface;
struct wl_subsurface *subsurface;
struct wl_egl_window *eglwindow;

View File

@ -73,13 +73,13 @@ ExcludeArch: armv7hl
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 64.0.2
Release: 2%{?pre_tag}%{?dist}
Version: 65.0
Release: 1%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
%if %{with langpacks}
Source1: firefox-langpacks-%{version}%{?pre_version}-20190110.tar.xz
Source1: firefox-langpacks-%{version}%{?pre_version}-20190128.tar.xz
%endif
Source2: cbindgen-vendor.tar.xz
Source10: firefox-mozconfig
@ -110,7 +110,6 @@ Patch37: build-jit-atomic-always-lucky.patch
Patch38: build-cacheFlush-missing.patch
Patch40: build-aarch64-skia.patch
Patch41: build-disable-elfhack.patch
Patch44: mozilla-1494037.patch
Patch46: firefox-debug-build.patch
# Fedora specific patches
@ -133,14 +132,9 @@ Patch414: mozilla-1435212-ffmpeg-4.0.patch
Patch415: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
Patch416: mozilla-1424422.patch
Patch417: bug1375074-save-restore-x28.patch
Patch421: mozilla-1447775.patch
# Wayland specific upstream patches
Patch574: firefox-pipewire.patch
Patch581: mozilla-1493081.patch
Patch582: mozilla-1504689.patch
Patch585: mozilla-1507475.patch
Patch586: firefox-wayland-crash-mozbz1507475.patch
# Debian patches
Patch500: mozilla-440908.patch
@ -314,18 +308,18 @@ This package contains results of tests executed during build.
%patch25 -p1 -b .rhbz-1219542-s390
%endif
%patch37 -p1 -b .jit-atomic-lucky
%patch40 -p1 -b .aarch64-skia
# TODO Fix later
#%patch40 -p1 -b .aarch64-skia
%if 0%{?disable_elfhack}
%patch41 -p1 -b .disable-elfhack
%endif
%patch3 -p1 -b .arm
%patch44 -p1 -b .1494037
%patch46 -p1 -b .debug
# Fedora patches
%patch215 -p1 -b .addons
%patch219 -p2 -b .rhbz-1173156
%patch221 -p2 -b .fedora-ua
%patch219 -p1 -b .rhbz-1173156
%patch221 -p1 -b .fedora-ua
%patch224 -p1 -b .1170092
#ARM run-time patch
%ifarch aarch64
@ -343,16 +337,12 @@ This package contains results of tests executed during build.
%if 0%{?big_endian}
%patch26 -p1 -b .icu
%endif
%patch421 -p1 -b .1447775
# Wayland specific upstream patches
%if 0%{?fedora} > 28
%patch574 -p1 -b .firefox-pipewire
# TODO
#%patch574 -p1 -b .firefox-pipewire
%endif
%patch581 -p1 -b .mozilla-1493081
%patch582 -p1 -b .mozilla-1504689
%patch585 -p1 -b .mozbz1507475
%patch586 -p1 -b .crash-mozbz1507475
# PGO patches
%patch600 -p1 -b .pgo
@ -895,6 +885,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Mon Jan 28 2019 Martin Stransky <stransky@redhat.com> - 65.0-1
- Update to 65.0 build 2
* Wed Jan 16 2019 Martin Stransky <stransky@redhat.com> - 64.0.2-2
- Rebuild

View File

@ -1,33 +1,32 @@
diff -up firefox-63.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-63.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-63.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2018-10-15 21:20:45.000000000 +0200
+++ firefox-63.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2018-10-18 13:37:55.993001292 +0200
@@ -265,9 +265,20 @@ nsresult nsReadConfig::openAndEvaluateJS
return rv;
diff -up firefox-65.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-65.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-65.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2019-01-24 19:48:40.000000000 +0100
+++ firefox-65.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2019-01-28 14:35:05.084756038 +0100
@@ -244,8 +244,20 @@ nsresult nsReadConfig::openAndEvaluateJS
if (NS_FAILED(rv)) return rv;
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
- if (NS_FAILED(rv))
- return rv;
+ if (NS_FAILED(rv)) {
+ // Look for cfg file in /etc/<application>/pref
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
+ getter_AddRefs(jsFile));
+ NS_ENSURE_SUCCESS(rv, rv);
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
- if (NS_FAILED(rv)) return rv;
+ if (NS_FAILED(rv)) {
+ // Look for cfg file in /etc/<application>/pref
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
+ getter_AddRefs(jsFile));
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ rv = jsFile->AppendNative(NS_LITERAL_CSTRING("pref"));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = jsFile->AppendNative(nsDependentCString(aFileName));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = jsFile->AppendNative(NS_LITERAL_CSTRING("pref"));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = jsFile->AppendNative(nsDependentCString(aFileName));
+ NS_ENSURE_SUCCESS(rv, rv);
+ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
} else {
nsAutoCString location("resource://gre/defaults/autoconfig/");
location += aFileName;
diff -up firefox-63.0/modules/libpref/Preferences.cpp.1170092 firefox-63.0/modules/libpref/Preferences.cpp
--- firefox-63.0/modules/libpref/Preferences.cpp.1170092 2018-10-15 21:20:49.000000000 +0200
+++ firefox-63.0/modules/libpref/Preferences.cpp 2018-10-18 13:37:55.994001285 +0200
@@ -4873,6 +4873,8 @@ Preferences::InitInitialObjects(bool aIs
+ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
+ NS_ENSURE_SUCCESS(rv, rv);
+ }
} else {
nsAutoCString location("resource://gre/defaults/autoconfig/");
location += aFileName;
diff -up firefox-65.0/modules/libpref/Preferences.cpp.1170092 firefox-65.0/modules/libpref/Preferences.cpp
--- firefox-65.0/modules/libpref/Preferences.cpp.1170092 2019-01-24 19:48:47.000000000 +0100
+++ firefox-65.0/modules/libpref/Preferences.cpp 2019-01-28 14:35:05.085756034 +0100
@@ -4406,6 +4406,8 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
//
// Thus, in the omni.jar case, we always load app-specific default
// preferences from omni.jar, whether or not `$app == $gre`.
@ -36,9 +35,9 @@ diff -up firefox-63.0/modules/libpref/Preferences.cpp.1170092 firefox-63.0/modul
nsresult rv;
nsZipFind* findPtr;
diff -up firefox-63.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-63.0/toolkit/xre/nsXREDirProvider.cpp
--- firefox-63.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2018-10-15 21:20:52.000000000 +0200
+++ firefox-63.0/toolkit/xre/nsXREDirProvider.cpp 2018-10-18 13:41:06.969581700 +0200
diff -up firefox-65.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-65.0/toolkit/xre/nsXREDirProvider.cpp
--- firefox-65.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2019-01-24 19:48:56.000000000 +0100
+++ firefox-65.0/toolkit/xre/nsXREDirProvider.cpp 2019-01-28 14:36:31.645396051 +0100
@@ -57,6 +57,7 @@
#endif
#ifdef XP_UNIX
@ -47,10 +46,11 @@ diff -up firefox-63.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-63.0/tool
#endif
#ifdef XP_IOS
#include "UIKitDirProvider.h"
@@ -527,6 +528,20 @@ nsXREDirProvider::GetFile(const char* aP
@@ -525,6 +526,21 @@ nsXREDirProvider::GetFile(const char* aP
}
}
}
+
+#if defined(XP_UNIX)
+ if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
+ nsCString sysConfigDir = NS_LITERAL_CSTRING("/etc/");
@ -65,33 +65,34 @@ diff -up firefox-63.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-63.0/tool
+ }
+#endif
+
if (NS_FAILED(rv) || !file)
return NS_ERROR_FAILURE;
if (NS_FAILED(rv) || !file) return NS_ERROR_FAILURE;
@@ -863,6 +878,15 @@ nsXREDirProvider::GetFilesInternal(const
LoadDirsIntoArray(mAppBundleDirectories,
kAppendPrefDir, directories);
if (ensureFilePermissions) {
@@ -881,6 +897,16 @@ nsresult nsXREDirProvider::GetFilesInter
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
LoadDirsIntoArray(mAppBundleDirectories, kAppendPrefDir, directories);
+ // Add /etc/<application>/pref/ directory if it exists
+ nsCOMPtr<nsIFile> systemPrefDir;
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR, getter_AddRefs(systemPrefDir));
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
+ getter_AddRefs(systemPrefDir));
+ if (NS_SUCCEEDED(rv)) {
+ rv = systemPrefDir->AppendNative(NS_LITERAL_CSTRING("pref"));
+ if (NS_SUCCEEDED(rv))
+ directories.AppendObject(systemPrefDir);
+ directories.AppendObject(systemPrefDir);
+ }
+
rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile));
}
else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) {
diff -up firefox-63.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-63.0/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-63.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2018-10-15 21:20:52.000000000 +0200
+++ firefox-63.0/xpcom/io/nsAppDirectoryServiceDefs.h 2018-10-18 13:37:55.994001285 +0200
@@ -59,6 +59,7 @@
#define NS_APP_PREFS_50_FILE "PrefF"
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
#define NS_APP_PREFS_OVERRIDE_DIR "PrefDOverride" // Directory for per-profile defaults
} else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) {
// NS_APP_CHROME_DIR_LIST is only used to get default (native) icons
diff -up firefox-65.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-65.0/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-65.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2019-01-24 19:48:56.000000000 +0100
+++ firefox-65.0/xpcom/io/nsAppDirectoryServiceDefs.h 2019-01-28 14:35:05.086756030 +0100
@@ -62,6 +62,7 @@
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
#define NS_APP_PREFS_OVERRIDE_DIR \
"PrefDOverride" // Directory for per-profile defaults
+#define NS_APP_PREFS_SYSTEM_CONFIG_DIR "PrefSysConf" // Directory with system-wide configuration
#define NS_APP_USER_PROFILE_50_DIR "ProfD"
#define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD"
#define NS_APP_USER_PROFILE_50_DIR "ProfD"
#define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD"

View File

@ -1,28 +1,13 @@
# HG changeset patch
# User Martin Stransky <stransky@redhat.com>
# Parent 4e3ad95d689a5beabf3c1f41d958794fe00e3767
Bug 1196777 - Ask GDK to receive focus events, r=?karlt
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -142,17 +142,18 @@ const gint kEvents = GDK_EXPOSURE_MASK |
GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
#if GTK_CHECK_VERSION(3,4,0)
GDK_SMOOTH_SCROLL_MASK |
GDK_TOUCH_MASK |
diff -up firefox-65.0/widget/gtk/nsWindow.cpp.1196777 firefox-65.0/widget/gtk/nsWindow.cpp
--- firefox-65.0/widget/gtk/nsWindow.cpp.1196777 2019-01-28 14:37:27.470163867 +0100
+++ firefox-65.0/widget/gtk/nsWindow.cpp 2019-01-28 14:41:52.479064393 +0100
@@ -156,7 +156,8 @@ const gint kEvents =
#if GTK_CHECK_VERSION(3, 4, 0)
GDK_SMOOTH_SCROLL_MASK | GDK_TOUCH_MASK |
#endif
GDK_SCROLL_MASK |
GDK_POINTER_MOTION_MASK |
- GDK_PROPERTY_CHANGE_MASK;
+ GDK_PROPERTY_CHANGE_MASK |
+ GDK_FOCUS_CHANGE_MASK;
- GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK;
+ GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK |
+ GDK_FOCUS_CHANGE_MASK;
/* utility functions */
static bool is_mouse_in_window(GdkWindow* aWindow,
gdouble aMouseX, gdouble aMouseY);
static nsWindow *get_window_for_gtk_widget(GtkWidget *widget);
static nsWindow *get_window_for_gdk_window(GdkWindow *window);
static GtkWidget *get_gtk_widget_for_gdk_window(GdkWindow *window);
static GdkCursor *get_gtk_cursor(nsCursor aCursor);
static bool is_mouse_in_window(GdkWindow *aWindow, gdouble aMouseX,

View File

@ -1,69 +0,0 @@
# HG changeset patch
# User Martin Stransky <stransky@redhat.com>
# Date 1523525760 -7200
# Node ID 6654f42bc0e615e3fd2328d23b4a2283cad9ad45
# Parent b4bc6b2401738b78fd47127a4c716bb9178e1a09
Bug 1447775 - Change persist mode immediately after sizemodechange change, r?jimm
Recently the window sizemode attribute is updated with 500ms delay (on Linux). It causes race condition
between reflow/CSS rule and window resize callbacks and also causes visual glitch when toolbar dragspace
is enabled.
TabsToolbar height is used at resize callback to do dragspace calculation. It has old values here
because it depends on 'window[sizemode="normal"] #TabsToolbar' css rule which is applied with 500ms delay.
So we use old TabsToolbar height for the dragspace, then the sizemode us updated by PersistenceTimer and
a new TabsToolbar height is calculated but the dragspace size stays as we're not notified
about the TabsToolbar height update.
MozReview-Commit-ID: AiensY5LMDO
diff --git a/xpfe/appshell/nsWebShellWindow.cpp b/xpfe/appshell/nsWebShellWindow.cpp
--- a/xpfe/appshell/nsWebShellWindow.cpp
+++ b/xpfe/appshell/nsWebShellWindow.cpp
@@ -350,20 +350,16 @@ nsWebShellWindow::SizeModeChanged(nsSize
if (sizeMode == nsSizeMode_Maximized || sizeMode == nsSizeMode_Fullscreen) {
uint32_t zLevel;
GetZLevel(&zLevel);
if (zLevel > nsIXULWindow::normalZ)
SetZLevel(nsIXULWindow::normalZ);
}
mWindow->SetSizeMode(sizeMode);
- // Persist mode, but not immediately, because in many (all?)
- // cases this will merge with the similar call in NS_SIZE and
- // write the attribute values only once.
- SetPersistenceTimer(PAD_MISC);
nsCOMPtr<nsPIDOMWindowOuter> ourWindow =
mDocShell ? mDocShell->GetWindow() : nullptr;
if (ourWindow) {
// Ensure that the fullscreen state is synchronized between
// the widget and the outer window object.
if (sizeMode == nsSizeMode_Fullscreen) {
ourWindow->SetFullScreen(true);
}
@@ -384,16 +380,22 @@ nsWebShellWindow::SizeModeChanged(nsSize
ourWindow->DispatchCustomEvent(NS_LITERAL_STRING("sizemodechange"));
}
nsIPresShell* presShell;
if ((presShell = GetPresShell())) {
presShell->GetPresContext()->SizeModeChanged(sizeMode);
}
+ // Persist mode immediately as the timer causes race condition
+ // between css rules dependent on window sizemode and
+ // sizemodechange/resize listener which calculates TabsToolbar height.
+ PersistentAttributesDirty(PAD_MISC);
+ SavePersistentAttributes();
+
// Note the current implementation of SetSizeMode just stores
// the new state; it doesn't actually resize. So here we store
// the state and pass the event on to the OS. The day is coming
// when we'll handle the event here, and the return result will
// then need to be different.
}
void

View File

@ -1,122 +0,0 @@
diff --git a/view/nsView.cpp b/view/nsView.cpp
--- a/view/nsView.cpp
+++ b/view/nsView.cpp
@@ -320,7 +320,6 @@
// Stash a copy of these and use them so we can handle this being deleted (say
// from sync painting/flushing from Show/Move/Resize on the widget).
LayoutDeviceIntRect newBounds;
- RefPtr<nsDeviceContext> dx = mViewManager->GetDeviceContext();
nsWindowType type = widget->WindowType();
@@ -360,7 +359,8 @@
// because of the potential for device-pixel coordinate spaces for mixed
// hidpi/lodpi screens to overlap each other and result in bad placement
// (bug 814434).
- DesktopToLayoutDeviceScale scale = dx->GetDesktopToDeviceScale();
+
+ DesktopToLayoutDeviceScale scale = widget->GetDesktopToDeviceScaleByScreen();
DesktopRect deskRect = newBounds / scale;
if (changedPos) {
diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
--- a/widget/gtk/nsWindow.h
+++ b/widget/gtk/nsWindow.h
@@ -125,6 +125,7 @@
virtual float GetDPI() override;
virtual double GetDefaultScaleInternal() override;
mozilla::DesktopToLayoutDeviceScale GetDesktopToDeviceScale() override;
+ mozilla::DesktopToLayoutDeviceScale GetDesktopToDeviceScaleByScreen() override;
virtual void SetParent(nsIWidget* aNewParent) override;
virtual void SetModal(bool aModal) override;
virtual bool IsVisible() const override;
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -57,6 +57,7 @@
#if defined(MOZ_WAYLAND)
#include <gdk/gdkwayland.h>
+#include "nsView.h"
#endif
#include "nsGkAtoms.h"
@@ -841,6 +842,37 @@
return DesktopToLayoutDeviceScale(1.0);
}
+DesktopToLayoutDeviceScale
+nsWindow::GetDesktopToDeviceScaleByScreen()
+{
+#ifdef MOZ_WAYLAND
+ GdkDisplay* gdkDisplay = gdk_display_get_default();
+ // In Wayland there's no way to get absolute position of the window and use it to
+ // determine the screen factor of the monitor on which the window is placed.
+ // The window is notified of the current scale factor but not at this point,
+ // so the GdkScaleFactor can return wrong value which can lead to wrong popup
+ // placement.
+ // We need to use parent's window scale factor for the new one.
+ if (GDK_IS_WAYLAND_DISPLAY(gdkDisplay)) {
+ nsView* view = nsView::GetViewFor(this);
+ if (view) {
+ nsView* parentView = view->GetParent();
+ if (parentView) {
+ nsIWidget* parentWidget = parentView->GetNearestWidget(nullptr);
+ if (parentWidget) {
+ return DesktopToLayoutDeviceScale(parentWidget->RoundsWidgetCoordinatesTo());
+ } else {
+ NS_WARNING("Widget has no parent");
+ }
+ }
+ } else {
+ NS_WARNING("Cannot find widget view");
+ }
+ }
+#endif
+ return nsBaseWidget::GetDesktopToDeviceScale();
+}
+
void
nsWindow::SetParent(nsIWidget *aNewParent)
{
diff --git a/widget/nsBaseWidget.h b/widget/nsBaseWidget.h
--- a/widget/nsBaseWidget.h
+++ b/widget/nsBaseWidget.h
@@ -24,6 +24,8 @@
#include "nsIWidgetListener.h"
#include "nsPIDOMWindow.h"
#include "nsWeakReference.h"
+#include "nsView.h"
+#include "nsViewManager.h"
#include <algorithm>
#if defined(XP_WIN)
@@ -238,6 +240,10 @@
mozilla::DesktopToLayoutDeviceScale GetDesktopToDeviceScale() override {
return mozilla::DesktopToLayoutDeviceScale(1.0);
}
+ mozilla::DesktopToLayoutDeviceScale GetDesktopToDeviceScaleByScreen() override {
+ return (nsView::GetViewFor(this)->GetViewManager()->GetDeviceContext())->GetDesktopToDeviceScale();
+ }
+
virtual void ConstrainPosition(bool aAllowSlop,
int32_t *aX,
int32_t *aY) override {}
diff --git a/widget/nsIWidget.h b/widget/nsIWidget.h
--- a/widget/nsIWidget.h
+++ b/widget/nsIWidget.h
@@ -578,6 +578,13 @@
virtual mozilla::DesktopToLayoutDeviceScale GetDesktopToDeviceScale() = 0;
/**
+ * Return the scaling factor between device pixels and the platform-
+ * dependent "desktop pixels" by looking up the screen by the position
+ * of the widget.
+ */
+ virtual mozilla::DesktopToLayoutDeviceScale GetDesktopToDeviceScaleByScreen() = 0;
+
+ /**
* Return the default scale factor for the window. This is the
* default number of device pixels per CSS pixel to use. This should
* depend on OS/platform settings such as the Mac's "UI scale factor"

View File

@ -1,21 +0,0 @@
# HG changeset patch
# User A. Wilcox <AWilcox@Wilcox-Tech.com>
# Date 1539547360 0
# Sun Oct 14 20:02:40 2018 +0000
# Node ID e2e56a6a68b281301932f4fbf30cea6f7499ec41
# Parent ddb031ea38070f454bdc89429c501ec1ff9c54d4
Bug 1494037 - Fix Cairo build bustage on PowerPC platforms.
diff -r ddb031ea3807 -r e2e56a6a68b2 gfx/cairo/libpixman/src/pixman-vmx.c
--- a/gfx/cairo/libpixman/src/pixman-vmx.c Sun Oct 14 20:00:46 2018 +0000
+++ b/gfx/cairo/libpixman/src/pixman-vmx.c Sun Oct 14 20:02:40 2018 +0000
@@ -25,7 +25,9 @@
* Based on fbmmx.c by Owen Taylor, Søren Sandmann and Nicholas Miell
*/
+#ifdef HAVE_CONFIG_H
#include <config.h>
+#endif
#include "pixman-private.h"
#include "pixman-combine32.h"
#include <altivec.h>

View File

@ -1,171 +0,0 @@
changeset: 444459:f76b5c265806
tag: tip
parent: 444456:d2963b5a2897
user: Martin Stransky <stransky@redhat.com>
date: Mon Nov 05 15:26:26 2018 +0100
summary: Bug 1504689 - [Wayland/Clipboard] Don't delete clipboard wl_data_offer after keyboard focus out, r=jhorak
diff --git a/widget/gtk/nsClipboardWayland.cpp b/widget/gtk/nsClipboardWayland.cpp
--- a/widget/gtk/nsClipboardWayland.cpp
+++ b/widget/gtk/nsClipboardWayland.cpp
@@ -520,25 +520,16 @@ nsRetrievalContextWayland::AddDragAndDro
nsWaylandDragContext*
nsRetrievalContextWayland::GetDragContext(void)
{
return mDragContext;
}
void
-nsRetrievalContextWayland::ClearClipboardDataOffers(void)
-{
- if (mClipboardOffer)
- mClipboardOffer = nullptr;
- if (mPrimaryOffer)
- mPrimaryOffer = nullptr;
-}
-
-void
nsRetrievalContextWayland::ClearDragAndDropDataOffer(void)
{
mDragContext = nullptr;
}
// We have a new fresh data content.
// We should attach listeners to it and save for further use.
static void
@@ -711,91 +702,16 @@ gtk_primary_selection_device_listener pr
};
bool
nsRetrievalContextWayland::HasSelectionSupport(void)
{
return mPrimarySelectionDataDeviceManager != nullptr;
}
-static void
-keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
- uint32_t format, int fd, uint32_t size)
-{
-}
-
-static void
-keyboard_handle_enter(void *data, struct wl_keyboard *keyboard,
- uint32_t serial, struct wl_surface *surface,
- struct wl_array *keys)
-{
-}
-
-static void
-keyboard_handle_leave(void *data, struct wl_keyboard *keyboard,
- uint32_t serial, struct wl_surface *surface)
-{
- // We lost focus so our clipboard data are outdated
- nsRetrievalContextWayland *context =
- static_cast<nsRetrievalContextWayland*>(data);
-
- context->ClearClipboardDataOffers();
-}
-
-static void
-keyboard_handle_key(void *data, struct wl_keyboard *keyboard,
- uint32_t serial, uint32_t time, uint32_t key,
- uint32_t state)
-{
-}
-
-static void
-keyboard_handle_modifiers(void *data, struct wl_keyboard *keyboard,
- uint32_t serial, uint32_t mods_depressed,
- uint32_t mods_latched, uint32_t mods_locked,
- uint32_t group)
-{
-}
-
-static const struct wl_keyboard_listener keyboard_listener = {
- keyboard_handle_keymap,
- keyboard_handle_enter,
- keyboard_handle_leave,
- keyboard_handle_key,
- keyboard_handle_modifiers,
-};
-
-void
-nsRetrievalContextWayland::ConfigureKeyboard(wl_seat_capability caps)
-{
- // ConfigureKeyboard() is called when wl_seat configuration is changed.
- // We look for the keyboard only, get it when is't available and release it
- // when it's lost (we don't have focus for instance).
- if (caps & WL_SEAT_CAPABILITY_KEYBOARD) {
- mKeyboard = wl_seat_get_keyboard(mSeat);
- wl_keyboard_add_listener(mKeyboard, &keyboard_listener, this);
- } else if (mKeyboard && !(caps & WL_SEAT_CAPABILITY_KEYBOARD)) {
- wl_keyboard_destroy(mKeyboard);
- mKeyboard = nullptr;
- }
-}
-
-static void
-seat_handle_capabilities(void *data, struct wl_seat *seat,
- unsigned int caps)
-{
- nsRetrievalContextWayland *context =
- static_cast<nsRetrievalContextWayland*>(data);
- context->ConfigureKeyboard((wl_seat_capability)caps);
-}
-
-static const struct wl_seat_listener seat_listener = {
- seat_handle_capabilities,
-};
-
void
nsRetrievalContextWayland::InitDataDeviceManager(wl_registry *registry,
uint32_t id,
uint32_t version)
{
int data_device_manager_version = MIN (version, 3);
mDataDeviceManager = (wl_data_device_manager *)wl_registry_bind(registry, id,
&wl_data_device_manager_interface, data_device_manager_version);
@@ -811,17 +727,16 @@ nsRetrievalContextWayland::InitPrimarySe
}
void
nsRetrievalContextWayland::InitSeat(wl_registry *registry,
uint32_t id, uint32_t version,
void *data)
{
mSeat = (wl_seat*)wl_registry_bind(registry, id, &wl_seat_interface, 1);
- wl_seat_add_listener(mSeat, &seat_listener, data);
}
static void
gdk_registry_handle_global(void *data,
struct wl_registry *registry,
uint32_t id,
const char *interface,
uint32_t version)
diff --git a/widget/gtk/nsClipboardWayland.h b/widget/gtk/nsClipboardWayland.h
--- a/widget/gtk/nsClipboardWayland.h
+++ b/widget/gtk/nsClipboardWayland.h
@@ -120,20 +120,18 @@ public:
void RegisterNewDataOffer(wl_data_offer *aWaylandDataOffer);
void RegisterNewDataOffer(gtk_primary_selection_offer *aPrimaryDataOffer);
void SetClipboardDataOffer(wl_data_offer *aWaylandDataOffer);
void SetPrimaryDataOffer(gtk_primary_selection_offer *aPrimaryDataOffer);
void AddDragAndDropDataOffer(wl_data_offer *aWaylandDataOffer);
nsWaylandDragContext* GetDragContext();
- void ClearClipboardDataOffers();
void ClearDragAndDropDataOffer();
- void ConfigureKeyboard(wl_seat_capability caps);
void TransferFastTrackClipboard(int aClipboardRequestNumber,
GtkSelectionData *aSelectionData);
void InitDataDeviceManager(wl_registry *registry, uint32_t id, uint32_t version);
void InitPrimarySelectionDataDeviceManager(wl_registry *registry, uint32_t id);
void InitSeat(wl_registry *registry, uint32_t id, uint32_t version, void *data);
virtual ~nsRetrievalContextWayland() override;

View File

@ -1,12 +0,0 @@
diff -up firefox-64.0/widget/gtk/nsGtkKeyUtils.cpp.old firefox-64.0/widget/gtk/nsGtkKeyUtils.cpp
--- firefox-64.0/widget/gtk/nsGtkKeyUtils.cpp.old 2018-12-05 13:17:51.147655931 +0100
+++ firefox-64.0/widget/gtk/nsGtkKeyUtils.cpp 2018-12-05 13:18:57.989282016 +0100
@@ -590,7 +590,7 @@ seat_handle_capabilities(void *data, str
{
static wl_keyboard *keyboard = nullptr;
- if (caps & WL_SEAT_CAPABILITY_KEYBOARD) {
+ if ((caps & WL_SEAT_CAPABILITY_KEYBOARD) && !keyboard) {
keyboard = wl_seat_get_keyboard(seat);
wl_keyboard_add_listener(keyboard, &keyboard_listener, nullptr);
} else if (keyboard && !(caps & WL_SEAT_CAPABILITY_KEYBOARD)) {

View File

@ -1,7 +1,7 @@
diff -up firefox-64.0/build/moz.configure/toolchain.configure.1516081 firefox-64.0/build/moz.configure/toolchain.configure
--- firefox-64.0/build/moz.configure/toolchain.configure.1516081 2018-12-07 03:56:20.000000000 +0100
+++ firefox-64.0/build/moz.configure/toolchain.configure 2019-01-03 15:30:08.207368056 +0100
@@ -1304,7 +1304,7 @@ def pgo_flags(compiler, build_env, targe
diff -up firefox-65.0/build/moz.configure/toolchain.configure.1516081 firefox-65.0/build/moz.configure/toolchain.configure
--- firefox-65.0/build/moz.configure/toolchain.configure.1516081 2019-01-24 19:48:38.000000000 +0100
+++ firefox-65.0/build/moz.configure/toolchain.configure 2019-01-28 14:09:00.813320242 +0100
@@ -1364,7 +1364,7 @@ def pgo_flags(compiler, build_env, targe
if compiler.type == 'gcc':
return namespace(
@ -10,7 +10,7 @@ diff -up firefox-64.0/build/moz.configure/toolchain.configure.1516081 firefox-64
gen_ldflags=['-fprofile-generate'],
use_cflags=['-fprofile-use', '-fprofile-correction',
'-Wcoverage-mismatch'],
@@ -1325,7 +1325,8 @@ def pgo_flags(compiler, build_env, targe
@@ -1385,7 +1385,8 @@ def pgo_flags(compiler, build_env, targe
if gen_ldflags:
return namespace(
@ -20,13 +20,13 @@ diff -up firefox-64.0/build/moz.configure/toolchain.configure.1516081 firefox-64
gen_ldflags=gen_ldflags,
use_cflags=['-fprofile-instr-use=%s' % profdata,
'-Wno-error=profile-instr-out-of-date',
diff -up firefox-64.0/toolkit/components/terminator/nsTerminator.cpp.1516081 firefox-64.0/toolkit/components/terminator/nsTerminator.cpp
--- firefox-64.0/toolkit/components/terminator/nsTerminator.cpp.1516081 2019-01-03 15:30:08.207368056 +0100
+++ firefox-64.0/toolkit/components/terminator/nsTerminator.cpp 2019-01-03 15:31:33.445034029 +0100
@@ -441,6 +441,12 @@ nsTerminator::StartWatchdog()
diff -up firefox-65.0/toolkit/components/terminator/nsTerminator.cpp.1516081 firefox-65.0/toolkit/components/terminator/nsTerminator.cpp
--- firefox-65.0/toolkit/components/terminator/nsTerminator.cpp.1516081 2019-01-28 14:09:00.813320242 +0100
+++ firefox-65.0/toolkit/components/terminator/nsTerminator.cpp 2019-01-28 14:11:56.745577302 +0100
@@ -419,6 +419,12 @@ void nsTerminator::StartWatchdog() {
}
}
# endif
#endif
+ // Disable watchdog for PGO train builds - writting profile information at
+ // exit may take time and it is better to make build hang rather than
+ // silently produce poorly performing binary.

View File

@ -1,5 +1,6 @@
--- a/layout/generic/nsIFrame.h.old 2016-07-11 13:41:39.688276559 +0200
+++ b/layout/generic/nsIFrame.h 2016-07-11 13:42:12.791406976 +0200
diff -up firefox-65.0/layout/generic/nsIFrame.h.256180 firefox-65.0/layout/generic/nsIFrame.h
--- firefox-65.0/layout/generic/nsIFrame.h.256180 2019-01-28 14:42:58.245798815 +0100
+++ firefox-65.0/layout/generic/nsIFrame.h 2019-01-28 14:44:24.844449119 +0100
@@ -13,7 +13,7 @@
#error This header/class should only be used within Mozilla code. It should not be used by extensions.
#endif
@ -7,5 +8,5 @@
-#define MAX_REFLOW_DEPTH 200
+#define MAX_REFLOW_DEPTH 1000
/* nsIFrame is in the process of being deCOMtaminated, i.e., this file is eventually
going to be eliminated, and all callers will use nsFrame instead. At the moment
/* nsIFrame is in the process of being deCOMtaminated, i.e., this file is
eventually going to be eliminated, and all callers will use nsFrame instead.

View File

@ -1,12 +1,12 @@
diff -up firefox-31.3.0/mozilla-esr31/extensions/auth/nsAuthSambaNTLM.cpp.old firefox-31.3.0/mozilla-esr31/extensions/auth/nsAuthSambaNTLM.cpp
--- firefox-31.3.0/mozilla-esr31/extensions/auth/nsAuthSambaNTLM.cpp.old 2014-11-25 12:23:22.000000000 +0100
+++ firefox-31.3.0/mozilla-esr31/extensions/auth/nsAuthSambaNTLM.cpp 2014-12-23 15:26:36.606674625 +0100
@@ -174,7 +174,7 @@ nsAuthSambaNTLM::SpawnNTLMAuthHelper()
return NS_ERROR_FAILURE;
diff -up firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp
--- firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 2019-01-22 10:36:09.284069020 +0100
+++ firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp 2019-01-22 10:37:12.669757744 +0100
@@ -161,7 +161,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH
const char* username = PR_GetEnv("USER");
if (!username) return NS_ERROR_FAILURE;
const char* const args[] = {
- "ntlm_auth",
+ "/usr/bin/ntlm_auth",
"--helper-protocol", "ntlmssp-client-1",
"--use-cached-creds",
"--username", username,
- const char* const args[] = {"ntlm_auth",
+ const char* const args[] = {"/usr/bin/ntlm_auth",
"--helper-protocol",
"ntlmssp-client-1",
"--use-cached-creds",

View File

@ -1,3 +1,3 @@
SHA512 (firefox-64.0.2.source.tar.xz) = ad1e299fb0e1cc35ef7414d6ffc50edb14c365fce7e9383ea82f77c9f38f408024e2941952ead5b39725a7078a43493617924626cac723a0518e4504a2afbfbb
SHA512 (firefox-langpacks-64.0.2-20190110.tar.xz) = ecaec414bb5aefac2539642104552a3f2af58ab44d197591e070f56bd1aea61a5294ef60c83c00c0bb918ba0f7dc01a27b415d3437c73a119fd125f46863d539
SHA512 (cbindgen-vendor.tar.xz) = 6d1a6ef48e77920bccd51af27c836d66aed49a571a0f5298df9cc87724467a5542e382485aa6c5ed2b516277086ffe4d5360b9eb4c0ab62ef6e3e027fc736ead
SHA512 (firefox-65.0.source.tar.xz) = 10ab04612c55f020fd4fe9ba7184f77e27bb62e7204ebd4e2e8e4af9fbb97b5594dd057b3c9c1fd960a48cedfd09c11939210dba873cc66ee651dc83dc9cbed2
SHA512 (firefox-langpacks-65.0-20190128.tar.xz) = c73dc5b36ef9dc684cf31b4cf6d23dedaa2d0992b39c256af9ea09e4d97a1b3d544a22bf108737f1c1cf82a17c9a7de6ff2f28c238eefa7eee15bef70571fd7f