gecko-dev/widget
Jonathan Watt f6cb92ef33 Bug 1432409 part 1 - Prevent nsDeviceContextSpecProxy using RemotePrintJobChild if initialization fails. r=dholbert
When RemotePrintJobChild::InitializePrint sends a message to the parent
process to ask it to initialize printing it spins the event loop and
waits for a reply.  If the parent fails to initialize printing it will
send back an error message followed immediately by a second message
telling the child process to delete its RemotePrintJobChild.  The error
message causes the nested event loop to terminate and blocks
RemotePrintJobChild::InitializePrint.  We then do various async things
to clean up, some of which can try to post messages to the parent
process's RemotePrintJobParent.  This is a problem since the delete
message is pending in the child process's event loop resulting in a
race between the code that wants to use the RemotePrintJobChild to send
a message to the parent process, and the delete event that will make us
crash if anyone tries to use the RemotePrintJobChild.

This patch makes sure that if nsDeviceContextSpecProxy's BeginDocument
returns failure (remote print job initialization failed) that its
EndDocument and AbortDocument methods are then no-ops and will not try
to use its RemotePrintJobChild.  (BeginPage and EndPage are not changed
since they are not called if BeginDocument returns an error result.)

MozReview-Commit-ID: 2H6GHjngX7R
2018-02-16 14:53:26 +00:00
..
android Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
cocoa Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
crashtests
gtk Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
gtkxtbin
headless Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
reftests Bug 1417200: Make -moz-border-colors chrome only. r=xidorn 2017-12-01 23:25:01 +01:00
tests Bug 1438157 - part 2: Remove unnecessary second argument of EventUtils.synthesizeKey() r=smaug 2018-02-15 04:15:39 +09:00
uikit Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
windows 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
x11
xremoteclient Bug 1434544 - When launching remote instance without profile name search for already running firefox instances, r=jhorak 2018-02-02 13:54:31 +01:00
BasicEvents.h Bug 1413102 - Ensure Shadow DOM boundaries are dealt properly in event handling, r=masayuki 2018-02-15 12:08:42 +02:00
CommandList.h Bug 1403759 - part 2: Handle edit/selection commands like insertNewline: in TextInputHandler::HandleCommand() r=m_kato 2017-12-02 14:53:10 +09:00
CompositorWidget.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
CompositorWidget.h Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak 2017-12-18 20:20:02 +01:00
ContentCache.cpp Bug 1422230 - part 2: ContentCacheInParent should allow to query content relative to composition string even after sending eCompositionCommit(AsIs) event but not yet handled in the remote process r=m_kato 2018-01-12 15:05:24 +09:00
ContentCache.h Bug 1402519 - Remove MOZ_CRASHREPORTER directives from widget; r=froydnj 2017-11-23 10:59:04 +01:00
ContentEvents.h Bug 1433008 - Make AnimationEventInfo, InternalTransitionEvent and InternalAnimationEvent movable. r=masayuki 2018-01-30 09:26:48 +09:00
EventClassList.h
EventForwards.h Bug 1403759 - part 2: Handle edit/selection commands like insertNewline: in TextInputHandler::HandleCommand() r=m_kato 2017-12-02 14:53:10 +09:00
EventMessageList.h
FontRange.h
GfxDriverInfo.cpp BUG 1428174 - Add Qualcomm to Windows GPU Whitelist r=jrmuizel 2018-01-05 17:28:02 -08:00
GfxDriverInfo.h BUG 1428174 - Add Qualcomm to Windows GPU Whitelist r=jrmuizel 2018-01-05 17:28:02 -08:00
GfxInfoBase.cpp Add tiling and paint worker count information to about:support. (bug 1432516, r=milan) 2018-01-23 15:52:13 -06:00
GfxInfoBase.h Add tiling and paint worker count information to about:support. (bug 1432516, r=milan) 2018-01-23 15:52:13 -06:00
GfxInfoCollector.cpp
GfxInfoCollector.h
GfxInfoWebGL.cpp
GfxInfoWebGL.h
GfxInfoX11.cpp Bug 1402519 - Remove MOZ_CRASHREPORTER directives from widget; r=froydnj 2017-11-23 10:59:04 +01:00
GfxInfoX11.h
IMEData.h Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
InProcessCompositorWidget.cpp
InProcessCompositorWidget.h
InputData.cpp Bug 951793 - Obey overscroll-behavior for swipe navigation. r=mstange 2017-11-25 01:29:15 +01:00
InputData.h Bug 951793 - Obey overscroll-behavior for swipe navigation. r=mstange 2017-11-25 01:29:15 +01:00
LookAndFeel.h Backed out 5 changesets (bug 1417709) for failing X in devtools/shared/tests/unit/test_css-properties-db.js r=backout on a CLOSED TREE 2017-11-23 01:17:07 +02:00
LSBUtils.cpp
LSBUtils.h
MiscEvents.h
MouseEvents.h Bug 1425441 - Move relatedTarget to WidgetEvent, r=stone 2017-12-18 19:08:11 +02:00
moz.build Bug 1401678 - Proxy nsISound::beep() and nsISound::play() calls from the content process to the parent process and beep away there. r=bkelly 2018-01-16 13:24:51 +01:00
NativeKeyToDOMCodeName.h
NativeKeyToDOMKeyName.h
nsAppShellSingleton.h
nsAutoRollup.cpp
nsAutoRollup.h
nsBaseAppShell.cpp Bug 1402519 - Remove MOZ_CRASHREPORTER directives from widget; r=froydnj 2017-11-23 10:59:04 +01:00
nsBaseAppShell.h
nsBaseClipboard.cpp
nsBaseClipboard.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
nsBaseDragService.cpp Bug 1424107 - Pass the triggering principal URI across processes in drag-and-drop. r=smaug 2018-02-09 10:43:53 +09:00
nsBaseDragService.h Bug 1424107 - Pass the triggering principal URI across processes in drag-and-drop. r=smaug 2018-02-09 10:43:53 +09:00
nsBaseFilePicker.cpp
nsBaseFilePicker.h Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj 2017-11-05 19:37:28 -08:00
nsBaseScreen.cpp
nsBaseScreen.h
nsBaseWidget.cpp Bug 1430797 - Follow-up to address review comment. r=mstange 2018-01-17 08:59:38 -05:00
nsBaseWidget.h Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
nsClipboardHelper.cpp
nsClipboardHelper.h
nsClipboardProxy.cpp
nsClipboardProxy.h
nsColorPickerProxy.cpp
nsColorPickerProxy.h
nsContentProcessWidgetFactory.cpp Bug 1401678 - Proxy nsISound::beep() and nsISound::play() calls from the content process to the parent process and beep away there. r=bkelly 2018-01-16 13:24:51 +01:00
nsDeviceContextSpecProxy.cpp Bug 1432409 part 1 - Prevent nsDeviceContextSpecProxy using RemotePrintJobChild if initialization fails. r=dholbert 2018-02-16 14:53:26 +00:00
nsDeviceContextSpecProxy.h Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj 2018-02-08 21:22:43 -08:00
nsDragServiceProxy.cpp Bug 1437118 - Null-check principalURI returned by URI getter. r=froydnj 2018-02-16 03:20:26 +09:00
nsDragServiceProxy.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
nsFilePickerProxy.cpp
nsFilePickerProxy.h
nsGUIEventIPC.h Bug 1401111 - Use ContiguousEnumSerializer for EventMessage ParamTraits; r=botond 2017-12-01 13:00:56 -05:00
nsHTMLFormatConverter.cpp
nsHTMLFormatConverter.h
nsIApplicationChooser.idl
nsIAppShell.idl
nsIBaseWindow.idl
nsIBidiKeyboard.idl
nsIClipboard.idl
nsIClipboardDragDropHookList.idl
nsIClipboardDragDropHooks.idl
nsIClipboardHelper.idl
nsIClipboardOwner.idl
nsIColorPicker.idl
nsIDeviceContextSpec.h
nsIDisplayInfo.idl
nsIdleService.cpp
nsIdleService.h
nsIDragService.idl Bug 1424107 - Pass the triggering principal URI across processes in drag-and-drop. r=smaug 2018-02-09 10:43:53 +09:00
nsIDragSession.idl Bug 1424107 - Pass the triggering principal URI across processes in drag-and-drop. r=smaug 2018-02-09 10:43:53 +09:00
nsIFilePicker.idl
nsIFormatConverter.idl
nsIGfxInfo.idl Add tiling and paint worker count information to about:support. (bug 1432516, r=milan) 2018-01-23 15:52:13 -06:00
nsIGfxInfoDebug.idl
nsIIdleService.idl
nsIIdleServiceInternal.idl
nsIJumpListBuilder.idl
nsIJumpListItem.idl
nsIKeyEventInPluginCallback.h
nsIMacDockSupport.idl
nsIMacWebAppUtils.idl
nsINativeMenuService.h Bug 1423167: Move most attribute-related methods from nsIContent to Element. r=bz 2017-12-06 16:05:59 +01:00
nsIPluginWidget.h
nsIPrintDialogService.h
nsIPrinterEnumerator.idl
nsIPrintSession.idl
nsIPrintSettings.idl
nsIPrintSettingsService.idl
nsIPrintSettingsWin.idl
nsIRollupListener.h
nsIScreen.idl
nsIScreenManager.idl
nsISound.idl
nsIStandaloneNativeMenu.idl
nsISystemStatusBar.idl
nsITaskbarOverlayIconController.idl
nsITaskbarPreview.idl
nsITaskbarPreviewButton.idl
nsITaskbarPreviewController.idl
nsITaskbarProgress.idl
nsITaskbarTabPreview.idl
nsITaskbarWindowPreview.idl
nsITransferable.idl
nsIWidget.h Bug 1293362 - Part 4: Generate runtime bindings for calling xpcom methods from rust, r=froydnj 2018-01-23 17:27:26 -05:00
nsIWidgetListener.cpp
nsIWidgetListener.h
nsIWindowsUIUtils.idl
nsIWinTaskbar.idl
nsNativeTheme.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
nsNativeTheme.h
nsPrimitiveHelpers.cpp
nsPrimitiveHelpers.h
nsPrintSession.cpp
nsPrintSession.h
nsPrintSettingsImpl.cpp Bug 144114 part 3 - Clean up the headers of the nsPrintSettingsService subclasses. r=bobowen 2017-12-19 11:05:37 +00:00
nsPrintSettingsImpl.h
nsPrintSettingsService.cpp Bug 144114 part 3 - Clean up the headers of the nsPrintSettingsService subclasses. r=bobowen 2017-12-19 11:05:37 +00:00
nsPrintSettingsService.h Bug 144114 part 3 - Clean up the headers of the nsPrintSettingsService subclasses. r=bobowen 2017-12-19 11:05:37 +00:00
nsShmImage.cpp
nsShmImage.h
nsSoundProxy.cpp Bug 1401678 - Proxy nsISound::beep() and nsISound::play() calls from the content process to the parent process and beep away there. r=bkelly 2018-01-16 13:24:51 +01:00
nsSoundProxy.h Bug 1401678 - Proxy nsISound::beep() and nsISound::play() calls from the content process to the parent process and beep away there. r=bkelly 2018-01-16 13:24:51 +01:00
nsTransferable.cpp Bug 1433030 - Stop nsTransferable writing to /tmp in PB windows r=jdm 2018-02-12 10:34:00 +02:00
nsTransferable.h
nsWidgetInitData.h Backout 84bcb5742e0c (bug 1405577) to replace with a slimmer patch. r=me 2017-12-04 15:06:26 -05:00
nsWidgetsCID.h Bug 144114 part 4 - Remove NS_PRINTOPTIONS_CID. r=bobowen 2017-12-19 11:21:53 +00:00
nsXPLookAndFeel.cpp Backed out 5 changesets (bug 1417709) for failing X in devtools/shared/tests/unit/test_css-properties-db.js r=backout on a CLOSED TREE 2017-11-23 01:17:07 +02:00
nsXPLookAndFeel.h
PCompositorWidget.ipdl
PlatformWidgetTypes.ipdlh
PluginWidgetProxy.cpp
PluginWidgetProxy.h
PuppetBidiKeyboard.cpp
PuppetBidiKeyboard.h
PuppetWidget.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
PuppetWidget.h Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
Screen.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
Screen.h
ScreenManager.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
ScreenManager.h
SharedWidgetUtils.cpp
SystemTimeConverter.h
TextEventDispatcher.cpp Bug 1438133 - Ctrl + Enter should cause keypress event even though the key combination doesn't input any character r=smaug 2018-02-14 21:21:18 +09:00
TextEventDispatcher.h Bug 1433101 - part 1: Add new pref which disables keypress event for non-printable keys only for the default event group in web content r=smaug 2018-01-25 23:27:07 +09:00
TextEventDispatcherListener.h
TextEvents.h Bug 1438133 - Ctrl + Enter should cause keypress event even though the key combination doesn't input any character r=smaug 2018-02-14 21:21:18 +09:00
TextRange.h
TouchEvents.h Bug 1436508 part 16. Remove nsIDOMSimpleGestureEvent. r=masayuki 2018-02-09 11:17:10 -05:00
VsyncDispatcher.cpp
VsyncDispatcher.h
WidgetEventImpl.cpp Bug 1436508 part 11. Remove the use of the nsIDOMKeyEvent::DOM_VK* constants in C++. r=masayuki 2018-02-09 11:17:09 -05:00
WidgetMessageUtils.h
WidgetTraceEvent.h
WidgetUtils.cpp Bug 1423559: Use BaseRect access methods instead of member variables in widget/ r=mstange 2018-01-10 11:14:16 -05:00
WidgetUtils.h Bug 1151753 - Set program class name when not using --class command line option. r=karlt 2017-10-25 15:58:49 +09:00
WindowSurface.h
WindowSurfaceX11SHM.cpp
WindowSurfaceX11SHM.h