Updated to 67.0
This commit is contained in:
parent
72535be696
commit
bbb92a8572
2
.gitignore
vendored
2
.gitignore
vendored
@ -342,3 +342,5 @@ firefox-3.6.4.source.tar.bz2
|
||||
/firefox-66.0.4.source.tar.xz
|
||||
/firefox-66.0.5.source.tar.xz
|
||||
/firefox-langpacks-66.0.5-20190508.tar.xz
|
||||
/firefox-67.0.source.tar.xz
|
||||
/firefox-langpacks-67.0-20190515.tar.xz
|
||||
|
15
firefox.spec
15
firefox.spec
@ -98,13 +98,13 @@ ExcludeArch: s390x
|
||||
|
||||
Summary: Mozilla Firefox Web browser
|
||||
Name: firefox
|
||||
Version: 66.0.5
|
||||
Version: 67.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}-20190508.tar.xz
|
||||
Source1: firefox-langpacks-%{version}%{?pre_version}-20190515.tar.xz
|
||||
%endif
|
||||
Source2: cbindgen-vendor.tar.xz
|
||||
Source10: firefox-mozconfig
|
||||
@ -134,10 +134,7 @@ Patch37: build-jit-atomic-always-lucky.patch
|
||||
Patch38: build-cacheFlush-missing.patch
|
||||
Patch40: build-aarch64-skia.patch
|
||||
Patch41: build-disable-elfhack.patch
|
||||
Patch42: mozilla-1515641-av1-build-1.patch
|
||||
Patch43: mozilla-1515641-av1-build-2.patch
|
||||
Patch44: build-arm-libopus.patch
|
||||
Patch45: mozilla-1533969.patch
|
||||
|
||||
# Fedora specific patches
|
||||
Patch215: firefox-enable-addons.patch
|
||||
@ -162,7 +159,6 @@ Patch574: firefox-pipewire.patch
|
||||
Patch575: mozilla-1423598-popup.patch
|
||||
Patch576: mozilla-1532643-popup.patch
|
||||
Patch577: mozilla-1535567.patch
|
||||
Patch578: mozilla-1431399.patch
|
||||
Patch579: mozilla-1468911.patch
|
||||
Patch580: mozilla-1539471.patch
|
||||
Patch581: mozilla-1517205.patch
|
||||
@ -345,10 +341,7 @@ This package contains results of tests executed during build.
|
||||
%patch41 -p1 -b .disable-elfhack
|
||||
%endif
|
||||
%patch3 -p1 -b .arm
|
||||
%patch42 -p1 -b .mozilla-1515641
|
||||
%patch43 -p1 -b .mozilla-1515641
|
||||
%patch44 -p1 -b .build-arm-libopus
|
||||
%patch45 -p1 -b .mozilla-1533969
|
||||
|
||||
# Fedora patches
|
||||
%patch215 -p1 -b .addons
|
||||
@ -380,7 +373,6 @@ This package contains results of tests executed during build.
|
||||
%patch575 -p1 -b .mozilla-1423598-popup
|
||||
%patch576 -p1 -b .mozilla-1532643-popup
|
||||
%patch577 -p1 -b .mozilla-1535567
|
||||
%patch578 -p1 -b .mozilla-1431399
|
||||
%patch579 -p1 -b .mozilla-1468911
|
||||
%patch580 -p1 -b .mozilla-1539471
|
||||
%patch581 -p1 -b .mozilla-1517205
|
||||
@ -938,6 +930,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
%changelog
|
||||
* Wed May 15 2019 Martin Stransky <stransky@redhat.com> - 67.0-1
|
||||
- Updated to 67.0
|
||||
|
||||
* Wed May 8 2019 Martin Stransky <stransky@redhat.com> - 66.0.5-1
|
||||
- Updated to 66.0.5
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -up firefox-66.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-66.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
|
||||
--- firefox-66.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2019-03-12 01:22:16.000000000 +0100
|
||||
+++ firefox-66.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2019-03-12 11:58:36.025238819 +0100
|
||||
@@ -244,8 +244,20 @@ nsresult nsReadConfig::openAndEvaluateJS
|
||||
diff -up firefox-67.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-67.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
|
||||
--- firefox-67.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2019-05-14 01:08:09.000000000 +0200
|
||||
+++ firefox-67.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2019-05-15 15:10:23.860653275 +0200
|
||||
@@ -246,8 +246,20 @@ nsresult nsReadConfig::openAndEvaluateJS
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
||||
@ -23,22 +23,23 @@ diff -up firefox-66.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 fi
|
||||
} else {
|
||||
nsAutoCString location("resource://gre/defaults/autoconfig/");
|
||||
location += aFileName;
|
||||
diff -up firefox-66.0/modules/libpref/Preferences.cpp.1170092 firefox-66.0/modules/libpref/Preferences.cpp
|
||||
--- firefox-66.0/modules/libpref/Preferences.cpp.1170092 2019-03-12 01:22:21.000000000 +0100
|
||||
+++ firefox-66.0/modules/libpref/Preferences.cpp 2019-03-12 11:58:36.026238817 +0100
|
||||
@@ -4407,6 +4407,8 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
|
||||
diff -up firefox-67.0/modules/libpref/Preferences.cpp.1170092 firefox-67.0/modules/libpref/Preferences.cpp
|
||||
--- firefox-67.0/modules/libpref/Preferences.cpp.1170092 2019-05-15 15:10:23.860653275 +0200
|
||||
+++ firefox-67.0/modules/libpref/Preferences.cpp 2019-05-15 15:11:58.160110320 +0200
|
||||
@@ -4417,6 +4417,9 @@ 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`.
|
||||
+ //
|
||||
+ // At very end load configuration from system config location:
|
||||
+ // - /etc/firefox/pref/*.js
|
||||
|
||||
nsresult rv;
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
nsZipFind* findPtr;
|
||||
diff -up firefox-66.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-66.0/toolkit/xre/nsXREDirProvider.cpp
|
||||
--- firefox-66.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2019-03-12 01:22:26.000000000 +0100
|
||||
+++ firefox-66.0/toolkit/xre/nsXREDirProvider.cpp 2019-03-12 12:05:32.008280260 +0100
|
||||
@@ -57,6 +57,7 @@
|
||||
diff -up firefox-67.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-67.0/toolkit/xre/nsXREDirProvider.cpp
|
||||
--- firefox-67.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2019-05-14 01:08:35.000000000 +0200
|
||||
+++ firefox-67.0/toolkit/xre/nsXREDirProvider.cpp 2019-05-15 15:10:23.861653269 +0200
|
||||
@@ -60,6 +60,7 @@
|
||||
#endif
|
||||
#ifdef XP_UNIX
|
||||
# include <ctype.h>
|
||||
@ -46,7 +47,7 @@ diff -up firefox-66.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-66.0/tool
|
||||
#endif
|
||||
#ifdef XP_IOS
|
||||
# include "UIKitDirProvider.h"
|
||||
@@ -521,6 +522,21 @@ nsXREDirProvider::GetFile(const char* aP
|
||||
@@ -524,6 +525,21 @@ nsXREDirProvider::GetFile(const char* aP
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -68,7 +69,7 @@ diff -up firefox-66.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-66.0/tool
|
||||
if (NS_FAILED(rv) || !file) return NS_ERROR_FAILURE;
|
||||
|
||||
if (ensureFilePermissions) {
|
||||
@@ -877,6 +893,16 @@ nsresult nsXREDirProvider::GetFilesInter
|
||||
@@ -880,6 +896,16 @@ nsresult nsXREDirProvider::GetFilesInter
|
||||
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
|
||||
LoadDirsIntoArray(mAppBundleDirectories, kAppendPrefDir, directories);
|
||||
|
||||
@ -85,9 +86,9 @@ diff -up firefox-66.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-66.0/tool
|
||||
rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile));
|
||||
} 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-66.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-66.0/xpcom/io/nsAppDirectoryServiceDefs.h
|
||||
--- firefox-66.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2019-03-12 01:22:26.000000000 +0100
|
||||
+++ firefox-66.0/xpcom/io/nsAppDirectoryServiceDefs.h 2019-03-12 11:58:36.027238815 +0100
|
||||
diff -up firefox-67.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-67.0/xpcom/io/nsAppDirectoryServiceDefs.h
|
||||
--- firefox-67.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2019-05-14 01:08:28.000000000 +0200
|
||||
+++ firefox-67.0/xpcom/io/nsAppDirectoryServiceDefs.h 2019-05-15 15:10:24.044652216 +0200
|
||||
@@ -62,6 +62,7 @@
|
||||
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
|
||||
#define NS_APP_PREFS_OVERRIDE_DIR \
|
||||
|
@ -1,21 +1,7 @@
|
||||
diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
|
||||
--- a/widget/gtk/nsWindow.h
|
||||
+++ b/widget/gtk/nsWindow.h
|
||||
@@ -457,6 +457,10 @@
|
||||
nsWindow* GetTransientForWindowIfPopup();
|
||||
bool IsHandlingTouchSequence(GdkEventSequence* aSequence);
|
||||
|
||||
+ void NativeMoveResizeWaylandPopup(GdkPoint* aPosition, GdkRectangle* aSize);
|
||||
+
|
||||
+ GtkTextDirection GetTextDirection();
|
||||
+
|
||||
#ifdef MOZ_X11
|
||||
typedef enum {GTK_WIDGET_COMPOSIDED_DEFAULT = 0,
|
||||
GTK_WIDGET_COMPOSIDED_DISABLED = 1,
|
||||
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||
--- a/widget/gtk/nsWindow.cpp
|
||||
+++ b/widget/gtk/nsWindow.cpp
|
||||
@@ -1109,13 +1109,89 @@
|
||||
diff -up firefox-67.0/widget/gtk/nsWindow.cpp.mozilla-1423598-popup firefox-67.0/widget/gtk/nsWindow.cpp
|
||||
--- firefox-67.0/widget/gtk/nsWindow.cpp.mozilla-1423598-popup 2019-05-15 15:21:25.590222702 +0200
|
||||
+++ firefox-67.0/widget/gtk/nsWindow.cpp 2019-05-15 15:24:26.925439991 +0200
|
||||
@@ -1115,13 +1115,89 @@ void nsWindow::Move(double aX, double aY
|
||||
NotifyRollupGeometryChange();
|
||||
}
|
||||
|
||||
@ -110,7 +96,7 @@ diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3397,11 +3473,6 @@
|
||||
@@ -3412,11 +3488,6 @@ nsresult nsWindow::Create(nsIWidget *aPa
|
||||
GDK_WINDOW_TYPE_HINT_DIALOG);
|
||||
gtk_window_set_transient_for(GTK_WINDOW(mShell), topLevelParent);
|
||||
} else if (mWindowType == eWindowType_popup) {
|
||||
@ -122,7 +108,7 @@ diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||
gtk_window_set_wmclass(GTK_WINDOW(mShell), "Popup",
|
||||
gdk_get_program_class());
|
||||
|
||||
@@ -3456,6 +3527,14 @@
|
||||
@@ -3475,6 +3546,14 @@ nsresult nsWindow::Create(nsIWidget *aPa
|
||||
if (topLevelParent) {
|
||||
gtk_window_set_transient_for(GTK_WINDOW(mShell), topLevelParent);
|
||||
}
|
||||
@ -137,7 +123,7 @@ diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||
} else { // must be eWindowType_toplevel
|
||||
SetDefaultIcon();
|
||||
gtk_window_set_wmclass(GTK_WINDOW(mShell), "Toplevel",
|
||||
@@ -3895,23 +3974,27 @@
|
||||
@@ -3918,23 +3997,27 @@ void nsWindow::NativeMoveResize() {
|
||||
LOG(("nsWindow::NativeMoveResize [%p] %d %d %d %d\n", (void *)this, topLeft.x,
|
||||
topLeft.y, size.width, size.height));
|
||||
|
||||
@ -182,8 +168,8 @@ diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||
}
|
||||
|
||||
#ifdef MOZ_X11
|
||||
@@ -6791,3 +6874,18 @@
|
||||
nsChangeHint_RepaintFrame);
|
||||
@@ -6818,3 +6901,18 @@ void nsWindow::ForceTitlebarRedraw(void)
|
||||
RestyleHint{0}, nsChangeHint_RepaintFrame);
|
||||
}
|
||||
}
|
||||
+
|
||||
@ -201,4 +187,17 @@ diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||
+ bool isFrameRTL = !(wm.IsVertical() ? wm.IsVerticalLR() : wm.IsBidiLTR());
|
||||
+ return isFrameRTL ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR;
|
||||
+}
|
||||
diff -up firefox-67.0/widget/gtk/nsWindow.h.mozilla-1423598-popup firefox-67.0/widget/gtk/nsWindow.h
|
||||
--- firefox-67.0/widget/gtk/nsWindow.h.mozilla-1423598-popup 2019-05-14 01:08:37.000000000 +0200
|
||||
+++ firefox-67.0/widget/gtk/nsWindow.h 2019-05-15 15:21:25.890221541 +0200
|
||||
@@ -460,6 +460,10 @@ class nsWindow final : public nsBaseWidg
|
||||
nsWindow* GetTransientForWindowIfPopup();
|
||||
bool IsHandlingTouchSequence(GdkEventSequence* aSequence);
|
||||
|
||||
+ void NativeMoveResizeWaylandPopup(GdkPoint* aPosition, GdkRectangle* aSize);
|
||||
+
|
||||
+ GtkTextDirection GetTextDirection();
|
||||
+
|
||||
#ifdef MOZ_X11
|
||||
typedef enum {GTK_WIDGET_COMPOSIDED_DEFAULT = 0,
|
||||
GTK_WIDGET_COMPOSIDED_DISABLED = 1,
|
||||
|
@ -1,17 +0,0 @@
|
||||
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||
--- a/widget/gtk/nsWindow.cpp
|
||||
+++ b/widget/gtk/nsWindow.cpp
|
||||
@@ -3242,6 +3242,12 @@
|
||||
mBounds = aRect;
|
||||
ConstrainSize(&mBounds.width, &mBounds.height);
|
||||
|
||||
+ // eWindowType_child is not supported on Wayland. Just switch to toplevel
|
||||
+ // as a workaround.
|
||||
+ if (!mIsX11Display && mWindowType == eWindowType_child) {
|
||||
+ mWindowType = eWindowType_toplevel;
|
||||
+ }
|
||||
+
|
||||
// figure out our parent window
|
||||
GtkWidget *parentMozContainer = nullptr;
|
||||
GtkContainer *parentGtkContainer = nullptr;
|
||||
|
@ -1,43 +0,0 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Mike Hommey <mh+mozilla@glandium.org>
|
||||
# Date 1549401545 0
|
||||
# Node ID 9820df609ddf5ecda41c78d2535eca1aa33e8234
|
||||
# Parent bdd5fb080b54e421753d6ab7587c91d8522c6690
|
||||
Bug 1515641 - Turn --enable-av1 around. r=nalexander
|
||||
|
||||
AV1 is actually enabled everywhere by default (except 32-bits Windows
|
||||
when building with MSVC), so let's make the option --disable-av1 rather
|
||||
than --enable-av1. Also, since AV1 is backed by both libaom and
|
||||
libdav1d, remove mentions to libaom.
|
||||
|
||||
Differential Revision: https://phabricator.services.mozilla.com/D18294
|
||||
|
||||
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
|
||||
--- a/toolkit/moz.configure
|
||||
+++ b/toolkit/moz.configure
|
||||
@@ -415,20 +415,20 @@ def ffmpeg(value, target):
|
||||
enabled = target.os not in ('Android', 'WINNT')
|
||||
if enabled:
|
||||
return True
|
||||
|
||||
set_config('MOZ_FFMPEG', ffmpeg)
|
||||
set_define('MOZ_FFMPEG', ffmpeg)
|
||||
imply_option('--enable-fmp4', ffmpeg, '--enable-ffmpeg')
|
||||
|
||||
-# Libaom AV1 Video Codec Support
|
||||
+# AV1 Video Codec Support
|
||||
# ==============================================================
|
||||
-option('--enable-av1',
|
||||
- help='Enable libaom for av1 video support')
|
||||
+option('--disable-av1',
|
||||
+ help='Disable av1 video support')
|
||||
|
||||
@depends('--enable-av1', target, c_compiler)
|
||||
def av1(value, target, c_compiler):
|
||||
enabled = bool(value)
|
||||
if value.origin == 'default':
|
||||
if target.os == 'WINNT' and target.cpu == 'x86' and \
|
||||
c_compiler and c_compiler.type == 'msvc':
|
||||
enabled = False
|
||||
|
@ -1,32 +0,0 @@
|
||||
diff -up firefox-66.0/media/libdav1d/moz.build.mozilla-1515641 firefox-66.0/media/libdav1d/moz.build
|
||||
--- firefox-66.0/media/libdav1d/moz.build.mozilla-1515641 2019-03-12 14:51:09.102398904 +0100
|
||||
+++ firefox-66.0/media/libdav1d/moz.build 2019-03-12 14:52:12.601193367 +0100
|
||||
@@ -25,7 +25,7 @@ SOURCES += [
|
||||
]
|
||||
|
||||
# Enable ASM build only on Linux for now.
|
||||
-if CONFIG['OS_TARGET'] == 'Linux' and (CONFIG['CPU_ARCH'] in ('x86', 'x86_64')):
|
||||
+if CONFIG['MOZ_DAV1D_ASM']:
|
||||
# Default stack aligment is 16 bytes
|
||||
DIRS += ['asm']
|
||||
|
||||
diff -up firefox-66.0/toolkit/moz.configure.mozilla-1515641 firefox-66.0/toolkit/moz.configure
|
||||
--- firefox-66.0/toolkit/moz.configure.mozilla-1515641 2019-03-12 14:51:09.101398907 +0100
|
||||
+++ firefox-66.0/toolkit/moz.configure 2019-03-12 14:51:09.103398901 +0100
|
||||
@@ -437,6 +437,16 @@ def av1(value, target, c_compiler):
|
||||
if enabled:
|
||||
return True
|
||||
|
||||
+@depends(target, nasm_version, when=av1 & compile_environment)
|
||||
+def dav1d_asm(target, nasm_version):
|
||||
+ if target.os == 'GNU' and target.kernel == 'Linux' and target.cpu in ('x86', 'x86_64'):
|
||||
+ if nasm_version < '2.13':
|
||||
+ die('nasm 2.13 or greater is required for AV1 support. '
|
||||
+ 'Either install nasm or add --disable-av1 to your configure options.')
|
||||
+ return True
|
||||
+
|
||||
+
|
||||
+set_config('MOZ_DAV1D_ASM', dav1d_asm)
|
||||
set_config('MOZ_AV1', av1)
|
||||
set_define('MOZ_AV1', av1)
|
||||
|
@ -1,17 +1,19 @@
|
||||
diff -up firefox-66.0.3/widget/gtk/mozcontainer.cpp.mozilla-1517205 firefox-66.0.3/widget/gtk/mozcontainer.cpp
|
||||
--- firefox-66.0.3/widget/gtk/mozcontainer.cpp.mozilla-1517205 2019-04-11 13:12:24.583232286 +0200
|
||||
+++ firefox-66.0.3/widget/gtk/mozcontainer.cpp 2019-04-11 13:20:06.900192082 +0200
|
||||
@@ -609,7 +609,6 @@ struct wl_surface *moz_container_get_wl_
|
||||
diff -up firefox-67.0/widget/gtk/mozcontainer.cpp.mozilla-1517205 firefox-67.0/widget/gtk/mozcontainer.cpp
|
||||
--- firefox-67.0/widget/gtk/mozcontainer.cpp.mozilla-1517205 2019-05-15 16:00:23.366366060 +0200
|
||||
+++ firefox-67.0/widget/gtk/mozcontainer.cpp 2019-05-15 16:02:01.596967825 +0200
|
||||
@@ -567,8 +567,7 @@ struct wl_surface *moz_container_get_wl_
|
||||
moz_container_get_scale(container));
|
||||
|
||||
wl_surface_commit(container->surface);
|
||||
wl_display_flush(waylandDisplay->GetDisplay());
|
||||
- wl_display_flush(waylandDisplay->GetDisplay());
|
||||
- WaylandDisplayRelease(waylandDisplay);
|
||||
+ wl_display_flush(waylandDisplay->GetDisplay());
|
||||
}
|
||||
|
||||
LOG(("moz_container_get_wl_surface() [%p] created surface %p\n",
|
||||
diff -up firefox-66.0.3/widget/gtk/nsClipboardWayland.cpp.mozilla-1517205 firefox-66.0.3/widget/gtk/nsClipboardWayland.cpp
|
||||
--- firefox-66.0.3/widget/gtk/nsClipboardWayland.cpp.mozilla-1517205 2019-04-09 22:00:47.000000000 +0200
|
||||
+++ firefox-66.0.3/widget/gtk/nsClipboardWayland.cpp 2019-04-11 13:12:24.583232286 +0200
|
||||
return container->surface;
|
||||
diff -up firefox-67.0/widget/gtk/nsClipboardWayland.cpp.mozilla-1517205 firefox-67.0/widget/gtk/nsClipboardWayland.cpp
|
||||
--- firefox-67.0/widget/gtk/nsClipboardWayland.cpp.mozilla-1517205 2019-05-14 01:08:37.000000000 +0200
|
||||
+++ firefox-67.0/widget/gtk/nsClipboardWayland.cpp 2019-05-15 16:00:23.367366056 +0200
|
||||
@@ -639,7 +639,6 @@ static gboolean offer_hash_remove(gpoint
|
||||
nsRetrievalContextWayland::~nsRetrievalContextWayland(void) {
|
||||
g_hash_table_foreach_remove(mActiveOffers, offer_hash_remove, nullptr);
|
||||
@ -20,10 +22,10 @@ diff -up firefox-66.0.3/widget/gtk/nsClipboardWayland.cpp.mozilla-1517205 firefo
|
||||
}
|
||||
|
||||
GdkAtom *nsRetrievalContextWayland::GetTargets(int32_t aWhichClipboard,
|
||||
diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp
|
||||
--- firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 2019-04-09 22:01:14.000000000 +0200
|
||||
+++ firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp 2019-04-11 13:20:26.169157682 +0200
|
||||
@@ -19,6 +19,13 @@ namespace widget {
|
||||
diff -up firefox-67.0/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-67.0/widget/gtk/nsWaylandDisplay.cpp
|
||||
--- firefox-67.0/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 2019-05-14 01:08:37.000000000 +0200
|
||||
+++ firefox-67.0/widget/gtk/nsWaylandDisplay.cpp 2019-05-15 16:00:23.368366052 +0200
|
||||
@@ -21,6 +21,13 @@ namespace widget {
|
||||
static nsWaylandDisplay *gWaylandDisplays[MAX_DISPLAY_CONNECTIONS];
|
||||
static StaticMutex gWaylandDisplaysMutex;
|
||||
|
||||
@ -37,7 +39,7 @@ diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-
|
||||
// Each thread which is using wayland connection (wl_display) has to operate
|
||||
// its own wl_event_queue. Main Firefox thread wl_event_queue is handled
|
||||
// by Gtk main loop, other threads/wl_event_queue has to be handled by us.
|
||||
@@ -33,7 +40,6 @@ static nsWaylandDisplay *WaylandDisplayG
|
||||
@@ -35,7 +42,6 @@ static nsWaylandDisplay *WaylandDisplayG
|
||||
const StaticMutexAutoLock &) {
|
||||
for (auto &display : gWaylandDisplays) {
|
||||
if (display && display->Matches(aDisplay)) {
|
||||
@ -45,7 +47,7 @@ diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-
|
||||
return display;
|
||||
}
|
||||
}
|
||||
@@ -41,7 +47,7 @@ static nsWaylandDisplay *WaylandDisplayG
|
||||
@@ -43,7 +49,7 @@ static nsWaylandDisplay *WaylandDisplayG
|
||||
for (auto &display : gWaylandDisplays) {
|
||||
if (display == nullptr) {
|
||||
display = new nsWaylandDisplay(aDisplay);
|
||||
@ -54,7 +56,7 @@ diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-
|
||||
return display;
|
||||
}
|
||||
}
|
||||
@@ -65,26 +71,6 @@ nsWaylandDisplay *WaylandDisplayGet(GdkD
|
||||
@@ -67,26 +73,6 @@ nsWaylandDisplay *WaylandDisplayGet(GdkD
|
||||
return WaylandDisplayGetLocked(display, lock);
|
||||
}
|
||||
|
||||
@ -81,7 +83,7 @@ diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-
|
||||
static void WaylandDisplayLoopLocked(wl_display *aDisplay,
|
||||
const StaticMutexAutoLock &) {
|
||||
for (auto &display : gWaylandDisplays) {
|
||||
@@ -128,6 +114,8 @@ static void global_registry_handler(void
|
||||
@@ -130,6 +116,8 @@ static void global_registry_handler(void
|
||||
uint32_t id, const char *interface,
|
||||
uint32_t version) {
|
||||
auto display = reinterpret_cast<nsWaylandDisplay *>(data);
|
||||
@ -90,7 +92,7 @@ diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-
|
||||
|
||||
if (strcmp(interface, "wl_shm") == 0) {
|
||||
auto shm = static_cast<wl_shm *>(
|
||||
@@ -178,9 +166,7 @@ bool nsWaylandDisplay::Matches(wl_displa
|
||||
@@ -180,9 +168,7 @@ bool nsWaylandDisplay::Matches(wl_displa
|
||||
return mThreadId == PR_GetCurrentThread() && aDisplay == mDisplay;
|
||||
}
|
||||
|
||||
@ -101,7 +103,7 @@ diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-
|
||||
: mThreadId(PR_GetCurrentThread()),
|
||||
mDisplay(aDisplay),
|
||||
mEventQueue(nullptr),
|
||||
@@ -188,9 +174,10 @@ nsWaylandDisplay::nsWaylandDisplay(wl_di
|
||||
@@ -190,9 +176,10 @@ nsWaylandDisplay::nsWaylandDisplay(wl_di
|
||||
mSubcompositor(nullptr),
|
||||
mSeat(nullptr),
|
||||
mShm(nullptr),
|
||||
@ -115,7 +117,7 @@ diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-
|
||||
|
||||
if (NS_IsMainThread()) {
|
||||
// Use default event queue in main thread operated by Gtk+.
|
||||
@@ -201,17 +188,19 @@ nsWaylandDisplay::nsWaylandDisplay(wl_di
|
||||
@@ -203,17 +190,19 @@ nsWaylandDisplay::nsWaylandDisplay(wl_di
|
||||
mEventQueue = wl_display_create_queue(mDisplay);
|
||||
MessageLoop::current()->PostTask(NewRunnableFunction(
|
||||
"WaylandDisplayLoop", &WaylandDisplayLoop, mDisplay));
|
||||
@ -137,9 +139,9 @@ diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.cpp.mozilla-1517205 firefox-
|
||||
if (mEventQueue) {
|
||||
wl_event_queue_destroy(mEventQueue);
|
||||
mEventQueue = nullptr;
|
||||
diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.h.mozilla-1517205 firefox-66.0.3/widget/gtk/nsWaylandDisplay.h
|
||||
--- firefox-66.0.3/widget/gtk/nsWaylandDisplay.h.mozilla-1517205 2019-04-09 22:01:13.000000000 +0200
|
||||
+++ firefox-66.0.3/widget/gtk/nsWaylandDisplay.h 2019-04-11 13:12:24.584232284 +0200
|
||||
diff -up firefox-67.0/widget/gtk/nsWaylandDisplay.h.mozilla-1517205 firefox-67.0/widget/gtk/nsWaylandDisplay.h
|
||||
--- firefox-67.0/widget/gtk/nsWaylandDisplay.h.mozilla-1517205 2019-05-14 01:08:27.000000000 +0200
|
||||
+++ firefox-67.0/widget/gtk/nsWaylandDisplay.h 2019-05-15 16:00:23.368366052 +0200
|
||||
@@ -20,11 +20,10 @@ namespace widget {
|
||||
|
||||
// Our general connection to Wayland display server,
|
||||
@ -185,9 +187,9 @@ diff -up firefox-66.0.3/widget/gtk/nsWaylandDisplay.h.mozilla-1517205 firefox-66
|
||||
|
||||
} // namespace widget
|
||||
} // namespace mozilla
|
||||
diff -up firefox-66.0.3/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1517205 firefox-66.0.3/widget/gtk/WindowSurfaceWayland.cpp
|
||||
--- firefox-66.0.3/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1517205 2019-04-11 13:12:24.577232301 +0200
|
||||
+++ firefox-66.0.3/widget/gtk/WindowSurfaceWayland.cpp 2019-04-11 13:12:24.583232286 +0200
|
||||
diff -up firefox-67.0/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1517205 firefox-67.0/widget/gtk/WindowSurfaceWayland.cpp
|
||||
--- firefox-67.0/widget/gtk/WindowSurfaceWayland.cpp.mozilla-1517205 2019-05-15 16:00:23.335366185 +0200
|
||||
+++ firefox-67.0/widget/gtk/WindowSurfaceWayland.cpp 2019-05-15 16:00:23.368366052 +0200
|
||||
@@ -413,16 +413,6 @@ WindowSurfaceWayland::~WindowSurfaceWayl
|
||||
delete mBackupBuffer[i];
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -up firefox-66.0/layout/xul/moz.build.mozilla-1532643-popup firefox-66.0/layout/xul/moz.build
|
||||
--- firefox-66.0/layout/xul/moz.build.mozilla-1532643-popup 2019-03-12 01:22:20.000000000 +0100
|
||||
+++ firefox-66.0/layout/xul/moz.build 2019-03-12 12:21:43.036982252 +0100
|
||||
diff -up firefox-67.0/layout/xul/moz.build.mozilla-1532643-popup firefox-67.0/layout/xul/moz.build
|
||||
--- firefox-67.0/layout/xul/moz.build.mozilla-1532643-popup 2019-05-14 01:08:24.000000000 +0200
|
||||
+++ firefox-67.0/layout/xul/moz.build 2019-05-15 15:31:39.714299754 +0200
|
||||
@@ -88,3 +88,6 @@ LOCAL_INCLUDES += [
|
||||
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
@ -8,9 +8,9 @@ diff -up firefox-66.0/layout/xul/moz.build.mozilla-1532643-popup firefox-66.0/la
|
||||
+
|
||||
+CFLAGS += CONFIG['TK_CFLAGS']
|
||||
+CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||
diff -up firefox-66.0/layout/xul/nsMenuPopupFrame.cpp.mozilla-1532643-popup firefox-66.0/layout/xul/nsMenuPopupFrame.cpp
|
||||
--- firefox-66.0/layout/xul/nsMenuPopupFrame.cpp.mozilla-1532643-popup 2019-03-12 01:22:20.000000000 +0100
|
||||
+++ firefox-66.0/layout/xul/nsMenuPopupFrame.cpp 2019-03-12 12:23:11.860770255 +0100
|
||||
diff -up firefox-67.0/layout/xul/nsMenuPopupFrame.cpp.mozilla-1532643-popup firefox-67.0/layout/xul/nsMenuPopupFrame.cpp
|
||||
--- firefox-67.0/layout/xul/nsMenuPopupFrame.cpp.mozilla-1532643-popup 2019-05-14 01:08:24.000000000 +0200
|
||||
+++ firefox-67.0/layout/xul/nsMenuPopupFrame.cpp 2019-05-15 15:37:01.121215863 +0200
|
||||
@@ -55,6 +55,10 @@
|
||||
#include "mozilla/dom/KeyboardEvent.h"
|
||||
#include "mozilla/dom/KeyboardEventBinding.h"
|
||||
@ -21,8 +21,8 @@ diff -up firefox-66.0/layout/xul/nsMenuPopupFrame.cpp.mozilla-1532643-popup fire
|
||||
+#endif /* MOZ_WAYLAND */
|
||||
|
||||
using namespace mozilla;
|
||||
using mozilla::dom::Event;
|
||||
@@ -298,11 +302,29 @@ nsresult nsMenuPopupFrame::CreateWidgetF
|
||||
using mozilla::dom::Document;
|
||||
@@ -301,11 +305,29 @@ nsresult nsMenuPopupFrame::CreateWidgetF
|
||||
!(mode == eTransparencyTransparent || tag == nsGkAtoms::menulist);
|
||||
widgetData.mPopupLevel = PopupLevel(widgetData.mNoAutoHide);
|
||||
|
||||
@ -53,10 +53,10 @@ diff -up firefox-66.0/layout/xul/nsMenuPopupFrame.cpp.mozilla-1532643-popup fire
|
||||
nsCOMPtr<nsIDocShellTreeItem> dsti = PresContext()->GetDocShell();
|
||||
if (!dsti) return NS_ERROR_FAILURE;
|
||||
|
||||
diff -up firefox-66.0/widget/gtk/nsWindow.cpp.mozilla-1532643-popup firefox-66.0/widget/gtk/nsWindow.cpp
|
||||
--- firefox-66.0/widget/gtk/nsWindow.cpp.mozilla-1532643-popup 2019-03-12 12:21:43.034982257 +0100
|
||||
+++ firefox-66.0/widget/gtk/nsWindow.cpp 2019-03-12 12:21:43.037982249 +0100
|
||||
@@ -3485,11 +3485,7 @@ nsresult nsWindow::Create(nsIWidget *aPa
|
||||
diff -up firefox-67.0/widget/gtk/nsWindow.cpp.mozilla-1532643-popup firefox-67.0/widget/gtk/nsWindow.cpp
|
||||
--- firefox-67.0/widget/gtk/nsWindow.cpp.mozilla-1532643-popup 2019-05-15 15:31:39.712299764 +0200
|
||||
+++ firefox-67.0/widget/gtk/nsWindow.cpp 2019-05-15 15:31:39.716299744 +0200
|
||||
@@ -3527,11 +3527,7 @@ nsresult nsWindow::Create(nsIWidget *aPa
|
||||
} else {
|
||||
switch (aInitData->mPopupHint) {
|
||||
case ePopupTypeMenu:
|
||||
|
@ -1,29 +0,0 @@
|
||||
diff -up firefox-66.0/js/src/util/NativeStack.cpp.mozilla-1533969 firefox-66.0/js/src/util/NativeStack.cpp
|
||||
--- firefox-66.0/js/src/util/NativeStack.cpp.mozilla-1533969 2019-03-14 23:12:13.000000000 +0100
|
||||
+++ firefox-66.0/js/src/util/NativeStack.cpp 2019-03-22 15:17:08.338328211 +0100
|
||||
@@ -25,7 +25,7 @@
|
||||
# include <sys/syscall.h>
|
||||
# include <sys/types.h>
|
||||
# include <unistd.h>
|
||||
-static pid_t gettid() { return syscall(__NR_gettid); }
|
||||
+# define gettid() static_cast<pid_t>(syscall(__NR_gettid))
|
||||
# endif
|
||||
#else
|
||||
# error "Unsupported platform"
|
||||
diff -up firefox-66.0/tools/profiler/core/platform.h.mozilla-1533969 firefox-66.0/tools/profiler/core/platform.h
|
||||
--- firefox-66.0/tools/profiler/core/platform.h.mozilla-1533969 2019-03-22 15:17:08.338328211 +0100
|
||||
+++ firefox-66.0/tools/profiler/core/platform.h 2019-03-22 15:19:00.046748130 +0100
|
||||
@@ -47,11 +47,11 @@
|
||||
#if defined(__GLIBC__)
|
||||
# include <unistd.h>
|
||||
# include <sys/syscall.h>
|
||||
-static inline pid_t gettid() { return (pid_t)syscall(SYS_gettid); }
|
||||
+# define gettid() static_cast<pid_t>(syscall(SYS_gettid))
|
||||
#elif defined(GP_OS_darwin)
|
||||
# include <unistd.h>
|
||||
# include <sys/syscall.h>
|
||||
-static inline pid_t gettid() { return (pid_t)syscall(SYS_thread_selfid); }
|
||||
+# define gettid() static_cast<pid_t>(syscall(SYS_thread_selfid))
|
||||
#elif defined(GP_OS_android)
|
||||
# include <unistd.h>
|
||||
#elif defined(GP_OS_windows)
|
@ -1,30 +1,7 @@
|
||||
diff -up firefox-66.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-66.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
|
||||
diff -up firefox-66.0/media/webrtc/trunk/Makefile.old firefox-66.0/media/webrtc/trunk/Makefile
|
||||
diff -up firefox-66.0/widget/gtk/mozcontainer.cpp.old firefox-66.0/widget/gtk/mozcontainer.cpp
|
||||
--- firefox-66.0/widget/gtk/mozcontainer.cpp.old 2019-03-14 23:12:56.000000000 +0100
|
||||
+++ firefox-66.0/widget/gtk/mozcontainer.cpp 2019-03-15 13:23:59.366840324 +0100
|
||||
@@ -20,6 +20,20 @@
|
||||
# include "maiRedundantObjectFactory.h"
|
||||
#endif
|
||||
|
||||
+#undef LOG
|
||||
+#ifdef MOZ_LOGGING
|
||||
+
|
||||
+# include "mozilla/Logging.h"
|
||||
+# include "nsTArray.h"
|
||||
+# include "Units.h"
|
||||
+
|
||||
+extern mozilla::LazyLogModule gWidgetLog;
|
||||
+
|
||||
+# define LOG(args) MOZ_LOG(gWidgetLog, mozilla::LogLevel::Debug, args)
|
||||
+#else
|
||||
+# define LOG(args)
|
||||
+#endif /* MOZ_LOGGING */
|
||||
+
|
||||
#ifdef MOZ_WAYLAND
|
||||
using namespace mozilla;
|
||||
using namespace mozilla::widget;
|
||||
@@ -157,10 +171,14 @@ void moz_container_init(MozContainer *co
|
||||
diff -up firefox-67.0/widget/gtk/mozcontainer.cpp.mozilla-1535567 firefox-67.0/widget/gtk/mozcontainer.cpp
|
||||
--- firefox-67.0/widget/gtk/mozcontainer.cpp.mozilla-1535567 2019-05-14 01:08:37.000000000 +0200
|
||||
+++ firefox-67.0/widget/gtk/mozcontainer.cpp 2019-05-15 15:56:19.645336209 +0200
|
||||
@@ -157,6 +157,7 @@ void moz_container_init(MozContainer *co
|
||||
container->subsurface = nullptr;
|
||||
container->eglwindow = nullptr;
|
||||
container->frame_callback_handler = nullptr;
|
||||
@ -32,52 +9,34 @@ diff -up firefox-66.0/widget/gtk/mozcontainer.cpp.old firefox-66.0/widget/gtk/mo
|
||||
// We can draw to x11 window any time.
|
||||
container->ready_to_draw = GDK_IS_X11_DISPLAY(gdk_display_get_default());
|
||||
container->surface_needs_clear = true;
|
||||
+ container->inital_draw_cb = nullptr;
|
||||
#endif
|
||||
+
|
||||
+ LOG(("moz_container_class_init() [%p]\n", (void *)container));
|
||||
@@ -165,6 +166,11 @@ void moz_container_init(MozContainer *co
|
||||
}
|
||||
|
||||
#if defined(MOZ_WAYLAND)
|
||||
@@ -170,36 +188,92 @@ static wl_surface *moz_container_get_gtk
|
||||
dlsym(RTLD_DEFAULT, "gdk_wayland_window_get_wl_surface");
|
||||
|
||||
GdkWindow *window = gtk_widget_get_window(GTK_WIDGET(container));
|
||||
- return sGdkWaylandWindowGetWlSurface(window);
|
||||
+ wl_surface *surface = sGdkWaylandWindowGetWlSurface(window);
|
||||
+
|
||||
+ LOG(("moz_container_get_gtk_container_surface() [%p] wl_surface %p ID %d\n",
|
||||
+ (void *)container, (void *)surface,
|
||||
+ surface ? wl_proxy_get_id((struct wl_proxy *)surface) : -1));
|
||||
+
|
||||
+ return surface;
|
||||
}
|
||||
|
||||
static void frame_callback_handler(void *data, struct wl_callback *callback,
|
||||
uint32_t time) {
|
||||
MozContainer *container = MOZ_CONTAINER(data);
|
||||
+
|
||||
+ LOG(
|
||||
+ ("moz_container_frame_callback_handler() [%p] frame_callback_handler %p "
|
||||
+ "ready_to_draw %d (set to true) "
|
||||
+ "inital_draw callback %d\n",
|
||||
+ (void *)container, (void *)container->frame_callback_handler,
|
||||
+ container->ready_to_draw, container->inital_draw_cb ? 1 : 0));
|
||||
+
|
||||
g_clear_pointer(&container->frame_callback_handler, wl_callback_destroy);
|
||||
+ container->frame_callback_handler_surface_id = -1;
|
||||
+
|
||||
+ if (!container->ready_to_draw && container->inital_draw_cb) {
|
||||
+ container->inital_draw_cb();
|
||||
+ }
|
||||
container->ready_to_draw = true;
|
||||
}
|
||||
|
||||
+void moz_container_set_initial_draw_callback(
|
||||
+ MozContainer *container, std::function<void(void)> inital_draw_cb) {
|
||||
+ container->inital_draw_cb = inital_draw_cb;
|
||||
+}
|
||||
+
|
||||
static wl_surface *moz_container_get_gtk_container_surface(
|
||||
MozContainer *container) {
|
||||
static auto sGdkWaylandWindowGetWlSurface = (wl_surface * (*)(GdkWindow *))
|
||||
@@ -178,37 +184,61 @@ static void frame_callback_handler(void
|
||||
uint32_t time) {
|
||||
MozContainer *container = MOZ_CONTAINER(data);
|
||||
g_clear_pointer(&container->frame_callback_handler, wl_callback_destroy);
|
||||
+ container->frame_callback_handler_surface_id = -1;
|
||||
if (!container->ready_to_draw && container->inital_draw_cb) {
|
||||
container->inital_draw_cb();
|
||||
}
|
||||
container->ready_to_draw = true;
|
||||
}
|
||||
|
||||
-void moz_container_set_initial_draw_callback(
|
||||
- MozContainer *container, std::function<void(void)> inital_draw_cb) {
|
||||
- container->inital_draw_cb = inital_draw_cb;
|
||||
-}
|
||||
-
|
||||
static const struct wl_callback_listener frame_listener = {
|
||||
frame_callback_handler};
|
||||
|
||||
@ -99,10 +58,9 @@ diff -up firefox-66.0/widget/gtk/mozcontainer.cpp.old firefox-66.0/widget/gtk/mo
|
||||
+ : -1;
|
||||
+
|
||||
+ LOG(
|
||||
+ ("moz_container_request_parent_frame_callback() [%p] "
|
||||
+ "container->frame_callback_handler %p "
|
||||
+ "container->frame_callback_handler_surface_id %d\n",
|
||||
+ (void *)container, container->frame_callback_handler,
|
||||
+ ("%s [%p] frame_callback_handler %p "
|
||||
+ "frame_callback_handler_surface_id %d\n",
|
||||
+ __FUNCTION__, (void *)container, container->frame_callback_handler,
|
||||
+ container->frame_callback_handler_surface_id));
|
||||
+
|
||||
+ if (container->frame_callback_handler &&
|
||||
@ -123,25 +81,22 @@ diff -up firefox-66.0/widget/gtk/mozcontainer.cpp.old firefox-66.0/widget/gtk/mo
|
||||
container);
|
||||
+ } else {
|
||||
+ container->frame_callback_handler_surface_id = -1;
|
||||
}
|
||||
+ }
|
||||
+}
|
||||
|
||||
+
|
||||
+static gboolean moz_container_map_wayland(GtkWidget *widget,
|
||||
+ GdkEventAny *event) {
|
||||
+ MozContainer *container = MOZ_CONTAINER(widget);
|
||||
+
|
||||
+ LOG(("moz_container_map_wayland() begin [%p] ready_to_draw %d\n",
|
||||
+ (void *)container, container->ready_to_draw));
|
||||
+
|
||||
+ if (container->ready_to_draw) {
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
}
|
||||
|
||||
+ moz_container_request_parent_frame_callback(MOZ_CONTAINER(widget));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -208,9 +282,12 @@ static void moz_container_unmap_wayland(
|
||||
@@ -217,6 +247,7 @@ static void moz_container_unmap_wayland(
|
||||
g_clear_pointer(&container->subsurface, wl_subsurface_destroy);
|
||||
g_clear_pointer(&container->surface, wl_surface_destroy);
|
||||
g_clear_pointer(&container->frame_callback_handler, wl_callback_destroy);
|
||||
@ -149,23 +104,7 @@ diff -up firefox-66.0/widget/gtk/mozcontainer.cpp.old firefox-66.0/widget/gtk/mo
|
||||
|
||||
container->surface_needs_clear = true;
|
||||
container->ready_to_draw = false;
|
||||
+
|
||||
+ LOG(("moz_container_unmap_wayland() [%p]\n", (void *)container));
|
||||
}
|
||||
|
||||
static gint moz_container_get_scale(MozContainer *container) {
|
||||
@@ -227,6 +304,10 @@ static gint moz_container_get_scale(MozC
|
||||
|
||||
void moz_container_scale_changed(MozContainer *container,
|
||||
GtkAllocation *aAllocation) {
|
||||
+ LOG(("moz_container_scale_changed() [%p] surface %p eglwindow %p\n",
|
||||
+ (void *)container, (void *)container->surface,
|
||||
+ (void *)container->eglwindow));
|
||||
+
|
||||
if (!container->surface) {
|
||||
return;
|
||||
}
|
||||
@@ -320,6 +401,10 @@ void moz_container_realize(GtkWidget *wi
|
||||
@@ -329,6 +360,10 @@ void moz_container_realize(GtkWidget *wi
|
||||
: gtk_widget_get_visual(widget);
|
||||
|
||||
window = gdk_window_new(parent, &attributes, attributes_mask);
|
||||
@ -176,91 +115,22 @@ diff -up firefox-66.0/widget/gtk/mozcontainer.cpp.old firefox-66.0/widget/gtk/mo
|
||||
gdk_window_set_user_data(window, widget);
|
||||
} else {
|
||||
window = parent;
|
||||
@@ -336,12 +421,8 @@ void moz_container_size_allocate(GtkWidg
|
||||
|
||||
g_return_if_fail(IS_MOZ_CONTAINER(widget));
|
||||
|
||||
- /* printf("moz_container_size_allocate %p %d %d %d %d\n",
|
||||
- (void *)widget,
|
||||
- allocation->x,
|
||||
- allocation->y,
|
||||
- allocation->width,
|
||||
- allocation->height); */
|
||||
+ LOG(("moz_container_size_allocate() [%p] %d %d %d %d\n", (void *)widget,
|
||||
+ allocation->x, allocation->y, allocation->width, allocation->height));
|
||||
|
||||
/* short circuit if you can */
|
||||
container = MOZ_CONTAINER(widget);
|
||||
@@ -487,8 +568,13 @@ static void moz_container_add(GtkContain
|
||||
|
||||
#ifdef MOZ_WAYLAND
|
||||
@@ -498,6 +533,7 @@ static void moz_container_add(GtkContain
|
||||
struct wl_surface *moz_container_get_wl_surface(MozContainer *container) {
|
||||
+ LOG(("moz_container_get_wl_surface() [%p] surface %p ready_to_draw %d\n",
|
||||
+ (void *)container, (void *)container->surface,
|
||||
+ container->ready_to_draw));
|
||||
+
|
||||
if (!container->surface) {
|
||||
if (!container->ready_to_draw) {
|
||||
+ moz_container_request_parent_frame_callback(container);
|
||||
return nullptr;
|
||||
}
|
||||
GdkDisplay *display = gtk_widget_get_display(GTK_WIDGET(container));
|
||||
@@ -526,10 +612,16 @@ struct wl_surface *moz_container_get_wl_
|
||||
WaylandDisplayRelease(waylandDisplay);
|
||||
}
|
||||
|
||||
+ LOG(("moz_container_get_wl_surface() [%p] created surface %p\n",
|
||||
+ (void *)container, (void *)container->surface));
|
||||
+
|
||||
return container->surface;
|
||||
}
|
||||
|
||||
struct wl_egl_window *moz_container_get_wl_egl_window(MozContainer *container) {
|
||||
+ LOG(("moz_container_get_wl_egl_window() [%p] eglwindow %p\n",
|
||||
+ (void *)container, (void *)container->eglwindow));
|
||||
+
|
||||
if (!container->eglwindow) {
|
||||
wl_surface *surface = moz_container_get_wl_surface(container);
|
||||
if (!surface) {
|
||||
@@ -543,6 +635,10 @@ struct wl_egl_window *moz_container_get_
|
||||
gdk_window_get_height(window) * scale);
|
||||
wl_surface_set_buffer_scale(surface, scale);
|
||||
}
|
||||
+
|
||||
+ LOG(("moz_container_get_wl_egl_window() [%p] created eglwindow %p\n",
|
||||
+ (void *)container, (void *)container->eglwindow));
|
||||
+
|
||||
return container->eglwindow;
|
||||
}
|
||||
|
||||
diff -up firefox-66.0/widget/gtk/mozcontainer.h.old firefox-66.0/widget/gtk/mozcontainer.h
|
||||
--- firefox-66.0/widget/gtk/mozcontainer.h.old 2019-03-14 23:13:02.000000000 +0100
|
||||
+++ firefox-66.0/widget/gtk/mozcontainer.h 2019-03-15 13:23:59.366840324 +0100
|
||||
@@ -9,6 +9,7 @@
|
||||
#define __MOZ_CONTAINER_H__
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
+#include <functional>
|
||||
|
||||
/*
|
||||
* MozContainer
|
||||
@@ -76,8 +77,10 @@ struct _MozContainer {
|
||||
diff -up firefox-67.0/widget/gtk/mozcontainer.h.mozilla-1535567 firefox-67.0/widget/gtk/mozcontainer.h
|
||||
--- firefox-67.0/widget/gtk/mozcontainer.h.mozilla-1535567 2019-05-14 01:08:37.000000000 +0200
|
||||
+++ firefox-67.0/widget/gtk/mozcontainer.h 2019-05-15 15:50:59.440570372 +0200
|
||||
@@ -77,6 +77,7 @@ struct _MozContainer {
|
||||
struct wl_subsurface *subsurface;
|
||||
struct wl_egl_window *eglwindow;
|
||||
struct wl_callback *frame_callback_handler;
|
||||
+ int frame_callback_handler_surface_id;
|
||||
gboolean surface_needs_clear;
|
||||
gboolean ready_to_draw;
|
||||
+ std::function<void(void)> inital_draw_cb;
|
||||
#endif
|
||||
gboolean force_default_visual;
|
||||
};
|
||||
@@ -100,6 +103,8 @@ gboolean moz_container_has_wl_egl_window
|
||||
gboolean moz_container_surface_needs_clear(MozContainer *container);
|
||||
void moz_container_scale_changed(MozContainer *container,
|
||||
GtkAllocation *aAllocation);
|
||||
+void moz_container_set_initial_draw_callback(
|
||||
+ MozContainer *container, std::function<void(void)> inital_draw_cb);
|
||||
#endif
|
||||
|
||||
#endif /* __MOZ_CONTAINER_H__ */
|
||||
std::function<void(void)> inital_draw_cb;
|
||||
|
@ -1,15 +1,7 @@
|
||||
diff -up firefox-66.0.1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp.mozilla-1540145 firefox-66.0.1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
--- firefox-66.0.1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp.mozilla-1540145 2019-03-22 06:06:07.000000000 +0100
|
||||
+++ firefox-66.0.1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 2019-04-01 09:33:18.621166482 +0200
|
||||
@@ -6,7 +6,6 @@
|
||||
#include "nsISystemProxySettings.h"
|
||||
#include "mozilla/ModuleUtils.h"
|
||||
#include "nsIServiceManager.h"
|
||||
-#include "nsIGConfService.h"
|
||||
#include "nsIURI.h"
|
||||
#include "nsReadableUtils.h"
|
||||
#include "nsArrayUtils.h"
|
||||
@@ -32,16 +31,10 @@ class nsUnixSystemProxySettings final :
|
||||
diff -up firefox-67.0/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp.mozilla-1540145 firefox-67.0/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
--- firefox-67.0/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp.mozilla-1540145 2019-05-14 01:08:35.000000000 +0200
|
||||
+++ firefox-67.0/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 2019-05-15 15:20:13.365502186 +0200
|
||||
@@ -34,16 +34,10 @@ class nsUnixSystemProxySettings final :
|
||||
private:
|
||||
~nsUnixSystemProxySettings() = default;
|
||||
|
||||
@ -27,28 +19,24 @@ diff -up firefox-66.0.1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp.m
|
||||
nsresult GetProxyFromGSettings(const nsACString& aScheme,
|
||||
const nsACString& aHost, int32_t aPort,
|
||||
nsACString& aResult);
|
||||
@@ -66,20 +59,10 @@ nsresult nsUnixSystemProxySettings::Init
|
||||
@@ -68,16 +62,6 @@ void nsUnixSystemProxySettings::Init() {
|
||||
NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
getter_AddRefs(mProxySettings));
|
||||
}
|
||||
- if (!mProxySettings) {
|
||||
- mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||
- }
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
-}
|
||||
-
|
||||
-bool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) {
|
||||
- nsAutoCString mode;
|
||||
- return NS_SUCCEEDED(mGConf->GetString(
|
||||
- NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) &&
|
||||
- mode.EqualsASCII(aMode);
|
||||
-}
|
||||
-
|
||||
}
|
||||
|
||||
nsresult nsUnixSystemProxySettings::GetPACURI(nsACString& aResult) {
|
||||
if (mProxySettings) {
|
||||
nsCString proxyMode;
|
||||
@@ -92,14 +75,8 @@ nsresult nsUnixSystemProxySettings::GetP
|
||||
@@ -92,14 +76,8 @@ nsresult nsUnixSystemProxySettings::GetP
|
||||
}
|
||||
/* The org.gnome.system.proxy schema has been found, but auto mode is not
|
||||
* set. Don't try the GConf and return empty string. */
|
||||
@ -63,7 +51,7 @@ diff -up firefox-66.0.1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp.m
|
||||
// Return an empty string when auto mode is not set.
|
||||
aResult.Truncate();
|
||||
return NS_OK;
|
||||
@@ -217,30 +194,6 @@ static nsresult GetProxyFromEnvironment(
|
||||
@@ -217,30 +195,6 @@ static nsresult GetProxyFromEnvironment(
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -94,7 +82,7 @@ diff -up firefox-66.0.1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp.m
|
||||
nsresult nsUnixSystemProxySettings::SetProxyResultFromGSettings(
|
||||
const char* aKeyBase, const char* aType, nsACString& aResult) {
|
||||
nsDependentCString key(aKeyBase);
|
||||
@@ -366,63 +319,6 @@ static bool HostIgnoredByProxy(const nsA
|
||||
@@ -366,63 +320,6 @@ static bool HostIgnoredByProxy(const nsA
|
||||
return memcmp(&ignoreAddr, &hostAddr, sizeof(PRIPv6Addr)) == 0;
|
||||
}
|
||||
|
||||
@ -158,7 +146,7 @@ diff -up firefox-66.0.1/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp.m
|
||||
nsresult nsUnixSystemProxySettings::GetProxyFromGSettings(
|
||||
const nsACString& aScheme, const nsACString& aHost, int32_t aPort,
|
||||
nsACString& aResult) {
|
||||
@@ -494,7 +390,6 @@ nsresult nsUnixSystemProxySettings::GetP
|
||||
@@ -494,7 +391,6 @@ nsresult nsUnixSystemProxySettings::GetP
|
||||
nsresult rv = GetProxyFromGSettings(aScheme, aHost, aPort, aResult);
|
||||
if (NS_SUCCEEDED(rv)) return rv;
|
||||
}
|
||||
|
4
sources
4
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (cbindgen-vendor.tar.xz) = b6737ca86e6223bb9e25861dae05e18469aecbeaa74d0d24719f531b01c74b9a00d9ba4e7faf6366e98cb7f0bdbeedfc337b739fff60bb3d22faabe9751f7ded
|
||||
SHA512 (firefox-66.0.5.source.tar.xz) = 6e62e7bb95a7341471521c372506d9df276249d0c0863d059b0bd27537cddb1060c51f0ee103f79239226d34c6277f3855e1511a083bc4cc442718fc7c5db650
|
||||
SHA512 (firefox-langpacks-66.0.5-20190508.tar.xz) = 6f0ef1761366f88d2d669ae234e1fa854b7bae335abb3c578b60a6f9cba1831f453eab35e6116faab68161c1b34b6e63224add0a4d0aa8e4b40a39dfb571677d
|
||||
SHA512 (firefox-67.0.source.tar.xz) = f782f83f45177e84ae788deb7ab250083fee5fe2a081cdcb72fdde9e2344078767285380a790778cfcda8bbd1c0f6c8c26c8da22587a6aad45ea58a292ef40e9
|
||||
SHA512 (firefox-langpacks-67.0-20190515.tar.xz) = d107e680755a8f5c46e4e255f29a3758c721ffff46ff1a1c30ceae1634242574fca987c11e0af4ea74b91131a734262327889945502f8012297ceeaf460095d9
|
||||
|
Loading…
Reference in New Issue
Block a user