Name Description Size Coverage
AsyncDBus.cpp 7359 50 %
AsyncDBus.h IsExclusive = 2031 -
AsyncGtkClipboardRequest.cpp 4694 99 %
AsyncGtkClipboardRequest.h 2082 89 %
compat -
components.conf 5894 -
CompositorWidgetChild.cpp 1520 0 %
CompositorWidgetChild.h 1610 0 %
CompositorWidgetParent.cpp 1501 0 %
CompositorWidgetParent.h 1453 0 %
crashtests -
DBusMenu.cpp static 2470 0 %
DBusMenu.h 6525 -
DBusService.cpp 11282 0 %
DBusService.h 2428 0 %
DMABufDevice.cpp 9444 63 %
DMABufDevice.h MOZ_LOGGING 9482 7 %
DMABufFormats.cpp 2x2 subsampled Cr:Cb plane 16790 33 %
DMABufFormats.h 4240 40 %
DMABufSurface.cpp C++ / C typecast macros for special EGL handle values 78604 0 %
DMABufSurface.h 18904 0 %
GfxInfo.cpp 59757 60 %
GfxInfo.h 5381 100 %
GfxInfoUtils.h WIDGET_GTK_GFXINFO_h_ 2686 80 %
GRefPtr.h 2358 100 %
GSettings.cpp 3448 49 %
GSettings.h 1957 91 %
GtkCompositorWidget.cpp MOZ_LOGGING 5933 67 %
GtkCompositorWidget.h = nullptr 3994 67 %
GtkWidgets.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. 21197 75 %
GtkWidgets.h Returns a pointer to a style context for the specified node and state. aStateFlags is applied only to last widget in css style path, for instance GetStyleContext(MOZ_GTK_BUTTON, .., GTK_STATE_FLAG_HOVER) you get "window button:hover" css selector. The context is static. Do not unref. 2920 -
GUniquePtr.h 1128 44 %
IMContextWrapper.cpp 131506 25 %
IMContextWrapper.h KeyHandlingState is result of IMContextWrapper::OnKeyEvent(). 28346 10 %
InProcessGtkCompositorWidget.cpp static 1625 100 %
InProcessGtkCompositorWidget.h 954 -
MediaKeysEventSourceFactory.cpp 450 100 %
metrics.yaml 1563 -
moz.build 5043 -
MozContainer.cpp MOZ_LOGGING 8414 91 %
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. 2159 -
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. 9761 0 %
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. 1739 0 %
mozgtk 100 %
mozwayland 3 %
MPRISInterfaceDescription.h 5176 -
MPRISServiceHandler.cpp fast seek 33299 61 %
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. 6905 100 %
NativeKeyBindings.cpp 18500 42 %
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. 1874 -
NativeMenuGtk.cpp ctrlKey = 28497 0 %
NativeMenuGtk.h 2584 0 %
NativeMenuSupport.cpp 1465 47 %
nsApplicationChooser.cpp static 3861 0 %
nsApplicationChooser.h 1017 -
nsAppShell.cpp static 19130 68 %
nsAppShell.h nsAppShell_h_ 2634 100 %
nsBidiKeyboard.cpp 1489 90 %
nsBidiKeyboard.h 634 -
nsClipboard.cpp 52721 79 %
nsClipboard.h 6507 91 %
nsClipboardWayland.cpp 2437 0 %
nsClipboardWayland.h _nsClipboardWayland_h_ 1032 -
nsClipboardX11.cpp 5933 100 %
nsClipboardX11.h _nsClipboardX11_h_ 1109 -
nsColorPicker.cpp obsolete, unused 'pixel' value 8000 0 %
nsColorPicker.h 2164 0 %
nsDeviceContextSpecG.cpp for PR_GetEnv 15590 68 %
nsDeviceContextSpecG.h should be <limits.h>? 1841 100 %
nsDragService.cpp 111152 5 %
nsDragService.h GTK native nsIDragSession implementation 14400 0 %
nsFilePicker.cpp MOZ_LOGGING 30256 7 %
nsFilePicker.h 3050 -
nsGtkCursors.h MOZ_CURSOR_HAND_GRAB 25229 -
nsGtkKeyUtils.cpp 98470 21 %
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. 17816 50 %
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 100 %
nsGtkUtils.h 2028 71 %
nsImageToPixbuf.cpp 5194 70 %
nsImageToPixbuf.h 1025 -
nsLookAndFeel.cpp MOZ_LOGGING 95966 72 %
nsLookAndFeel.h 8267 90 %
nsNativeThemeGTK.cpp aZero = 12935 34 %
nsNativeThemeGTK.h 2898 -
nsPrintDialogGTK.cpp 24944 0 %
nsPrintDialogGTK.h 846 -
nsPrintSettingsGTK.cpp --------------------------------------------------- 22265 89 %
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 100 %
nsPrintSettingsServiceGTK.cpp 2848 100 %
nsPrintSettingsServiceGTK.h 1015 100 %
nsShmImage.cpp 9990 81 %
nsShmImage.h 1786 100 %
nsSound.cpp used to play sounds with libcanberra. 12853 52 %
nsSound.h _nsSound_h_ 765 -
nsToolkit.cpp 834 100 %
nsUserIdleServiceGTK.cpp 10549 42 %
nsUserIdleServiceGTK.h 2256 100 %
nsWaylandDisplay.cpp MOZ_LOGGING 40496 1 %
nsWaylandDisplay.h 9331 0 %
nsWidgetFactory.cpp 1829 96 %
nsWidgetFactory.h 646 -
nsWindow.cpp 342264 49 %
nsWindow.h MOZ_LOGGING 39765 89 %
PCompositorWidget.ipdl 831 -
PlatformWidgetTypes.ipdlh 824 -
ScreenHelperGTK.cpp MOZ_X11 29325 43 %
ScreenHelperGTK.h 1400 100 %
TaskbarProgress.cpp TaskbarProgress **************************************************************************** 3469 100 %
TaskbarProgress.h 860 -
v4l2test -
va_drmcommon.h \brief DRM authentication type. 6035 -
vaapitest 0 %
WakeLockListener.cpp 37032 56 %
WakeLockListener.h Receives WakeLock events and simply passes it on to the right WakeLockTopic to inhibit the screensaver. 1202 -
wayland 0 %
WaylandBuffer.cpp MOZ_LOGGING 16686 0 %
WaylandBuffer.h 7238 0 %
WaylandSurface.cpp MOZ_LOGGING 49084 0 %
WaylandSurface.h Workaround for bug at wayland-util.h, present in wayland-devel < 1.12 20218 0 %
WaylandSurfaceLock.cpp flush display 1467 0 %
WaylandSurfaceLock.h MOZ_WAYLAND_SURFACE_LOCK_H_ 1415 0 %
WaylandVsyncSource.cpp MOZ_LOGGING 11643 2 %
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. 3847 0 %
WidgetUtilsGtk.cpp MOZ_X11 20481 74 %
WidgetUtilsGtk.h See WidgetUtils::IsTouchDeviceSupportPresent(). 2628 100 %
WindowSurface.h 1345 67 %
WindowSurfaceCairo.cpp 3228 0 %
WindowSurfaceCairo.h 1106 0 %
WindowSurfaceProvider.cpp MOZ_LOGGING 6183 66 %
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. 3355 0 %
WindowSurfaceWaylandMultiBuffer.cpp MOZ_LOGGING 12983 0 %
WindowSurfaceWaylandMultiBuffer.h 3159 0 %
WindowSurfaceX11.cpp static 1513 0 %
WindowSurfaceX11.h 1126 -
WindowSurfaceX11Image.cpp 4171 0 %
WindowSurfaceX11Image.h 1219 0 %
WindowSurfaceX11SHM.cpp 984 100 %
WindowSurfaceX11SHM.h 1112 -