Name Description Size Coverage
AudioSession.cpp The AudioSession is most visible as the controller for the Firefox entries in the Windows volume mixer in Windows 10. This class wraps IAudioSessionControl and implements IAudioSessionEvents for callbacks from Windows -- we only need OnSessionDisconnected, which happens when the audio device changes. This should be used on background (MTA) threads only. This may be used concurrently by MSCOM as IAudioSessionEvents, so methods must be threadsafe and public methods cannot use MOZ_REQUIRES. 13158 72 %
AudioSession.h 763 -
CheckInvariantWrapper.h 2117 100 %
components.conf 8284 -
CompositorWidgetChild.cpp 3278 79 %
CompositorWidgetChild.h 2121 50 %
CompositorWidgetParent.cpp 6390 79 %
CompositorWidgetParent.h 3267 100 %
DirectManipulationOwner.cpp 21443 35 %
DirectManipulationOwner.h 1589 -
docs -
filedialog 43 %
GfxInfo.cpp 76786 64 %
GfxInfo.h 4585 100 %
IEnumFE.cpp IUnknown impl. 3302 79 %
IEnumFE.h CEnumFormatEtc - implements IEnumFORMATETC 2392 65 %
IMMHandler.cpp IMEContext **************************************************************************** 92097 5 %
IMMHandler.h IsIMEAvailable() returns TRUE when current keyboard layout has IME. Otherwise, FALSE. 16387 33 %
InProcessWinCompositorWidget.cpp static 6740 36 %
InProcessWinCompositorWidget.h 2853 100 %
InputDeviceUtils.cpp 1811 39 %
InputDeviceUtils.h 825 -
JumpListBuilder.cpp A wrapper around a ICustomDestinationList that implements the JumpListBackend interface. This is an implementation of JumpListBackend that actually causes items to appear in a Windows jump list. 29792 67 %
JumpListBuilder.h This is an abstract class for a backend to write to the Windows Jump List. It has a 1-to-1 method mapping with ICustomDestinationList. The abtract class allows us to implement a "fake" backend for automated testing. 3514 100 %
KeyboardLayout.cpp 202734 53 %
KeyboardLayout.h Append a pair of unicode character and the final modifier. 40715 78 %
LSPAnnotator.cpp LSPs are evil little bits of code that are allowed to inject into our networking stack by Windows. Once they have wormed into our process they gnaw at our innards until we crash. Here we force the buggers into the light by recording them in our crash information. We do the enumeration on a thread because I'm concerned about startup perf on machines with several LSPs. 4178 91 %
MediaKeysEventSourceFactory.cpp 584 100 %
metrics.yaml 3807 -
moz.build 6062 -
nsAppShell.cpp 29790 75 %
nsAppShell.h Native Win32 Application shell wrapper 1922 100 %
nsBidiKeyboard.cpp 5819 57 %
nsBidiKeyboard.h 856 100 %
nsClipboard.cpp static 56556 61 %
nsClipboard.h Native Win32 Clipboard wrapper 5425 100 %
nsColorPicker.cpp static 6103 0 %
nsColorPicker.h 1514 0 %
nsDataObj.cpp 76054 64 %
nsDataObj.h This ole registered class is used to facilitate drag-drop of objects which can be adapted by an object derived from CfDragDrop. The CfDragDrop is associated with instances via SetDragDrop(). 11323 50 %
nsDataObjCollection.cpp Class nsDataObjCollection 12311 0 %
nsDataObjCollection.h This ole registered class is used to facilitate drag-drop of objects which can be adapted by an object derived from CfDragDrop. The CfDragDrop is associated with instances via SetDragDrop(). 3259 0 %
nsdefs.h 1604 -
nsDeviceContextSpecWin.cpp recursive = 21199 72 %
nsDeviceContextSpecWin.h 3162 100 %
nsDragService.cpp 25001 4 %
nsDragService.h Windows native nsIDragSession implementation 2468 83 %
nsFilePicker.cpp 37746 36 %
nsFilePicker.h Native Windows FileSelector wrapper 4055 50 %
nsIAlertsServiceRust.idl 530 -
nsIWindowsTestDebug.idl Get the list of processes that currently have an open handle to aFilename. This can be used to determine what other processess (if any) are preventing access to a file, or even if this process still has open handles to it. Currently, this list will not include file handles obtained via memory mapping, which can be kept beyond closing the handle that they mapped on Windows. This behavior is obviously racy. @param aFilepath Full path to the file we are querying. @returns An array of the processes that held handles to aFilename at the time the function was executed. 1626 -
nsLookAndFeel.cpp virtual 35819 81 %
nsLookAndFeel.h Gesture System Metrics 4932 94 %
nsNativeDragSource.cpp class nsNativeDragSource 3129 0 %
nsNativeDragSource.h nsNativeDragSource implements the IDropSource interface and gets most of its behavior from the associated adapter (m_dragDrop). 2114 0 %
nsNativeDragTarget.cpp class nsNativeDragTarget 17890 10 %
nsNativeDragTarget.h nsNativeDragTarget implements the IDropTarget interface and gets most of its behavior from the associated adapter (m_dragDrop). 3684 0 %
nsNativeThemeWin.cpp 756 100 %
nsNativeThemeWin.h 511 100 %
nsPrintDialogUtil.cpp ------------------------------------------------------------------- To Build This: You need to add this to the the makefile.win in mozilla/dom/base: .\$(OBJDIR)\nsFlyOwnPrintDialog.obj \ And this to the makefile.win in mozilla/content/build: WIN_LIBS= \ winspool.lib \ comctl32.lib \ comdlg32.lib ---------------------------------------------------------------------- 12033 0 %
nsPrintDialogUtil.h nsFlyOwnDialog_h_ 500 -
nsPrintDialogWin.cpp ParamBlock 4631 0 %
nsPrintDialogWin.h 931 0 %
nsPrinterWin.cpp 18704 56 %
nsPrinterWin.h 2125 100 %
nsPrintSettingsServiceWin.cpp 4263 63 %
nsPrintSettingsServiceWin.h 914 100 %
nsPrintSettingsWin.cpp 19368 75 %
nsPrintSettingsWin.h //*** nsPrintSettingsWin //***************************************************************************** class nsPrintSettingsWin : public nsPrintSettings, public nsIPrintSettingsWin { virtual ~nsPrintSettingsWin(); public: NS_DECL_ISUPPORTS_INHERITED NS_DECL_NSIPRINTSETTINGSWIN nsPrintSettingsWin(); nsPrintSettingsWin(const nsPrintSettingsWin& aPS); /** @param aPaperSize the Windows dmPaperSize @param aPaperSizeUnit will be set to the nsIPrintSettings paper size unit associated with aPaperSize or left unchanged if aPaperSize is not recognized 1859 100 %
nsSharePicker.cpp 2291 0 %
nsSharePicker.h 715 0 %
nsSound.cpp static 9713 67 %
nsSound.h _nsSound_h_ 1058 100 %
nsToolkit.cpp 1824 100 %
nsToolkit.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. 1089 -
nsUserIdleServiceWin.cpp 677 100 %
nsUserIdleServiceWin.h NOTE: Compare of GetTickCount() could overflow. This corrects for overflow situations. * 1530 100 %
nsUXThemeConstants.h The following constants are used to determine how a widget is drawn using Windows' Theme API. For more information on theme parts and states see http://msdn.microsoft.com/en-us/library/bb773210(VS.85).aspx 5915 -
nsWidgetFactory.cpp 1663 100 %
nsWidgetFactory.h 664 -
nsWindow.cpp nsWindow - Native window management and event handling. nsWindow is organized into a set of major blocks and block subsections. The layout is as follows: Includes Variables nsIWidget impl. nsIWidget methods and utilities nsSwitchToUIThread impl. nsSwitchToUIThread methods and utilities Moz events Event initialization Event dispatching Native events Wndproc(s) Event processing OnEvent event handlers IME management and accessibility Transparency Popup hook handling Misc. utilities Child window impl. Search for "BLOCK:" to find major blocks. Search for "SECTION:" to find specific sections. Blocks should be split out into separate files if they become unmanageable. Notable related sources: nsWindowDefs.h - Definitions, macros, structs, enums and general setup. nsWindowDbg.h/.cpp - Debug related code and directives. nsWindowGfx.h/.cpp - Graphics and painting. 309542 68 %
nsWindow.h nsWindow - Native window management and event handling. 33189 96 %
nsWindowDbg.cpp nsWindowDbg - Debug related utilities for nsWindow. 71231 61 %
nsWindowDbg.h nsWindowDbg - Debug related utilities for nsWindow. 5168 100 %
nsWindowDefs.h nsWindowDefs - nsWindow related definitions, consts, and macros. 3499 100 %
nsWindowGfx.cpp nsWindowGfx - Painting and aceleration. 23323 83 %
nsWindowGfx.h nsWindowGfx - Painting and aceleration. 1728 -
nsWindowLoggedMessages.cpp 12994 81 %
nsWindowLoggedMessages.h WindowLoggedMessages 889 -
nsWindowTaskbarConcealer.cpp TaskbarConcealerImpl Implement Windows-fullscreen marking. nsWindow::TaskbarConcealer implements logic determining _whether_ to tell Windows that a given window is fullscreen. TaskbarConcealerImpl performs the platform-specific work of actually communicating that fact to Windows. (This object is not persistent; it's constructed on the stack when needed.) 19971 84 %
nsWindowTaskbarConcealer.h nsWindow::TaskbarConcealer Fullscreen-state (and, thus, taskbar-occlusion) manager. 2027 -
nsWinGesture.cpp nsWinGesture - Touch input handling for tablet displays. 11862 8 %
nsWinGesture.h nsWinGesture - Touch input handling for tablet displays. 2347 78 %
OSKInputPaneManager.cpp 2543 65 %
OSKInputPaneManager.h 719 -
OSKTabTipManager.cpp Get the HWND for the on-screen keyboard, if it's up. Only allowed for Windows 8 and higher. 4164 0 %
OSKTabTipManager.h 620 -
OSKVRManager.cpp aRequiresMutex 1113 0 %
OSKVRManager.h 604 -
PCompositorWidget.ipdl 1424 -
PlatformWidgetTypes.ipdlh 924 -
RemoteBackbuffer.cpp secattr 19242 87 %
RemoteBackbuffer.h 2351 -
res -
resource.h 699 -
rust 85 %
ScreenHelperWin.cpp 6082 76 %
ScreenHelperWin.h 773 100 %
ShellHeaderOnlyUtils.h Ask the current user's Desktop to ShellExecute on our behalf, thus causing the resulting launched process to inherit its security priviliges from Explorer instead of our process. This is useful in two scenarios, in particular: * We are running as an elevated user and we want to start something as the "normal" user; * We are starting a process that is incompatible with our process's process mitigation policies. By delegating to Explorer, the child process will not be affected by our process mitigations. Since this communication happens over DCOM, Explorer's COM DACL governs whether or not we can execute against it, thus avoiding privilege escalation. 6311 12 %
SystemStatusBar.cpp cbSize 9873 71 %
SystemStatusBar.h 960 100 %
TaskbarPreview.cpp 12893 51 %
TaskbarPreview.h Callback object TaskbarPreview hands to preview controllers when we request async thumbnail or live preview images. Controllers invoke this interface once they have aquired the requested image. 4132 0 %
TaskbarPreviewButton.cpp 3515 0 %
TaskbarPreviewButton.h _mozilla_widget_TaskbarPreviewButton_h_ 1274 0 %
TaskbarTabPreview.cpp 10714 69 %
TaskbarTabPreview.h _mozilla_widget_TaskbarTabPreview_h_ 2305 100 %
TaskbarWindowPreview.cpp These correspond directly to the states defined in nsITaskbarProgress.idl, so they should be kept in sync. 10081 46 %
TaskbarWindowPreview.h _mozilla_widget_TaskbarWindowPreview_h_ 2822 100 %
tests 3 %
ToastNotification.cpp 31439 70 %
ToastNotification.h 2548 80 %
ToastNotificationHandler.cpp 38570 71 %
ToastNotificationHandler.h = u""_ns 5709 96 %
ToastNotificationHeaderOnlyUtils.h This header is intended for self-contained, header-only, utility code to share between Windows toast notification code in firefox.exe and notificationserver.dll. 5248 13 %
touchinjection_sdk80.h 6049 -
TSFEmptyTextStore.cpp TSF related code should log its behavior even on release build especially in the interface methods. In interface methods, use LogLevel::Info. In internal methods, use LogLevel::Debug for logging normal behavior. For logging error, use LogLevel::Error. When an instance method is called, start with following text: "0x%p TSFFoo::Bar(", the 0x%p should be the "this" of the nsFoo. after that, start with: "0x%p TSFFoo::Bar(" In an internal method, start with following text: "0x%p TSFFoo::Bar(" When a static method is called, start with following text: "TSFFoo::Bar(" 17459 50 %
TSFEmptyTextStore.h IUnknown 2974 80 %
TSFInputScope.cpp 1351 100 %
TSFInputScope.h 1401 65 %
TSFStaticSink.cpp 25169 32 %
TSFStaticSink.h ActiveTIP() returns an ID for currently active TIP. Please note that this method is expensive due to needs a lot of GUID comparisons if active language ID is one of CJKT. If you need to check TIPs for a specific language, you should check current language first. 5798 79 %
TSFTextInputProcessorList.h 1436 -
TSFTextStore.cpp TSF related code should log its behavior even on release build especially in the interface methods. In interface methods, use LogLevel::Info. In internal methods, use LogLevel::Debug for logging normal behavior. For logging error, use LogLevel::Error. When an instance method is called, start with following text: "0x%p TSFFoo::Bar(", the 0x%p should be the "this" of the nsFoo. after that, start with: "0x%p TSFFoo::Bar(" In an internal method, start with following text: "0x%p TSFFoo::Bar(" When a static method is called, start with following text: "TSFFoo::Bar(" 173587 24 %
TSFTextStore.h Text Services Framework text store 35765 35 %
TSFTextStoreBase.cpp TSF related code should log its behavior even on release build especially in the interface methods. In interface methods, use LogLevel::Info. In internal methods, use LogLevel::Debug for logging normal behavior. For logging error, use LogLevel::Error. When an instance method is called, start with following text: "0x%p TSFFoo::Bar(", the 0x%p should be the "this" of the nsFoo. after that, start with: "0x%p TSFFoo::Bar(" In an internal method, start with following text: "0x%p TSFFoo::Bar(" When a static method is called, start with following text: "TSFFoo::Bar(" 45568 60 %
TSFTextStoreBase.h IUnknown 10724 81 %
TSFUtils.cpp Logging helper classes **************************************************************************** 37012 26 %
TSFUtils.h Return true while TSF is available. 15106 15 %
UrlmonHeaderOnlyUtils.h We used to validate a uri with SHParseDisplayName to mitigate the Windows bug (Bug 394974). However, Bug 1573051 revealed an issue that a fragment, a string following a hash mark (#), is dropped when we extract a string from PIDL. This is the intended behavior of Windows. To deal with the fragment issue as well as keeping our mitigation, we decided to use CreateUri to validate a uri string, but we also keep using SHParseDisplayName as a pre-check. This is because there are several cases where CreateUri succeeds while SHParseDisplayName fails such as a non-existent file: uri. To minimize the impact of introducing CreateUri into the validation logic, we try to mimic the logic of windows_storage!IUriToPidl (ieframe!IUriToPidl in Win7) which is executed behind SHParseDisplayName. What IUriToPidl does is: 1) If a given uri has a fragment, removes a fragment. 2) Takes an absolute uri if it's available in the given uri, otherwise takes a raw uri. As we need to get a full uri including a fragment, this function does 2). 2835 86 %
widget.rc 1285 -
WinCompositorWidget.cpp 3453 84 %
WinCompositorWidget.h 3391 93 %
WinCompositorWindowThread.cpp static 9837 83 %
WinCompositorWindowThread.h 1932 100 %
WindowHook.cpp 3538 77 %
WindowHook.h 2177 83 %
WindowsConsole.cpp 1607 86 %
WindowsConsole.h 523 -
WindowsEventLog.h Report messages to the Windows Event Log. 5259 0 %
WindowsSMTCProvider.cpp mingw currently doesn't support windows.media.h, so we disable the whole related class until this is fixed. @TODO: Maybe contact MinGW Team for inclusion? 26381 44 %
WindowsSMTCProvider.h 4539 50 %
WindowsTestDebug.cpp 4487 87 %
WindowsTestDebug.h 837 -
WindowsUIUtils.cpp mingw currently doesn't support windows.ui.viewmanagement.h, so we disable it until it's fixed. 47927 43 %
WindowsUIUtils.h IsExclusive 2317 -
WinEventObserver.cpp static 10461 34 %
WinEventObserver.h 1036 -
WinHeaderOnlyUtils.h This header is intended for self-contained, header-only, utility code for Win32. It may be used outside of xul.dll, in places such as firefox.exe or mozglue.dll. If your code creates dependencies on Mozilla libraries, you should put it elsewhere. 28484 63 %
WinIMEHandler.cpp IMEHandler **************************************************************************** 39045 49 %
WinIMEHandler.h IMEHandler class is a mediator class. On Windows, there are two IME API sets: One is IMM which is legacy API set. The other is TSF which is modern API set. By using this class, non-IME handler classes don't need to worry that we're in which mode. 7911 100 %
WinMessages.h MOZ_WM_* messages ************************************************************************** 3762 -
WinModifierKeyState.h 1660 100 %
WinMouseScrollHandler.cpp SynthesizingEvent: declarations **************************************************************************** 58434 72 %
WinMouseScrollHandler.h See nsIWidget::SynthesizeNativeMouseScrollEvent() for the detail about this method. 16529 93 %
WinOLELock.h 5811 98 %
WinPointerEvents.cpp WinPointerEvents - Helper functions to retrieve PointerEvent's attributes 6817 21 %
WinPointerEvents.h WinPointerInfo This is a helper class to handle WM_POINTER*. It only supports Win8 or later. **************************************************************************** 2976 43 %
WinRegistry.cpp 10267 90 %
WinRegistry.h 8491 87 %
WinTaskbar.cpp 13413 73 %
WinTaskbar.h WinTaskbar_h_ 1237 -
WinTextEventDispatcherListener.cpp 2274 96 %
WinTextEventDispatcherListener.h On Windows, it's enough TextEventDispatcherListener to be a singleton because we have only one input context per process (IMM can create multiple IM context but we don't support such behavior). 1704 0 %
WinUtils.cpp static 74472 69 %
WinUtils.h NS_INLINE_DECL_IUNKNOWN_REFCOUNTING should be used for defining and implementing AddRef() and Release() of IUnknown interface and mRefCnt. NS_INLINE_DECL_IUNKNOWN_ADDREF_RELEASE should be used for overriding AddRef() and Release() of IUnknown interface. These depend on xpcom/base/nsISupportsImpl.h. 24363 86 %
WinWindowOcclusionTracker.cpp 50271 82 %
WinWindowOcclusionTracker.h 12787 83 %