gecko-dev/widget/windows
Gabriele Svelto b0e6709e13 Bug 1476250 - Simplify HAL initialization and shutdown to reduce the chance of leaks and UAFs r=froydnj
This patch initializes some HAL components greedily so that we can get rid of
lazy initializers within the code. Observers are still lazily initialized
because they can be instanced within content processes but that doesn't always
happen and we don't want to pay the memory price for structures we don't use.

Shutdown is now happening at a fixed time for all HAL components save
WakeLocks. This ensures that we don't destroy an object while still iterating
over it, something that could happen before.

Finally a workaround for a compiler limitation has been removed.

Differential Revision: https://phabricator.services.mozilla.com/D3100

--HG--
extra : moz-landing-system : lando
2018-08-31 20:29:30 +00:00
..
gtest Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson 2018-02-24 17:22:27 +09:00
res
tests
AudioSession.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
AudioSession.h
CompositorWidgetChild.cpp Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
CompositorWidgetChild.h Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
CompositorWidgetParent.cpp Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
CompositorWidgetParent.h Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
GfxInfo.cpp Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov 2018-07-05 15:42:11 +02:00
GfxInfo.h Bug 1441270 - Remove unused WebGL parameter getters. r=jgilbert 2018-02-26 20:35:12 +01:00
IEnumFE.cpp
IEnumFE.h Bug 1322465 part 14 - Use explicit/MOZ_IMPLICIT for the unary constructors in widget/. r=Ehsan 2016-12-16 16:00:43 +08:00
IMMHandler.cpp Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj 2018-04-28 12:50:58 -07:00
IMMHandler.h Bug 1409155 - IMEHandler should not associate IMC with any window if active IME is ATOK 2010 or earlier with x64 build on Win8 or later r=m_kato 2017-10-25 23:51:27 +09:00
InProcessWinCompositorWidget.cpp Bug 1373739 - Make headless compositing Windows-compatible, in addition to Linux. r=dvander 2017-07-06 17:45:34 -07:00
InProcessWinCompositorWidget.h Bug 1448271 - Update some names of #include guards r=nical 2018-03-23 22:40:04 +09:00
InkCollector.cpp Bug 1315264: Set InkCollector.AutoRedraw to false to prevent repainting when the window is invalidated. r=jimm 2016-11-29 16:43:49 +08:00
InkCollector.h Backed out 22 changesets (bug 1399787) for shutdown leaks on windows 7 debug tc-M without e10s r=backout on a CLOSED TREE 2017-12-08 13:09:56 +02:00
JumpListBuilder.cpp Bug 1474272 part 4 - Stop using js::GetGlobalForObjectCrossCompartment in xpc::NativeGlobal. r=bholley 2018-08-01 11:25:50 +02:00
JumpListBuilder.h Bug 1425144 - Init Jump list on lazy idle thread r=aklotz 2018-06-27 08:59:07 -07:00
JumpListItem.cpp Bug 1357114 - Move the taskbar refresh timer to idle dispatch. r=florian 2017-09-07 12:15:13 +08:00
JumpListItem.h Bug 1322465 part 14 - Use explicit/MOZ_IMPLICIT for the unary constructors in widget/. r=Ehsan 2016-12-16 16:00:43 +08:00
KeyboardLayout.cpp Bug 971462 - Hide event type from constructor of WidgetCommandEvent r=smaug 2018-07-30 12:20:47 +00:00
KeyboardLayout.h Bug 900750 - part 4: Make NativeKey replaces MODIFIER_CONTROL and MODIFIER_ALT of mModKeyState with MODIFIER_ALTGRAPH if user emulates AltGr key press with pressing both Ctrl and Alt keys and current keydown produces character(s) r=m_kato,smaug 2018-06-04 14:45:28 +09:00
LSPAnnotator.cpp Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
PCompositorWidget.ipdl Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
PDFViaEMFPrintHelper.cpp Bug 685236 - Stop using GetNativePath in widget/windows. r=jimm 2017-12-16 14:51:31 +09:00
PDFViaEMFPrintHelper.h Bug 685236 - Stop using GetNativePath in widget/windows. r=jimm 2017-12-16 14:51:31 +09:00
PDFiumChild.cpp Bug 1399787 - Part 10. Make PrintTargetEMF use the PDFium process to convert to EMF. r=jwatt 2017-11-05 03:06:04 +08:00
PDFiumChild.h Bug 1399787 - Part 10. Make PrintTargetEMF use the PDFium process to convert to EMF. r=jwatt 2017-11-05 03:06:04 +08:00
PDFiumEngineShim.cpp Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson 2018-02-24 17:22:27 +09:00
PDFiumEngineShim.h Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson 2018-02-24 17:22:27 +09:00
PDFiumParent.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
PDFiumParent.h Bug 1424922 - Prevent calling PDFiumParent::Close twice. r=dvander 2017-12-13 12:42:59 +08:00
PDFiumProcessChild.cpp Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson 2018-02-24 17:22:27 +09:00
PDFiumProcessChild.h Bug 1399787 - Part 9. Sandbox the PDFium process. r=bobowen,jwatt 2017-10-18 20:52:45 +08:00
PDFiumProcessParent.cpp Bug 1424922 - Prevent calling PDFiumParent::Close twice. r=dvander 2017-12-13 12:42:59 +08:00
PDFiumProcessParent.h Bug 1424922 - Prevent calling PDFiumParent::Close twice. r=dvander 2017-12-13 12:42:59 +08:00
PPDFium.ipdl Backed out 22 changesets (bug 1399787) for shutdown leaks on windows 7 debug tc-M without e10s r=backout on a CLOSED TREE 2017-12-08 13:09:56 +02:00
PlatformWidgetTypes.ipdlh Bug 1446990 - Safely transmit nsTransparencyMode across IPDL for WinCompositorWidget. r=jrmuizel 2018-04-05 22:24:28 -05:00
ScreenHelperWin.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
ScreenHelperWin.h Bug 1356023 - Remove nsIScreenManager.systemDefaultScale. r=jfkthame 2017-04-13 07:20:35 +09:00
TSFTextStore.cpp Bug 1481153 - part 4: Should stop hacking the result of TSFTextStore::GetTextExt() when Win10 build 17643 only in Nightly or early Beta r=m_kato 2018-08-07 21:30:52 +09:00
TSFTextStore.h Bug 1467373 - part 1: Split hack for TS_E_NOLAYOUT part from TSFTextStore::GetTextExt() r=m_kato 2018-08-02 14:36:03 +09:00
TaskbarPreview.cpp Bug 1485253 - fix crashes due to dead windows' taskbar preview objects sticking around, r=m_kato,florian 2018-08-30 00:58:19 +00:00
TaskbarPreview.h
TaskbarPreviewButton.cpp
TaskbarPreviewButton.h
TaskbarTabPreview.cpp Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
TaskbarTabPreview.h
TaskbarWindowPreview.cpp
TaskbarWindowPreview.h
WidgetTraceEvent.cpp Bug 1372405 - Provide names for all runnables in the tree (r=froydnj) 2017-06-26 14:19:58 -07:00
WinCompositorWidget.cpp Bug 1467363: Protect access to mTransparentSurface with a lock. r=rhunt 2018-06-21 22:17:48 +02:00
WinCompositorWidget.h Bug 1467363: Protect access to mTransparentSurface with a lock. r=rhunt 2018-06-21 22:17:48 +02:00
WinCompositorWindowThread.cpp Bug 1469028 - Supress Renderer threads r=nical 2018-06-21 08:32:09 +09:00
WinCompositorWindowThread.h Bug 1191971 part 1 - Create child window in gpu process r=bas 2018-03-29 11:21:47 +09:00
WinHeaderOnlyUtils.h Bug 1477402: Wrap WaitForInputIdle with checks for ERROR_NOT_GUI_PROCESS failures; r=agashlin 2018-07-20 15:54:08 -06:00
WinIMEHandler.cpp Bug 1420215 - Make TSFTextStore set input scope of URL bar to IS_DEFAULT when some Microsoft's Trandtional and Simplified Chinese IMEs and some Microsoft's Korean IMEs which change their open state to "closed" when input scope is IS_URL r=m_kato 2017-12-19 13:13:45 +09:00
WinIMEHandler.h Bug 1409155 - IMEHandler should not associate IMC with any window if active IME is ATOK 2010 or earlier with x64 build on Win8 or later r=m_kato 2017-10-25 23:51:27 +09:00
WinMessages.h Bug 1352368 - Remove some old Windows defines from WinMessages.h r=jwatt 2017-04-01 00:44:26 +08:00
WinModifierKeyState.h Bug 900750 - part 2: Make ModifierKeyState and VirtualKey treat AltGraph as new modifier and won't set Control and Alt state while AltGraph is active r=m_kato,smaug 2018-05-30 17:27:31 +09:00
WinMouseScrollHandler.cpp Bug 971462 - Hide event type from constructor of WidgetCommandEvent r=smaug 2018-07-30 12:20:47 +00:00
WinMouseScrollHandler.h Bug 1473631: Part 0a - Make preference callbacks typesafe. r=njn 2018-07-06 12:24:41 -07:00
WinNativeEventData.h
WinPointerEvents.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
WinPointerEvents.h Bug 1372963 Remove WinPointerEvents:: qualifier which breaks MinGW build r=jimm 2017-04-25 13:28:04 -05:00
WinTaskbar.cpp Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
WinTaskbar.h
WinTextEventDispatcherListener.cpp Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin 2017-03-07 22:34:39 -05:00
WinTextEventDispatcherListener.h Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin 2017-03-07 22:34:39 -05:00
WinUtils.cpp Bug 1425144 - Init Jump list on lazy idle thread r=aklotz 2018-06-27 08:59:07 -07:00
WinUtils.h Bug 1425144 - Init Jump list on lazy idle thread r=aklotz 2018-06-27 08:59:07 -07:00
WindowHook.cpp
WindowHook.h Bug 1322465 part 14 - Use explicit/MOZ_IMPLICIT for the unary constructors in widget/. r=Ehsan 2016-12-16 16:00:43 +08:00
WindowsEMF.cpp Backed out 22 changesets (bug 1399787) for shutdown leaks on windows 7 debug tc-M without e10s r=backout on a CLOSED TREE 2017-12-08 13:09:56 +02:00
WindowsEMF.h Backed out 22 changesets (bug 1399787) for shutdown leaks on windows 7 debug tc-M without e10s r=backout on a CLOSED TREE 2017-12-08 13:09:56 +02:00
WindowsUIUtils.cpp Bug 1344629 - Part 6: Rewrite unnecessary uses of nsLiteralString. r=dbaron 2017-03-14 15:26:27 +13:00
WindowsUIUtils.h
moz.build Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj 2018-07-31 22:10:07 +09:00
nsAppShell.cpp Bug 1476250 - Simplify HAL initialization and shutdown to reduce the chance of leaks and UAFs r=froydnj 2018-08-31 20:29:30 +00:00
nsAppShell.h Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj 2018-02-05 22:46:57 -08:00
nsBidiKeyboard.cpp Bug 1376638 - Minimize uses of prmem.h. r=glandium. 2017-06-30 19:05:41 -07:00
nsBidiKeyboard.h
nsClipboard.cpp Bug 1486690 - Remove unnecessary checks after moz_xmalloc() calls. r=glandium 2018-08-28 15:56:01 +10:00
nsClipboard.h Bug 1387168 - Use custom clipboard constructor instead of singleton. r=jrmuizel 2017-08-09 09:46:51 -07:00
nsColorPicker.cpp Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj 2018-04-28 12:50:58 -07:00
nsColorPicker.h Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
nsDataObj.cpp Bug 685236 - Stop using GetNativePath in widget/windows. r=jimm 2017-12-16 14:51:31 +09:00
nsDataObj.h Bug 1372063 - Use fallible array to avoid OOM. r=jimm 2017-06-12 12:12:30 +09:00
nsDataObjCollection.cpp
nsDataObjCollection.h
nsDeviceContextSpecWin.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
nsDeviceContextSpecWin.h Bug 221706 - Use unwritable region when printing on Windows. r=jimm 2018-03-28 17:13:10 -07:00
nsDragService.cpp Bug 1473029, convert drag services to internally use CSSIntRegion instead ns nsIScriptableRegion, r=mstange 2018-08-07 09:32:08 -04:00
nsDragService.h Bug 1473029, convert drag services to internally use CSSIntRegion instead ns nsIScriptableRegion, r=mstange 2018-08-07 09:32:08 -04:00
nsFilePicker.cpp Bug 1484496: Part 4b - Add intrinsic type information to most nsSimpleEnumerators. r=froydnj 2018-08-18 21:06:32 -07:00
nsFilePicker.h Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
nsIdleServiceWin.cpp Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
nsIdleServiceWin.h Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
nsImageClipboard.cpp Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
nsImageClipboard.h Bug 1322465 part 14 - Use explicit/MOZ_IMPLICIT for the unary constructors in widget/. r=Ehsan 2016-12-16 16:00:43 +08:00
nsLookAndFeel.cpp Bug 1365045 - Implement prefers-reduced-motion for Windows. r=jimm 2018-07-24 16:50:48 +09:00
nsLookAndFeel.h Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj 2018-02-05 22:46:57 -08:00
nsNativeDragSource.cpp Bug 1445616. Add missing DataTransfer include to fix compilation on Windows. r=mystor 2018-03-14 12:23:58 -04:00
nsNativeDragSource.h Bug 1444686 followup. Fix a typo that breaks compilation on Windows. 2018-03-13 17:10:39 -04:00
nsNativeDragTarget.cpp Bug 1455676 part 3. Remove nsIDOMNode usage from widget/. r=qdot 2018-05-29 22:58:48 -04:00
nsNativeDragTarget.h Bug 1309596, implementation of UpdateDragImage by adjusting image and calling DragEnter of the drag feedback helper, r=jimm 2016-12-23 18:09:44 -05:00
nsNativeThemeWin.cpp Bug 1487978 - Fix C4305 warning on msvc from bug 1471086. 2018-09-03 11:45:32 +10:00
nsNativeThemeWin.h Bug 1478391: Autogenerate StyleAppearance. r=jwatt 2018-07-26 17:06:17 +02:00
nsPrintDialogUtil.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
nsPrintDialogUtil.h Bug 1405210 - Part 3: Apply clang-format to added print dialog widget code. r=jimm 2017-10-19 11:04:50 +09:00
nsPrintDialogWin.cpp Bug 1313150 - Remove |weak| parameter from nsIMutableArray methods. r=froydnj 2017-10-21 23:53:02 +09:00
nsPrintDialogWin.h Bug 1405210 - Part 3: Apply clang-format to added print dialog widget code. r=jimm 2017-10-19 11:04:50 +09:00
nsPrintSettingsServiceWin.cpp Bug 144114 part 2 - Rename nsPrintOptions and its subclasses to nsPrintSettingsService*. r=bobowen 2017-12-19 10:42:15 +00:00
nsPrintSettingsServiceWin.h Bug 144114 part 3 - Clean up the headers of the nsPrintSettingsService subclasses. r=bobowen 2017-12-19 11:05:37 +00:00
nsPrintSettingsWin.cpp Bug 221706 - Use unwritable region when printing on Windows. r=jimm 2018-03-28 17:13:10 -07:00
nsPrintSettingsWin.h Bug 221706 - Use unwritable region when printing on Windows. r=jimm 2018-03-28 17:13:10 -07:00
nsSound.cpp Bug 1448914 - remove nsISound::playSystemSound; r=masayuki 2018-03-27 10:41:40 -04:00
nsSound.h Bug 1363163 - Playing sound in a seperated thread to avoid jank r=masayuki 2017-06-08 11:08:49 +08:00
nsToolkit.cpp
nsToolkit.h
nsUXThemeConstants.h Bug 1373079 - (3) Special-case min-size cache for buttons r=jimm 2017-07-07 10:15:32 -07:00
nsUXThemeData.cpp Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj 2018-06-17 22:43:11 -07:00
nsUXThemeData.h Bug 1391164 - Unnecessary to use GetProcAddress for gesture APIs since we already drop XP and Vista. r=jimm 2017-08-18 09:47:36 +09:00
nsWidgetFactory.cpp Bug 1484848 - Remove the XPCOM component registrations for window and child window; r=mstange 2018-08-21 16:20:28 -04:00
nsWinGesture.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
nsWinGesture.h Bug 1391164 - Unnecessary to use GetProcAddress for gesture APIs since we already drop XP and Vista. r=jimm 2017-08-18 09:47:36 +09:00
nsWindow.cpp Bug 1484848 - Remove the XPCOM component registrations for window and child window; r=mstange 2018-08-21 16:20:28 -04:00
nsWindow.h Bug 1484848 - Remove the XPCOM component registrations for window and child window; r=mstange 2018-08-21 16:20:28 -04:00
nsWindowBase.cpp Bug 1457189 - Dispatch the resolutionchange event when changing the display resolution even if DPI remains the same. r=jimm 2018-04-27 14:30:03 +02:00
nsWindowBase.h Bug 1436263 - Part 4: Remove unnecessary `virtual` and `final` from non-overriding final virtual function declarations. r=froydnj 2018-02-09 01:31:38 -08:00
nsWindowDbg.cpp Bug 1352339 - Add missing 'using namespace mozilla' to nsWindowDbg.cpp r=jwatt 2017-04-01 00:42:35 +08:00
nsWindowDbg.h
nsWindowDefs.h Bug 900750 - part 2: Make ModifierKeyState and VirtualKey treat AltGraph as new modifier and won't set Control and Alt state while AltGraph is active r=m_kato,smaug 2018-05-30 17:27:31 +09:00
nsWindowGfx.cpp Bug 1467363: Protect access to mTransparentSurface with a lock. r=rhunt 2018-06-21 22:17:48 +02:00
nsWindowGfx.h
nsdefs.h
resource.h
touchinjection_sdk80.h
widget.rc