gecko-dev/dom/ipc
Michael Layzell d77310ec7b Bug 1310771 - Part 2: Emit BrowserWillChangeProcess and BrowserChangedProcess when doing cross-frameloader navigations, r=smaug
With GroupedSHistory, history navigations may now require the browser to
change which frameloader is stored internally from within Core. This
patch adds a mechanism to allow for chrome code to respond to these
changes and both delay the change, or respond once the change is
performed.

Delaying the change is accomplished through the BrowserWillChangeProcess
event, which is fired when it is determined that a process change will
happen for the given browser, but the change has not occured yet. During
this time the nsIFrameLoader::AddProcessChangeBlockingPromise method may
be called on the target browser's frameloader. Any promises passed to
this method will be waited on, and the process change will not occur
until they have all been fulfiled.

Once that has occured, the process change occurs, and the
BrowserChangedProcess event is fired.

This is useful for chrome code which needs to flush state from the
original process before the change, and then which needs to connect
state in the new process with state in the chrome process.

MozReview-Commit-ID: C0Xn6pfruB2
2016-11-18 16:00:43 -05:00
..
tests Bug 1318273 - Improve the use of SpecialPowers.pushPrefEnv() - part 1, r=qdot 2016-11-18 09:33:33 +01:00
Blob.cpp Bug 1317725 -Correct creation of Sliced Remote Blob actorss when used in FormData in workers, r=smaug 2016-11-16 15:04:23 +01:00
BlobChild.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
BlobParent.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
BlobTypes.ipdlh Bug 1268151: Clean up some dependencies in IPDL headers; r=billm 2016-05-17 16:01:25 -06:00
CPOWManagerGetter.h Bug 1235576 - Fix the indentation in dom/ipc, r=smaug 2016-01-05 09:59:30 +00:00
ColorPickerParent.cpp Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
ColorPickerParent.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
ContentBridgeChild.cpp Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
ContentBridgeChild.h Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
ContentBridgeParent.cpp Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
ContentBridgeParent.h Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
ContentChild.cpp Backed out changeset 1a72c4919371 (bug 1147911) 2016-11-18 00:58:51 +01:00
ContentChild.h Backed out changeset 1a72c4919371 (bug 1147911) 2016-11-18 00:58:51 +01:00
ContentParent.cpp Backed out changeset 1a72c4919371 (bug 1147911) 2016-11-18 00:58:51 +01:00
ContentParent.h Backed out changeset 1a72c4919371 (bug 1147911) 2016-11-18 00:58:51 +01:00
ContentProcess.cpp Bug 1290619 - Content sandbox rules should use actual profile directory, not Profiles/*/ regex's; r=jimm 2016-08-30 13:32:21 -07:00
ContentProcess.h Bug 1290619 - Content sandbox rules should use actual profile directory, not Profiles/*/ regex's; r=jimm 2016-08-30 13:32:21 -07:00
ContentProcessManager.cpp Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
ContentProcessManager.h Bug 1312101 - Part 2: Remove AppProcessChecker and code that depends on it; r=baku 2016-11-16 14:51:08 -05:00
CrashReporterChild.cpp
CrashReporterChild.h Bug 1235576 - Fix the indentation in dom/ipc, r=smaug 2016-01-05 09:59:30 +00:00
CrashReporterParent.cpp Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
CrashReporterParent.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
DOMTypes.ipdlh Bug 1307747 - Remote Blob must have the correct size, r=smaug 2016-10-06 22:44:34 +02:00
DatePickerParent.cpp Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
DatePickerParent.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
FilePickerParent.cpp Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
FilePickerParent.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
IdType.h Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
PBlob.ipdl Bug 1288997 - memory blob should not be shared across processes - part 3 - SendStream for memory blobs, r=bkelly 2016-09-21 12:27:26 +02:00
PBlobStream.ipdl Bug 1268151: Clean up some dependencies in IPDL headers; r=billm 2016-05-17 16:01:25 -06:00
PBrowser.ipdl Backed out changeset 43835f5fa2b2 (bug 1314707) for crashes @ mozilla::a11y::ProxyDestroyed 2016-11-09 19:33:25 -08:00
PBrowserOrId.ipdlh
PColorPicker.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PContent.ipdl Backed out changeset 1a72c4919371 (bug 1147911) 2016-11-18 00:58:51 +01:00
PContentBridge.ipdl Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
PContentPermission.ipdlh
PContentPermissionRequest.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PCrashReporter.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PCycleCollectWithLogs.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PDatePicker.ipdl Bug 825294 - Add framework for datepicker widgets to input[type=date]. r=smaug 2016-06-20 15:55:00 +02:00
PDocumentRenderer.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PFilePicker.ipdl Bug 1295914, improve the label of the button of folder picker, r=baku,mstange,karlt,jimm 2016-08-24 02:07:21 +03:00
PMemoryReportRequest.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PPluginWidget.ipdl Bug 1290766 - Return the scroll capture information from the PPluginWidget Create method, instead of using a separate asynchronous method which is delivered later and may race with fast shutdown. r=billm 2016-10-05 11:36:26 -04:00
PProcessHangMonitor.ipdl Bug 1279086 - Allow painting for tab switch when JS is running (r=dvander,mconley,mrbkap) 2016-09-16 20:35:11 -07:00
PScreenManager.ipdl Bug 1311862 - Mark ScreenRefresh as inside_cpow (r=mrbkap) 2016-10-31 10:58:17 -07:00
PTabContext.ipdlh Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
PermissionMessageUtils.cpp Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
PermissionMessageUtils.h Backed out changeset effbc83efa08 (bug 1279186) 2016-07-18 12:11:07 +08:00
ProcessHangMonitor.cpp Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
ProcessHangMonitor.h Bug 1312080 - Tell the BackgroundHangMonitor for force paint in the content process to wait after the next paint, even if we weren't interrupting JS. r=billm" 2016-10-21 14:56:46 -04:00
ProcessHangMonitorIPC.h
ProcessPriorityManager.cpp Bug 1311149 - Remove the b2g preallocated app support; r=baku 2016-11-16 09:17:35 -05:00
ProcessPriorityManager.h
ScreenManagerParent.cpp Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
ScreenManagerParent.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
ServiceWorkerConfiguration.ipdlh Bug 1285947 - Rename BrowserConfiguration to ServiceWorkerConfiguration, r=gabor 2016-07-11 16:04:04 +02:00
StructuredCloneData.cpp Bug 1312817 - support {window,worker}.postMessage() of WebAssembly.Module, r=qdot, r=luke 2016-10-28 14:44:04 +02:00
StructuredCloneData.h Bug 1264642 - Part 6. Mark JSStructuredCloneData as MOZ_NON_MEMMOVABLE and add specializations in nsTArray.h. r=froydnj 2016-08-23 00:40:47 +08:00
TabChild.cpp Backed out changeset f768dac3f7a9 (bug 1147911) 2016-11-18 00:58:51 +01:00
TabChild.h Bug 1311149 - Remove the b2g preallocated app support; r=baku 2016-11-16 09:17:35 -05:00
TabContext.cpp Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
TabContext.h Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
TabMessageUtils.cpp Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
TabMessageUtils.h Bug 1174798, propagate keyboard indicator state down to child processes, r=smaug 2016-06-09 07:59:31 -04:00
TabParent.cpp Bug 1310771 - Part 2: Emit BrowserWillChangeProcess and BrowserChangedProcess when doing cross-frameloader navigations, r=smaug 2016-11-18 16:00:43 -05:00
TabParent.h Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm 2016-11-15 04:26:00 +01:00
jar.mn Bug 1311149 - Remove the b2g preallocated app support; r=baku 2016-11-16 09:17:35 -05:00
manifestMessages.js Bug 1309099 - Web manifest's window.oninstall renamed onappinstalled. r=qdot 2016-10-12 12:45:35 -07:00
moz.build Bug 1312101 - Part 2: Remove AppProcessChecker and code that depends on it; r=baku 2016-11-16 14:51:08 -05:00
nsIContentChild.cpp Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
nsIContentChild.h Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
nsIContentParent.cpp Bug 1312101 - Part 2: Remove AppProcessChecker and code that depends on it; r=baku 2016-11-16 14:51:08 -05:00
nsIContentParent.h Bug 1310845 - Remove support for mozapp iframes; r=fabrice,jryans,baku,mcmanus 2016-11-16 09:13:38 -05:00
nsIHangReport.idl
nsIRemoteBlob.h
remote-test.js
test.xul