Name Description Size
AsyncDBus.cpp 3720
AsyncDBus.h IsExclusive = 1516
AsyncGtkClipboardRequest.cpp 4698
AsyncGtkClipboardRequest.h 2082
compat
components.conf 5894
CompositorWidgetChild.cpp 1636
CompositorWidgetChild.h 1494
CompositorWidgetParent.cpp 1698
CompositorWidgetParent.h 1465
crashtests
DBusMenu.cpp static 2533
DBusMenu.h 6525
DBusService.cpp 11310
DBusService.h 2431
DMABufFormats.cpp unused 12538
DMABufFormats.h 3497
DMABufLibWrapper.cpp 2x2 subsampled Cr:Cb plane 10762
DMABufLibWrapper.h MOZ_LOGGING 9317
DMABufSurface.cpp TODO: - DRM device selection: https://lists.freedesktop.org/archives/wayland-devel/2018-November/039660.html - Use uint64_t mBufferModifiers / mGbmBufferObject for RGBA - Remove file descriptors open/close? 71629
DMABufSurface.h 16686
GfxInfo.cpp 54984
GfxInfo.h WIDGET_GTK_GFXINFO_h__ 4919
GfxInfoUtils.h WIDGET_GTK_GFXINFO_h__ 2900
GRefPtr.h 2248
gtk3drawing.cpp This file contains painting functions for each of the gtk2 widgets. Adapted from the gtkdrawing.c, and gtk+2.0 source. 37284
GtkCompositorWidget.cpp MOZ_LOGGING 5961
GtkCompositorWidget.h = nullptr 4218
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. 12913
GUniquePtr.h 1128
IMContextWrapper.cpp 130639
IMContextWrapper.h KeyHandlingState is result of IMContextWrapper::OnKeyEvent(). 27544
InProcessGtkCompositorWidget.cpp static 1627
InProcessGtkCompositorWidget.h 954
MediaKeysEventSourceFactory.cpp 450
metrics.yaml 1563
moz.build 5020
MozContainer.cpp MOZ_LOGGING 8300
MozContainer.h MozContainer This class serves two purposes in the nsIWidget implementation. - It provides objects to receive signals from GTK for events on native windows. - It provides GdkWindow to draw content. 2177
MozContainerWayland.cpp MozContainerWayland is a wrapper over MozContainer which manages WaylandSurface for nsWindow. The widget scheme looks like: --------------------------------------------------------- | mShell Gtk widget (contains wl_surface owned by Gtk+) | | | | --------------------------------------------------- | | | mContainer (contains wl_surface owned by Gtk+) | | | | | | | | --------------------------------------------- | | | | | wl_subsurface (owned by WaylandSurface) | | | | | | | | | | | | | | | | | | | | | | | --------------------------------------------- | | | --------------------------------------------------- | --------------------------------------------------------- We draw to wl_subsurface managed by WaylandSurface/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. 12896
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. 2449
mozgtk
mozwayland
MPRISInterfaceDescription.h 5176
MPRISServiceHandler.cpp fast seek 36112
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. 7318
NativeKeyBindings.cpp 18532
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 = 28211
NativeMenuGtk.h 2430
NativeMenuSupport.cpp 1286
nsApplicationChooser.cpp static 3889
nsApplicationChooser.h 1019
nsAppShell.cpp static 18776
nsAppShell.h nsAppShell_h__ 2284
nsBidiKeyboard.cpp 1489
nsBidiKeyboard.h 637
nsClipboard.cpp 52282
nsClipboard.h 5646
nsClipboardWayland.cpp 2508
nsClipboardWayland.h __nsClipboardWayland_h_ 1035
nsClipboardX11.cpp 5996
nsClipboardX11.h __nsClipboardX11_h_ 1139
nsColorPicker.cpp obsolete, unused 'pixel' value 8027
nsColorPicker.h 2167
nsDeviceContextSpecG.cpp for PR_GetEnv 15216
nsDeviceContextSpecG.h should be <limits.h>? 1879
nsDragService.cpp 109395
nsDragService.h GTK native nsIDragSession implementation 14076
nsFilePicker.cpp MOZ_LOGGING 24258
nsFilePicker.h mFileChooser is non-null while open. 3035
nsGtkCursors.h MOZ_CURSOR_HAND_GRAB 25232
nsGtkKeyUtils.cpp 96605
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. 16958
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 89838
nsLookAndFeel.h 7782
nsNativeThemeGTK.cpp static 34094
nsNativeThemeGTK.h 4904
nsPrintDialogGTK.cpp 24930
nsPrintDialogGTK.h 848
nsPrintSettingsGTK.cpp --------------------------------------------------- 22306
nsPrintSettingsGTK.h //*** nsPrintSettingsGTK //***************************************************************************** class nsPrintSettingsGTK : public nsPrintSettings { public: NS_DECL_ISUPPORTS_INHERITED NS_INLINE_DECL_STATIC_IID(NS_PRINTSETTINGSGTK_IID) nsPrintSettingsGTK(); explicit nsPrintSettingsGTK(const PrintSettingsInitializer& aSettings); static nsPrintSettingsGTK* From(nsIPrintSettings* aPrintSettings) { return static_cast<nsPrintSettingsGTK*>(aPrintSettings); } // We're overriding these methods because we want to read/write with GTK // objects, not local variables. This allows a simpler settings implementation // between Gecko and GTK. GtkPageSetup* GetGtkPageSetup() { return mPageSetup; }; void SetGtkPageSetup(GtkPageSetup* aPageSetup); GtkPrintSettings* GetGtkPrintSettings() { return mPrintSettings; }; void SetGtkPrintSettings(GtkPrintSettings* aPrintSettings); GtkPrinter* GetGtkPrinter() { return mGTKPrinter; }; void SetGtkPrinter(GtkPrinter* aPrinter); // Reversed, color, orientation and file name are all stored in the // GtkPrintSettings. Orientation is also stored in the GtkPageSetup and its // setting takes priority when getting the orientation. NS_IMETHOD GetPrintReversed(bool* aPrintReversed) override; NS_IMETHOD SetPrintReversed(bool aPrintReversed) override; NS_IMETHOD GetPrintInColor(bool* aPrintInColor) override; NS_IMETHOD SetPrintInColor(bool aPrintInColor) override; NS_IMETHOD GetOrientation(int32_t* aOrientation) override; NS_IMETHOD SetOrientation(int32_t aOrientation) override; NS_IMETHOD GetToFileName(nsAString& aToFileName) override; NS_IMETHOD SetToFileName(const nsAString& aToFileName) override; // Gets/Sets the printer name in the GtkPrintSettings. If no printer name is // specified there, you will get back the name of the current internal // GtkPrinter. NS_IMETHOD GetPrinterName(nsAString& Printer) override; NS_IMETHOD SetPrinterName(const nsAString& aPrinter) override; // Number of copies is stored/gotten from the GtkPrintSettings. NS_IMETHOD GetNumCopies(int32_t* aNumCopies) override; NS_IMETHOD SetNumCopies(int32_t aNumCopies) override; NS_IMETHOD GetScaling(double* aScaling) override; NS_IMETHOD SetScaling(double aScaling) override; // A name recognised by GTK is strongly advised here, as this is used to // create a GtkPaperSize. NS_IMETHOD GetPaperId(nsAString& aPaperId) override; NS_IMETHOD SetPaperId(const nsAString& aPaperId) override; NS_IMETHOD SetUnwriteableMarginInTwips( nsIntMargin& aUnwriteableMargin) override; NS_IMETHOD SetUnwriteableMarginTop(double aUnwriteableMarginTop) override; NS_IMETHOD SetUnwriteableMarginLeft(double aUnwriteableMarginLeft) override; NS_IMETHOD SetUnwriteableMarginBottom( double aUnwriteableMarginBottom) override; NS_IMETHOD SetUnwriteableMarginRight(double aUnwriteableMarginRight) override; NS_IMETHOD GetPaperWidth(double* aPaperWidth) override; NS_IMETHOD SetPaperWidth(double aPaperWidth) override; NS_IMETHOD GetPaperHeight(double* aPaperHeight) override; NS_IMETHOD SetPaperHeight(double aPaperHeight) override; NS_IMETHOD SetPaperSizeUnit(int16_t aPaperSizeUnit) override; NS_IMETHOD GetEffectivePageSize(double* aWidth, double* aHeight) override; NS_IMETHOD SetPageRanges(const nsTArray<int32_t>&) override; NS_IMETHOD GetPageRanges(nsTArray<int32_t>&) override; NS_IMETHOD GetResolution(int32_t* aResolution) override; NS_IMETHOD SetResolution(int32_t aResolution) override; NS_IMETHOD GetDuplex(int32_t* aDuplex) override; NS_IMETHOD SetDuplex(int32_t aDuplex) override; NS_IMETHOD GetOutputFormat(int16_t* aOutputFormat) override; protected: virtual ~nsPrintSettingsGTK(); nsPrintSettingsGTK(const nsPrintSettingsGTK& src); nsPrintSettingsGTK& operator=(const nsPrintSettingsGTK& rhs); virtual nsresult _Clone(nsIPrintSettings** _retval) override; virtual nsresult _Assign(nsIPrintSettings* aPS) override; GtkUnit GetGTKUnit(int16_t aGeckoUnit); void SaveNewPageSize(); /** Re-initialize mUnwriteableMargin with values from mPageSetup. Should be called whenever mPageSetup is initialized or overwritten. 5257
nsPrintSettingsServiceGTK.cpp 2848
nsPrintSettingsServiceGTK.h 1015
nsShmImage.cpp 9953
nsShmImage.h 1790
nsSound.cpp used to play sounds with libcanberra. 12914
nsSound.h __nsSound_h__ 771
nsToolkit.cpp 834
nsUserIdleServiceGTK.cpp 10592
nsUserIdleServiceGTK.h 2259
nsWaylandDisplay.cpp 24506
nsWaylandDisplay.h 7188
nsWidgetFactory.cpp 1832
nsWidgetFactory.h 646
nsWindow.cpp 340905
nsWindow.h MOZ_LOGGING 38580
PCompositorWidget.ipdl 895
PlatformWidgetTypes.ipdlh 824
ScreenHelperGTK.cpp MOZ_X11 10051
ScreenHelperGTK.h 893
TaskbarProgress.cpp TaskbarProgress **************************************************************************** 3459
TaskbarProgress.h 860
v4l2test
va_drmcommon.h \brief DRM authentication type. 6035
vaapitest
WakeLockListener.cpp 30990
WakeLockListener.h Receives WakeLock events and simply passes it on to the right WakeLockTopic to inhibit the screensaver. 1056
wayland
WaylandBuffer.cpp MOZ_LOGGING 12529
WaylandBuffer.h 6038
WaylandSurface.cpp MOZ_LOGGING 47290
WaylandSurface.h Workaround for bug at wayland-util.h, present in wayland-devel < 1.12 19355
WaylandSurfaceLock.cpp flush display 1423
WaylandSurfaceLock.h __MOZ_WAYLAND_SURFACE_LOCK_H__ 1262
WaylandVsyncSource.cpp MOZ_LOGGING 11630
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. 3812
WidgetStyleCache.cpp Some GTK engines paint the first and last cell of a TreeView header with a highlight. Since we do not know where our widget will be relative to the other buttons in the TreeView header, we must paint it as a button that is between two others, thus ensuring it is neither the first or last button in the header. GTK doesn't give us a way to do this explicitly, so we must paint with a button that is between two others. 42017
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
WidgetUtilsGtk.cpp MOZ_X11 17866
WidgetUtilsGtk.h See WidgetUtils::IsTouchDeviceSupportPresent(). 2556
WindowSurface.h 1348
WindowSurfaceCairo.cpp 3228
WindowSurfaceCairo.h 1109
WindowSurfaceProvider.cpp MOZ_LOGGING 6391
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. 3389
WindowSurfaceWaylandMultiBuffer.cpp MOZ_LOGGING 13622
WindowSurfaceWaylandMultiBuffer.h 3150
WindowSurfaceX11.cpp static 1513
WindowSurfaceX11.h 1129
WindowSurfaceX11Image.cpp 4171
WindowSurfaceX11Image.h 1222
WindowSurfaceX11SHM.cpp 984
WindowSurfaceX11SHM.h 1115