gecko-dev/widget/gtk
Martin Stransky c960be3742 Bug 1421974 - use gtk_window_set_titlebar() to hide titlebar on WM where GDK_DECOR_BORDER does not work, r=jhorak
This patch is based on Karl Tomlinson's (:karlt) demo from Bug 1419456. We use gtk_window_set_titlebar()
to set invisible widget. The widget takes place of GtkHeaderBar which leads Gtk+ to render CSD shadows
and handle window resizing, it does not render any titlebar.

gtk_window_set_titlebar() works on unrealized windows only and mShell is already realized at time
of nsWindow::SetDrawsInTitlebar() call so we need to update recent GtkWidget setup.

In that case we create GdkWindow for mContainer (instead of mShell), create a temporary GtkWindow,
reparent mContainer (which owns mGdkWindow) to it, unrealize mShell and set up the titlebar
for mShell toplevel window.

As a workaround for Gtk+ Bug 791081 we also allocate some valid size for mShell before it's newly realized
with the updated titlebar.

MozReview-Commit-ID: A3KwRoOzoko

--HG--
extra : rebase_source : ded644762d3be9e79e3d407f57b2f9098021fb96
2017-12-01 15:22:48 +01:00
..
compat
compat-gtk3
crashtests Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
mozgtk Bug 1421974 - use gtk_window_set_titlebar() to hide titlebar on WM where GDK_DECOR_BORDER does not work, r=jhorak 2017-12-01 15:22:48 +01:00
CompositorWidgetChild.cpp Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
CompositorWidgetChild.h Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
CompositorWidgetParent.cpp Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
CompositorWidgetParent.h
IMContextWrapper.cpp 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
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
InProcessX11CompositorWidget.cpp Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
InProcessX11CompositorWidget.h Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
NativeKeyBindings.cpp Bug 1374862 - Avoid setting gHandled when we don't handle signals. r=masayuki 2017-06-20 17:03:09 -07:00
NativeKeyBindings.h Bug 1339543 part 4 Change nsIWidget::ExecuteNativeKeyBinding() to nsIWidget::GetEditCommands() which just retrieves edit commands for the type r=smaug 2017-05-19 17:49:41 +09:00
PCompositorWidget.ipdl
PlatformWidgetTypes.ipdlh Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
ScreenHelperGTK.cpp Bug 1350643 - Part 5.2: Use per-monitor gdkScaleFactor to set contentsScaleFactor & nsWindow::GetDesktopToDeviceScale if running in gtk/wayland. r=karlt 2017-06-16 11:13:59 +08:00
ScreenHelperGTK.h Bug 1350643 - Part 2: Use gdk functions to enumerate monitors instead of Xinerama. r=karlt 2017-06-06 17:57:54 +08: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 1364843 - Allow MOZ_GTK_HEADER_BAR* widget creation, r=jhorak 2017-09-19 20:34:31 +02:00
WidgetStyleCache.h bug 1396722 remove no-op ReleaseStyleContext() r=stransky+263117 2017-09-05 09:16:01 +12:00
WidgetTraceEvent.cpp
WidgetUtilsGtk.cpp
WidgetUtilsGtk.h
WindowSurfaceProvider.cpp
WindowSurfaceProvider.h
WindowSurfaceWayland.cpp Bug 1281425 - Implement wayland loop to process wl_display events for threads and bind wl_registry for wl_shm, r=jhorak 2017-11-02 17:08:33 +01:00
WindowSurfaceWayland.h Bug 1281425 - Implement wayland loop to process wl_display events for threads and bind wl_registry for wl_shm, r=jhorak 2017-11-02 17:08:33 +01: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
X11CompositorWidget.cpp Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
X11CompositorWidget.h Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07: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 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
gtkdrawing.h 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
maiRedundantObjectFactory.c
maiRedundantObjectFactory.h
moz.build Bug 1416712 - Remove nsPaperPS as it seems to be dead code r=karlt 2017-11-13 11:24:47 +01:00
mozcontainer.cpp Bug 1337369 - [Wayland] Expose moz_container_get_wl_surface() to get MozContainer overlayfrom compositor widget, r=jhorak 2017-10-24 15:26:48 +02:00
mozcontainer.h Bug 1337369 - [Wayland] Expose moz_container_get_wl_surface() to get MozContainer overlayfrom compositor widget, r=jhorak 2017-10-24 15:26:48 +02:00
nsAppShell.cpp Bug 1151753 - Set program class name when not using --class command line option. r=karlt 2017-10-25 15:58:49 +09:00
nsAppShell.h
nsApplicationChooser.cpp
nsApplicationChooser.h
nsBidiKeyboard.cpp
nsBidiKeyboard.h
nsCUPSShim.cpp
nsCUPSShim.h
nsClipboard.cpp Bug 1390428 (part 9) - Remove nsXPIDLCString. r=erahm. 2017-08-17 15:29:03 +10:00
nsClipboard.h Bug 1387170 - Use custom clipboard constructor instead of singleton. r=jrmuizel 2017-08-09 09:49:50 -07:00
nsColorPicker.cpp Bug 1390428 (part 2, attempt 2) - Remove more nsXPIDLCString local variables. r=erahm. 2017-08-21 20:01:27 +10:00
nsColorPicker.h
nsDeviceContextSpecG.cpp Bug 1420171 Part 2: Remove some unused members from nsDeviceContextSpecG. r=karlt 2017-11-28 08:58:58 +00:00
nsDeviceContextSpecG.h Bug 1420171 Part 2: Remove some unused members from nsDeviceContextSpecG. r=karlt 2017-11-28 08:58:58 +00:00
nsDragService.cpp Bug 1390428 (part 2, attempt 2) - Remove more nsXPIDLCString local variables. r=erahm. 2017-08-21 20:01:27 +10:00
nsDragService.h Bug 1353939 - Disable drag service in headless mode. r=jrmuizel 2017-04-10 11:30:52 -07:00
nsFilePicker.cpp Bug 1390428 (part 2, attempt 2) - Remove more nsXPIDLCString local variables. r=erahm. 2017-08-21 20:01:27 +10:00
nsFilePicker.h Bug 1387800 - Remove [deprecated] nsIFilePicker.show(). r=qdot 2017-08-06 13:15:31 +09:00
nsGTKToolkit.h
nsGtkCursors.h
nsGtkKeyUtils.cpp
nsGtkKeyUtils.h merge mozilla-inbound to mozilla-central a=merge 2017-03-13 15:22:26 +01:00
nsGtkUtils.h
nsIImageToPixbuf.h
nsIdleServiceGTK.cpp
nsIdleServiceGTK.h
nsImageToPixbuf.cpp
nsImageToPixbuf.h
nsLookAndFeel.cpp Bug 1420110 - remove browser.tabs.drawInTitlebar check from nsLookAndFeel, r=jhorak 2017-11-23 21:00:12 +01:00
nsLookAndFeel.h Bug 1415080 - Rename all 's' prefixed members of nsLookAndFeel as they're not static ones, r=jhorak 2017-11-07 10:14:52 +01:00
nsNativeThemeGTK.cpp 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
nsNativeThemeGTK.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
nsPSPrinters.cpp Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj. 2017-07-31 14:28:48 +10:00
nsPSPrinters.h
nsPrintDialogGTK.cpp Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
nsPrintDialogGTK.h
nsPrintOptionsGTK.cpp
nsPrintOptionsGTK.h
nsPrintSettingsGTK.cpp Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
nsPrintSettingsGTK.h Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen. 2017-10-09 10:08:09 +11:00
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 1356681 - Expand headless mode support for linux. r=automatedtester,jrmuizel,kanru 2017-05-18 17:47:10 -07:00
nsToolkit.cpp
nsWidgetFactory.cpp Bug 1399956 - Add basic hard coded GTK theme in headless. r=jrmuizel 2017-10-16 16:15:45 -07:00
nsWindow.cpp Bug 1421974 - use gtk_window_set_titlebar() to hide titlebar on WM where GDK_DECOR_BORDER does not work, r=jhorak 2017-12-01 15:22:48 +01:00
nsWindow.h Bug 1421974 - refactor nsWindow::HideWindowChrome() to nsWindow::SetWindowDecoration() and share it with nsWindow::SetDrawsInTitlebar, r=jhorak 2017-12-01 15:09:11 +01:00