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 -
AudioSession.h 686 -
CheckInvariantWrapper.h 1996 -
components.conf 8537 -
CompositorWidgetChild.cpp 3198 -
CompositorWidgetChild.h 2041 -
CompositorWidgetParent.cpp 6310 76 %
CompositorWidgetParent.h 3187 100 %
DirectManipulationOwner.cpp 21363 -
DirectManipulationOwner.h 1509 -
docs -
filedialog 50 %
GfxInfo.cpp 75998 -
GfxInfo.h 4475 100 %
IEnumFE.cpp IUnknown impl. 3222 -
IEnumFE.h CEnumFormatEtc - implements IEnumFORMATETC 2312 -
IMMHandler.cpp IMEContext **************************************************************************** 91979 -
IMMHandler.h IsIMEAvailable() returns TRUE when current keyboard layout has IME. Otherwise, FALSE. 16307 -
InProcessWinCompositorWidget.cpp static 6660 36 %
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 -
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 0 %
KeyboardLayout.cpp 202654 -
KeyboardLayout.h Append a pair of unicode character and the final modifier. 40635 -
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 -
MediaKeysEventSourceFactory.cpp 584 100 %
metrics.yaml 3807 -
moz.build 6063 -
nsAppShell.cpp 29728 -
nsAppShell.h Native Win32 Application shell wrapper 1860 100 %
nsBidiKeyboard.cpp 5742 57 %
nsBidiKeyboard.h 779 100 %
nsClipboard.cpp static 56506 -
nsClipboard.h Native Win32 Clipboard wrapper 5345 -
nsColorPicker.cpp static 6026 -
nsColorPicker.h 1437 -
nsDataObj.cpp 75902 -
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 -
nsDataObjCollection.cpp Class nsDataObjCollection 12231 -
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 -
nsdefs.h 1524 -
nsDeviceContextSpecWin.cpp recursive = 21119 -
nsDeviceContextSpecWin.h 3138 100 %
nsDragService.cpp 24921 -
nsDragService.h Windows native nsIDragSession implementation 2388 100 %
nsFilePicker.cpp 37690 36 %
nsFilePicker.h Native Windows FileSelector wrapper 4018 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 -
nsLookAndFeel.h Gesture System Metrics 4852 -
nsNativeDragSource.cpp class nsNativeDragSource 3049 -
nsNativeDragSource.h nsNativeDragSource implements the IDropSource interface and gets most of its behavior from the associated adapter (m_dragDrop). 2034 -
nsNativeDragTarget.cpp class nsNativeDragTarget 17810 -
nsNativeDragTarget.h nsNativeDragTarget implements the IDropTarget interface and gets most of its behavior from the associated adapter (m_dragDrop). 3604 -
nsNativeThemeWin.cpp 675 -
nsNativeThemeWin.h 434 -
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 -
nsPrintDialogWin.h 851 -
nsPrinterWin.cpp 18605 -
nsPrinterWin.h 2045 -
nsPrintSettingsServiceWin.cpp 4183 -
nsPrintSettingsServiceWin.h 837 100 %
nsPrintSettingsWin.cpp 19279 -
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 -
nsSharePicker.cpp 2214 0 %
nsSharePicker.h 638 0 %
nsSound.cpp static 9636 -
nsSound.h _nsSound_h_ 981 -
nsToolkit.cpp 1744 -
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 -
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. 309401 -
nsWindow.h nsWindow - Native window management and event handling. 33109 100 %
nsWindowDbg.cpp nsWindowDbg - Debug related utilities for nsWindow. 71149 -
nsWindowDbg.h nsWindowDbg - Debug related utilities for nsWindow. 5088 -
nsWindowDefs.h nsWindowDefs - nsWindow related definitions, consts, and macros. 3419 -
nsWindowGfx.cpp nsWindowGfx - Painting and aceleration. 23243 -
nsWindowGfx.h nsWindowGfx - Painting and aceleration. 1648 -
nsWindowLoggedMessages.cpp 12913 -
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.) 19885 -
nsWindowTaskbarConcealer.h nsWindow::TaskbarConcealer Fullscreen-state (and, thus, taskbar-occlusion) manager. 1947 -
nsWinGesture.cpp nsWinGesture - Touch input handling for tablet displays. 11765 -
nsWinGesture.h nsWinGesture - Touch input handling for tablet displays. 2267 -
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 -
OSKTabTipManager.h 502 -
OSKVRManager.cpp aRequiresMutex 995 -
OSKVRManager.h 486 -
PCompositorWidget.ipdl 1303 -
PlatformWidgetTypes.ipdlh 803 -
RemoteBackbuffer.cpp secattr 19162 -
RemoteBackbuffer.h 2271 -
res -
resource.h 619 -
rust 71 %
ScreenHelperWin.cpp 5961 -
ScreenHelperWin.h 652 -
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 -
SystemStatusBar.h 880 -
TaskbarPreview.cpp 12783 -
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 -
TaskbarPreviewButton.h _mozilla_widget_TaskbarPreviewButton_h_ 1164 -
TaskbarTabPreview.cpp 10604 -
TaskbarTabPreview.h _mozilla_widget_TaskbarTabPreview_h_ 2195 -
TaskbarWindowPreview.cpp These correspond directly to the states defined in nsITaskbarProgress.idl, so they should be kept in sync. 9971 -
TaskbarWindowPreview.h _mozilla_widget_TaskbarWindowPreview_h_ 2712 -
tests 71 %
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 -
TSFEmptyTextStore.h IUnknown 2894 100 %
TSFInputScope.cpp 1271 -
TSFInputScope.h 1321 -
TSFStaticSink.cpp 25089 -
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 91 %
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 -
TSFTextStore.h Text Services Framework text store 35685 100 %
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 -
TSFTextStoreBase.h IUnknown 10644 100 %
TSFUtils.cpp Logging helper classes **************************************************************************** 36932 26 %
TSFUtils.h Return true while TSF is available. 15026 8 %
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 -
WinCompositorWindowThread.h 1811 100 %
WindowHook.cpp 3461 -
WindowHook.h 2100 -
WindowsConsole.cpp 1527 -
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 -
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 -
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 -
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 -
WinMessages.h MOZ_WM_* messages ************************************************************************** 3682 -
WinModifierKeyState.h 1580 100 %
WinMouseScrollHandler.cpp SynthesizingEvent: declarations **************************************************************************** 58319 -
WinMouseScrollHandler.h See nsIWidget::SynthesizeNativeMouseScrollEvent() for the detail about this method. 16414 -
WinOLELock.h 5731 -
WinPointerEvents.cpp WinPointerEvents - Helper functions to retrieve PointerEvent's attributes 6737 -
WinPointerEvents.h WinPointerInfo This is a helper class to handle WM_POINTER*. It only supports Win8 or later. **************************************************************************** 2896 -
WinRegistry.cpp 10143 -
WinRegistry.h 8411 87 %
WinTaskbar.cpp 13303 -
WinTaskbar.h WinTaskbar_h_ 1127 -
WinTextEventDispatcherListener.cpp 2194 -
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 -
WinUtils.cpp static 74352 -
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 72 %
WinWindowOcclusionTracker.cpp 50150 -
WinWindowOcclusionTracker.h 12666 -