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. 13081 72 %
AudioSession.h 686 -
CheckInvariantWrapper.h 1996 100 %
components.conf 8195 -
CompositorWidgetChild.cpp 3198 79 %
CompositorWidgetChild.h 2041 50 %
CompositorWidgetParent.cpp 6310 79 %
CompositorWidgetParent.h 3187 100 %
DirectManipulationOwner.cpp 21363 35 %
DirectManipulationOwner.h 1509 -
docs -
filedialog 43 %
GfxInfo.cpp 76268 64 %
GfxInfo.h 4475 100 %
IEnumFE.cpp IUnknown impl. 3222 79 %
IEnumFE.h CEnumFormatEtc - implements IEnumFORMATETC 2312 65 %
IMMHandler.cpp IMEContext **************************************************************************** 91979 5 %
IMMHandler.h IsIMEAvailable() returns TRUE when current keyboard layout has IME. Otherwise, FALSE. 16307 33 %
InProcessWinCompositorWidget.cpp static 6660 39 %
InProcessWinCompositorWidget.h 2773 100 %
InputDeviceUtils.cpp 1693 39 %
InputDeviceUtils.h 707 -
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. 29681 66 %
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. 3434 100 %
KeyboardLayout.cpp 202654 53 %
KeyboardLayout.h Append a pair of unicode character and the final modifier. 40635 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 5973 -
nsAppShell.cpp 29728 75 %
nsAppShell.h Native Win32 Application shell wrapper 1860 100 %
nsBidiKeyboard.cpp 5742 57 %
nsBidiKeyboard.h 779 100 %
nsClipboard.cpp static 56506 61 %
nsClipboard.h Native Win32 Clipboard wrapper 5345 100 %
nsColorPicker.cpp static 6026 0 %
nsColorPicker.h 1437 0 %
nsDataObj.cpp 75902 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(). 11243 50 %
nsDataObjCollection.cpp Class nsDataObjCollection 12231 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(). 3179 0 %
nsdefs.h 1524 -
nsDeviceContextSpecWin.cpp recursive = 21119 30 %
nsDeviceContextSpecWin.h 3138 100 %
nsDragService.cpp 24921 4 %
nsDragService.h Windows native nsIDragSession implementation 2388 83 %
nsFilePicker.cpp 37669 36 %
nsFilePicker.h Native Windows FileSelector wrapper 3978 50 %
nsIAlertsServiceRust.idl 453 -
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. 1549 -
nsLookAndFeel.cpp virtual 35739 81 %
nsLookAndFeel.h Gesture System Metrics 4852 94 %
nsNativeDragSource.cpp class nsNativeDragSource 3049 0 %
nsNativeDragSource.h nsNativeDragSource implements the IDropSource interface and gets most of its behavior from the associated adapter (m_dragDrop). 2034 0 %
nsNativeDragTarget.cpp class nsNativeDragTarget 17810 10 %
nsNativeDragTarget.h nsNativeDragTarget implements the IDropTarget interface and gets most of its behavior from the associated adapter (m_dragDrop). 3604 0 %
nsNativeThemeWin.cpp 675 100 %
nsNativeThemeWin.h 434 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 ---------------------------------------------------------------------- 11953 0 %
nsPrintDialogUtil.h nsFlyOwnDialog_h_ 420 -
nsPrintDialogWin.cpp ParamBlock 4551 0 %
nsPrintDialogWin.h 851 0 %
nsPrinterWin.cpp 18605 0 %
nsPrinterWin.h 2045 0 %
nsPrintSettingsServiceWin.cpp 4183 63 %
nsPrintSettingsServiceWin.h 837 100 %
nsPrintSettingsWin.cpp 19279 23 %
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 1782 100 %
nsSharePicker.cpp 2214 0 %
nsSharePicker.h 638 0 %
nsSound.cpp static 9636 67 %
nsSound.h _nsSound_h_ 981 100 %
nsToolkit.cpp 1744 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. 1009 -
nsUserIdleServiceWin.cpp 552 100 %
nsUserIdleServiceWin.h NOTE: Compare of GetTickCount() could overflow. This corrects for overflow situations. * 1405 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 5805 -
nsWidgetFactory.cpp 1583 100 %
nsWidgetFactory.h 539 -
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. 309424 68 %
nsWindow.h nsWindow - Native window management and event handling. 33109 96 %
nsWindowDbg.cpp nsWindowDbg - Debug related utilities for nsWindow. 71149 61 %
nsWindowDbg.h nsWindowDbg - Debug related utilities for nsWindow. 5088 100 %
nsWindowDefs.h nsWindowDefs - nsWindow related definitions, consts, and macros. 3419 100 %
nsWindowGfx.cpp nsWindowGfx - Painting and aceleration. 23243 83 %
nsWindowGfx.h nsWindowGfx - Painting and aceleration. 1648 -
nsWindowLoggedMessages.cpp 12913 81 %
nsWindowLoggedMessages.h WindowLoggedMessages 809 -
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.) 19891 84 %
nsWindowTaskbarConcealer.h nsWindow::TaskbarConcealer Fullscreen-state (and, thus, taskbar-occlusion) manager. 1947 -
nsWinGesture.cpp nsWinGesture - Touch input handling for tablet displays. 11765 8 %
nsWinGesture.h nsWinGesture - Touch input handling for tablet displays. 2267 78 %
OSKInputPaneManager.cpp 2425 65 %
OSKInputPaneManager.h 601 -
OSKTabTipManager.cpp Get the HWND for the on-screen keyboard, if it's up. Only allowed for Windows 8 and higher. 4084 0 %
OSKTabTipManager.h 502 -
OSKVRManager.cpp aRequiresMutex 995 0 %
OSKVRManager.h 486 -
PCompositorWidget.ipdl 1303 -
PlatformWidgetTypes.ipdlh 803 -
RemoteBackbuffer.cpp secattr 19162 87 %
RemoteBackbuffer.h 2271 -
res -
resource.h 619 -
rust 85 %
ScreenHelperWin.cpp 5961 76 %
ScreenHelperWin.h 652 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. 6190 12 %
SystemStatusBar.cpp cbSize 9755 71 %
SystemStatusBar.h 880 100 %
TaskbarPreview.cpp 12783 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. 4022 0 %
TaskbarPreviewButton.cpp 3405 0 %
TaskbarPreviewButton.h _mozilla_widget_TaskbarPreviewButton_h_ 1164 0 %
TaskbarTabPreview.cpp 10604 69 %
TaskbarTabPreview.h _mozilla_widget_TaskbarTabPreview_h_ 2195 100 %
TaskbarWindowPreview.cpp These correspond directly to the states defined in nsITaskbarProgress.idl, so they should be kept in sync. 9971 46 %
TaskbarWindowPreview.h _mozilla_widget_TaskbarWindowPreview_h_ 2712 100 %
tests 3 %
ToastNotification.cpp 31321 70 %
ToastNotification.h 2468 80 %
ToastNotificationHandler.cpp 38452 71 %
ToastNotificationHandler.h = u""_ns 5629 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. 5127 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(" 17379 51 %
TSFEmptyTextStore.h IUnknown 2894 80 %
TSFInputScope.cpp 1271 100 %
TSFInputScope.h 1321 65 %
TSFStaticSink.cpp 25089 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. 5718 79 %
TSFTextInputProcessorList.h 1356 -
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(" 173507 24 %
TSFTextStore.h Text Services Framework text store 35685 37 %
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(" 45488 60 %
TSFTextStoreBase.h IUnknown 10644 81 %
TSFUtils.cpp Logging helper classes **************************************************************************** 36932 26 %
TSFUtils.h Return true while TSF is available. 15026 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). 2714 86 %
widget.rc 1204 -
WinCompositorWidget.cpp 3373 84 %
WinCompositorWidget.h 3311 93 %
WinCompositorWindowThread.cpp static 9716 83 %
WinCompositorWindowThread.h 1811 100 %
WindowHook.cpp 3461 77 %
WindowHook.h 2100 83 %
WindowsConsole.cpp 1527 91 %
WindowsConsole.h 443 -
WindowsEventLog.h Report messages to the Windows Event Log. 5137 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? 26361 44 %
WindowsSMTCProvider.h 4435 50 %
WindowsTestDebug.cpp 4398 87 %
WindowsTestDebug.h 716 -
WindowsUIUtils.cpp mingw currently doesn't support windows.ui.viewmanagement.h, so we disable it until it's fixed. 47847 43 %
WindowsUIUtils.h IsExclusive 2237 -
WinEventObserver.cpp static 10340 34 %
WinEventObserver.h 915 -
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. 28363 63 %
WinIMEHandler.cpp IMEHandler **************************************************************************** 38965 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. 7831 100 %
WinMessages.h MOZ_WM_* messages ************************************************************************** 3682 -
WinModifierKeyState.h 1580 100 %
WinMouseScrollHandler.cpp SynthesizingEvent: declarations **************************************************************************** 58319 72 %
WinMouseScrollHandler.h See nsIWidget::SynthesizeNativeMouseScrollEvent() for the detail about this method. 16414 93 %
WinOLELock.h 5731 98 %
WinPointerEvents.cpp WinPointerEvents - Helper functions to retrieve PointerEvent's attributes 6737 21 %
WinPointerEvents.h WinPointerInfo This is a helper class to handle WM_POINTER*. It only supports Win8 or later. **************************************************************************** 2896 43 %
WinRegistry.cpp 10149 90 %
WinRegistry.h 8411 87 %
WinTaskbar.cpp 13303 73 %
WinTaskbar.h WinTaskbar_h_ 1127 -
WinTextEventDispatcherListener.cpp 2194 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). 1624 0 %
WinUtils.cpp static 74354 67 %
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. 24283 86 %
WinWindowOcclusionTracker.cpp 50150 81 %
WinWindowOcclusionTracker.h 12666 83 %