gecko-dev/widget/gtk
Karl Tomlinson 648484651d bug 1384701 get system fonts in EnsureInit() which is on main thread even with servo r=manishearth
GTK should be used only from the main thread, but the specific symptom before
this change was that creating a GtkEntry causes
pango_cairo_font_map_get_default() to be called.  This function returns a
different font map on each thread.  The font map is leaked when StyleThreads
are leaked at exit.

Font caches are usually expensive and so using the existing font map on the
main thread is preferable.

A GtkEntry already exists on the main thread, as well as style contexts for
most other system fonts, and so it is more efficient to create these on the
main thread while the style contexts exist.

Doing this also avoids the need for Gecko_nsFont_InitSystem() to hold a global
lock to avoid concurrently calling into GTK through LookAndFeel::GetColor().

MozReview-Commit-ID: DSOwEUeYmtV

--HG--
extra : rebase_source : 971bc565e465b2d2482308006f68451ecaa6e264
2017-09-04 18:29:04 +12: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 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
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 1373888 - part3 : rename the topic of the wake lock. r=cpearce 2017-08-29 10:54:28 +08:00
WakeLockListener.h Bug 1360069 - Deal with the case where WakeLockListener is never instantiated. r=gcp 2017-06-27 14:44:39 -07:00
WidgetStyleCache.cpp Bug 1389133 - don't invalidate style content for missing widgets, r=karlt 2017-08-10 18:07:41 +02:00
WidgetStyleCache.h
WidgetTraceEvent.cpp
WidgetUtilsGtk.cpp
WidgetUtilsGtk.h
WindowSurfaceProvider.cpp
WindowSurfaceProvider.h
WindowSurfaceX11.cpp
WindowSurfaceX11.h
WindowSurfaceX11Image.cpp
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 1343802 remove unused moz_gtk_enable_style_props r=jhorak+328198 2017-03-27 20:32:16 +02:00
gtk3drawing.cpp Bug 1367576 - Cache results of getting GTK widget borders. r=karlt 2017-06-06 22:27:18 -07:00
gtkdrawing.h Bug 1367576 - Cache results of getting GTK widget borders. r=karlt 2017-06-06 22:27:18 -07:00
maiRedundantObjectFactory.c
maiRedundantObjectFactory.h
moz.build Bug 1368597 label CompositorWidget and WindowSurface as Graphics BUG_COMPONENT r=rhunt 2017-05-30 14:29:22 +12:00
mozcontainer.cpp Bug 1341296 - Move mozcontainer.c to cpp file, r=karlt 2017-02-22 09:49:54 +01:00
mozcontainer.h Bug 1382142 - Fix a typo about MOZ_CONTAINER_GET_CLASS definition. r=karlt 2017-07-19 17:01:59 +09:00
nsAppShell.cpp Bug 1356681 - Expand headless mode support for linux. r=automatedtester,jrmuizel,kanru 2017-05-18 17:47:10 -07: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 1387381 - Remove nsXPIDLString local variables. r=erahm. 2017-08-08 16:07:55 +10:00
nsDeviceContextSpecG.h
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 Bug 606885 - Fire drag events with keyboard modifiers. r=enn 2017-02-17 11:29:42 +08:00
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 1384701 get system fonts in EnsureInit() which is on main thread even with servo r=manishearth 2017-09-04 18:29:04 +12:00
nsLookAndFeel.h bug 1384701 remove MOZ_WIDGET_GTK == 2 code from nsLookAndFeel r=manishearth 2017-09-04 17:36:17 +12:00
nsNativeThemeGTK.cpp Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel 2017-06-13 11:00:10 -04:00
nsNativeThemeGTK.h Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel 2017-06-13 11:00:10 -04: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
nsPaperPS.cpp
nsPaperPS.h
nsPrintDialogGTK.cpp Bug 1387381 - Remove nsXPIDLString local variables. r=erahm. 2017-08-08 16:07:55 +10:00
nsPrintDialogGTK.h
nsPrintOptionsGTK.cpp
nsPrintOptionsGTK.h
nsPrintSettingsGTK.cpp Bug 1387381 - Remove nsXPIDLString local variables. r=erahm. 2017-08-08 16:07:55 +10:00
nsPrintSettingsGTK.h
nsSound.cpp Bug 1386600 - Change nsIStringBundle methods to return |AString| instead of |wstring|. r=emk,sr=dbaron. 2017-08-04 14:40:52 +10: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 1387170 - Use custom clipboard constructor instead of singleton. r=jrmuizel 2017-08-09 09:49:50 -07:00
nsWindow.cpp Bug 1390428 (part 9) - Remove nsXPIDLCString. r=erahm. 2017-08-17 15:29:03 +10:00
nsWindow.h Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00