gecko-dev/widget/gtk
Michael Webster 1a8239407b Bug 1418749 - Add a TaskbarProgress implementation for gtk3/x11. r=paolo,karlt
This adds support for download progress reporting via the XApp
method currently used in the Cinnamon desktop, by establishing a new
X11 window property to be supported/read by the window manager.

See https://github.com/linuxmint/xapps/blob/master/libxapp/xapp-gtk-window.c,
as well as https://github.com/linuxmint/muffin/commit/39045da0ea06f
for more details.

The property-setting code lives in nsWindow - it's a small and stable
enough chunk that it made more sense to do this than actually depend on
another external library.  As nsWindow is already using x11 calls, this
seemed the safest place for it, without affecting the build.

The TaskbarProgress instance is initialized via the DownloadsTaskbar
js module, and is handed a pointer to the current main window to call
SetProgress on.  Most of the javascript side of this is in line with
how the other platforms are handled.

Without a supporting window manager/desktop environment (currently just
Cinnamon/Muffin 3.6,) the simplest way to observe working behavior is
by calling 'xprop -spy' on the browser window being testing and watching
for updates during a download.

--HG--
extra : rebase_source : 0606f6c87116204ec290c19276072d0c1c35691e
2018-03-08 18:43:00 +02:00
..
compat
compat-gtk3
crashtests
mozgtk Bug 1435965 - Stub gtk_widget_set_valign in mozgtk2; r=karlt 2018-02-06 10:07:07 +01:00
mozwayland Bug 1409707 - [Wayland] - provide library shell, r=jhorak 2017-10-18 14:34:27 +02:00
CompositorWidgetChild.cpp
CompositorWidgetChild.h Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
CompositorWidgetParent.cpp Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
CompositorWidgetParent.h Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
gtk2drawing.c Bug 1417751 - Implement a new value inner-spin-button to -moz-appearance on all platforms except Android. r=mats 2017-11-29 10:43:13 +08:00
gtk3drawing.cpp Bug 1434646 - Titlebar rendering - Place titlebar buttons in GtkBox, r=jhorak 2018-02-23 21:28:37 +01:00
GtkCompositorWidget.cpp Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
GtkCompositorWidget.h Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
gtkdrawing.h Bug 1434646 - Titlebar rendering - Place titlebar buttons in GtkBox, r=jhorak 2018-02-23 21:28:37 +01:00
IMContextWrapper.cpp Bug 1278282 - Remove the 'MOZ_WIDGET_GTK == 2' defines r=karlt,lsalzman 2018-01-10 08:52:04 +01:00
IMContextWrapper.h Bug 1387357 - IMContextWrapper::DispatchCompositionStart() should stop dispatching eCompositionStart if dispatching preceding eKeyDown event causes changing active IM context r=m_kato 2017-09-04 20:18:43 +09:00
InProcessGtkCompositorWidget.cpp Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
InProcessGtkCompositorWidget.h Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
maiRedundantObjectFactory.c
maiRedundantObjectFactory.h
moz.build Bug 1418749 - Add a TaskbarProgress implementation for gtk3/x11. r=paolo,karlt 2018-03-08 18:43:00 +02:00
mozcontainer.cpp Bug 1430728 - [Wayland] - position wl_subsurface when attached GtkWidget allocation changes, r=jhorak 2018-01-16 10:26:58 +01:00
mozcontainer.h Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman 2017-12-19 11:38:59 +01:00
NativeKeyBindings.cpp Bug 1278282 - Remove the 'MOZ_WIDGET_GTK == 2' defines r=karlt,lsalzman 2018-01-10 08:52:04 +01:00
NativeKeyBindings.h
nsApplicationChooser.cpp
nsApplicationChooser.h
nsAppShell.cpp Bug 1278282 - Replace #if (MOZ_WIDGET_GTK == 3) by #ifdef MOZ_WIDGET_GTK r=lsalzman 2018-01-09 11:51:07 +01:00
nsAppShell.h Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
nsBidiKeyboard.cpp
nsBidiKeyboard.h
nsClipboard.cpp Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman 2017-12-19 11:38:59 +01:00
nsClipboard.h Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman 2017-12-19 11:38:59 +01:00
nsClipboardWayland.cpp Bug 1438132 - Don't return false-positive data from clipboard, r=jhorak 2018-03-01 14:07:15 +01:00
nsClipboardWayland.h Bug 1434572 - [Wayland] Implement Gtk+ clipboard shortcut for copy->paste between Firefox windows, r=jhorak 2018-02-01 11:23:01 +01:00
nsClipboardX11.cpp Bug 1278282 - Replace #if (MOZ_WIDGET_GTK == 3) by #ifdef MOZ_WIDGET_GTK r=lsalzman 2018-01-09 11:51:07 +01:00
nsClipboardX11.h Bug 1417890 - Use nsRetrievalContextWayland for Wayland displays, r=jhorak 2017-12-18 13:37:46 +01:00
nsColorPicker.cpp Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman 2017-12-19 11:38:59 +01:00
nsColorPicker.h Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman 2017-12-19 11:38:59 +01:00
nsCUPSShim.cpp
nsCUPSShim.h
nsDeviceContextSpecG.cpp Bug 1278282 - Replace #if (MOZ_WIDGET_GTK == 3) by #ifdef MOZ_WIDGET_GTK r=lsalzman 2018-01-09 11:51:07 +01:00
nsDeviceContextSpecG.h Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
nsDragService.cpp Bug 1424107 - Pass the triggering principal URI across processes in drag-and-drop. r=smaug 2018-02-09 10:43:53 +09:00
nsDragService.h Bug 1424107 - Pass the triggering principal URI across processes in drag-and-drop. r=smaug 2018-02-09 10:43:53 +09:00
nsFilePicker.cpp Bug 1433357 - Part 2: Suppress upload-file-dialog proxy bypass in Linux r=karlt 2018-02-02 14:44:00 +02:00
nsFilePicker.h Bug 1278282 - Replace #if (MOZ_WIDGET_GTK == 3) by #ifdef MOZ_WIDGET_GTK r=lsalzman 2018-01-09 11:51:07 +01:00
nsGtkCursors.h
nsGtkKeyUtils.cpp Bug 1036008 - Use alternative ASCII capable keyboard layout information to decide keyCode even if the key produces an ASCII punctuation character r=smaug 2018-02-16 15:54:07 +09:00
nsGtkKeyUtils.h Bug 1036008 - Use alternative ASCII capable keyboard layout information to decide keyCode even if the key produces an ASCII punctuation character r=smaug 2018-02-16 15:54:07 +09:00
nsGTKToolkit.h Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman 2017-12-19 11:38:59 +01:00
nsGtkUtils.h
nsIdleServiceGTK.cpp Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
nsIdleServiceGTK.h Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
nsIImageToPixbuf.h
nsImageToPixbuf.cpp
nsImageToPixbuf.h
nsLookAndFeel.cpp Bug 1434646 - Titlebar rendering - Place titlebar buttons in GtkBox, r=jhorak 2018-02-23 21:28:37 +01:00
nsLookAndFeel.h Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
nsNativeThemeGTK.cpp Bug 1434646 - Titlebar rendering - Place titlebar buttons in GtkBox, r=jhorak 2018-02-23 21:28:37 +01:00
nsNativeThemeGTK.h Bug 1431337 - Scale content for the actual monitor, not the first one; r=stransky 2018-01-18 11:52:59 +01:00
nsPrintDialogGTK.cpp Bug 1278282 - Remove the 'MOZ_WIDGET_GTK == 2' defines r=karlt,lsalzman 2018-01-10 08:52:04 +01:00
nsPrintDialogGTK.h
nsPrintSettingsGTK.cpp Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman 2017-12-19 11:38:59 +01:00
nsPrintSettingsGTK.h Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman 2017-12-19 11:38:59 +01:00
nsPrintSettingsServiceGTK.cpp Bug 144114 part 2 - Rename nsPrintOptions and its subclasses to nsPrintSettingsService*. r=bobowen 2017-12-19 10:42:15 +00:00
nsPrintSettingsServiceGTK.h Bug 144114 part 3 - Clean up the headers of the nsPrintSettingsService subclasses. r=bobowen 2017-12-19 11:05:37 +00:00
nsPSPrinters.cpp
nsPSPrinters.h
nsSound.cpp Bug 1416712 - Remove nsPaperPS as it seems to be dead code r=karlt 2017-11-13 11:24:47 +01:00
nsSound.h Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman 2017-12-19 11:38:59 +01:00
nsToolkit.cpp Bug 1278282 - Ride along Remove some trailing whitespaces r=lsalzman 2017-12-19 11:38:59 +01:00
nsWidgetFactory.cpp Bug 1418749 - Add a TaskbarProgress implementation for gtk3/x11. r=paolo,karlt 2018-03-08 18:43:00 +02:00
nsWindow.cpp Bug 1418749 - Add a TaskbarProgress implementation for gtk3/x11. r=paolo,karlt 2018-03-08 18:43:00 +02:00
nsWindow.h Bug 1418749 - Add a TaskbarProgress implementation for gtk3/x11. r=paolo,karlt 2018-03-08 18:43:00 +02:00
PCompositorWidget.ipdl
PlatformWidgetTypes.ipdlh Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
ScreenHelperGTK.cpp
ScreenHelperGTK.h Bug 1430725 - Undefine X11 None at ScreenHelperGTK.h as it conflicts our JS code, r=jhorak 2018-01-16 10:09:36 +01:00
TaskbarProgress.cpp Bug 1418749 - Add a TaskbarProgress implementation for gtk3/x11. r=paolo,karlt 2018-03-08 18:43:00 +02:00
TaskbarProgress.h Bug 1418749 - Add a TaskbarProgress implementation for gtk3/x11. r=paolo,karlt 2018-03-08 18:43:00 +02:00
WakeLockListener.cpp Bug 1398539: Inhibit screensaver with XScreenSaverSuspend r=karlt 2017-09-13 18:28:51 -06:00
WakeLockListener.h Bug 1412258 - Get rid of ipc/dbus, r=smaug 2017-10-27 18:41:40 +02:00
WidgetStyleCache.cpp Bug 1434646 - Titlebar rendering - Place titlebar buttons in GtkBox, r=jhorak 2018-02-23 21:28:37 +01:00
WidgetStyleCache.h Bug 1433068 - Titlebar/Linux - load and draw HiDPI titlebar icons on HiDPI screens, r=jhorak 2018-02-20 16:16:23 +01:00
WidgetTraceEvent.cpp
WidgetUtilsGtk.cpp
WidgetUtilsGtk.h
WindowSurfaceProvider.cpp Bug 1430018 - Don't use nsWindow::IsX11Display() as it's not implemented, r=jhorak 2018-01-12 10:30:38 +01:00
WindowSurfaceProvider.h Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
WindowSurfaceWayland.cpp Bug 1435244 - don't call wl_display_roundtrip_queue() with null wl_queue but rather use wl_display_roundtrip(), r=jhorak 2018-02-02 14:42:32 +01:00
WindowSurfaceWayland.h Bug 1436263 - Part 1: Replace final override virtual function specifiers with just final. r=froydnj 2018-02-05 22:46:57 -08:00
WindowSurfaceX11.cpp
WindowSurfaceX11.h
WindowSurfaceX11Image.cpp Bug 1404323 - limit WindowSurfaceX11Image::Commit to clip bounds. r=gankro 2017-09-29 23:59:40 -04:00
WindowSurfaceX11Image.h
WindowSurfaceXRender.cpp
WindowSurfaceXRender.h