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 -
AudioSession.h 763 -
CheckInvariantWrapper.h 2117 -
components.conf 8284 -
CompositorWidgetChild.cpp 3278 -
CompositorWidgetChild.h 2121 -
CompositorWidgetParent.cpp 6390 -
CompositorWidgetParent.h 3267 -
DirectManipulationOwner.cpp 21443 -
DirectManipulationOwner.h 1589 -
docs -
filedialog -
GfxInfo.cpp 76786 -
GfxInfo.h 4585 -
IEnumFE.cpp IUnknown impl. 3302 -
IEnumFE.h CEnumFormatEtc - implements IEnumFORMATETC 2392 -
IMMHandler.cpp IMEContext **************************************************************************** 92197 -
IMMHandler.h IsIMEAvailable() returns TRUE when current keyboard layout has IME. Otherwise, FALSE. 16387 -
InProcessWinCompositorWidget.cpp static 6740 -
InProcessWinCompositorWidget.h 2853 -
InputDeviceUtils.cpp 1811 -
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 -
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 -
KeyboardLayout.cpp 202734 -
KeyboardLayout.h Append a pair of unicode character and the final modifier. 40715 -
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 -
metrics.yaml 3807 -
moz.build 6062 -
nsAppShell.cpp 29792 -
nsAppShell.h Native Win32 Application shell wrapper 1922 -
nsBidiKeyboard.cpp 5819 -
nsBidiKeyboard.h 856 -
nsClipboard.cpp static 56556 -
nsClipboard.h Native Win32 Clipboard wrapper 5425 -
nsColorPicker.cpp static 6103 -
nsColorPicker.h 1514 -
nsDataObj.cpp 76060 -
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 -
nsDataObjCollection.cpp Class nsDataObjCollection 12311 -
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 -
nsdefs.h 1604 -
nsDeviceContextSpecWin.cpp recursive = 21199 -
nsDeviceContextSpecWin.h 3162 -
nsDragService.cpp 25001 -
nsDragService.h Windows native nsIDragSession implementation 2468 -
nsFilePicker.cpp 37748 -
nsFilePicker.h Native Windows FileSelector wrapper 4055 -
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 -
nsLookAndFeel.h Gesture System Metrics 4932 -
nsNativeDragSource.cpp class nsNativeDragSource 3129 -
nsNativeDragSource.h nsNativeDragSource implements the IDropSource interface and gets most of its behavior from the associated adapter (m_dragDrop). 2114 -
nsNativeDragTarget.cpp class nsNativeDragTarget 17890 -
nsNativeDragTarget.h nsNativeDragTarget implements the IDropTarget interface and gets most of its behavior from the associated adapter (m_dragDrop). 3684 -
nsNativeThemeWin.cpp 756 -
nsNativeThemeWin.h 511 -
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 -
nsPrintDialogUtil.h nsFlyOwnDialog_h_ 500 -
nsPrintDialogWin.cpp ParamBlock 4631 -
nsPrintDialogWin.h 931 -
nsPrinterWin.cpp 18704 -
nsPrinterWin.h 2125 -
nsPrintSettingsServiceWin.cpp 4263 -
nsPrintSettingsServiceWin.h 914 -
nsPrintSettingsWin.cpp 19368 -
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 -
nsSharePicker.cpp 2291 -
nsSharePicker.h 715 -
nsSound.cpp static 9713 -
nsSound.h _nsSound_h_ 1058 -
nsToolkit.cpp 1824 -
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 -
nsUserIdleServiceWin.h NOTE: Compare of GetTickCount() could overflow. This corrects for overflow situations. * 1530 -
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 -
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. 309524 -
nsWindow.h nsWindow - Native window management and event handling. 33189 -
nsWindowDbg.cpp nsWindowDbg - Debug related utilities for nsWindow. 71152 -
nsWindowDbg.h nsWindowDbg - Debug related utilities for nsWindow. 5168 -
nsWindowDefs.h nsWindowDefs - nsWindow related definitions, consts, and macros. 3499 -
nsWindowGfx.cpp nsWindowGfx - Painting and aceleration. 23323 -
nsWindowGfx.h nsWindowGfx - Painting and aceleration. 1728 -
nsWindowLoggedMessages.cpp 12994 -
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 -
nsWindowTaskbarConcealer.h nsWindow::TaskbarConcealer Fullscreen-state (and, thus, taskbar-occlusion) manager. 2027 -
nsWinGesture.cpp nsWinGesture - Touch input handling for tablet displays. 11862 -
nsWinGesture.h nsWinGesture - Touch input handling for tablet displays. 2347 -
OSKInputPaneManager.cpp 2543 -
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 -
OSKTabTipManager.h 620 -
OSKVRManager.cpp aRequiresMutex 1113 -
OSKVRManager.h 604 -
PCompositorWidget.ipdl 1424 -
PlatformWidgetTypes.ipdlh 924 -
RemoteBackbuffer.cpp secattr 19242 -
RemoteBackbuffer.h 2351 -
res -
resource.h 699 -
rust -
ScreenHelperWin.cpp 6082 -
ScreenHelperWin.h 773 -
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 -
SystemStatusBar.cpp cbSize 9873 -
SystemStatusBar.h 960 -
TaskbarPreview.cpp 12893 -
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 -
TaskbarPreviewButton.cpp 3515 -
TaskbarPreviewButton.h _mozilla_widget_TaskbarPreviewButton_h_ 1274 -
TaskbarTabPreview.cpp 10714 -
TaskbarTabPreview.h _mozilla_widget_TaskbarTabPreview_h_ 2305 -
TaskbarWindowPreview.cpp These correspond directly to the states defined in nsITaskbarProgress.idl, so they should be kept in sync. 10081 -
TaskbarWindowPreview.h _mozilla_widget_TaskbarWindowPreview_h_ 2822 -
tests -
ToastNotification.cpp 30998 -
ToastNotification.h 2516 -
ToastNotificationHandler.cpp 38242 -
ToastNotificationHandler.h = u""_ns 5591 -
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. 5056 -
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(" 17482 -
TSFEmptyTextStore.h IUnknown 2974 -
TSFInputScope.cpp 1351 -
TSFInputScope.h 1401 -
TSFStaticSink.cpp 25169 -
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 -
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(" 173670 -
TSFTextStore.h Text Services Framework text store 35765 -
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 -
TSFTextStoreBase.h IUnknown 10724 -
TSFUtils.cpp Logging helper classes **************************************************************************** 37012 -
TSFUtils.h Return true while TSF is available. 15186 -
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 -
widget.rc 1285 -
WinCompositorWidget.cpp 3453 -
WinCompositorWidget.h 3391 -
WinCompositorWindowThread.cpp static 9837 -
WinCompositorWindowThread.h 1932 -
WindowHook.cpp 3538 -
WindowHook.h 2177 -
WindowsConsole.cpp 1607 -
WindowsConsole.h 523 -
WindowsEventLog.h Report messages to the Windows Event Log. 3687 -
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 -
WindowsSMTCProvider.h 4539 -
WindowsTestDebug.cpp 4487 -
WindowsTestDebug.h 837 -
WindowsUIUtils.cpp mingw currently doesn't support windows.ui.viewmanagement.h, so we disable it until it's fixed. 47895 -
WindowsUIUtils.h IsExclusive 2317 -
WinEventObserver.cpp static 10461 -
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 -
WinIMEHandler.cpp IMEHandler **************************************************************************** 39045 -
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 -
WinMessages.h MOZ_WM_* messages ************************************************************************** 3762 -
WinModifierKeyState.h 1660 -
WinMouseScrollHandler.cpp SynthesizingEvent: declarations **************************************************************************** 58434 -
WinMouseScrollHandler.h See nsIWidget::SynthesizeNativeMouseScrollEvent() for the detail about this method. 16529 -
WinOLELock.h 5811 -
WinPointerEvents.cpp WinPointerEvents - Helper functions to retrieve PointerEvent's attributes 6806 -
WinPointerEvents.h WinPointerInfo This is a helper class to handle WM_POINTER*. It only supports Win8 or later. **************************************************************************** 2976 -
WinRegistry.cpp 10267 -
WinRegistry.h 8491 -
WinTaskbar.cpp 13413 -
WinTaskbar.h WinTaskbar_h_ 1237 -
WinTextEventDispatcherListener.cpp 2274 -
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 -
WinUtils.cpp static 74472 -
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 -
WinWindowOcclusionTracker.cpp 50271 -
WinWindowOcclusionTracker.h 12787 -