Name Description Size
AsyncDBus.cpp 3758
AsyncDBus.h IsExclusive = 1545
AsyncGtkClipboardRequest.cpp 4478
AsyncGtkClipboardRequest.h 2082
compat
components.conf 5892
CompositorWidgetChild.cpp 1673
CompositorWidgetChild.h 1510
CompositorWidgetParent.cpp 1720
CompositorWidgetParent.h 1521
crashtests
DMABufLibWrapper.cpp 11319
DMABufLibWrapper.h MOZ_LOGGING 8013
DMABufSurface.cpp TODO: DRM device selection: https://lists.freedesktop.org/archives/wayland-devel/2018-November/039660.html 49781
DMABufSurface.h 12623
GfxInfo.cpp 41403
GfxInfo.h WIDGET_GTK_GFXINFO_h__ 4537
GRefPtr.h 2329
gtk3drawing.cpp This file contains painting functions for each of the gtk2 widgets. Adapted from the gtkdrawing.c, and gtk+2.0 source. 106030
GtkCompositorWidget.cpp MOZ_LOGGING 7380
GtkCompositorWidget.h = nullptr 4411
gtkdrawing.h gtkdrawing.h: GTK widget rendering utilities gtkdrawing provides an API for rendering GTK widgets in the current theme to a pixmap or window, without requiring an actual widget instantiation, similar to the Macintosh Appearance Manager or Windows XP's DrawThemeBackground() API. 19920
GUniquePtr.h 1068
IMContextWrapper.cpp 127737
IMContextWrapper.h KeyHandlingState is result of IMContextWrapper::OnKeyEvent(). 26983
InProcessGtkCompositorWidget.cpp static 1627
InProcessGtkCompositorWidget.h 954
maiRedundantObjectFactory.c base init 2826
maiRedundantObjectFactory.h __NS_MAI_REDUNDANT_OBJECT_FACTORY_H__ 944
MediaKeysEventSourceFactory.cpp 450
moz.build 4482
MozContainer.cpp MOZ_LOGGING 12790
MozContainer.h MozContainer This class serves three purposes in the nsIWidget implementation. - It provides objects to receive signals from GTK for events on native windows. - It provides GdkWindow to draw content on Wayland or when Gtk+ renders client side decorations to mShell. - It provides a container parent for GtkWidgets. The only GtkWidgets that need this in Mozilla are the GtkSockets for windowed plugins (Xt and XEmbed). Note that the window hierarchy in Mozilla differs from conventional GtkWidget hierarchies. Mozilla's hierarchy exists through the GdkWindow hierarchy, and all child GdkWindows (within a child nsIWidget hierarchy) belong to one MozContainer GtkWidget. If the MozContainer is unrealized or its GdkWindows are destroyed for some other reason, then the hierarchy no longer exists. (In conventional GTK clients, the hierarchy is recorded by the GtkWidgets, and so can be re-established after destruction of the GdkWindows.) One consequence of this is that the MozContainer does not know which of its GdkWindows should parent child GtkWidgets. (Conventional GtkContainers determine which GdkWindow to assign child GtkWidgets.) Therefore, when adding a child GtkWidget to a MozContainer, gtk_widget_set_parent_window should be called on the child GtkWidget before it is realized. 3221
MozContainerWayland.cpp MozContainerWayland is a wrapper over MozContainer which provides wl_surface for MozContainer widget. The widget scheme looks like: --------------------------------------------------------- | mShell Gtk widget (contains wl_surface owned by Gtk+) | | | | --------------------------------------------------- | | | mContainer (contains wl_surface owned by Gtk+) | | | | | | | | --------------------------------------------- | | | | | wl_subsurface (attached to wl_surface | | | | | | of mContainer) | | | | | | | | | | | | | | | | | --------------------------------------------- | | | --------------------------------------------------- | --------------------------------------------------------- We draw to wl_subsurface owned by MozContainerWayland. We need to wait until wl_surface of mContainer is created and then we create and attach our wl_subsurface to it. First wl_subsurface creation has these steps: 1) moz_container_wayland_size_allocate() handler is called when mContainer size/position is known. It calls moz_container_wayland_surface_create_locked(), registers a frame callback handler moz_container_wayland_frame_callback_handler(). 2) moz_container_wayland_frame_callback_handler() is called when wl_surface owned by mozContainer is ready. We call initial_draw_cbs() handler and we can create our wl_subsurface on top of wl_surface owned by mozContainer. When MozContainer hides/show again, moz_container_wayland_size_allocate() handler may not be called as MozContainer size is set. So after first show/hide sequence use moz_container_wayland_map_event() to create wl_subsurface of MozContainer. 32433
MozContainerWayland.h MozContainer This class serves three purposes in the nsIWidget implementation. - It provides objects to receive signals from GTK for events on native windows. - It provides GdkWindow to draw content on Wayland or when Gtk+ renders client side decorations to mShell. 4040
mozgtk
mozwayland
MPRISInterfaceDescription.h 5176
MPRISServiceHandler.cpp 29192
MPRISServiceHandler.h This class implements the "MPRIS" D-Bus Service (https://specifications.freedesktop.org/mpris-spec/2.2), which is used to communicate with the Desktop Environment about the Multimedia playing in Gecko. Note that this interface requires many methods which may not be supported by Gecko, the interface however provides CanXYZ properties for these methods, so the method is defined but won't be executed. Also note that the following defines are for parts that the MPRIS Spec defines optional. The code won't compile with any of the defines set, yet, as those aren't implemented yet and probably never will be of use for gecko. For sake of completeness, they have been added until the decision about their implementation is finally made. The constexpr'ed methods are capabilities of the user agent known at compile time, e.g. we decided at compile time whether we ever want to support closing the user agent via MPRIS (Quit() and CanQuit()). Other properties like CanPlay() might depend on the runtime state (is there media available for playback?) and thus aren't a constexpr but merely a const method. 6762
NativeKeyBindings.cpp 18553
NativeKeyBindings.h GetEditCommandsForTests() returns commands performed in native widget in typical environment. I.e., this does NOT refer customized shortcut key mappings of the environment. 1906
NativeMenuGtk.cpp ctrlKey = 14056
NativeMenuGtk.h 1712
NativeMenuSupport.cpp 968
nsApplicationChooser.cpp static 4402
nsApplicationChooser.h 1019
nsAppShell.cpp static 14444
nsAppShell.h nsAppShell_h__ 1277
nsBidiKeyboard.cpp 1489
nsBidiKeyboard.h 637
nsClipboard.cpp 48180
nsClipboard.h MOZ_LOGGING 4692
nsClipboardWayland.cpp sleep for 10 ms/iteration 2490
nsClipboardWayland.h __nsClipboardWayland_h_ 1035
nsClipboardX11.cpp 5870
nsClipboardX11.h __nsClipboardX11_h_ 1139
nsColorPicker.cpp obsolete, unused 'pixel' value 8270
nsColorPicker.h 2150
nsDeviceContextSpecG.cpp for PR_GetEnv 14694
nsDeviceContextSpecG.h should be <limits.h>? 1753
nsDragService.cpp 98761
nsDragService.h Native GTK DragService wrapper 10193
nsFilePicker.cpp MOZ_LOGGING 21806
nsFilePicker.h 2874
nsGtkCursors.h MOZ_CURSOR_HAND_GRAB 25232
nsGtkKeyUtils.cpp 88108
nsGtkKeyUtils.h KeymapWrapper is a wrapper class of GdkKeymap. GdkKeymap doesn't support all our needs, therefore, we need to access lower level APIs. But such code is usually complex and might be slow. Against such issues, we should cache some information. This class provides only static methods. The methods is using internal singleton instance which is initialized by default GdkKeymap. When the GdkKeymap is destroyed, the singleton instance will be destroyed. 16571
nsGTKToolkit.h Wrapper around the thread running the message pump. The toolkit abstraction is necessary because the message pump must execute within the same thread that created the widget under Win32. 1604
nsGtkUtils.h 2031
nsImageToPixbuf.cpp 4034
nsImageToPixbuf.h 1048
nsLookAndFeel.cpp MOZ_LOGGING 74719
nsLookAndFeel.h 6093
nsNativeThemeGTK.cpp 60735
nsNativeThemeGTK.h 5062
nsPrintDialogGTK.cpp 25237
nsPrintDialogGTK.h 962
nsPrintSettingsGTK.cpp --------------------------------------------------- 22274
nsPrintSettingsGTK.h 5502
nsPrintSettingsServiceGTK.cpp 2848
nsPrintSettingsServiceGTK.h 1015
nsShmImage.cpp 9945
nsShmImage.h 1790
nsSound.cpp used to play sounds with libcanberra. 11582
nsSound.h __nsSound_h__ 771
nsToolkit.cpp 834
nsUserIdleServiceGTK.cpp 3785
nsUserIdleServiceGTK.h 1628
nsWaylandDisplay.cpp 11048
nsWaylandDisplay.h 4903
nsWidgetFactory.cpp 1894
nsWidgetFactory.h 646
nsWindow.cpp 331920
nsWindow.h MOZ_LOGGING 37228
PCompositorWidget.ipdl 905
PlatformWidgetTypes.ipdlh 854
ScreenHelperGTK.cpp MOZ_X11 18488
ScreenHelperGTK.h 2493
TaskbarProgress.cpp TaskbarProgress **************************************************************************** 3459
TaskbarProgress.h 860
WakeLockListener.cpp 15902
WakeLockListener.h Receives WakeLock events and simply passes it on to the right WakeLockTopic to inhibit the screensaver. 1468
wayland
WaylandBuffer.cpp MOZ_LOGGING 8750
WaylandBuffer.h 4341
WaylandVsyncSource.cpp MOZ_LOGGING 12604
WaylandVsyncSource.h WaylandVsyncSource This class provides a per-widget VsyncSource under Wayland, emulated using frame callbacks on the widget surface with empty surface commits. Wayland does not expose vsync/vblank, as it considers that an implementation detail the clients should not concern themselves with. Instead, frame callbacks are provided whenever the compositor believes it is a good time to start drawing the next frame for a particular surface, giving us as much time as possible to do so. Note that the compositor sends frame callbacks only when it sees fit, and when that may be is entirely up to the compositor. One cannot expect a certain rate of callbacks, or any callbacks at all. Examples of common variations would be surfaces moved between outputs with different refresh rates, and surfaces that are hidden and therefore do not receieve any callbacks at all. Other hypothetical scenarios of variation could be throttling to conserve power, or because a user has requested it. 3449
WidgetStyleCache.cpp 58342
WidgetStyleCache.h Return a new style context based on aWidget, as a child of aParentStyle. If aWidget still has a floating reference, then it is sunk and released. 2263
WidgetTraceEvent.cpp 1705
WidgetUtilsGtk.cpp MOZ_LOGGING 14004
WidgetUtilsGtk.h See WidgetUtils::IsTouchDeviceSupportPresent(). 2217
WindowSurface.h 1348
WindowSurfaceProvider.cpp MOZ_LOGGING 5613
WindowSurfaceProvider.h Holds the logic for creating WindowSurface's for a GTK nsWindow. The main purpose of this class is to allow sharing of logic between nsWindow and GtkCompositorWidget, for when OMTC is enabled or disabled. 2925
WindowSurfaceWaylandMultiBuffer.cpp MOZ_LOGGING 13607
WindowSurfaceWaylandMultiBuffer.h 2890
WindowSurfaceX11.cpp static 1513
WindowSurfaceX11.h 1129
WindowSurfaceX11Image.cpp 8961
WindowSurfaceX11Image.h 1453
WindowSurfaceX11SHM.cpp 984
WindowSurfaceX11SHM.h 1059