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. 13320 -
AudioSession.h 686 -
CheckInvariantWrapper.h 1996 -
components.conf 8537 -
CompositorWidgetChild.cpp 3198 -
CompositorWidgetChild.h 2041 -
CompositorWidgetParent.cpp 6310 -
CompositorWidgetParent.h 3187 -
DirectManipulationOwner.cpp 21363 -
DirectManipulationOwner.h 1509 -
docs -
filedialog -
GfxInfo.cpp 76733 -
GfxInfo.h 4475 -
IEnumFE.cpp IUnknown impl. 3222 -
IEnumFE.h CEnumFormatEtc - implements IEnumFORMATETC 2312 -
IMMHandler.cpp IMEContext **************************************************************************** 92463 -
IMMHandler.h IsIMEAvailable() returns TRUE when current keyboard layout has IME. Otherwise, FALSE. 16484 -
InProcessWinCompositorWidget.cpp static 6660 -
InProcessWinCompositorWidget.h 2773 -
InputDeviceUtils.cpp 1693 -
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 -
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 -
metrics.yaml 3807 -
moz.build 6063 -
nsAppShell.cpp 29728 -
nsAppShell.h Native Win32 Application shell wrapper 1860 -
nsBidiKeyboard.cpp 5742 -
nsBidiKeyboard.h 779 -
nsClipboard.cpp static 56488 -
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 12900 -
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(). 3273 -
nsdefs.h 1524 -
nsDeviceContextSpecWin.cpp recursive = 21119 -
nsDeviceContextSpecWin.h 3138 -
nsDragService.cpp 24958 -
nsDragService.h Windows native nsIDragSession implementation 2388 -
nsFilePicker.cpp 37690 -
nsFilePicker.h Native Windows FileSelector wrapper 4018 -
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 -
nsPrintDialogUtil.h nsFlyOwnDialog_h_ 420 -
nsPrintDialogWin.cpp ParamBlock 6106 -
nsPrintDialogWin.h 851 -
nsPrinterWin.cpp 18605 -
nsPrinterWin.h 2045 -
nsPrintSettingsServiceWin.cpp 4183 -
nsPrintSettingsServiceWin.h 837 -
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 -
nsSharePicker.h 638 -
nsSound.cpp static 7803 -
nsSound.h _nsSound_h_ 870 -
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 -
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 -
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. 313270 -
nsWindow.h nsWindow - Native window management and event handling. 33734 -
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. 23234 -
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 -
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 -
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 -
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 -
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 -
ToastNotification.cpp 31321 -
ToastNotification.h 2468 -
ToastNotificationHandler.cpp 38460 -
ToastNotificationHandler.h = u""_ns 5629 -
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 -
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 -
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 -
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 -
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 -
TSFUtils.cpp Logging helper classes **************************************************************************** 36932 -
TSFUtils.h Return true while TSF is available. 15026 -
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 -
widget.rc 1204 -
WinCompositorWidget.cpp 3373 -
WinCompositorWidget.h 3311 -
WinCompositorWindowThread.cpp static 9716 -
WinCompositorWindowThread.h 1811 -
WindowHook.cpp 3461 -
WindowHook.h 2100 -
WindowsConsole.cpp 1527 -
WindowsConsole.h 443 -
WindowsEventLog.h Report messages to the Windows Event Log. 5137 -
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 -
WindowsSMTCProvider.h 4435 -
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 -
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 -
WinIMEHandler.cpp IMEHandler **************************************************************************** 39497 -
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. 7999 -
WinMessages.h MOZ_WM_* messages ************************************************************************** 3682 -
WinModifierKeyState.h 1580 -
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 -
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 -
WinWindowOcclusionTracker.cpp 50150 -
WinWindowOcclusionTracker.h 12666 -