gecko-dev/widget
Aaron Klotz c78829b682 Bug 1594820: Part 1 - Modify XPCOMEventTarget to accept method calls before JNI is ready; r=snorp
Since `XPCOMEventTarget` uses JNI, this patch makes it possible for consumers to
retrieve and invoke methods on one without needing to worry about whether JNI
is actually up yet.

To achieve this, we create the `IXPCOMEventTarget` interface, and observe that
both of its methods can be handled by a proxy if JNI is not ready:

* Calls to `dispatch` may be enqueued until JNI is up;
* Observe that, when JNI is not up yet, the result of `isOnCurrentThread`
  can never be `true`.

Once JNI is up and the event targets have been resolved, the proxies are
replaced with the real, concrete `XPCOMEventTarget`s and are no longer used for
the remainder of the Gecko instance's lifetime.

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

--HG--
extra : moz-landing-system : lando
2020-01-20 07:44:07 +00:00
..
android Bug 1594820: Part 1 - Modify XPCOMEventTarget to accept method calls before JNI is ready; r=snorp 2020-01-20 07:44:07 +00:00
cocoa Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug 2020-01-16 14:38:40 +00:00
crashtests
gtk Bug 1605934 - Use nested namespaces r=sg 2020-01-18 13:48:34 +00:00
gtkxtbin
headless Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug 2020-01-16 14:38:40 +00:00
reftests
tests Bug 1602626 - Make window_wheeltransaction.xhtml compute point to fire wheel events dynamically r=smaug 2020-01-17 15:07:17 +00:00
uikit Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug 2020-01-16 14:38:40 +00:00
windows Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug 2020-01-16 14:38:40 +00:00
x11
BasicEvents.h Bug 970802 - part 3: Implement beforeinput event dispatcher and add onbeforeinput event handler attribute r=smaug 2020-01-14 07:15:45 +00:00
CommandList.h
CompositorWidget.cpp
CompositorWidget.h Bug 1597585 - Make LayerManagerComposite use mGL to pass the GL context to PreRender, just like WebRender. r=mattwoodrow 2019-11-20 23:22:58 +00:00
ContentCache.cpp Bug 1600561 - Handle eCompositionCommitAsIs in ContentCacheInParent::OnCompositionEvent. r=masayuki 2019-12-02 15:27:29 +00:00
ContentCache.h
ContentEvents.h
EventClassList.h
EventForwards.h Bug 970802 - part 3: Implement beforeinput event dispatcher and add onbeforeinput event handler attribute r=smaug 2020-01-14 07:15:45 +00:00
EventMessageList.h Bug 970802 - part 3: Implement beforeinput event dispatcher and add onbeforeinput event handler attribute r=smaug 2020-01-14 07:15:45 +00:00
FontRange.h
GfxDriverInfo.cpp Bug 1599981 - Blacklist old drivers on AMD Caicos GPU on Windows10 r=mattwoodrow 2020-01-05 19:25:36 +00:00
GfxDriverInfo.h Bug 1599981 - Blacklist old drivers on AMD Caicos GPU on Windows10 r=mattwoodrow 2020-01-05 19:25:36 +00:00
GfxInfoBase.cpp Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj 2019-12-20 07:16:43 +00:00
GfxInfoBase.h Bug 1593725 - cache gfx information so we don't re-read prefs and re-search blocklists for each content process, r=jrmuizel 2019-11-09 02:21:18 +00:00
GfxInfoCollector.cpp
GfxInfoCollector.h
GfxInfoX11.cpp Bug 1605934 - Use nested namespaces r=sg 2020-01-18 13:48:34 +00:00
GfxInfoX11.h Bug 1594145 - Add gfx telemetry scalars to geckoview_streaming. r=Dexter,jnicol 2019-11-26 19:42:06 +00:00
IMEData.cpp
IMEData.h
InProcessCompositorWidget.cpp Bug 1576390 - Remove now-unused DrawWindowOverlay and WindowOverlayChanged methods. r=mattwoodrow 2019-11-13 02:24:06 +00:00
InProcessCompositorWidget.h Bug 1576390 - Remove now-unused DrawWindowOverlay and WindowOverlayChanged methods. r=mattwoodrow 2019-11-13 02:24:06 +00:00
InputData.cpp
InputData.h
LookAndFeel.h Bug 1606503 - Move prefers-reduced-motion bits for testing into LookAndFeel. r=emilio 2020-01-14 05:50:53 +00:00
LSBUtils.cpp Bug 1605934 - Use nested namespaces r=sg 2020-01-18 13:48:34 +00:00
LSBUtils.h
MediaKeysEventSourceFactory.h Bug 1601508 - create a general interface for getting platform-specific media keys event source r=spohl 2019-12-06 20:55:26 +00:00
MiscEvents.h
MouseEvents.h Bug 1603074 - part 1: Make synthesizePlainDragAndDrop() synthesize drag events without DataTransfer object r=smaug 2019-12-21 12:27:06 +00:00
moz.build Bug 1601508 - create a general interface for getting platform-specific media keys event source r=spohl 2019-12-06 20:55:26 +00:00
NativeKeyToDOMCodeName.h
NativeKeyToDOMKeyName.h
nsAppShellSingleton.h
nsAutoRollup.cpp
nsAutoRollup.h
nsBaseAppShell.cpp
nsBaseAppShell.h
nsBaseClipboard.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsBaseClipboard.h
nsBaseDragService.cpp Bug 1605918 - Get rid of synthesizeDragStart() in EventUtils.js r=smaug 2019-12-27 16:25:24 +00:00
nsBaseDragService.h Bug 1603074 - part 1: Make synthesizePlainDragAndDrop() synthesize drag events without DataTransfer object r=smaug 2019-12-21 12:27:06 +00:00
nsBaseFilePicker.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsBaseFilePicker.h
nsBaseScreen.cpp
nsBaseScreen.h
nsBaseWidget.cpp Bug 1605934 - Use nested namespaces r=sg 2020-01-18 13:48:34 +00:00
nsBaseWidget.h Bug 1542808 - Implement widget-local VsyncSource for Wayland windows. r=stransky,lsalzman 2019-11-27 00:21:33 +00:00
nsClipboardHelper.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsClipboardHelper.h
nsClipboardProxy.cpp
nsClipboardProxy.h
nsColorPickerProxy.cpp
nsColorPickerProxy.h
nsContentProcessWidgetFactory.cpp
nsDeviceContextSpecProxy.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsDeviceContextSpecProxy.h
nsDragServiceProxy.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsDragServiceProxy.h
nsFilePickerProxy.cpp
nsFilePickerProxy.h
nsGUIEventIPC.h Bug 1601936. Ensure ScrollWheelInput::mAPZAction is transferred over ipc. r=botond 2019-12-06 16:56:36 +00:00
nsHTMLFormatConverter.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsHTMLFormatConverter.h
nsIApplicationChooser.idl
nsIAppShell.idl
nsIBaseWindow.idl
nsIBidiKeyboard.idl
nsIClipboard.idl
nsIClipboardHelper.idl
nsIClipboardOwner.idl
nsIColorPicker.idl
nsIDeviceContextSpec.h
nsIDisplayInfo.idl
nsIdleService.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsIdleService.h
nsIDragService.idl Bug 1603074 - part 1: Make synthesizePlainDragAndDrop() synthesize drag events without DataTransfer object r=smaug 2019-12-21 12:27:06 +00:00
nsIDragSession.idl Bug 1603074 - part 1: Make synthesizePlainDragAndDrop() synthesize drag events without DataTransfer object r=smaug 2019-12-21 12:27:06 +00:00
nsIFilePicker.idl
nsIFormatConverter.idl
nsIGfxInfo.idl Bug 1602511 - Blacklist webrender compositor on Intel HD 520 r=gw 2019-12-10 19:16:13 +00:00
nsIGfxInfoDebug.idl
nsIGtkTaskbarProgress.idl
nsIIdleService.idl
nsIIdleServiceInternal.idl
nsIJumpListBuilder.idl
nsIJumpListItem.idl
nsIKeyEventInPluginCallback.h
nsIMacDockSupport.idl
nsIMacFinderProgress.idl
nsIMacSharingService.idl
nsIMacWebAppUtils.idl
nsINativeMenuService.h
nsIPluginWidget.h
nsIPrintDialogService.h Bug 1602125. Remove nsIPrintingPromptService.showPrintDialog's nsIWebBrowserPrint parameter and MockWebBrowserPrint. r=bobowen 2019-12-09 09:04:29 +00:00
nsIPrinterEnumerator.idl
nsIPrintSession.idl
nsIPrintSettings.idl
nsIPrintSettingsService.idl Bug 1602125. Remove nsIPrintingPromptService.showPrintDialog's nsIWebBrowserPrint parameter and MockWebBrowserPrint. r=bobowen 2019-12-09 09:04:29 +00:00
nsIPrintSettingsWin.idl
nsIRollupListener.h
nsIScreen.idl
nsIScreenManager.idl
nsISharePicker.idl
nsISound.idl
nsIStandaloneNativeMenu.idl
nsISystemStatusBar.idl
nsITaskbarOverlayIconController.idl
nsITaskbarPreview.idl
nsITaskbarPreviewButton.idl
nsITaskbarPreviewController.idl
nsITaskbarProgress.idl
nsITaskbarTabPreview.idl
nsITaskbarWindowPreview.idl
nsITouchBarHelper.idl Bug 1600356 - Part 3 - Streamline Touch Bar image loading. r=spohl 2020-01-03 17:07:25 +00:00
nsITouchBarInput.idl Bug 1600356 - Part 3 - Streamline Touch Bar image loading. r=spohl 2020-01-03 17:07:25 +00:00
nsITouchBarUpdater.idl
nsITransferable.idl
nsIWidget.h Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug 2020-01-16 14:38:40 +00:00
nsIWidgetListener.cpp Bug 1586986 - Deliver 'fixed-bottom' offset to the top of the pres context on the foreground tab. r=geckoview-reviewers,tnikkel,snorp 2019-11-21 21:15:46 +00:00
nsIWidgetListener.h Bug 1586986 - Deliver 'fixed-bottom' offset to the top of the pres context on the foreground tab. r=geckoview-reviewers,tnikkel,snorp 2019-11-21 21:15:46 +00:00
nsIWindowsUIUtils.idl Bug 1602194: Use the site's icons for the SSB UI window. r=mhowell,Gijs 2019-12-18 16:37:55 +00:00
nsIWinTaskbar.idl
nsNativeTheme.cpp Bug 981248 - Rewrite <input type=number> to avoid an anonymous input. r=masayuki,surkov,jwatt,ntim,jfkthame,smaug 2020-01-14 19:01:05 +00:00
nsNativeTheme.h Bug 1578377 - Render dark scrollbars for element with dark background on Windows. r=jmathies 2019-10-23 21:00:28 +00:00
nsPrimitiveHelpers.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsPrimitiveHelpers.h
nsPrintSession.cpp
nsPrintSession.h
nsPrintSettingsImpl.cpp
nsPrintSettingsImpl.h
nsPrintSettingsService.cpp Bug 1602125. Remove nsIPrintingPromptService.showPrintDialog's nsIWebBrowserPrint parameter and MockWebBrowserPrint. r=bobowen 2019-12-09 09:04:29 +00:00
nsPrintSettingsService.h
nsShmImage.cpp
nsShmImage.h
nsSoundProxy.cpp
nsSoundProxy.h
nsTransferable.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
nsTransferable.h
nsWidgetInitData.h Bug 1588484 - Disable Advanced Layers for now when using fission for the window. r=kmag 2019-11-24 20:59:07 +00:00
nsWidgetsCID.h
nsXPLookAndFeel.cpp Bug 1606503 - Get the value for prefers-reduced-motion via LookAndFeelInt. r=geckoview-reviewers,snorp 2020-01-14 05:51:06 +00:00
nsXPLookAndFeel.h Bug 1606503 - Get the value for prefers-reduced-motion via LookAndFeelInt. r=geckoview-reviewers,snorp 2020-01-14 05:51:06 +00:00
PCompositorWidget.ipdl
PlatformWidgetTypes.ipdlh
PluginWidgetProxy.cpp Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug 2020-01-16 14:38:40 +00:00
PluginWidgetProxy.h Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug 2020-01-16 14:38:40 +00:00
ProcInfo.h Bug 1604001 - Add the missing process type of the fork server for tests. r=gsvelto 2019-12-19 15:50:03 +00:00
PuppetBidiKeyboard.cpp
PuppetBidiKeyboard.h
PuppetWidget.cpp Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug 2020-01-16 14:38:40 +00:00
PuppetWidget.h Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug 2020-01-16 14:38:40 +00:00
Screen.cpp
Screen.h
ScreenManager.cpp Bug 1605934 - Use nested namespaces r=sg 2020-01-18 13:48:34 +00:00
ScreenManager.h
SharedWidgetUtils.cpp
SystemTimeConverter.h
TextEventDispatcher.cpp Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
TextEventDispatcher.h
TextEventDispatcherListener.h
TextEvents.h Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan 2019-12-06 09:17:57 +00:00
TextRange.h
TouchEvents.h
VsyncDispatcher.cpp Bug 1542808 - Implement widget-local VsyncSource for Wayland windows. r=stransky,lsalzman 2019-11-27 00:21:33 +00:00
VsyncDispatcher.h Bug 1542808 - Implement widget-local VsyncSource for Wayland windows. r=stransky,lsalzman 2019-11-27 00:21:33 +00:00
WidgetEventImpl.cpp Bug 1603074 - part 1: Make synthesizePlainDragAndDrop() synthesize drag events without DataTransfer object r=smaug 2019-12-21 12:27:06 +00:00
WidgetMessageUtils.h
WidgetTraceEvent.h
WidgetUtils.cpp
WidgetUtils.h
WindowSurface.h
WindowSurfaceX11SHM.cpp Bug 1605934 - Use nested namespaces r=sg 2020-01-18 13:48:34 +00:00
WindowSurfaceX11SHM.h