mirror of
https://codeberg.org/kiss-community/repo
synced 2024-07-15 12:22:26 +00:00
firefox: 94.0
This commit is contained in:
parent
f537f8db9e
commit
64ec8e808d
|
@ -1,4 +1,4 @@
|
||||||
a78f080f5849bc284b84299f3540934a12e961a7ea368b592ae6576ea1f97102
|
b7bb8c5fcc74a74e9d2b55d1e9415b891305fe86520fb854cec25024d7e5de67
|
||||||
f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e
|
f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e
|
||||||
3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f
|
3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f
|
||||||
f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369
|
f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369
|
||||||
|
@ -6,5 +6,5 @@ f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369
|
||||||
42b3c7a29e61905be0e7425b8786870eb1d1c9e0f74c3f0909521b2ac52ac702
|
42b3c7a29e61905be0e7425b8786870eb1d1c9e0f74c3f0909521b2ac52ac702
|
||||||
2b5732c15e7eade2a01ad9794de372f25fbb75e4e2f53bce089548bcbbba20d1
|
2b5732c15e7eade2a01ad9794de372f25fbb75e4e2f53bce089548bcbbba20d1
|
||||||
4b06181475f667ae2851540552ade56d5257a03cd21da588e2eb1e538bbc8176
|
4b06181475f667ae2851540552ade56d5257a03cd21da588e2eb1e538bbc8176
|
||||||
e4a1393ae2b068cab4e1ad47aca10bdbecb5b32d66ff3a61288da8b1dab5a114
|
bb20235914fd82976508eb72bf4810b467d3ba1d47a1031e00f7995b9933ae56
|
||||||
47d30d0b73d3174f8ebbb6d686892fa5435beb3355ddacded70194ef0249ba51
|
47d30d0b73d3174f8ebbb6d686892fa5435beb3355ddacded70194ef0249ba51
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
diff --git a/gfx/angle/checkout/include/EGL/eglplatform.h b/gfx/angle/checkout/include/EGL/eglplatform.h
|
diff --git a/gfx/angle/checkout/include/EGL/eglplatform.h b/gfx/angle/checkout/include/EGL/eglplatform.h
|
||||||
index d1cae17724..3ae13b0a5b 100644
|
index 9ebaf00a9b..f1cc658219 100644
|
||||||
--- a/gfx/angle/checkout/include/EGL/eglplatform.h
|
--- a/gfx/angle/checkout/include/EGL/eglplatform.h
|
||||||
+++ b/gfx/angle/checkout/include/EGL/eglplatform.h
|
+++ b/gfx/angle/checkout/include/EGL/eglplatform.h
|
||||||
@@ -122,7 +122,8 @@ typedef intptr_t EGLNativeDisplayType;
|
@@ -115,7 +115,8 @@ typedef void *EGLNativeDisplayType;
|
||||||
typedef intptr_t EGLNativePixmapType;
|
typedef khronos_uintptr_t EGLNativePixmapType;
|
||||||
typedef intptr_t EGLNativeWindowType;
|
typedef khronos_uintptr_t EGLNativeWindowType;
|
||||||
|
|
||||||
-#elif defined(__unix__) || defined(USE_X11)
|
-#elif defined(__unix__) || defined(USE_X11)
|
||||||
+#elif defined(__unix__)
|
+#elif defined(__unix__)
|
||||||
|
@ -12,7 +12,7 @@ index d1cae17724..3ae13b0a5b 100644
|
||||||
|
|
||||||
/* X11 (tentative) */
|
/* X11 (tentative) */
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
@@ -131,6 +132,11 @@ typedef intptr_t EGLNativeWindowType;
|
@@ -124,6 +125,11 @@ typedef khronos_uintptr_t EGLNativeWindowType;
|
||||||
typedef Display *EGLNativeDisplayType;
|
typedef Display *EGLNativeDisplayType;
|
||||||
typedef Pixmap EGLNativePixmapType;
|
typedef Pixmap EGLNativePixmapType;
|
||||||
typedef Window EGLNativeWindowType;
|
typedef Window EGLNativeWindowType;
|
||||||
|
@ -25,7 +25,7 @@ index d1cae17724..3ae13b0a5b 100644
|
||||||
#elif defined(__APPLE__)
|
#elif defined(__APPLE__)
|
||||||
|
|
||||||
diff --git a/gfx/cairo/cairo/src/cairo-features.h b/gfx/cairo/cairo/src/cairo-features.h
|
diff --git a/gfx/cairo/cairo/src/cairo-features.h b/gfx/cairo/cairo/src/cairo-features.h
|
||||||
index f7379aa895..ceae4f2d71 100644
|
index cfed9d9a2f..fd1eb869d3 100644
|
||||||
--- a/gfx/cairo/cairo/src/cairo-features.h
|
--- a/gfx/cairo/cairo/src/cairo-features.h
|
||||||
+++ b/gfx/cairo/cairo/src/cairo-features.h
|
+++ b/gfx/cairo/cairo/src/cairo-features.h
|
||||||
@@ -55,8 +55,8 @@
|
@@ -55,8 +55,8 @@
|
||||||
|
@ -35,7 +35,7 @@ index f7379aa895..ceae4f2d71 100644
|
||||||
-#ifdef MOZ_X11
|
-#ifdef MOZ_X11
|
||||||
#define CAIRO_HAS_PS_SURFACE 1
|
#define CAIRO_HAS_PS_SURFACE 1
|
||||||
+#ifdef MOZ_X11
|
+#ifdef MOZ_X11
|
||||||
#define CAIRO_HAS_XLIB_XRENDER_SURFACE 1
|
#define CAIRO_HAS_XLIB_XRENDER_SURFACE 0
|
||||||
#define CAIRO_HAS_XLIB_SURFACE 1
|
#define CAIRO_HAS_XLIB_SURFACE 1
|
||||||
#endif
|
#endif
|
||||||
diff --git a/gfx/gl/GLContextProvider.h b/gfx/gl/GLContextProvider.h
|
diff --git a/gfx/gl/GLContextProvider.h b/gfx/gl/GLContextProvider.h
|
||||||
|
@ -154,10 +154,10 @@ index f5a57b9c4d..72091c3a4f 100644
|
||||||
|
|
||||||
namespace mozilla {
|
namespace mozilla {
|
||||||
diff --git a/gfx/thebes/gfxPlatformGtk.cpp b/gfx/thebes/gfxPlatformGtk.cpp
|
diff --git a/gfx/thebes/gfxPlatformGtk.cpp b/gfx/thebes/gfxPlatformGtk.cpp
|
||||||
index 95fdcc6ad6..4907726773 100644
|
index 197d33b85f..0d3cd3d7f2 100644
|
||||||
--- a/gfx/thebes/gfxPlatformGtk.cpp
|
--- a/gfx/thebes/gfxPlatformGtk.cpp
|
||||||
+++ b/gfx/thebes/gfxPlatformGtk.cpp
|
+++ b/gfx/thebes/gfxPlatformGtk.cpp
|
||||||
@@ -30,7 +30,9 @@
|
@@ -31,7 +31,9 @@
|
||||||
#include "mozilla/FontPropertyTypes.h"
|
#include "mozilla/FontPropertyTypes.h"
|
||||||
#include "mozilla/gfx/2D.h"
|
#include "mozilla/gfx/2D.h"
|
||||||
#include "mozilla/gfx/Logging.h"
|
#include "mozilla/gfx/Logging.h"
|
||||||
|
@ -167,17 +167,17 @@ index 95fdcc6ad6..4907726773 100644
|
||||||
#include "mozilla/Monitor.h"
|
#include "mozilla/Monitor.h"
|
||||||
#include "mozilla/Preferences.h"
|
#include "mozilla/Preferences.h"
|
||||||
#include "mozilla/StaticPrefs_gfx.h"
|
#include "mozilla/StaticPrefs_gfx.h"
|
||||||
@@ -62,6 +64,9 @@
|
@@ -63,6 +65,9 @@
|
||||||
# include "mozilla/widget/nsWaylandDisplay.h"
|
# include "mozilla/widget/nsWaylandDisplay.h"
|
||||||
# include "mozilla/widget/DMABufLibWrapper.h"
|
# include "mozilla/widget/DMABufLibWrapper.h"
|
||||||
# include "mozilla/StaticPrefs_widget.h"
|
# include "mozilla/StaticPrefs_widget.h"
|
||||||
+# ifdef MOZ_WIDGET_GTK
|
+# ifdef MOZ_WIDGET_GTK
|
||||||
+# include "mozilla/WidgetUtilsGtk.h"
|
+# include "mozilla/WidgetUtilsGtk.h"
|
||||||
+# endif
|
+# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GDK_PIXMAP_SIZE_MAX 32767
|
#define GDK_PIXMAP_SIZE_MAX 32767
|
||||||
@@ -97,7 +102,11 @@ gfxPlatformGtk::gfxPlatformGtk() {
|
@@ -98,7 +103,11 @@ gfxPlatformGtk::gfxPlatformGtk() {
|
||||||
}
|
}
|
||||||
|
|
||||||
mMaxGenericSubstitutions = UNINITIALIZED_VALUE;
|
mMaxGenericSubstitutions = UNINITIALIZED_VALUE;
|
||||||
|
@ -189,7 +189,7 @@ index 95fdcc6ad6..4907726773 100644
|
||||||
if (XRE_IsParentProcess()) {
|
if (XRE_IsParentProcess()) {
|
||||||
InitX11EGLConfig();
|
InitX11EGLConfig();
|
||||||
if (IsWaylandDisplay() || gfxConfig::IsEnabled(Feature::X11_EGL)) {
|
if (IsWaylandDisplay() || gfxConfig::IsEnabled(Feature::X11_EGL)) {
|
||||||
@@ -128,7 +137,7 @@ gfxPlatformGtk::gfxPlatformGtk() {
|
@@ -125,7 +134,7 @@ gfxPlatformGtk::gfxPlatformGtk() {
|
||||||
|
|
||||||
// Bug 1714483: Force disable FXAA Antialiasing on NV drivers. This is a
|
// Bug 1714483: Force disable FXAA Antialiasing on NV drivers. This is a
|
||||||
// temporary workaround for a driver bug.
|
// temporary workaround for a driver bug.
|
||||||
|
@ -233,7 +233,7 @@ index 3f483d180e..c3ef71a71c 100644
|
||||||
|
|
||||||
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
|
||||||
diff --git a/gfx/webrender_bindings/RenderCompositorOGLSWGL.cpp b/gfx/webrender_bindings/RenderCompositorOGLSWGL.cpp
|
diff --git a/gfx/webrender_bindings/RenderCompositorOGLSWGL.cpp b/gfx/webrender_bindings/RenderCompositorOGLSWGL.cpp
|
||||||
index b373244235..62e8251422 100644
|
index cf3fc3c2ca..2748887361 100644
|
||||||
--- a/gfx/webrender_bindings/RenderCompositorOGLSWGL.cpp
|
--- a/gfx/webrender_bindings/RenderCompositorOGLSWGL.cpp
|
||||||
+++ b/gfx/webrender_bindings/RenderCompositorOGLSWGL.cpp
|
+++ b/gfx/webrender_bindings/RenderCompositorOGLSWGL.cpp
|
||||||
@@ -27,7 +27,9 @@
|
@@ -27,7 +27,9 @@
|
||||||
|
@ -247,17 +247,11 @@ index b373244235..62e8251422 100644
|
||||||
|
|
||||||
namespace mozilla {
|
namespace mozilla {
|
||||||
diff --git a/toolkit/components/remote/moz.build b/toolkit/components/remote/moz.build
|
diff --git a/toolkit/components/remote/moz.build b/toolkit/components/remote/moz.build
|
||||||
index 235580d6b7..b407dce197 100644
|
index c1853a9f4d..b407dce197 100644
|
||||||
--- a/toolkit/components/remote/moz.build
|
--- a/toolkit/components/remote/moz.build
|
||||||
+++ b/toolkit/components/remote/moz.build
|
+++ b/toolkit/components/remote/moz.build
|
||||||
@@ -13,12 +13,15 @@ SOURCES += [
|
@@ -16,6 +16,12 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||||
|
|
||||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
|
||||||
SOURCES += [
|
|
||||||
- "nsGTKRemoteServer.cpp",
|
|
||||||
"nsUnixRemoteServer.cpp",
|
"nsUnixRemoteServer.cpp",
|
||||||
- "nsXRemoteClient.cpp",
|
|
||||||
- "nsXRemoteServer.cpp",
|
|
||||||
"RemoteUtils.cpp",
|
"RemoteUtils.cpp",
|
||||||
]
|
]
|
||||||
+ if CONFIG["MOZ_X11"]:
|
+ if CONFIG["MOZ_X11"]:
|
||||||
|
@ -269,16 +263,28 @@ index 235580d6b7..b407dce197 100644
|
||||||
if CONFIG["MOZ_ENABLE_DBUS"]:
|
if CONFIG["MOZ_ENABLE_DBUS"]:
|
||||||
SOURCES += [
|
SOURCES += [
|
||||||
"nsDBusRemoteClient.cpp",
|
"nsDBusRemoteClient.cpp",
|
||||||
|
@@ -26,12 +32,6 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||||
|
"nsUnixRemoteServer.h",
|
||||||
|
"RemoteUtils.h",
|
||||||
|
]
|
||||||
|
- else:
|
||||||
|
- SOURCES += [
|
||||||
|
- "nsGTKRemoteServer.cpp",
|
||||||
|
- "nsXRemoteClient.cpp",
|
||||||
|
- "nsXRemoteServer.cpp",
|
||||||
|
- ]
|
||||||
|
CXXFLAGS += CONFIG["TK_CFLAGS"]
|
||||||
|
|
||||||
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
|
||||||
diff --git a/toolkit/components/remote/nsRemoteService.cpp b/toolkit/components/remote/nsRemoteService.cpp
|
diff --git a/toolkit/components/remote/nsRemoteService.cpp b/toolkit/components/remote/nsRemoteService.cpp
|
||||||
index 72c5a50a30..4eecad890d 100644
|
index b2499d8191..5448b8f4b4 100644
|
||||||
--- a/toolkit/components/remote/nsRemoteService.cpp
|
--- a/toolkit/components/remote/nsRemoteService.cpp
|
||||||
+++ b/toolkit/components/remote/nsRemoteService.cpp
|
+++ b/toolkit/components/remote/nsRemoteService.cpp
|
||||||
@@ -12,12 +12,18 @@
|
@@ -12,12 +12,17 @@
|
||||||
|
|
||||||
#ifdef MOZ_WIDGET_GTK
|
#ifdef MOZ_WIDGET_GTK
|
||||||
# include "mozilla/WidgetUtilsGtk.h"
|
# include "mozilla/WidgetUtilsGtk.h"
|
||||||
-# include "nsGTKRemoteServer.h"
|
-# include "nsGTKRemoteServer.h"
|
||||||
-# include "nsXRemoteClient.h"
|
|
||||||
+# ifdef MOZ_X11
|
+# ifdef MOZ_X11
|
||||||
+# include "nsGTKRemoteServer.h"
|
+# include "nsGTKRemoteServer.h"
|
||||||
+# include "nsXRemoteClient.h"
|
+# include "nsXRemoteClient.h"
|
||||||
|
@ -286,43 +292,46 @@ index 72c5a50a30..4eecad890d 100644
|
||||||
# ifdef MOZ_ENABLE_DBUS
|
# ifdef MOZ_ENABLE_DBUS
|
||||||
# include "nsDBusRemoteServer.h"
|
# include "nsDBusRemoteServer.h"
|
||||||
# include "nsDBusRemoteClient.h"
|
# include "nsDBusRemoteClient.h"
|
||||||
# endif
|
-# else
|
||||||
|
-# include "nsXRemoteClient.h"
|
||||||
|
+# endif
|
||||||
+# ifdef MOZ_WAYLAND
|
+# ifdef MOZ_WAYLAND
|
||||||
+# include <gdk/gdkwayland.h>
|
+# include <gdk/gdkwayland.h>
|
||||||
+# include "nsRemoteClient.h"
|
+# include "nsRemoteClient.h"
|
||||||
+# endif
|
# endif
|
||||||
#elif defined(XP_WIN)
|
#elif defined(XP_WIN)
|
||||||
# include "nsWinRemoteServer.h"
|
# include "nsWinRemoteServer.h"
|
||||||
# include "nsWinRemoteClient.h"
|
@@ -99,10 +104,11 @@ RemoteResult nsRemoteService::StartClient(const char* aDesktopStartupID) {
|
||||||
@@ -112,9 +118,11 @@ RemoteResult nsRemoteService::StartClient(const char* aDesktopStartupID) {
|
|
||||||
client = MakeUnique<nsDBusRemoteClient>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UniquePtr<nsRemoteClient> client;
|
||||||
|
+ return REMOTE_NOT_FOUND;
|
||||||
|
#ifdef MOZ_WIDGET_GTK
|
||||||
|
# if defined(MOZ_ENABLE_DBUS)
|
||||||
|
client = MakeUnique<nsDBusRemoteClient>();
|
||||||
|
-# else
|
||||||
|
+# elif defined(MOZ_X11)
|
||||||
|
client = MakeUnique<nsXRemoteClient>();
|
||||||
# endif
|
# endif
|
||||||
+#if defined(MOZ_X11)
|
|
||||||
if (!client && useX11Remote) {
|
|
||||||
client = MakeUnique<nsXRemoteClient>();
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
#elif defined(XP_WIN)
|
#elif defined(XP_WIN)
|
||||||
client = MakeUnique<nsWinRemoteClient>();
|
@@ -143,10 +149,11 @@ void nsRemoteService::StartupServer() {
|
||||||
#elif defined(XP_DARWIN)
|
return;
|
||||||
@@ -161,9 +169,11 @@ void nsRemoteService::StartupServer() {
|
|
||||||
mRemoteServer = MakeUnique<nsDBusRemoteServer>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ return;
|
||||||
|
#ifdef MOZ_WIDGET_GTK
|
||||||
|
# if defined(MOZ_ENABLE_DBUS)
|
||||||
|
mRemoteServer = MakeUnique<nsDBusRemoteServer>();
|
||||||
|
-# else
|
||||||
|
+# elif defined(MOZ_X11)
|
||||||
|
mRemoteServer = MakeUnique<nsGTKRemoteServer>();
|
||||||
# endif
|
# endif
|
||||||
+#if defined(MOZ_X11)
|
|
||||||
if (!mRemoteServer && useX11Remote) {
|
|
||||||
mRemoteServer = MakeUnique<nsGTKRemoteServer>();
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
#elif defined(XP_WIN)
|
#elif defined(XP_WIN)
|
||||||
mRemoteServer = MakeUnique<nsWinRemoteServer>();
|
|
||||||
#elif defined(XP_DARWIN)
|
|
||||||
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
|
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
|
||||||
index 56dd7bd195..da3487ce0f 100644
|
index f63780b892..deadf892d6 100644
|
||||||
--- a/toolkit/moz.configure
|
--- a/toolkit/moz.configure
|
||||||
+++ b/toolkit/moz.configure
|
+++ b/toolkit/moz.configure
|
||||||
@@ -1170,34 +1170,8 @@ set_define("MOZ_RAW", depends_if("--enable-raw")(lambda _: True))
|
@@ -1170,34 +1170,6 @@ set_define("MOZ_RAW", depends_if("--enable-raw")(lambda _: True))
|
||||||
|
|
||||||
# X11
|
# X11
|
||||||
# ==============================================================
|
# ==============================================================
|
||||||
|
@ -338,7 +347,7 @@ index 56dd7bd195..da3487ce0f 100644
|
||||||
- "xcb-shm",
|
- "xcb-shm",
|
||||||
- "x11-xcb",
|
- "x11-xcb",
|
||||||
- "xext",
|
- "xext",
|
||||||
- "xrender",
|
- "xrandr >= 1.4.0",
|
||||||
- ]
|
- ]
|
||||||
- if webrtc:
|
- if webrtc:
|
||||||
- # third_party/libwebrtc/webrtc/webrtc_gn/moz.build adds those
|
- # third_party/libwebrtc/webrtc/webrtc_gn/moz.build adds those
|
||||||
|
@ -354,13 +363,11 @@ index 56dd7bd195..da3487ce0f 100644
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
-pkg_check_modules("MOZ_X11", x11_libs, when=toolkit_gtk)
|
-pkg_check_modules("MOZ_X11", x11_libs, when=toolkit_gtk)
|
||||||
+
|
|
||||||
+
|
|
||||||
|
|
||||||
|
|
||||||
# ASan Reporter Addon
|
# ASan Reporter Addon
|
||||||
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
|
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
|
||||||
index bb14d84338..6353cd98a5 100644
|
index 332f340179..070f3128e0 100644
|
||||||
--- a/toolkit/xre/nsAppRunner.cpp
|
--- a/toolkit/xre/nsAppRunner.cpp
|
||||||
+++ b/toolkit/xre/nsAppRunner.cpp
|
+++ b/toolkit/xre/nsAppRunner.cpp
|
||||||
@@ -321,6 +321,7 @@ nsString gProcessStartupShortcut;
|
@@ -321,6 +321,7 @@ nsString gProcessStartupShortcut;
|
||||||
|
@ -450,40 +457,19 @@ index 20eb3634f3..10fb94a99f 100644
|
||||||
// PCompositorWidgetParent.
|
// PCompositorWidgetParent.
|
||||||
class CompositorWidgetParent;
|
class CompositorWidgetParent;
|
||||||
diff --git a/widget/gtk/MozContainer.cpp b/widget/gtk/MozContainer.cpp
|
diff --git a/widget/gtk/MozContainer.cpp b/widget/gtk/MozContainer.cpp
|
||||||
index 95832dc03d..94a992beb3 100644
|
index 95832dc03d..a21d2d2b40 100644
|
||||||
--- a/widget/gtk/MozContainer.cpp
|
--- a/widget/gtk/MozContainer.cpp
|
||||||
+++ b/widget/gtk/MozContainer.cpp
|
+++ b/widget/gtk/MozContainer.cpp
|
||||||
@@ -9,7 +9,12 @@
|
@@ -9,7 +9,9 @@
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
+#ifdef MOZ_X11
|
+#ifdef MOZ_X11
|
||||||
#include <gdk/gdkx.h>
|
#include <gdk/gdkx.h>
|
||||||
+#endif
|
|
||||||
+#ifdef MOZ_WAYLAND
|
|
||||||
+#include "mozilla/WidgetUtilsGtk.h"
|
|
||||||
+#endif
|
+#endif
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "mozilla/WidgetUtilsGtk.h"
|
#include "mozilla/WidgetUtilsGtk.h"
|
||||||
|
|
||||||
diff --git a/widget/gtk/WindowSurfaceWayland.cpp b/widget/gtk/WindowSurfaceWayland.cpp
|
|
||||||
index 1ed335300e..ca80c4685b 100644
|
|
||||||
--- a/widget/gtk/WindowSurfaceWayland.cpp
|
|
||||||
+++ b/widget/gtk/WindowSurfaceWayland.cpp
|
|
||||||
@@ -15,11 +15,13 @@
|
|
||||||
#include "mozilla/gfx/Tools.h"
|
|
||||||
#include "gfx2DGlue.h"
|
|
||||||
#include "gfxPlatform.h"
|
|
||||||
+#include "gfxImageSurface.h"
|
|
||||||
#include "MozContainer.h"
|
|
||||||
#include "mozilla/ScopeExit.h"
|
|
||||||
#include "mozilla/StaticPrefs_widget.h"
|
|
||||||
#include "mozilla/WidgetUtils.h"
|
|
||||||
#include "nsTArray.h"
|
|
||||||
+#include "prenv.h"
|
|
||||||
|
|
||||||
#ifdef MOZ_LOGGING
|
|
||||||
# include "mozilla/Logging.h"
|
|
||||||
diff --git a/widget/gtk/components.conf b/widget/gtk/components.conf
|
diff --git a/widget/gtk/components.conf b/widget/gtk/components.conf
|
||||||
index 38c07bd812..a125d8d275 100644
|
index 38c07bd812..a125d8d275 100644
|
||||||
--- a/widget/gtk/components.conf
|
--- a/widget/gtk/components.conf
|
||||||
|
@ -498,10 +484,10 @@ index 38c07bd812..a125d8d275 100644
|
||||||
{
|
{
|
||||||
'js_name': 'clipboard',
|
'js_name': 'clipboard',
|
||||||
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
||||||
index d7216a6927..907405006e 100644
|
index 291e3a78c8..7955b84d0c 100644
|
||||||
--- a/widget/gtk/moz.build
|
--- a/widget/gtk/moz.build
|
||||||
+++ b/widget/gtk/moz.build
|
+++ b/widget/gtk/moz.build
|
||||||
@@ -102,22 +102,26 @@ if CONFIG["MOZ_WAYLAND"]:
|
@@ -101,22 +101,26 @@ if CONFIG["MOZ_WAYLAND"]:
|
||||||
|
|
||||||
if CONFIG["MOZ_X11"]:
|
if CONFIG["MOZ_X11"]:
|
||||||
UNIFIED_SOURCES += [
|
UNIFIED_SOURCES += [
|
||||||
|
@ -538,7 +524,7 @@ index d7216a6927..907405006e 100644
|
||||||
|
|
||||||
if CONFIG["NS_PRINTING"]:
|
if CONFIG["NS_PRINTING"]:
|
||||||
UNIFIED_SOURCES += [
|
UNIFIED_SOURCES += [
|
||||||
@@ -146,7 +150,7 @@ LOCAL_INCLUDES += [
|
@@ -145,7 +149,7 @@ LOCAL_INCLUDES += [
|
||||||
"/widget/headless",
|
"/widget/headless",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -565,7 +551,7 @@ index 677f9b3561..b8cb7de58e 100644
|
||||||
MOZ_EXPORT Bool XShmQueryExtension(Display* aDisplay) { return False; }
|
MOZ_EXPORT Bool XShmQueryExtension(Display* aDisplay) { return False; }
|
||||||
+#endif
|
+#endif
|
||||||
diff --git a/widget/gtk/nsClipboard.cpp b/widget/gtk/nsClipboard.cpp
|
diff --git a/widget/gtk/nsClipboard.cpp b/widget/gtk/nsClipboard.cpp
|
||||||
index 75ad319a1e..f27e1d6659 100644
|
index 48160b39a4..5b99ba942a 100644
|
||||||
--- a/widget/gtk/nsClipboard.cpp
|
--- a/widget/gtk/nsClipboard.cpp
|
||||||
+++ b/widget/gtk/nsClipboard.cpp
|
+++ b/widget/gtk/nsClipboard.cpp
|
||||||
@@ -9,7 +9,9 @@
|
@@ -9,7 +9,9 @@
|
||||||
|
@ -606,6 +592,21 @@ index 75ad319a1e..f27e1d6659 100644
|
||||||
} else {
|
} else {
|
||||||
NS_WARNING("Missing nsRetrievalContext for nsClipboard!");
|
NS_WARNING("Missing nsRetrievalContext for nsClipboard!");
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
@@ -347,14 +347,6 @@ nsClipboard::GetData(nsITransferable* aTransferable, int32_t aWhichClipboard) {
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- // Filter out MIME types on X11 to prevent unwanted conversions,
|
||||||
|
- // see Bug 1611407
|
||||||
|
- if (widget::GdkIsX11Display()) {
|
||||||
|
- if (!FilterImportedFlavors(aWhichClipboard, flavors)) {
|
||||||
|
- return NS_OK;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
for (uint32_t i = 0; i < flavors.Length(); i++) {
|
||||||
|
nsCString& flavorStr = flavors[i];
|
||||||
|
|
||||||
diff --git a/widget/gtk/nsDeviceContextSpecG.cpp b/widget/gtk/nsDeviceContextSpecG.cpp
|
diff --git a/widget/gtk/nsDeviceContextSpecG.cpp b/widget/gtk/nsDeviceContextSpecG.cpp
|
||||||
index 3948c15cc5..968252b896 100644
|
index 3948c15cc5..968252b896 100644
|
||||||
--- a/widget/gtk/nsDeviceContextSpecG.cpp
|
--- a/widget/gtk/nsDeviceContextSpecG.cpp
|
||||||
|
@ -647,7 +648,7 @@ index 3948c15cc5..968252b896 100644
|
||||||
|
|
||||||
#define DECLARE_KNOWN_MONOCHROME_SETTING(key_, value_) {"cups-" key_, value_},
|
#define DECLARE_KNOWN_MONOCHROME_SETTING(key_, value_) {"cups-" key_, value_},
|
||||||
diff --git a/widget/gtk/nsDragService.cpp b/widget/gtk/nsDragService.cpp
|
diff --git a/widget/gtk/nsDragService.cpp b/widget/gtk/nsDragService.cpp
|
||||||
index 652facbe79..9ad7b37f90 100644
|
index fcd4236261..659c06260c 100644
|
||||||
--- a/widget/gtk/nsDragService.cpp
|
--- a/widget/gtk/nsDragService.cpp
|
||||||
+++ b/widget/gtk/nsDragService.cpp
|
+++ b/widget/gtk/nsDragService.cpp
|
||||||
@@ -23,7 +23,11 @@
|
@@ -23,7 +23,11 @@
|
||||||
|
@ -662,7 +663,7 @@ index 652facbe79..9ad7b37f90 100644
|
||||||
#include "nsCRT.h"
|
#include "nsCRT.h"
|
||||||
#include "mozilla/BasicEvents.h"
|
#include "mozilla/BasicEvents.h"
|
||||||
#include "mozilla/Services.h"
|
#include "mozilla/Services.h"
|
||||||
@@ -33,7 +37,6 @@
|
@@ -34,7 +38,6 @@
|
||||||
#include "mozilla/WidgetUtilsGtk.h"
|
#include "mozilla/WidgetUtilsGtk.h"
|
||||||
#include "GRefPtr.h"
|
#include "GRefPtr.h"
|
||||||
|
|
||||||
|
@ -670,7 +671,7 @@ index 652facbe79..9ad7b37f90 100644
|
||||||
#include "gfxContext.h"
|
#include "gfxContext.h"
|
||||||
#include "nsImageToPixbuf.h"
|
#include "nsImageToPixbuf.h"
|
||||||
#include "nsPresContext.h"
|
#include "nsPresContext.h"
|
||||||
@@ -50,6 +53,8 @@
|
@@ -52,6 +55,8 @@
|
||||||
#ifdef MOZ_WAYLAND
|
#ifdef MOZ_WAYLAND
|
||||||
# include "nsClipboardWayland.h"
|
# include "nsClipboardWayland.h"
|
||||||
# include "gfxPlatformGtk.h"
|
# include "gfxPlatformGtk.h"
|
||||||
|
@ -680,7 +681,7 @@ index 652facbe79..9ad7b37f90 100644
|
||||||
|
|
||||||
using namespace mozilla;
|
using namespace mozilla;
|
||||||
diff --git a/widget/gtk/nsGtkKeyUtils.cpp b/widget/gtk/nsGtkKeyUtils.cpp
|
diff --git a/widget/gtk/nsGtkKeyUtils.cpp b/widget/gtk/nsGtkKeyUtils.cpp
|
||||||
index f4c7030a37..a7489daf4d 100644
|
index f4c7030a37..a54d14988f 100644
|
||||||
--- a/widget/gtk/nsGtkKeyUtils.cpp
|
--- a/widget/gtk/nsGtkKeyUtils.cpp
|
||||||
+++ b/widget/gtk/nsGtkKeyUtils.cpp
|
+++ b/widget/gtk/nsGtkKeyUtils.cpp
|
||||||
@@ -12,10 +12,12 @@
|
@@ -12,10 +12,12 @@
|
||||||
|
@ -718,7 +719,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
|
|
||||||
Init();
|
Init();
|
||||||
}
|
}
|
||||||
@@ -365,16 +369,18 @@ void KeymapWrapper::Init() {
|
@@ -365,16 +369,19 @@ void KeymapWrapper::Init() {
|
||||||
mModifierKeys.Clear();
|
mModifierKeys.Clear();
|
||||||
memset(mModifierMasks, 0, sizeof(mModifierMasks));
|
memset(mModifierMasks, 0, sizeof(mModifierMasks));
|
||||||
|
|
||||||
|
@ -733,7 +734,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
InitBySystemSettingsWayland();
|
InitBySystemSettingsWayland();
|
||||||
- }
|
- }
|
||||||
#endif
|
#endif
|
||||||
-
|
|
||||||
+#ifdef MOZ_X11
|
+#ifdef MOZ_X11
|
||||||
+ }
|
+ }
|
||||||
gdk_window_add_filter(nullptr, FilterEvents, this);
|
gdk_window_add_filter(nullptr, FilterEvents, this);
|
||||||
|
@ -741,7 +742,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
|
|
||||||
MOZ_LOG(gKeymapWrapperLog, LogLevel::Info,
|
MOZ_LOG(gKeymapWrapperLog, LogLevel::Info,
|
||||||
("%p Init, CapsLock=0x%X, NumLock=0x%X, "
|
("%p Init, CapsLock=0x%X, NumLock=0x%X, "
|
||||||
@@ -387,6 +393,7 @@ void KeymapWrapper::Init() {
|
@@ -387,6 +394,7 @@ void KeymapWrapper::Init() {
|
||||||
GetModifierMask(SUPER), GetModifierMask(HYPER)));
|
GetModifierMask(SUPER), GetModifierMask(HYPER)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -749,7 +750,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
void KeymapWrapper::InitXKBExtension() {
|
void KeymapWrapper::InitXKBExtension() {
|
||||||
PodZero(&mKeyboardState);
|
PodZero(&mKeyboardState);
|
||||||
|
|
||||||
@@ -619,6 +626,7 @@ void KeymapWrapper::InitBySystemSettingsX11() {
|
@@ -619,6 +627,7 @@ void KeymapWrapper::InitBySystemSettingsX11() {
|
||||||
XFreeModifiermap(xmodmap);
|
XFreeModifiermap(xmodmap);
|
||||||
XFree(xkeymap);
|
XFree(xkeymap);
|
||||||
}
|
}
|
||||||
|
@ -757,7 +758,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
|
|
||||||
#ifdef MOZ_WAYLAND
|
#ifdef MOZ_WAYLAND
|
||||||
void KeymapWrapper::SetModifierMask(xkb_keymap* aKeymap,
|
void KeymapWrapper::SetModifierMask(xkb_keymap* aKeymap,
|
||||||
@@ -776,7 +784,9 @@ void KeymapWrapper::InitBySystemSettingsWayland() {
|
@@ -776,7 +785,9 @@ void KeymapWrapper::InitBySystemSettingsWayland() {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
KeymapWrapper::~KeymapWrapper() {
|
KeymapWrapper::~KeymapWrapper() {
|
||||||
|
@ -767,7 +768,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
if (mOnKeysChangedSignalHandle) {
|
if (mOnKeysChangedSignalHandle) {
|
||||||
g_signal_handler_disconnect(mGdkKeymap, mOnKeysChangedSignalHandle);
|
g_signal_handler_disconnect(mGdkKeymap, mOnKeysChangedSignalHandle);
|
||||||
}
|
}
|
||||||
@@ -787,6 +797,7 @@ KeymapWrapper::~KeymapWrapper() {
|
@@ -787,6 +798,7 @@ KeymapWrapper::~KeymapWrapper() {
|
||||||
MOZ_LOG(gKeymapWrapperLog, LogLevel::Info, ("%p Destructor", this));
|
MOZ_LOG(gKeymapWrapperLog, LogLevel::Info, ("%p Destructor", this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -775,7 +776,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
/* static */
|
/* static */
|
||||||
GdkFilterReturn KeymapWrapper::FilterEvents(GdkXEvent* aXEvent,
|
GdkFilterReturn KeymapWrapper::FilterEvents(GdkXEvent* aXEvent,
|
||||||
GdkEvent* aGdkEvent,
|
GdkEvent* aGdkEvent,
|
||||||
@@ -900,6 +911,7 @@ GdkFilterReturn KeymapWrapper::FilterEvents(GdkXEvent* aXEvent,
|
@@ -900,6 +912,7 @@ GdkFilterReturn KeymapWrapper::FilterEvents(GdkXEvent* aXEvent,
|
||||||
|
|
||||||
return GDK_FILTER_CONTINUE;
|
return GDK_FILTER_CONTINUE;
|
||||||
}
|
}
|
||||||
|
@ -783,7 +784,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
|
|
||||||
static void ResetBidiKeyboard() {
|
static void ResetBidiKeyboard() {
|
||||||
// Reset the bidi keyboard settings for the new GdkKeymap
|
// Reset the bidi keyboard settings for the new GdkKeymap
|
||||||
@@ -1760,6 +1772,7 @@ void KeymapWrapper::InitKeyEvent(WidgetKeyboardEvent& aKeyEvent,
|
@@ -1760,6 +1773,7 @@ void KeymapWrapper::InitKeyEvent(WidgetKeyboardEvent& aKeyEvent,
|
||||||
// state. It means if there're some pending modifier key press or
|
// state. It means if there're some pending modifier key press or
|
||||||
// key release events, the result isn't what we want.
|
// key release events, the result isn't what we want.
|
||||||
guint modifierState = aGdkKeyEvent->state;
|
guint modifierState = aGdkKeyEvent->state;
|
||||||
|
@ -791,7 +792,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
GdkDisplay* gdkDisplay = gdk_display_get_default();
|
GdkDisplay* gdkDisplay = gdk_display_get_default();
|
||||||
if (aGdkKeyEvent->is_modifier && GdkIsX11Display(gdkDisplay)) {
|
if (aGdkKeyEvent->is_modifier && GdkIsX11Display(gdkDisplay)) {
|
||||||
Display* display = gdk_x11_display_get_xdisplay(gdkDisplay);
|
Display* display = gdk_x11_display_get_xdisplay(gdkDisplay);
|
||||||
@@ -1777,6 +1790,7 @@ void KeymapWrapper::InitKeyEvent(WidgetKeyboardEvent& aKeyEvent,
|
@@ -1777,6 +1791,7 @@ void KeymapWrapper::InitKeyEvent(WidgetKeyboardEvent& aKeyEvent,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -799,7 +800,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
InitInputEvent(aKeyEvent, modifierState);
|
InitInputEvent(aKeyEvent, modifierState);
|
||||||
|
|
||||||
switch (aGdkKeyEvent->keyval) {
|
switch (aGdkKeyEvent->keyval) {
|
||||||
@@ -2023,6 +2037,7 @@ bool KeymapWrapper::IsLatinGroup(guint8 aGroup) {
|
@@ -2023,6 +2038,7 @@ bool KeymapWrapper::IsLatinGroup(guint8 aGroup) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -807,7 +808,7 @@ index f4c7030a37..a7489daf4d 100644
|
||||||
bool KeymapWrapper::IsAutoRepeatableKey(guint aHardwareKeyCode) {
|
bool KeymapWrapper::IsAutoRepeatableKey(guint aHardwareKeyCode) {
|
||||||
uint8_t indexOfArray = aHardwareKeyCode / 8;
|
uint8_t indexOfArray = aHardwareKeyCode / 8;
|
||||||
MOZ_ASSERT(indexOfArray < ArrayLength(mKeyboardState.auto_repeats),
|
MOZ_ASSERT(indexOfArray < ArrayLength(mKeyboardState.auto_repeats),
|
||||||
@@ -2030,6 +2045,7 @@ bool KeymapWrapper::IsAutoRepeatableKey(guint aHardwareKeyCode) {
|
@@ -2030,6 +2046,7 @@ bool KeymapWrapper::IsAutoRepeatableKey(guint aHardwareKeyCode) {
|
||||||
char bitMask = 1 << (aHardwareKeyCode % 8);
|
char bitMask = 1 << (aHardwareKeyCode % 8);
|
||||||
return (mKeyboardState.auto_repeats[indexOfArray] & bitMask) != 0;
|
return (mKeyboardState.auto_repeats[indexOfArray] & bitMask) != 0;
|
||||||
}
|
}
|
||||||
|
@ -884,7 +885,7 @@ index 0050af3af3..c2c02e59ff 100644
|
||||||
WaylandWindowHandleExportedData* data;
|
WaylandWindowHandleExportedData* data;
|
||||||
|
|
||||||
diff --git a/widget/gtk/nsUserIdleServiceGTK.cpp b/widget/gtk/nsUserIdleServiceGTK.cpp
|
diff --git a/widget/gtk/nsUserIdleServiceGTK.cpp b/widget/gtk/nsUserIdleServiceGTK.cpp
|
||||||
index 884d52a6ca..6a05d61e7a 100644
|
index 884d52a6ca..89bdc16b1a 100644
|
||||||
--- a/widget/gtk/nsUserIdleServiceGTK.cpp
|
--- a/widget/gtk/nsUserIdleServiceGTK.cpp
|
||||||
+++ b/widget/gtk/nsUserIdleServiceGTK.cpp
|
+++ b/widget/gtk/nsUserIdleServiceGTK.cpp
|
||||||
@@ -17,6 +17,7 @@ using mozilla::LogLevel;
|
@@ -17,6 +17,7 @@ using mozilla::LogLevel;
|
||||||
|
@ -1013,7 +1014,7 @@ index d649c7e0bf..70b47d5124 100644
|
||||||
nsresult nsWidgetGtk2ModuleCtor() { return nsAppShellInit(); }
|
nsresult nsWidgetGtk2ModuleCtor() { return nsAppShellInit(); }
|
||||||
|
|
||||||
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
||||||
index 378f4cd116..4bc036bbeb 100644
|
index aec5588fae..2df8558a4f 100644
|
||||||
--- a/widget/gtk/nsWindow.cpp
|
--- a/widget/gtk/nsWindow.cpp
|
||||||
+++ b/widget/gtk/nsWindow.cpp
|
+++ b/widget/gtk/nsWindow.cpp
|
||||||
@@ -58,7 +58,6 @@
|
@@ -58,7 +58,6 @@
|
||||||
|
@ -1082,7 +1083,28 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
|
|
||||||
} // namespace mozilla
|
} // namespace mozilla
|
||||||
|
|
||||||
@@ -2408,11 +2414,13 @@ void nsWindow::NativeMove() {
|
@@ -934,16 +940,20 @@ bool nsWindow::WidgetTypeSupportsAcceleration() {
|
||||||
|
if (mWindowType == eWindowType_popup) {
|
||||||
|
// See Bug 1731125. NVIDIA drivers does not provide transparent
|
||||||
|
// visual on X11/EGL.
|
||||||
|
+#ifdef MOZ_X11
|
||||||
|
if (GdkIsX11Display() && gfxVars::UseEGL()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
return HasRemoteContent() && mCompositedScreen;
|
||||||
|
}
|
||||||
|
// Workaround for Bug 1730822
|
||||||
|
+#ifdef MOZ_X11
|
||||||
|
if (mWindowType == eWindowType_child && GdkIsX11Display() &&
|
||||||
|
gfxVars::UseEGL()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@@ -2479,11 +2489,13 @@ void nsWindow::NativeMove() {
|
||||||
|
|
||||||
LOG(("nsWindow::NativeMove [%p] %d %d\n", (void*)this, point.x, point.y));
|
LOG(("nsWindow::NativeMove [%p] %d %d\n", (void*)this, point.x, point.y));
|
||||||
|
|
||||||
|
@ -1096,7 +1118,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
|
|
||||||
if (IsWaylandPopup()) {
|
if (IsWaylandPopup()) {
|
||||||
GdkRectangle size = DevicePixelsToGdkSizeRoundUp(mBounds.Size());
|
GdkRectangle size = DevicePixelsToGdkSizeRoundUp(mBounds.Size());
|
||||||
@@ -2496,6 +2504,7 @@ void nsWindow::SetSizeMode(nsSizeMode aMode) {
|
@@ -2567,6 +2579,7 @@ void nsWindow::SetSizeMode(nsSizeMode aMode) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool GetWindowManagerName(GdkWindow* gdk_window, nsACString& wmName) {
|
static bool GetWindowManagerName(GdkWindow* gdk_window, nsACString& wmName) {
|
||||||
|
@ -1104,7 +1126,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
if (!GdkIsX11Display()) {
|
if (!GdkIsX11Display()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2562,6 +2571,7 @@ static bool GetWindowManagerName(GdkWindow* gdk_window, nsACString& wmName) {
|
@@ -2633,6 +2646,7 @@ static bool GetWindowManagerName(GdkWindow* gdk_window, nsACString& wmName) {
|
||||||
}
|
}
|
||||||
|
|
||||||
wmName = reinterpret_cast<const char*>(prop_return);
|
wmName = reinterpret_cast<const char*>(prop_return);
|
||||||
|
@ -1112,7 +1134,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2619,6 +2629,7 @@ void nsWindow::GetWorkspaceID(nsAString& workspaceID) {
|
@@ -2690,6 +2704,7 @@ void nsWindow::GetWorkspaceID(nsAString& workspaceID) {
|
||||||
if (!GdkIsX11Display() || !mShell) {
|
if (!GdkIsX11Display() || !mShell) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1120,7 +1142,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
// Get the gdk window for this widget.
|
// Get the gdk window for this widget.
|
||||||
GdkWindow* gdk_window = gtk_widget_get_window(mShell);
|
GdkWindow* gdk_window = gtk_widget_get_window(mShell);
|
||||||
if (!gdk_window) {
|
if (!gdk_window) {
|
||||||
@@ -2647,9 +2658,11 @@ void nsWindow::GetWorkspaceID(nsAString& workspaceID) {
|
@@ -2718,9 +2733,11 @@ void nsWindow::GetWorkspaceID(nsAString& workspaceID) {
|
||||||
|
|
||||||
workspaceID.AppendInt((int32_t)wm_desktop[0]);
|
workspaceID.AppendInt((int32_t)wm_desktop[0]);
|
||||||
g_free(wm_desktop);
|
g_free(wm_desktop);
|
||||||
|
@ -1132,7 +1154,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
nsresult rv = NS_OK;
|
nsresult rv = NS_OK;
|
||||||
int32_t workspaceID = workspaceIDStr.ToInteger(&rv);
|
int32_t workspaceID = workspaceIDStr.ToInteger(&rv);
|
||||||
if (NS_FAILED(rv) || !workspaceID || !GdkIsX11Display() || !mShell) {
|
if (NS_FAILED(rv) || !workspaceID || !GdkIsX11Display() || !mShell) {
|
||||||
@@ -2689,6 +2702,7 @@ void nsWindow::MoveToWorkspace(const nsAString& workspaceIDStr) {
|
@@ -2760,6 +2777,7 @@ void nsWindow::MoveToWorkspace(const nsAString& workspaceIDStr) {
|
||||||
SubstructureNotifyMask | SubstructureRedirectMask, &xevent);
|
SubstructureNotifyMask | SubstructureRedirectMask, &xevent);
|
||||||
|
|
||||||
XFlush(xdisplay);
|
XFlush(xdisplay);
|
||||||
|
@ -1140,7 +1162,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
using SetUserTimeFunc = void (*)(GdkWindow*, guint32);
|
using SetUserTimeFunc = void (*)(GdkWindow*, guint32);
|
||||||
@@ -2729,9 +2743,13 @@ guint32 nsWindow::GetLastUserInputTime() {
|
@@ -2800,9 +2818,13 @@ guint32 nsWindow::GetLastUserInputTime() {
|
||||||
// button and key releases. Therefore use the most recent of
|
// button and key releases. Therefore use the most recent of
|
||||||
// gdk_x11_display_get_user_time and the last time that we have seen.
|
// gdk_x11_display_get_user_time and the last time that we have seen.
|
||||||
GdkDisplay* gdkDisplay = gdk_display_get_default();
|
GdkDisplay* gdkDisplay = gdk_display_get_default();
|
||||||
|
@ -1154,7 +1176,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
|
|
||||||
if (sLastUserInputTime != GDK_CURRENT_TIME &&
|
if (sLastUserInputTime != GDK_CURRENT_TIME &&
|
||||||
TimestampIsNewerThan(sLastUserInputTime, timestamp)) {
|
TimestampIsNewerThan(sLastUserInputTime, timestamp)) {
|
||||||
@@ -2889,6 +2907,7 @@ void nsWindow::UpdateClientOffsetFromFrameExtents() {
|
@@ -2960,6 +2982,7 @@ void nsWindow::UpdateClientOffsetFromFrameExtents() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1162,7 +1184,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
GdkAtom cardinal_atom = gdk_x11_xatom_to_atom(XA_CARDINAL);
|
GdkAtom cardinal_atom = gdk_x11_xatom_to_atom(XA_CARDINAL);
|
||||||
|
|
||||||
GdkAtom type_returned;
|
GdkAtom type_returned;
|
||||||
@@ -2914,6 +2933,7 @@ void nsWindow::UpdateClientOffsetFromFrameExtents() {
|
@@ -2985,6 +3008,7 @@ void nsWindow::UpdateClientOffsetFromFrameExtents() {
|
||||||
|
|
||||||
mClientOffset = nsIntPoint(left, top);
|
mClientOffset = nsIntPoint(left, top);
|
||||||
}
|
}
|
||||||
|
@ -1170,7 +1192,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
|
|
||||||
// Send a WindowMoved notification. This ensures that BrowserParent
|
// Send a WindowMoved notification. This ensures that BrowserParent
|
||||||
// picks up the new client offset and sends it to the child process
|
// picks up the new client offset and sends it to the child process
|
||||||
@@ -2932,6 +2952,7 @@ LayoutDeviceIntPoint nsWindow::GetClientOffset() {
|
@@ -3003,6 +3027,7 @@ LayoutDeviceIntPoint nsWindow::GetClientOffset() {
|
||||||
|
|
||||||
gboolean nsWindow::OnPropertyNotifyEvent(GtkWidget* aWidget,
|
gboolean nsWindow::OnPropertyNotifyEvent(GtkWidget* aWidget,
|
||||||
GdkEventProperty* aEvent) {
|
GdkEventProperty* aEvent) {
|
||||||
|
@ -1178,16 +1200,15 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
if (aEvent->atom == gdk_atom_intern("_NET_FRAME_EXTENTS", FALSE)) {
|
if (aEvent->atom == gdk_atom_intern("_NET_FRAME_EXTENTS", FALSE)) {
|
||||||
UpdateClientOffsetFromFrameExtents();
|
UpdateClientOffsetFromFrameExtents();
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@@ -2940,7 +2961,7 @@ gboolean nsWindow::OnPropertyNotifyEvent(GtkWidget* aWidget,
|
@@ -3012,6 +3037,7 @@ gboolean nsWindow::OnPropertyNotifyEvent(GtkWidget* aWidget,
|
||||||
if (GetCurrentTimeGetter()->PropertyNotifyHandler(aWidget, aEvent)) {
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
-
|
|
||||||
+#endif
|
+#endif
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3078,9 +3099,11 @@ void* nsWindow::GetNativeData(uint32_t aDataType) {
|
@@ -3149,9 +3175,11 @@ void* nsWindow::GetNativeData(uint32_t aDataType) {
|
||||||
return GetToplevelWidget();
|
return GetToplevelWidget();
|
||||||
|
|
||||||
case NS_NATIVE_WINDOW_WEBRTC_DEVICE_ID:
|
case NS_NATIVE_WINDOW_WEBRTC_DEVICE_ID:
|
||||||
|
@ -1199,7 +1220,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
NS_WARNING(
|
NS_WARNING(
|
||||||
"nsWindow::GetNativeData(): NS_NATIVE_WINDOW_WEBRTC_DEVICE_ID is not "
|
"nsWindow::GetNativeData(): NS_NATIVE_WINDOW_WEBRTC_DEVICE_ID is not "
|
||||||
"handled on Wayland!");
|
"handled on Wayland!");
|
||||||
@@ -3100,9 +3123,11 @@ void* nsWindow::GetNativeData(uint32_t aDataType) {
|
@@ -3171,9 +3199,11 @@ void* nsWindow::GetNativeData(uint32_t aDataType) {
|
||||||
case NS_NATIVE_OPENGL_CONTEXT:
|
case NS_NATIVE_OPENGL_CONTEXT:
|
||||||
return nullptr;
|
return nullptr;
|
||||||
case NS_NATIVE_EGL_WINDOW: {
|
case NS_NATIVE_EGL_WINDOW: {
|
||||||
|
@ -1211,21 +1232,16 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
#ifdef MOZ_WAYLAND
|
#ifdef MOZ_WAYLAND
|
||||||
if (mContainer) {
|
if (mContainer) {
|
||||||
return moz_container_wayland_get_egl_window(mContainer,
|
return moz_container_wayland_get_egl_window(mContainer,
|
||||||
@@ -3425,8 +3450,13 @@ gboolean nsWindow::OnExposeEvent(cairo_t* cr) {
|
@@ -3497,7 +3527,7 @@ gboolean nsWindow::OnExposeEvent(cairo_t* cr) {
|
||||||
nsIWidgetListener* listener = GetListener();
|
|
||||||
if (!listener) return FALSE;
|
if (!listener) return FALSE;
|
||||||
|
|
||||||
+#ifdef MOZ_X11
|
|
||||||
LOG(("received expose event [%p] %p 0x%lx (rects follow):\n", this,
|
LOG(("received expose event [%p] %p 0x%lx (rects follow):\n", this,
|
||||||
mGdkWindow, GdkIsX11Display() ? gdk_x11_window_get_xid(mGdkWindow) : 0));
|
- mGdkWindow, GdkIsX11Display() ? gdk_x11_window_get_xid(mGdkWindow) : 0));
|
||||||
+#else
|
|
||||||
+ LOG(("received expose event [%p] %p 0x%lx (rects follow):\n", this,
|
|
||||||
+ mGdkWindow, 0));
|
+ mGdkWindow, 0));
|
||||||
+#endif
|
|
||||||
LayoutDeviceIntRegion exposeRegion;
|
LayoutDeviceIntRegion exposeRegion;
|
||||||
if (!ExtractExposeRegion(exposeRegion, cr)) {
|
if (!ExtractExposeRegion(exposeRegion, cr)) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@@ -3970,6 +4000,7 @@ void nsWindow::OnMotionNotifyEvent(GdkEventMotion* aEvent) {
|
@@ -4041,6 +4071,7 @@ void nsWindow::OnMotionNotifyEvent(GdkEventMotion* aEvent) {
|
||||||
MOZ_ASSERT(gdk_window, "gdk_window_get_toplevel should not return null");
|
MOZ_ASSERT(gdk_window, "gdk_window_get_toplevel should not return null");
|
||||||
|
|
||||||
bool canDrag = true;
|
bool canDrag = true;
|
||||||
|
@ -1233,7 +1249,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
if (GdkIsX11Display()) {
|
if (GdkIsX11Display()) {
|
||||||
// Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=789054
|
// Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=789054
|
||||||
// To avoid crashes disable double-click on WM without _NET_WM_MOVERESIZE.
|
// To avoid crashes disable double-click on WM without _NET_WM_MOVERESIZE.
|
||||||
@@ -3980,6 +4011,7 @@ void nsWindow::OnMotionNotifyEvent(GdkEventMotion* aEvent) {
|
@@ -4051,6 +4082,7 @@ void nsWindow::OnMotionNotifyEvent(GdkEventMotion* aEvent) {
|
||||||
canDrag = false;
|
canDrag = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1241,7 +1257,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
|
|
||||||
if (canDrag) {
|
if (canDrag) {
|
||||||
gdk_window_begin_move_drag(gdk_window, 1, aEvent->x_root, aEvent->y_root,
|
gdk_window_begin_move_drag(gdk_window, 1, aEvent->x_root, aEvent->y_root,
|
||||||
@@ -4428,16 +4460,20 @@ TimeStamp nsWindow::GetEventTimeStamp(guint32 aEventTime) {
|
@@ -4499,16 +4531,20 @@ TimeStamp nsWindow::GetEventTimeStamp(guint32 aEventTime) {
|
||||||
int64_t tick =
|
int64_t tick =
|
||||||
BaseTimeDurationPlatformUtils::TicksFromMilliseconds(timestampTime);
|
BaseTimeDurationPlatformUtils::TicksFromMilliseconds(timestampTime);
|
||||||
eventTimeStamp = TimeStamp::FromSystemTime(tick);
|
eventTimeStamp = TimeStamp::FromSystemTime(tick);
|
||||||
|
@ -1263,7 +1279,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
mozilla::CurrentX11TimeGetter* nsWindow::GetCurrentTimeGetter() {
|
mozilla::CurrentX11TimeGetter* nsWindow::GetCurrentTimeGetter() {
|
||||||
MOZ_ASSERT(mGdkWindow, "Expected mGdkWindow to be set");
|
MOZ_ASSERT(mGdkWindow, "Expected mGdkWindow to be set");
|
||||||
if (MOZ_UNLIKELY(!mCurrentTimeGetter)) {
|
if (MOZ_UNLIKELY(!mCurrentTimeGetter)) {
|
||||||
@@ -4445,6 +4481,7 @@ mozilla::CurrentX11TimeGetter* nsWindow::GetCurrentTimeGetter() {
|
@@ -4516,6 +4552,7 @@ mozilla::CurrentX11TimeGetter* nsWindow::GetCurrentTimeGetter() {
|
||||||
}
|
}
|
||||||
return mCurrentTimeGetter.get();
|
return mCurrentTimeGetter.get();
|
||||||
}
|
}
|
||||||
|
@ -1271,7 +1287,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
|
|
||||||
gboolean nsWindow::OnKeyPressEvent(GdkEventKey* aEvent) {
|
gboolean nsWindow::OnKeyPressEvent(GdkEventKey* aEvent) {
|
||||||
LOG(("OnKeyPressEvent [%p]\n", (void*)this));
|
LOG(("OnKeyPressEvent [%p]\n", (void*)this));
|
||||||
@@ -5029,6 +5066,7 @@ static GdkWindow* CreateGdkWindow(GdkWindow* parent, GtkWidget* widget) {
|
@@ -5100,6 +5137,7 @@ static GdkWindow* CreateGdkWindow(GdkWindow* parent, GtkWidget* widget) {
|
||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1279,7 +1295,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
// Configure GL visual on X11. We add alpha silently
|
// Configure GL visual on X11. We add alpha silently
|
||||||
// if we use WebRender to workaround NVIDIA specific Bug 1663273.
|
// if we use WebRender to workaround NVIDIA specific Bug 1663273.
|
||||||
bool nsWindow::ConfigureX11GLVisual(bool aUseAlpha) {
|
bool nsWindow::ConfigureX11GLVisual(bool aUseAlpha) {
|
||||||
@@ -5085,6 +5123,7 @@ bool nsWindow::ConfigureX11GLVisual(bool aUseAlpha) {
|
@@ -5156,6 +5194,7 @@ bool nsWindow::ConfigureX11GLVisual(bool aUseAlpha) {
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1287,23 +1303,16 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
|
|
||||||
nsCString nsWindow::GetWindowNodeName() {
|
nsCString nsWindow::GetWindowNodeName() {
|
||||||
nsCString nodeName("Unknown");
|
nsCString nodeName("Unknown");
|
||||||
@@ -5667,9 +5706,15 @@ nsresult nsWindow::Create(nsIWidget* aParent, nsNativeWidget aNativeParent,
|
@@ -5740,7 +5779,7 @@ nsresult nsWindow::Create(nsIWidget* aParent, nsNativeWidget aNativeParent,
|
||||||
LOG(("nsWindow [%p] type %d %s\n", (void*)this, mWindowType,
|
|
||||||
mIsPIPWindow ? "PIP window" : ""));
|
|
||||||
if (mShell) {
|
if (mShell) {
|
||||||
+#ifdef MOZ_X11
|
|
||||||
LOG(("\tmShell %p mContainer %p mGdkWindow %p XID 0x%lx\n", mShell,
|
LOG(("\tmShell %p mContainer %p mGdkWindow %p XID 0x%lx\n", mShell,
|
||||||
mContainer, mGdkWindow,
|
mContainer, mGdkWindow,
|
||||||
GdkIsX11Display() ? gdk_x11_window_get_xid(mGdkWindow) : 0));
|
- GdkIsX11Display() ? gdk_x11_window_get_xid(mGdkWindow) : 0));
|
||||||
+#else
|
|
||||||
+ LOG(("\tmShell %p mContainer %p mGdkWindow %p XID 0x%lx\n", mShell,
|
|
||||||
+ mContainer, mGdkWindow,
|
|
||||||
+ 0));
|
+ 0));
|
||||||
+#endif
|
|
||||||
} else if (mContainer) {
|
} else if (mContainer) {
|
||||||
LOG(("\tmContainer %p mGdkWindow %p\n", mContainer, mGdkWindow));
|
LOG(("\tmContainer %p mGdkWindow %p\n", mContainer, mGdkWindow));
|
||||||
} else if (mGdkWindow) {
|
} else if (mGdkWindow) {
|
||||||
@@ -6741,6 +6786,7 @@ void nsWindow::UpdateTitlebarTransparencyBitmap() {
|
@@ -6812,6 +6851,7 @@ void nsWindow::UpdateTitlebarTransparencyBitmap() {
|
||||||
cairo_surface_destroy(surface);
|
cairo_surface_destroy(surface);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1311,7 +1320,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
if (!mNeedsShow) {
|
if (!mNeedsShow) {
|
||||||
Display* xDisplay = GDK_WINDOW_XDISPLAY(mGdkWindow);
|
Display* xDisplay = GDK_WINDOW_XDISPLAY(mGdkWindow);
|
||||||
Window xDrawable = GDK_WINDOW_XID(mGdkWindow);
|
Window xDrawable = GDK_WINDOW_XID(mGdkWindow);
|
||||||
@@ -6763,6 +6809,7 @@ void nsWindow::UpdateTitlebarTransparencyBitmap() {
|
@@ -6834,6 +6874,7 @@ void nsWindow::UpdateTitlebarTransparencyBitmap() {
|
||||||
|
|
||||||
XFreePixmap(xDisplay, maskPixmap);
|
XFreePixmap(xDisplay, maskPixmap);
|
||||||
}
|
}
|
||||||
|
@ -1319,7 +1328,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
void nsWindow::GrabPointer(guint32 aTime) {
|
void nsWindow::GrabPointer(guint32 aTime) {
|
||||||
@@ -7045,7 +7092,7 @@ static bool IsFullscreenSupported(GtkWidget* aShell) {
|
@@ -7116,7 +7157,7 @@ static bool IsFullscreenSupported(GtkWidget* aShell) {
|
||||||
GdkScreen* screen = gtk_widget_get_screen(aShell);
|
GdkScreen* screen = gtk_widget_get_screen(aShell);
|
||||||
GdkAtom atom = gdk_atom_intern("_NET_WM_STATE_FULLSCREEN", FALSE);
|
GdkAtom atom = gdk_atom_intern("_NET_WM_STATE_FULLSCREEN", FALSE);
|
||||||
return gdk_x11_screen_supports_net_wm_hint(screen, atom);
|
return gdk_x11_screen_supports_net_wm_hint(screen, atom);
|
||||||
|
@ -1328,7 +1337,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
return true;
|
return true;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -8318,6 +8365,7 @@ bool nsWindow::GetDragInfo(WidgetMouseEvent* aMouseEvent, GdkWindow** aWindow,
|
@@ -8396,6 +8437,7 @@ bool nsWindow::GetDragInfo(WidgetMouseEvent* aMouseEvent, GdkWindow** aWindow,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1336,7 +1345,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
if (GdkIsX11Display()) {
|
if (GdkIsX11Display()) {
|
||||||
// Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=789054
|
// Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=789054
|
||||||
// To avoid crashes disable double-click on WM without _NET_WM_MOVERESIZE.
|
// To avoid crashes disable double-click on WM without _NET_WM_MOVERESIZE.
|
||||||
@@ -8333,6 +8381,7 @@ bool nsWindow::GetDragInfo(WidgetMouseEvent* aMouseEvent, GdkWindow** aWindow,
|
@@ -8411,6 +8453,7 @@ bool nsWindow::GetDragInfo(WidgetMouseEvent* aMouseEvent, GdkWindow** aWindow,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1344,7 +1353,7 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
|
|
||||||
// FIXME: It would be nice to have the widget position at the time
|
// FIXME: It would be nice to have the widget position at the time
|
||||||
// of the event, but it's relatively unlikely that the widget has
|
// of the event, but it's relatively unlikely that the widget has
|
||||||
@@ -9053,6 +9102,7 @@ void nsWindow::GetCompositorWidgetInitData(
|
@@ -9131,6 +9174,7 @@ void nsWindow::GetCompositorWidgetInitData(
|
||||||
mozilla::widget::CompositorWidgetInitData* aInitData) {
|
mozilla::widget::CompositorWidgetInitData* aInitData) {
|
||||||
nsCString displayName;
|
nsCString displayName;
|
||||||
|
|
||||||
|
@ -1352,21 +1361,19 @@ index 378f4cd116..4bc036bbeb 100644
|
||||||
if (GdkIsX11Display() && mXWindow != X11None) {
|
if (GdkIsX11Display() && mXWindow != X11None) {
|
||||||
// Make sure the window XID is propagated to X server, we can fail otherwise
|
// Make sure the window XID is propagated to X server, we can fail otherwise
|
||||||
// in GPU process (Bug 1401634).
|
// in GPU process (Bug 1401634).
|
||||||
@@ -9066,6 +9116,12 @@ void nsWindow::GetCompositorWidgetInitData(
|
@@ -9144,6 +9188,10 @@ void nsWindow::GetCompositorWidgetInitData(
|
||||||
*aInitData = mozilla::widget::GtkCompositorWidgetInitData(
|
*aInitData = mozilla::widget::GtkCompositorWidgetInitData(
|
||||||
(mXWindow != X11None) ? mXWindow : (uintptr_t) nullptr, displayName,
|
(mXWindow != X11None) ? mXWindow : (uintptr_t) nullptr, displayName,
|
||||||
isShaped, GdkIsX11Display(), GetClientSize());
|
isShaped, GdkIsX11Display(), GetClientSize());
|
||||||
+#else
|
+#else
|
||||||
+ *aInitData = mozilla::widget::GtkCompositorWidgetInitData(
|
+ *aInitData = mozilla::widget::GtkCompositorWidgetInitData(
|
||||||
+ (uintptr_t) nullptr,
|
+ (uintptr_t) nullptr, nsCString(), 0, 0, GetClientSize());
|
||||||
+ nsCString(), 0,
|
|
||||||
+ 0, GetClientSize());
|
|
||||||
+#endif
|
+#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MOZ_WAYLAND
|
#ifdef MOZ_X11
|
||||||
diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
|
diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
|
||||||
index a8ab09a441..0231377924 100644
|
index 4b524a0795..2479298799 100644
|
||||||
--- a/widget/gtk/nsWindow.h
|
--- a/widget/gtk/nsWindow.h
|
||||||
+++ b/widget/gtk/nsWindow.h
|
+++ b/widget/gtk/nsWindow.h
|
||||||
@@ -93,7 +93,9 @@ typedef struct _GdkEventTouchpadPinch GdkEventTouchpadPinch;
|
@@ -93,7 +93,9 @@ typedef struct _GdkEventTouchpadPinch GdkEventTouchpadPinch;
|
||||||
|
@ -1389,7 +1396,7 @@ index a8ab09a441..0231377924 100644
|
||||||
|
|
||||||
virtual void SetInputContext(const InputContext& aContext,
|
virtual void SetInputContext(const InputContext& aContext,
|
||||||
const InputContextAction& aAction) override;
|
const InputContextAction& aAction) override;
|
||||||
@@ -805,7 +809,9 @@ class nsWindow final : public nsBaseWidget {
|
@@ -806,7 +810,9 @@ class nsWindow final : public nsBaseWidget {
|
||||||
*/
|
*/
|
||||||
RefPtr<mozilla::widget::IMContextWrapper> mIMContext;
|
RefPtr<mozilla::widget::IMContextWrapper> mIMContext;
|
||||||
|
|
||||||
|
@ -1399,7 +1406,7 @@ index a8ab09a441..0231377924 100644
|
||||||
static GtkWindowDecoration sGtkWindowDecoration;
|
static GtkWindowDecoration sGtkWindowDecoration;
|
||||||
|
|
||||||
static bool sTransparentMainWindow;
|
static bool sTransparentMainWindow;
|
||||||
@@ -856,6 +862,7 @@ class nsWindow final : public nsBaseWidget {
|
@@ -857,6 +863,7 @@ class nsWindow final : public nsBaseWidget {
|
||||||
void DispatchRestoreEventAccessible();
|
void DispatchRestoreEventAccessible();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1407,7 +1414,7 @@ index a8ab09a441..0231377924 100644
|
||||||
#ifdef MOZ_X11
|
#ifdef MOZ_X11
|
||||||
typedef enum {GTK_WIDGET_COMPOSIDED_DEFAULT = 0,
|
typedef enum {GTK_WIDGET_COMPOSIDED_DEFAULT = 0,
|
||||||
GTK_WIDGET_COMPOSIDED_DISABLED = 1,
|
GTK_WIDGET_COMPOSIDED_DISABLED = 1,
|
||||||
@@ -865,7 +872,6 @@ class nsWindow final : public nsBaseWidget {
|
@@ -866,7 +873,6 @@ class nsWindow final : public nsBaseWidget {
|
||||||
Window mXWindow;
|
Window mXWindow;
|
||||||
Visual* mXVisual;
|
Visual* mXVisual;
|
||||||
int mXDepth;
|
int mXDepth;
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
93.0 1
|
94.0 1
|
||||||
|
|
|
@ -1,126 +0,0 @@
|
||||||
firefox
|
|
||||||
________________________________________________________________________________
|
|
||||||
|
|
||||||
Mozilla Firefox or simply Firefox, is a free and open-source web browser
|
|
||||||
developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation.
|
|
||||||
Firefox uses the Gecko rendering engine to display web pages. [0]
|
|
||||||
|
|
||||||
Upstream: https://www.mozilla.org/firefox
|
|
||||||
|
|
||||||
|
|
||||||
[000] Index
|
|
||||||
________________________________________________________________________________
|
|
||||||
|
|
||||||
* Installation ........................................................... [001]
|
|
||||||
* Runtime Dependencies ................................................. [002]
|
|
||||||
* Privacy Package ...................................................... [003]
|
|
||||||
* Setup .................................................................. [004]
|
|
||||||
* Enable VAAPI Acceleration ............................................ [005]
|
|
||||||
* Usage .................................................................. [006]
|
|
||||||
* References ............................................................. [007]
|
|
||||||
|
|
||||||
|
|
||||||
[001] Installation
|
|
||||||
________________________________________________________________________________
|
|
||||||
|
|
||||||
+------------------------------------------------------------------------------+
|
|
||||||
| |
|
|
||||||
| $ kiss b firefox |
|
|
||||||
| |
|
|
||||||
+------------------------------------------------------------------------------+
|
|
||||||
|
|
||||||
|
|
||||||
--[002] Runtime Dependencies ---------------------------------------------------
|
|
||||||
|
|
||||||
Firefox needs a few additional things to be fully functional. One is an icon
|
|
||||||
theme and the other is a font. If you have already installed the fonts and
|
|
||||||
icon theme of your choosing, this step can be skipped.
|
|
||||||
|
|
||||||
+----------------------------------------------------------------------------+
|
|
||||||
| |
|
|
||||||
| $ kiss b [hicolor-icon-theme|adwaita-icon-theme] |
|
|
||||||
| $ kiss b ttf-croscore |
|
|
||||||
| |
|
|
||||||
+----------------------------------------------------------------------------+
|
|
||||||
|
|
||||||
|
|
||||||
--[003] Privacy Package --------------------------------------------------------
|
|
||||||
|
|
||||||
Provided is also an optional privacy package which makes Firefox perform zero
|
|
||||||
unsolicited network requests. More information can be found in the
|
|
||||||
documentation (@/firefox-privacy) Expect some website breakage when using this
|
|
||||||
privacy package YMMV.
|
|
||||||
|
|
||||||
+----------------------------------------------------------------------------+
|
|
||||||
| |
|
|
||||||
| $ kiss b firefox-privacy |
|
|
||||||
| |
|
|
||||||
+----------------------------------------------------------------------------+
|
|
||||||
|
|
||||||
|
|
||||||
[004] Setup
|
|
||||||
________________________________________________________________________________
|
|
||||||
|
|
||||||
As of Firefox 91. There is no need to set special environment variables to
|
|
||||||
enable Wayland support (in a Wayland only environment like ours). The browser
|
|
||||||
should start with no further configuration.
|
|
||||||
|
|
||||||
|
|
||||||
--[005] Enable VAAPI Acceleration ----------------------------------------------
|
|
||||||
|
|
||||||
Make sure that the following are set in your about:config page.
|
|
||||||
|
|
||||||
+------------------------------------------------------------------------------+
|
|
||||||
| |
|
|
||||||
| about:config |
|
|
||||||
| |
|
|
||||||
| gfx.webrender.all=true |
|
|
||||||
| media.av1.enabled=false |
|
|
||||||
| media.ffmpeg.dmabuf-textures.disabled=false |
|
|
||||||
| media.ffmpeg.vaapi.enabled=true |
|
|
||||||
| media.ffvpx.enabled=false |
|
|
||||||
| |
|
|
||||||
+------------------------------------------------------------------------------+
|
|
||||||
|
|
||||||
If using AMDGPU, the following kernel option must be enabled. [1]
|
|
||||||
|
|
||||||
+------------------------------------------------------------------------------+
|
|
||||||
| |
|
|
||||||
| .config |
|
|
||||||
| |
|
|
||||||
| CONFIG_CHECKPOINT_RESTORE=y |
|
|
||||||
| |
|
|
||||||
+------------------------------------------------------------------------------+
|
|
||||||
|
|
||||||
You may also need to set the following environment variable.
|
|
||||||
|
|
||||||
+------------------------------------------------------------------------------+
|
|
||||||
| |
|
|
||||||
| .profile |
|
|
||||||
| |
|
|
||||||
| export MOZ_WAYLAND_DRM_DEVICE=/dev/dri/renderD128 |
|
|
||||||
| |
|
|
||||||
+------------------------------------------------------------------------------+
|
|
||||||
|
|
||||||
To verify that VAAPI is working, launch Firefox with the following argument and
|
|
||||||
attempt to watch a video. Pay attention for errors in the output.
|
|
||||||
|
|
||||||
+------------------------------------------------------------------------------+
|
|
||||||
| |
|
|
||||||
| $ firefox --MOZ_LOG=PlatformDecoderModule:4 |
|
|
||||||
| |
|
|
||||||
+------------------------------------------------------------------------------+
|
|
||||||
|
|
||||||
|
|
||||||
[006] Usage
|
|
||||||
________________________________________________________________________________
|
|
||||||
|
|
||||||
Refer to the browser's help output and online documentation for further
|
|
||||||
information.
|
|
||||||
|
|
||||||
|
|
||||||
[007] References
|
|
||||||
________________________________________________________________________________
|
|
||||||
|
|
||||||
[0] https://en.wikipedia.org/wiki/Firefox
|
|
||||||
|
|
|
@ -1,119 +0,0 @@
|
||||||
#!/bin/sh -e
|
|
||||||
|
|
||||||
for p in *.patch; do
|
|
||||||
patch -p1 < "$p"
|
|
||||||
done
|
|
||||||
|
|
||||||
# X11-less webrtc patch from bugzilla. Very large so a URL is used.
|
|
||||||
patch -p1 < attachment.cgi\?id=9202429
|
|
||||||
|
|
||||||
# Build autoconf 2.13 for Firefox's sole use.
|
|
||||||
# See: https://bugzilla.mozilla.org/show_bug.cgi?id=104642
|
|
||||||
(
|
|
||||||
cd autoconf2.13
|
|
||||||
|
|
||||||
./configure \
|
|
||||||
--prefix="$PWD/../junk" \
|
|
||||||
--program-suffix=-2.13
|
|
||||||
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
)
|
|
||||||
|
|
||||||
# Build yasm for Firefox's sole use. Firefox is the only package which needs it
|
|
||||||
# and upstream is kinda dead.
|
|
||||||
(
|
|
||||||
cd yasm
|
|
||||||
|
|
||||||
./configure \
|
|
||||||
--prefix=/
|
|
||||||
|
|
||||||
make
|
|
||||||
make DESTDIR="$PWD/../junk" install
|
|
||||||
)
|
|
||||||
|
|
||||||
# Build zip/unzip for Firefox's sole use.
|
|
||||||
for f in zip unzip; do (
|
|
||||||
cd "$f"
|
|
||||||
|
|
||||||
make \
|
|
||||||
CC="$CC $CFLAGS $CXXFLAGS" \
|
|
||||||
-f unix/Makefile generic
|
|
||||||
|
|
||||||
make \
|
|
||||||
prefix="$PWD/../junk" \
|
|
||||||
-f unix/Makefile install
|
|
||||||
) done
|
|
||||||
|
|
||||||
export PATH="$PWD/junk/bin:$PATH"
|
|
||||||
|
|
||||||
# If using libc++, CXXSTDLIB needs to be set manually.
|
|
||||||
case $("$CC" -print-file-name=libc++.so) in */*)
|
|
||||||
export CXXSTDLIB=c++
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Instruct the compiler to trim absolute paths in resulting binaries and instead
|
|
||||||
# change them to relative paths ($PWD/... ./...).
|
|
||||||
export RUSTFLAGS="$RUSTFLAGS --remap-path-prefix=$PWD=."
|
|
||||||
|
|
||||||
export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/firefox,--enable-new-dtags"
|
|
||||||
export RUSTFLAGS="$RUSTFLAGS -Cdebuginfo=0"
|
|
||||||
export MACH_USE_SYSTEM_PYTHON=1
|
|
||||||
export MOZ_DEBUG_FLAGS=-g0
|
|
||||||
export MOZBUILD_STATE_PATH=$PWD/state
|
|
||||||
export MOZ_NOSPAM=1
|
|
||||||
|
|
||||||
cat > .mozconfig << EOF
|
|
||||||
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
|
|
||||||
ac_add_options --prefix=/usr
|
|
||||||
ac_add_options --libdir=/usr/lib
|
|
||||||
ac_add_options --enable-alsa
|
|
||||||
ac_add_options --enable-strip
|
|
||||||
ac_add_options --enable-release
|
|
||||||
ac_add_options --enable-rust-simd
|
|
||||||
ac_add_options --enable-install-strip
|
|
||||||
ac_add_options --enable-official-branding
|
|
||||||
ac_add_options --enable-application=browser
|
|
||||||
ac_add_options --enable-optimize="${CFLAGS:-} -w"
|
|
||||||
ac_add_options --with-system-libvpx
|
|
||||||
ac_add_options --with-system-ffi
|
|
||||||
ac_add_options --with-system-png
|
|
||||||
ac_add_options --with-system-jpeg
|
|
||||||
ac_add_options --with-system-zlib
|
|
||||||
ac_add_options --with-system-pixman
|
|
||||||
ac_add_options --without-system-nss
|
|
||||||
ac_add_options --without-system-nspr
|
|
||||||
ac_add_options --disable-eme
|
|
||||||
ac_add_options --disable-dbus
|
|
||||||
ac_add_options --disable-gold
|
|
||||||
ac_add_options --disable-tests
|
|
||||||
ac_add_options --disable-vtune
|
|
||||||
ac_add_options --disable-updater
|
|
||||||
ac_add_options --disable-jemalloc
|
|
||||||
ac_add_options --disable-elf-hack
|
|
||||||
ac_add_options --disable-callgrind
|
|
||||||
ac_add_options --disable-profiling
|
|
||||||
ac_add_options --disable-necko-wifi
|
|
||||||
ac_add_options --disable-crashreporter
|
|
||||||
ac_add_options --disable-pulseaudio
|
|
||||||
ac_add_options --disable-accessibility
|
|
||||||
ac_add_options --disable-debug
|
|
||||||
ac_add_options --disable-debug-symbols
|
|
||||||
ac_add_options --disable-parental-controls
|
|
||||||
ac_add_options --disable-system-extension-dirs
|
|
||||||
EOF
|
|
||||||
|
|
||||||
./mach build
|
|
||||||
./mach install
|
|
||||||
|
|
||||||
# Remove a lot of uneeded "stuff".
|
|
||||||
rm -rf \
|
|
||||||
"$1/usr/include" \
|
|
||||||
"$1/usr/lib/firefox-devel" \
|
|
||||||
"$1/usr/share/idl" \
|
|
||||||
"$1/usr/lib/firefox/browser/features/fxmonitor@mozilla.org.xpi" \
|
|
||||||
"$1/usr/lib/firefox/browser/features/screenshots@mozilla.org.xpi" \
|
|
||||||
"$1/usr/lib/firefox/browser/features/webcompat-reporter@mozilla.org.xpi" \
|
|
||||||
"$1/usr/lib/firefox/browser/features/webcompat@mozilla.org.xpi" \
|
|
||||||
"$1/usr/lib/firefox/browser/features/doh-rollout@mozilla.org.xpi"
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
b7bb8c5fcc74a74e9d2b55d1e9415b891305fe86520fb854cec25024d7e5de67
|
|
||||||
f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e
|
|
||||||
3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f
|
|
||||||
f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369
|
|
||||||
036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37
|
|
||||||
42b3c7a29e61905be0e7425b8786870eb1d1c9e0f74c3f0909521b2ac52ac702
|
|
||||||
2b5732c15e7eade2a01ad9794de372f25fbb75e4e2f53bce089548bcbbba20d1
|
|
||||||
4b06181475f667ae2851540552ade56d5257a03cd21da588e2eb1e538bbc8176
|
|
||||||
bb20235914fd82976508eb72bf4810b467d3ba1d47a1031e00f7995b9933ae56
|
|
||||||
47d30d0b73d3174f8ebbb6d686892fa5435beb3355ddacded70194ef0249ba51
|
|
|
@ -1,32 +0,0 @@
|
||||||
alsa-lib
|
|
||||||
atk
|
|
||||||
bzip2
|
|
||||||
cairo
|
|
||||||
cbindgen make
|
|
||||||
clang make
|
|
||||||
expat
|
|
||||||
ffmpeg
|
|
||||||
fontconfig
|
|
||||||
freetype-harfbuzz
|
|
||||||
gdk-pixbuf
|
|
||||||
glib
|
|
||||||
gtk+3
|
|
||||||
libdrm
|
|
||||||
libffi
|
|
||||||
libjpeg-turbo
|
|
||||||
libpng
|
|
||||||
libvpx
|
|
||||||
llvm make
|
|
||||||
m4 make
|
|
||||||
mesa
|
|
||||||
nasm make
|
|
||||||
nodejs make
|
|
||||||
pango
|
|
||||||
perl make
|
|
||||||
pixman
|
|
||||||
pkgconf make
|
|
||||||
python make
|
|
||||||
rust make
|
|
||||||
wayland
|
|
||||||
wayland-protocols make
|
|
||||||
zlib
|
|
|
@ -1,48 +0,0 @@
|
||||||
diff --git a/security/nss/lib/freebl/Makefile b/security/nss/lib/freebl/Makefile
|
|
||||||
index 0b8c6f4..e9668e1 100644
|
|
||||||
--- a/security/nss/lib/freebl/Makefile
|
|
||||||
+++ b/security/nss/lib/freebl/Makefile
|
|
||||||
@@ -753,7 +753,6 @@ $(OBJDIR)/$(PROG_PREFIX)intel-gcm-wrap$(OBJ_SUFFIX): CFLAGS += -mssse3
|
|
||||||
# .set Htbl, %rdi
|
|
||||||
# So we can't use Clang's integrated assembler with intel-gcm.s.
|
|
||||||
ifdef CC_IS_CLANG
|
|
||||||
-$(OBJDIR)/$(PROG_PREFIX)intel-gcm$(OBJ_SUFFIX): CFLAGS += -no-integrated-as
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
diff --git a/security/nss/lib/freebl/freebl.gyp b/security/nss/lib/freebl/freebl.gyp
|
|
||||||
index e7703ba..3ee3435 100644
|
|
||||||
--- a/security/nss/lib/freebl/freebl.gyp
|
|
||||||
+++ b/security/nss/lib/freebl/freebl.gyp
|
|
||||||
@@ -19,13 +19,10 @@
|
|
||||||
'conditions': [
|
|
||||||
[ 'cc_is_clang==1', {
|
|
||||||
'cflags': [
|
|
||||||
- '-no-integrated-as',
|
|
||||||
],
|
|
||||||
'cflags_mozilla': [
|
|
||||||
- '-no-integrated-as',
|
|
||||||
],
|
|
||||||
'asflags_mozilla': [
|
|
||||||
- '-no-integrated-as',
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
],
|
|
||||||
diff --git a/security/nss/lib/freebl/freebl_base.gypi b/security/nss/lib/freebl/freebl_base.gypi
|
|
||||||
index afbffac..795bbd8 100644
|
|
||||||
--- a/security/nss/lib/freebl/freebl_base.gypi
|
|
||||||
+++ b/security/nss/lib/freebl/freebl_base.gypi
|
|
||||||
@@ -74,13 +74,10 @@
|
|
||||||
'conditions': [
|
|
||||||
[ 'cc_is_clang==1 and fuzz!=1 and coverage!=1', {
|
|
||||||
'cflags': [
|
|
||||||
- '-no-integrated-as',
|
|
||||||
],
|
|
||||||
'cflags_mozilla': [
|
|
||||||
- '-no-integrated-as',
|
|
||||||
],
|
|
||||||
'asflags_mozilla': [
|
|
||||||
- '-no-integrated-as',
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
],
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff --git a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
|
|
||||||
index 73e85c6..9eca548 100644
|
|
||||||
--- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
|
|
||||||
+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
|
|
||||||
@@ -31,6 +31,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(LINUX)
|
|
||||||
+#include <net/if.h>
|
|
||||||
#include "addrs-netlink.h"
|
|
||||||
#include <csi_platform.h>
|
|
||||||
#include <assert.h>
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
|
|
||||||
index 6e017df..7659b8e 100644
|
|
||||||
--- a/config/system-headers.mozbuild
|
|
||||||
+++ b/config/system-headers.mozbuild
|
|
||||||
@@ -267,7 +267,6 @@ system_headers = [
|
|
||||||
'freetype/t1tables.h',
|
|
||||||
'freetype/ttnameid.h',
|
|
||||||
'freetype/tttables.h',
|
|
||||||
- 'fribidi/fribidi.h',
|
|
||||||
'FSp_fopen.h',
|
|
||||||
'fstream',
|
|
||||||
'fstream.h',
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,12 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
cat <<EOF
|
|
||||||
|
|
||||||
Run 'kiss help firefox' for setup
|
|
||||||
information and general troubleshooting.
|
|
||||||
|
|
||||||
Also available here:
|
|
||||||
|
|
||||||
https://kisslinux.org/wiki/software/firefox
|
|
||||||
|
|
||||||
EOF
|
|
|
@ -1,10 +0,0 @@
|
||||||
https://ftp.mozilla.org/pub/firefox/releases/VERSION/source/firefox-VERSION.source.tar.xz
|
|
||||||
https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz autoconf2.13/
|
|
||||||
https://github.com/yasm/yasm/releases/download/v1.3.0/yasm-1.3.0.tar.gz yasm
|
|
||||||
https://fossies.org/linux/misc/zip30.tar.gz zip
|
|
||||||
https://fossies.org/linux/misc/unzip60.tar.gz unzip
|
|
||||||
patches/fix-clang-as.patch
|
|
||||||
patches/fix-linux-header.patch
|
|
||||||
patches/no-fribidi.patch
|
|
||||||
patches/no-x11.patch
|
|
||||||
https://bugzilla.mozilla.org/attachment.cgi?id=9202429
|
|
|
@ -1 +0,0 @@
|
||||||
94.0 3
|
|
Loading…
Reference in New Issue
Block a user