diff --git a/toolkit/components/filepicker/nsFilePicker.manifest b/toolkit/components/filepicker/nsFilePicker.manifest
index 203c87fc347..06c2e8956f3 100644
--- a/toolkit/components/filepicker/nsFilePicker.manifest
+++ b/toolkit/components/filepicker/nsFilePicker.manifest
@@ -1,4 +1,4 @@
component {54ae32f8-1dd2-11b2-a209-df7c505370f8} nsFilePicker.js
-#ifndef MOZ_WIDGET_GTK2
+#ifndef MOZ_WIDGET_GTK
contract @mozilla.org/filepicker;1 {54ae32f8-1dd2-11b2-a209-df7c505370f8}
#endif
diff --git a/toolkit/components/remote/nsGTKRemoteService.cpp b/toolkit/components/remote/nsGTKRemoteService.cpp
index 3bbb8bcdbcd..5782dd1f4a3 100644
--- a/toolkit/components/remote/nsGTKRemoteService.cpp
+++ b/toolkit/components/remote/nsGTKRemoteService.cpp
@@ -155,7 +155,11 @@ nsGTKRemoteService::HandleCommandsFor(GtkWidget* widget,
gtk_widget_add_events(widget, GDK_PROPERTY_CHANGE_MASK);
+#if (MOZ_WIDGET_GTK == 2)
Window window = GDK_WINDOW_XWINDOW(widget->window);
+#else
+ Window window = gdk_x11_window_get_xid(gtk_widget_get_window(widget));
+#endif
nsXRemoteService::HandleCommandsFor(window);
}
@@ -168,8 +172,13 @@ nsGTKRemoteService::HandlePropertyChange(GtkWidget *aWidget,
if (pevent->state == GDK_PROPERTY_NEW_VALUE) {
Atom changedAtom = gdk_x11_atom_to_xatom(pevent->atom);
- return HandleNewProperty(GDK_WINDOW_XWINDOW(pevent->window),
- GDK_DISPLAY(),
+#if (MOZ_WIDGET_GTK == 2)
+ XID window = GDK_WINDOW_XWINDOW(pevent->window);
+#else
+ XID window = gdk_x11_window_get_xid(gtk_widget_get_window(aWidget));
+#endif
+ return HandleNewProperty(window,
+ GDK_DISPLAY_XDISPLAY(gdk_display_get_default()),
pevent->time, changedAtom, aThis);
}
return FALSE;
diff --git a/toolkit/content/widgets/findbar.xml b/toolkit/content/widgets/findbar.xml
index 2b1457c5fdb..aca73388d3a 100644
--- a/toolkit/content/widgets/findbar.xml
+++ b/toolkit/content/widgets/findbar.xml
@@ -185,7 +185,7 @@
-#ifdef MOZ_WIDGET_GTK2
+#ifdef MOZ_WIDGET_GTK
-#ifndef MOZ_WIDGET_GTK2
+#ifndef MOZ_WIDGET_GTK
-#ifdef MOZ_WIDGET_GTK2
+#ifdef MOZ_WIDGET_GTK
.button-box > .button-icon:not(:-moz-system-metric(images-in-buttons)),
button[label]:not([label=""]) > .button-box > .box-inherit > .button-icon:not(:-moz-system-metric(images-in-buttons)) {
@@ -368,7 +368,7 @@ menuitem.menuitem-non-iconic {
-moz-binding: url("chrome://global/content/bindings/menu.xml#menubutton-item");
}
-%ifdef MOZ_WIDGET_GTK2
+%ifdef MOZ_WIDGET_GTK
/********* detection of system setting to use icons in menus ***********/
@media not all and (-moz-images-in-menus) {
.menu-iconic-left {
diff --git a/toolkit/library/nsStaticXULComponents.cpp b/toolkit/library/nsStaticXULComponents.cpp
index 4a2e7471cf1..4faaa232a11 100644
--- a/toolkit/library/nsStaticXULComponents.cpp
+++ b/toolkit/library/nsStaticXULComponents.cpp
@@ -36,7 +36,7 @@
# define WIDGET_MODULES MODULE(nsWidgetMacModule)
#elif defined(XP_OS2)
# define WIDGET_MODULES MODULE(nsWidgetOS2Module)
-#elif defined(MOZ_WIDGET_GTK2)
+#elif defined(MOZ_WIDGET_GTK)
# define WIDGET_MODULES MODULE(nsWidgetGtk2Module)
#elif defined(MOZ_WIDGET_QT)
# define WIDGET_MODULES MODULE(nsWidgetQtModule)
@@ -67,7 +67,7 @@
#endif
#ifdef MOZ_PREF_EXTENSIONS
-#ifdef MOZ_ENABLE_GTK2
+#ifdef MOZ_ENABLE_GTK
#define SYSTEMPREF_MODULES \
MODULE(nsAutoConfigModule)
#else
@@ -125,7 +125,7 @@
#endif
#ifdef MOZ_XUL
-#ifdef MOZ_ENABLE_GTK2
+#ifdef MOZ_ENABLE_GTK
#define UNIXPROXY_MODULE MODULE(nsUnixProxyModule)
#endif
#if defined(MOZ_WIDGET_QT)
diff --git a/toolkit/themes/winstripe/global/config.css b/toolkit/themes/winstripe/global/config.css
index b318d66c40c..98ce6abaabf 100644
--- a/toolkit/themes/winstripe/global/config.css
+++ b/toolkit/themes/winstripe/global/config.css
@@ -54,7 +54,7 @@
#exclam
{
-%ifdef MOZ_WIDGET_GTK2
+%ifdef MOZ_WIDGET_GTK
list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=dialog");
%else
list-style-image: url("chrome://global/skin/icons/warning-large.png");
diff --git a/toolkit/themes/winstripe/global/dirListing/dirListing.css b/toolkit/themes/winstripe/global/dirListing/dirListing.css
index 93e5820c5a8..a40bc50cd27 100644
--- a/toolkit/themes/winstripe/global/dirListing/dirListing.css
+++ b/toolkit/themes/winstripe/global/dirListing/dirListing.css
@@ -96,7 +96,7 @@ td:not(:first-child) {
-moz-margin-end: 4px;
-moz-margin-start: -20px;
vertical-align: middle;
-%ifdef MOZ_WIDGET_GTK2
+%ifdef MOZ_WIDGET_GTK
content: url(moz-icon://stock/gtk-go-up?size=menu);
%else
content: url(chrome://global/skin/dirListing/up.png);
@@ -104,7 +104,7 @@ td:not(:first-child) {
}
.dir::before {
-%ifdef MOZ_WIDGET_GTK2
+%ifdef MOZ_WIDGET_GTK
content: url(moz-icon://stock/gtk-directory?size=menu);
%else
content: url(chrome://global/skin/dirListing/folder.png);
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 9bb6715b15c..48b3823f94c 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -211,7 +211,7 @@ static int gQtOnlyArgc;
static char **gQtOnlyArgv;
#endif
-#if defined(MOZ_WIDGET_GTK2)
+#if defined(MOZ_WIDGET_GTK)
#if defined(DEBUG) || defined(NS_BUILD_REFCNT_LOGGING) \
|| defined(NS_TRACE_MALLOC)
#define CLEANUP_MEMORY 1
@@ -2509,7 +2509,7 @@ public:
};
#endif
-#ifdef MOZ_WIDGET_GTK2
+#ifdef MOZ_WIDGET_GTK
#include "prlink.h"
typedef void (*_g_set_application_name_fn)(const gchar *application_name);
typedef void (*_gtk_window_set_auto_startup_notification_fn)(gboolean setting);
@@ -2706,7 +2706,7 @@ public:
#ifdef MOZ_ENABLE_XREMOTE
, mDisableRemote(false)
#endif
-#if defined(MOZ_WIDGET_GTK2)
+#if defined(MOZ_WIDGET_GTK)
, mGdkDisplay(nsnull)
#endif
{};
@@ -2747,7 +2747,7 @@ public:
bool mDisableRemote;
#endif
-#if defined(MOZ_WIDGET_GTK2)
+#if defined(MOZ_WIDGET_GTK)
GdkDisplay* mGdkDisplay;
#endif
};
@@ -3162,7 +3162,7 @@ XREMain::XRE_mainStartup(bool* aExitFlag)
return 1;
*aExitFlag = false;
-#if defined(MOZ_WIDGET_GTK2) || defined(MOZ_ENABLE_XREMOTE)
+#if defined(MOZ_WIDGET_GTK) || defined(MOZ_ENABLE_XREMOTE)
// Stash DESKTOP_STARTUP_ID in malloc'ed memory because gtk_init will clear it.
#define HAVE_DESKTOP_STARTUP_ID
const char* desktopStartupIDEnv = PR_GetEnv("DESKTOP_STARTUP_ID");
@@ -3202,13 +3202,15 @@ XREMain::XRE_mainStartup(bool* aExitFlag)
}
gQtOnlyArgv[gQtOnlyArgc] = nsnull;
#endif
-#if defined(MOZ_WIDGET_GTK2)
+#if defined(MOZ_WIDGET_GTK)
// setup for private colormap. Ideally we'd like to do this
// in nsAppShell::Create, but we need to get in before gtk
// has been initialized to make sure everything is running
// consistently.
+#if (MOZ_WIDGET_GTK == 2)
if (CheckArg("install"))
gdk_rgb_set_install(TRUE);
+#endif
// Initialize GTK here for splash.
@@ -3281,7 +3283,7 @@ XREMain::XRE_mainStartup(bool* aExitFlag)
XInitThreads();
}
#endif
-#if defined(MOZ_WIDGET_GTK2)
+#if defined(MOZ_WIDGET_GTK)
mGdkDisplay = gdk_display_open(display_name);
if (!mGdkDisplay) {
PR_fprintf(PR_STDERR, "Error: cannot open display: %s\n", display_name);
@@ -3302,8 +3304,10 @@ XREMain::XRE_mainStartup(bool* aExitFlag)
_gtk_window_set_auto_startup_notification(false);
}
+#if (MOZ_WIDGET_GTK == 2)
gtk_widget_set_default_colormap(gdk_rgb_get_colormap());
-#endif /* MOZ_WIDGET_GTK2 */
+#endif /* (MOZ_WIDGET_GTK == 2) */
+#endif /* defined(MOZ_WIDGET_GTK) */
#ifdef MOZ_X11
// Do this after initializing GDK, or GDK will install its own handler.
InstallX11ErrorHandler();
@@ -3324,7 +3328,7 @@ XREMain::XRE_mainStartup(bool* aExitFlag)
return 1;
}
-#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2)
+#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK)
// DESKTOP_STARTUP_ID is cleared now,
// we recover it in case we need a restart.
if (!mDesktopStartupID.IsEmpty()) {
@@ -3709,7 +3713,7 @@ XREMain::XRE_mainRun()
rv = appStartup->CreateHiddenWindow();
NS_ENSURE_SUCCESS(rv, 1);
-#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2)
+#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK)
nsGTKToolkit* toolkit = nsGTKToolkit::GetToolkit();
if (toolkit && !mDesktopStartupID.IsEmpty()) {
toolkit->SetDesktopStartupID(mDesktopStartupID);
@@ -3819,7 +3823,7 @@ XREMain::XRE_main(int argc, char* argv[], const nsXREAppData* aAppData)
ScopedLogging log;
-#if defined(MOZ_WIDGET_GTK2)
+#if defined(MOZ_WIDGET_GTK)
#ifdef MOZ_MEMORY
// Disable the slice allocator, since jemalloc already uses similar layout
// algorithms, and using a sub-allocator tends to increase fragmentation.
@@ -3898,7 +3902,7 @@ XREMain::XRE_main(int argc, char* argv[], const nsXREAppData* aAppData)
SaveFileToEnvIfUnset("XRE_PROFILE_LOCAL_PATH", mProfLD);
SaveWordToEnvIfUnset("XRE_PROFILE_NAME", mProfileName);
-#ifdef MOZ_WIDGET_GTK2
+#ifdef MOZ_WIDGET_GTK
MOZ_gdk_display_close(mGdkDisplay);
#endif
@@ -3911,7 +3915,7 @@ XREMain::XRE_main(int argc, char* argv[], const nsXREAppData* aAppData)
return rv == NS_ERROR_LAUNCHED_CHILD_PROCESS ? 0 : 1;
}
-#ifdef MOZ_WIDGET_GTK2
+#ifdef MOZ_WIDGET_GTK
// gdk_display_close also calls gdk_display_manager_set_default_display
// appropriately when necessary.
MOZ_gdk_display_close(mGdkDisplay);
diff --git a/toolkit/xre/nsEmbedFunctions.cpp b/toolkit/xre/nsEmbedFunctions.cpp
index e0bc47abbf8..772fd098bad 100644
--- a/toolkit/xre/nsEmbedFunctions.cpp
+++ b/toolkit/xre/nsEmbedFunctions.cpp
@@ -11,7 +11,7 @@
#include "nsXULAppAPI.h"
#include
-#if defined(MOZ_WIDGET_GTK2)
+#if defined(MOZ_WIDGET_GTK)
#include
#endif
@@ -362,7 +362,7 @@ XRE_InitChildProcess(int aArgc,
gArgv = aArgv;
gArgc = aArgc;
-#if defined(MOZ_WIDGET_GTK2)
+#if defined(MOZ_WIDGET_GTK)
g_thread_init(NULL);
#endif
diff --git a/toolkit/xre/nsNativeAppSupportUnix.cpp b/toolkit/xre/nsNativeAppSupportUnix.cpp
index 0099fda7d4f..9b29bddf292 100644
--- a/toolkit/xre/nsNativeAppSupportUnix.cpp
+++ b/toolkit/xre/nsNativeAppSupportUnix.cpp
@@ -399,6 +399,7 @@ nsNativeAppSupportUnix::Start(bool *aRetVal)
{
NS_ASSERTION(gAppData, "gAppData must not be null.");
+#if (MOZ_WIDGET_GTK == 2)
if (gtk_major_version < MIN_GTK_MAJOR_VERSION ||
(gtk_major_version == MIN_GTK_MAJOR_VERSION && gtk_minor_version < MIN_GTK_MINOR_VERSION)) {
GtkWidget* versionErrDialog = gtk_message_dialog_new(NULL,
@@ -415,6 +416,7 @@ nsNativeAppSupportUnix::Start(bool *aRetVal)
gtk_widget_destroy(versionErrDialog);
exit(0);
}
+#endif
#if (MOZ_PLATFORM_MAEMO == 5)
/* zero state out. */
@@ -459,7 +461,7 @@ nsNativeAppSupportUnix::Start(bool *aRetVal)
*aRetVal = true;
-#ifdef MOZ_X11
+#if defined(MOZ_X11) && (MOZ_WIDGET_GTK == 2)
PRLibrary *gnomeuiLib = PR_LoadLibrary("libgnomeui-2.so.0");
if (!gnomeuiLib)
@@ -482,7 +484,7 @@ nsNativeAppSupportUnix::Start(bool *aRetVal)
return NS_OK;
}
-#endif /* MOZ_X11 */
+#endif /* MOZ_X11 && (MOZ_WIDGET_GTK == 2) */
#ifdef ACCESSIBILITY
// We will load gail, atk-bridge by ourself later
@@ -493,11 +495,11 @@ nsNativeAppSupportUnix::Start(bool *aRetVal)
setenv(accEnv, "0", 1);
#endif
-#ifdef MOZ_X11
+#if defined(MOZ_X11) && (MOZ_WIDGET_GTK == 2)
if (!gnome_program_get()) {
gnome_program_init("Gecko", "1.0", libgnomeui_module_info_get(), gArgc, gArgv, NULL);
}
-#endif /* MOZ_X11 */
+#endif /* MOZ_X11 && (MOZ_WIDGET_GTK == 2) */
#ifdef ACCESSIBILITY
if (accOldValue) {
@@ -511,7 +513,8 @@ nsNativeAppSupportUnix::Start(bool *aRetVal)
// gnome_program_init causes atexit handlers to be registered. Strange
// crashes will occur if these libraries are unloaded.
-#ifdef MOZ_X11
+ // TODO GTK3 - see Bug 694570 - Stop using libgnome and libgnomeui on Linux
+#if defined(MOZ_X11) && (MOZ_WIDGET_GTK == 2)
gnome_client_set_restart_command = (_gnome_client_set_restart_command_fn)
PR_FindFunctionSymbol(gnomeuiLib, "gnome_client_set_restart_command");
@@ -554,7 +557,7 @@ nsNativeAppSupportUnix::Start(bool *aRetVal)
if (argv1) {
gnome_client_set_restart_command(client, 1, &argv1);
}
-#endif /* MOZ_X11 */
+#endif /* MOZ_X11 && (MOZ_WIDGET_GTK == 2) */
return NS_OK;
}
diff --git a/toolkit/xre/nsSigHandlers.cpp b/toolkit/xre/nsSigHandlers.cpp
index 3a425dc1348..74ddeb9122c 100644
--- a/toolkit/xre/nsSigHandlers.cpp
+++ b/toolkit/xre/nsSigHandlers.cpp
@@ -101,12 +101,12 @@ child_ah_crap_handler(int signum)
#endif // CRAWL_STACK_ON_SIGSEGV
-#ifdef MOZ_WIDGET_GTK2
+#ifdef MOZ_WIDGET_GTK
// Need this include for version test below.
#include
#endif
-#if defined(MOZ_WIDGET_GTK2) && (GLIB_MAJOR_VERSION > 2 || (GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION >= 6))
+#if defined(MOZ_WIDGET_GTK) && (GLIB_MAJOR_VERSION > 2 || (GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION >= 6))
static GLogFunc orig_log_func = NULL;
@@ -282,7 +282,7 @@ void InstallSignalHandlers(const char *ProgramName)
}
#endif //SOLARIS
-#if defined(MOZ_WIDGET_GTK2) && (GLIB_MAJOR_VERSION > 2 || (GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION >= 6))
+#if defined(MOZ_WIDGET_GTK) && (GLIB_MAJOR_VERSION > 2 || (GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION >= 6))
const char *assertString = PR_GetEnv("XPCOM_DEBUG_BREAK");
if (assertString &&
(!strcmp(assertString, "suspend") ||