diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
--- a/widget/gtk/nsAppShell.cpp
+++ b/widget/gtk/nsAppShell.cpp
@@ -102,27 +102,29 @@ nsAppShell::Init()
     if (!sPollFunc) {
         sPollFunc = g_main_context_get_poll_func(nullptr);
         g_main_context_set_poll_func(nullptr, &PollWrapper);
     }
 
     if (PR_GetEnv("MOZ_DEBUG_PAINTS"))
         gdk_window_set_debug_updates(TRUE);
 
-    // Disable JasPer module in GDK-PixBuf. See bug 1197059.
+    // Whitelist of only common, stable formats - see bugs 1197059 and 1203078
     GSList* pixbufFormats = gdk_pixbuf_get_formats();
     for (GSList* iter = pixbufFormats; iter; iter = iter->next) {
         GdkPixbufFormat* format = static_cast<GdkPixbufFormat*>(iter->data);
         gchar* name = gdk_pixbuf_format_get_name(format);
-        bool isJasper = strcmp(name, "jpeg2000") == 0;
+        if (strcmp(name, "jpeg") &&
+            strcmp(name, "png") &&
+            strcmp(name, "gif") &&
+            strcmp(name, "bmp") &&
+            strcmp(name, "ico")) {
+          gdk_pixbuf_format_set_disabled(format, TRUE);
+        }
         g_free(name);
-        if (isJasper) {
-            gdk_pixbuf_format_set_disabled(format, TRUE);
-            break;
-        }
     }
     g_slist_free(pixbufFormats);
 
     int err = pipe(mPipeFDs);
     if (err)
         return NS_ERROR_OUT_OF_MEMORY;
 
     GIOChannel *ioc;
