gecko-dev/dom/ipc
Tom Tung 45a97b5b83 Bug 1654080 - Use PBackground for syncing SessionStorageCache and use LSWriteOptimizer to send data changes; r=dom-workers-and-storage-reviewers,janv,nika
This patch does:
- Use LSWriteOptimizer
- Remove SessionStorageService since it's unused.
- Move IPC from PContent to PBackground
(by SessionStorageManager{Child, Parent} and SessionStorageCache{Child, Parent}).
- Extract SessionStorageManagerBase and add PBackgroundSessionStorageManager.
- Expose a getter function to get a BackgroundParentManager for top context id
on the parent.

IPC
- Before this patch:
  - Copy from parent while loading a document.
    - Mark cache entry on the parent process as loaded by the child id.
  - Update change on checkpoint.
  - Unmark cache entry on the parent process as unloaded for the child id while
  the parent actor is destorying.
- After this patch:
  - Sync IPC load in the first SessionStorage operation.
  - Update change on checkpoint

`BackgroundSessionStorageManager`'s lifecycle on the parent process.
- Create by `SessionStorageManagerParent` and register to the `sManagers`.
- Hold by `SessionStorageManagerParent` and `sManagers`.
- Remove from the `sManagers` while the corresponding `BrowsingContext` is
destructed (on the parent process).

Depends on D89341

Differential Revision: https://phabricator.services.mozilla.com/D89342
2020-10-14 00:19:33 +00:00
..
fuzztest Bug 1650163 - Part 1: Switch native remoteType values to nsCString, r=farre,geckoview-reviewers,agi 2020-07-08 20:15:59 +00:00
jsactor Bug 1660539 - Make StructuredCloneData args optional in JSActor RawMessage, r=kmag 2020-10-13 17:43:56 +00:00
tests Bug 1633132: Add requestCompleteLog() to browser_CrashService_crash.js. 2020-09-30 20:30:51 +00:00
BrowserBridgeChild.cpp Bug 1667081 - Part 1: Replace usage of nsIFocusManager with nsFocusManager; r=hsivonen 2020-09-29 07:21:09 +00:00
BrowserBridgeChild.h Bug 1658343 - Propagate intrinsic sizes from SVG documents in embed/object to parent using IPC. r=kmag,dholbert 2020-09-21 02:09:57 +00:00
BrowserBridgeHost.cpp Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow 2020-08-28 17:20:30 +00:00
BrowserBridgeHost.h Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow 2020-08-28 17:20:30 +00:00
BrowserBridgeParent.cpp Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow 2020-08-28 17:20:30 +00:00
BrowserBridgeParent.h Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow 2020-08-28 17:20:30 +00:00
BrowserChild.cpp Bug 1666802 - Remove LayersLogging.*. r=mattwoodrow 2020-10-11 21:20:46 +00:00
BrowserChild.h Bug 1670134, remove message manager reference from LightweightThemeChild.jsm, by getting chromeOuterWindowId from BrowserChild instead, r=mconley 2020-10-09 17:36:22 +00:00
BrowserHost.cpp Bug 1655866: Part 5 - Use native PermitUnload implementation from front-end code. r=nika,mconley 2020-09-21 22:41:04 +00:00
BrowserHost.h Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow 2020-08-28 17:20:30 +00:00
BrowserParent.cpp Bug 1663924 - Replace output parameter of PromptIfNeeded by return value. r=dom-workers-and-storage-reviewers,janv 2020-10-06 08:39:40 +00:00
BrowserParent.h Bug 1662587 - Make pointer lock fission compatible; r=smaug 2020-09-21 11:01:27 +00:00
CSPMessageUtils.cpp Bug 1627859 - Convert nsIContentSecurityPolicy* IPDL serialization to use CSPInfo. r=ckerschb 2020-04-10 22:13:58 +00:00
CSPMessageUtils.h
ClonedErrorHolder.cpp Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi 2020-09-23 15:17:15 +00:00
ClonedErrorHolder.h Bug 1558520, rework remote controller to use JSWindowActor instead of having the browser have a controller, r=smaug 2020-03-12 16:47:57 +00:00
CoalescedInputData.h
CoalescedMouseData.cpp Bug 1666617 - Add an observer description argument to AddRefreshObserver. r=smaug 2020-09-25 02:36:29 +00:00
CoalescedMouseData.h Bug 1656117 - Reduce include dependencies on nsRefreshDriver.h. r=mstange 2020-08-04 21:17:50 +00:00
CoalescedWheelData.cpp
CoalescedWheelData.h
ColorPickerParent.cpp
ColorPickerParent.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/ipc. r=smaug 2020-03-06 09:11:40 +00:00
ContentChild.cpp Bug 1654080 - Use PBackground for syncing SessionStorageCache and use LSWriteOptimizer to send data changes; r=dom-workers-and-storage-reviewers,janv,nika 2020-10-14 00:19:33 +00:00
ContentChild.h Bug 1654080 - Use PBackground for syncing SessionStorageCache and use LSWriteOptimizer to send data changes; r=dom-workers-and-storage-reviewers,janv,nika 2020-10-14 00:19:33 +00:00
ContentParent.cpp Bug 1654080 - Use PBackground for syncing SessionStorageCache and use LSWriteOptimizer to send data changes; r=dom-workers-and-storage-reviewers,janv,nika 2020-10-14 00:19:33 +00:00
ContentParent.h Bug 1654080 - Use PBackground for syncing SessionStorageCache and use LSWriteOptimizer to send data changes; r=dom-workers-and-storage-reviewers,janv,nika 2020-10-14 00:19:33 +00:00
ContentProcess.cpp Bug 1656261 - Back out all recent StartupCache work r=RyanVM 2020-09-14 17:00:53 +00:00
ContentProcess.h Bug 1649071 - Replace the DISALLOW_COPY_AND_ASSIGN & DISALLOW_EVIL_CONSTRUCTORS macros with = delete; r=froydnj 2020-06-29 14:37:56 +00:00
ContentProcessManager.cpp Bug 1640019 - Part 8: Remove unnecessary ASSERT_UNLESS_FUZZING when looking up CP, r=mattwoodrow 2020-06-15 23:24:05 +00:00
ContentProcessManager.h Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj 2020-02-20 11:40:14 +00:00
DOMTypes.ipdlh Bug 1574261 - Make nsDocShell::MaybeHandleSubFrameHistory work with session history in parent, r=peterv 2020-09-17 18:22:08 +00:00
DocShellMessageUtils.cpp
DocShellMessageUtils.h Backed out changeset 428c9c1eabb8 (bug 1655866) for multiple failures. CLOSED TREE 2020-10-09 22:28:00 +03:00
EffectsInfo.h
FilePickerParent.cpp Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj 2020-08-04 11:27:07 +00:00
FilePickerParent.h Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj 2020-08-04 11:27:07 +00:00
IdType.h
InProcessChild.h Bug 1650163 - Part 3: Move REMOTE_TYPE defines to a separate header, r=farre 2020-07-08 20:16:06 +00:00
InProcessImpl.cpp Bug 1653729 - Part 2: Add methods for do_QueryActor from nsIDOMProcess*, r=kmag 2020-08-04 21:35:25 +00:00
InProcessParent.h Bug 1650163 - Part 3: Move REMOTE_TYPE defines to a separate header, r=farre 2020-07-08 20:16:06 +00:00
MMPrinter.cpp Bug 1645510: Part 2 - Avoid using the unprivileged junk scope where possible. r=bholley 2020-06-27 03:06:28 +00:00
MMPrinter.h
ManifestMessagesChild.jsm Bug 1644151, convert manifest from legacy actor to JSWindowActor, r=marcosc 2020-07-07 12:33:26 +00:00
MaybeDiscarded.h Backed out 6 changesets (bug 1626404) for frequent timeouts on test_postMessage_onOther.html CLOSED TREE 2020-04-09 11:07:40 +03:00
MemMapSnapshot.cpp
MemMapSnapshot.h
MemoryReportRequest.cpp Bug 1655536, part 1 - Drop the return value from MemoryReportRequestClient::FinishCallback. r=froydnj 2020-08-03 18:29:02 +00:00
MemoryReportRequest.h Bug 1655536, part 1 - Drop the return value from MemoryReportRequestClient::FinishCallback. r=froydnj 2020-08-03 18:29:02 +00:00
MemoryReportTypes.ipdlh
NativeThreadId.h Bug 1651714 - Reduce expensive includes for TabMessageUtils.h. r=smaug 2020-07-15 13:24:20 +00:00
PBrowser.ipdl Bug 1557645 - Clone OOP iframes in the right process. r=nika 2020-09-22 09:57:27 +00:00
PBrowserBridge.ipdl Bug 1658343 - Propagate intrinsic sizes from SVG documents in embed/object to parent using IPC. r=kmag,dholbert 2020-09-21 02:09:57 +00:00
PColorPicker.ipdl
PContent.ipdl Bug 1654080 - Use PBackground for syncing SessionStorageCache and use LSWriteOptimizer to send data changes; r=dom-workers-and-storage-reviewers,janv,nika 2020-10-14 00:19:33 +00:00
PContentPermission.ipdlh
PContentPermissionRequest.ipdl
PCycleCollectWithLogs.ipdl
PFilePicker.ipdl Bug 1648141 - IPCBlobInputStream to RemoteLazyInputStream - part 3 - PRemoteLazyInputStream, r=smaug,necko-reviewers,dragana 2020-06-29 11:03:04 +00:00
PInProcess.ipdl Bug 1633379 - Part 1: Move PInProcess into dom/ipc, r=kmag,Yoric 2020-06-25 17:50:51 +00:00
PLoginReputation.ipdl
PPluginWidget.ipdl
PProcessHangMonitor.ipdl Bug 1652613 - report slow script hang durations and only clear hang data after the observer notification, r=mconley 2020-07-24 00:01:57 +00:00
PTabContext.ipdlh Bug 1633820 - Part 5: Get rid of UnsafeIPCTabContext, r=kmag 2020-05-07 22:18:56 +00:00
PURLClassifier.ipdl
PURLClassifierInfo.ipdlh
PURLClassifierLocal.ipdl
PWindowGlobal.ipdl Bug 1660539 - Make StructuredCloneData args optional in JSActor RawMessage, r=kmag 2020-10-13 17:43:56 +00:00
PermissionMessageUtils.cpp Bug 1635399 - Function PrincipalInfoToPrincipal now returns Result<nsCOMPtr<nsIPrincipal>, nsresult> r=ckerschb 2020-05-12 19:02:05 +00:00
PermissionMessageUtils.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/ipc. r=smaug 2020-03-06 09:11:40 +00:00
PreallocatedProcessManager.cpp Bug 1661364 - Part 4: Disable process recycling when prealloc is disabled, r=kmag,jesup 2020-09-14 13:45:48 +00:00
PreallocatedProcessManager.h Bug 1661364 - Part 4: Disable process recycling when prealloc is disabled, r=kmag,jesup 2020-09-14 13:45:48 +00:00
PrefsTypes.ipdlh
ProcessActor.cpp Bug 1649477 - Part 2: Unify JSActor manager logic, r=kmag 2020-07-08 14:22:22 +00:00
ProcessActor.h Bug 1650163 - Part 1: Switch native remoteType values to nsCString, r=farre,geckoview-reviewers,agi 2020-07-08 20:15:59 +00:00
ProcessHangMonitor.cpp Bug 1666196 - Part 1: Move decision to cancel to ProcessHangMonitor. r=smaug 2020-09-21 10:05:21 +00:00
ProcessHangMonitor.h Bug 1652613 - report slow script hang durations and only clear hang data after the observer notification, r=mconley 2020-07-24 00:01:57 +00:00
ProcessHangMonitorIPC.h
ProcessPriorityManager.cpp Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi 2020-09-23 15:17:15 +00:00
ProcessPriorityManager.h Bug 1649071 - Replace the DISALLOW_COPY_AND_ASSIGN & DISALLOW_EVIL_CONSTRUCTORS macros with = delete; r=froydnj 2020-06-29 14:37:56 +00:00
PropertyBagUtils.cpp Bug 1633379 - Part 1: Move PInProcess into dom/ipc, r=kmag,Yoric 2020-06-25 17:50:51 +00:00
PropertyBagUtils.h
RefMessageBodyService.cpp Bug 1649347 - RefMessageBody needs to protect the reading when shared cross threads, r=edenchuang 2020-07-02 08:44:14 +00:00
RefMessageBodyService.h Bug 1649347 - RefMessageBody needs to protect the reading when shared cross threads, r=edenchuang 2020-07-02 08:44:14 +00:00
ReferrerInfoUtils.cpp Bug 1611415 - Prefer using std::move over forget. r=froydnj 2020-02-13 14:38:48 +00:00
ReferrerInfoUtils.h
RemoteBrowser.cpp Bug 1580448 - Trivial unified build fixups;r=nika 2020-04-30 16:15:27 +00:00
RemoteBrowser.h Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow 2020-08-28 17:20:30 +00:00
RemoteType.h Bug 1650163 - Part 3: Move REMOTE_TYPE defines to a separate header, r=farre 2020-07-08 20:16:06 +00:00
RemoteWebProgress.cpp Bug 1646582 - Remove RemoteWebProgressManager. r=nika,Gijs 2020-06-24 19:59:04 +00:00
RemoteWebProgress.h Bug 1646582 - Remove RemoteWebProgressManager. r=nika,Gijs 2020-06-24 19:59:04 +00:00
RemoteWebProgressRequest.cpp Bug 1646582 - Remove nsIRemoteWebProgressRequest since it's not being used anywhere. r=barret 2020-06-24 19:57:30 +00:00
RemoteWebProgressRequest.h Bug 1646582 - Remove nsIRemoteWebProgressRequest since it's not being used anywhere. r=barret 2020-06-24 19:57:30 +00:00
ServiceWorkerConfiguration.ipdlh
SharedMap.cpp Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj 2020-07-01 08:29:29 +00:00
SharedMap.h Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi 2020-09-23 15:17:15 +00:00
SharedMapChangeEvent.h
SharedMessageBody.cpp Bug 1649347 - RefMessageBody needs to protect the reading when shared cross threads, r=edenchuang 2020-07-02 08:44:14 +00:00
SharedMessageBody.h Bug 1626570 - Improve handling of copying arrays in dom/messagechannel/. r=smaug 2020-05-07 08:10:14 +00:00
SharedStringMap.cpp
SharedStringMap.h
StringTable.h
StructuredCloneData.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/ipc. r=smaug 2020-03-06 09:11:40 +00:00
StructuredCloneData.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/ipc. r=smaug 2020-03-06 09:11:40 +00:00
TabContext.cpp Bug 1633820 - Part 5: Get rid of UnsafeIPCTabContext, r=kmag 2020-05-07 22:18:56 +00:00
TabContext.h Bug 1633820 - Part 4: Remove OriginAttributes from TabContext, r=kmag 2020-05-07 22:18:54 +00:00
TabMessageTypes.h Bug 1651714 - Reduce expensive includes for TabMessageUtils.h. r=smaug 2020-07-15 13:24:20 +00:00
TabMessageUtils.cpp
TabMessageUtils.h Bug 1651714 - Reduce expensive includes for TabMessageUtils.h. r=smaug 2020-07-15 13:24:20 +00:00
URLClassifierChild.h Bug 1626570 - Improve handling of copying arrays in dom/ipc/. r=nika 2020-04-30 09:37:05 +00:00
URLClassifierParent.cpp Bug 1650950 - Rename blacklist, whitelist, and skiplist in the anti-tracking and url-classifier code, r=dimi 2020-07-07 16:17:11 +00:00
URLClassifierParent.h
UserActivationIPCUtils.h
WindowGlobalActor.cpp Bug 1646573: Part 1 - Fix GetInProcessParent usage in WindowShouldMatchActiveTab. r=zombie,nika 2020-09-22 17:41:34 +00:00
WindowGlobalActor.h Bug 1650163 - Part 1: Switch native remoteType values to nsCString, r=farre,geckoview-reviewers,agi 2020-07-08 20:15:59 +00:00
WindowGlobalChild.cpp Bug 1660539 - Make StructuredCloneData args optional in JSActor RawMessage, r=kmag 2020-10-13 17:43:56 +00:00
WindowGlobalChild.h Bug 1660539 - Make StructuredCloneData args optional in JSActor RawMessage, r=kmag 2020-10-13 17:43:56 +00:00
WindowGlobalParent.cpp Bug 1660539 - Make StructuredCloneData args optional in JSActor RawMessage, r=kmag 2020-10-13 17:43:56 +00:00
WindowGlobalParent.h Bug 1660539 - Make StructuredCloneData args optional in JSActor RawMessage, r=kmag 2020-10-13 17:43:56 +00:00
WindowGlobalTypes.ipdlh Bug 1654469 - Stop generating operator==/operator != for IPDL structs/unions by default. r=nika 2020-07-22 17:24:33 +00:00
jar.mn Bug 1630691: Part 1 - Get rid of most of the remaining mozbrowser API. r=nika,mtigley,bradwerth 2020-04-29 19:29:06 +00:00
moz.build Bug 1664900 - move /media/webrtc/signaling/src to /dom/media/webrtc;r=dminor,webidl,smaug 2020-09-23 04:22:29 +00:00
nsIDOMProcessChild.idl Bug 1653729 - Part 2: Add methods for do_QueryActor from nsIDOMProcess*, r=kmag 2020-08-04 21:35:25 +00:00
nsIDOMProcessParent.idl Bug 1653729 - Part 2: Add methods for do_QueryActor from nsIDOMProcess*, r=kmag 2020-08-04 21:35:25 +00:00
nsIHangReport.idl Bug 1647695 - Expose ChildID on frozen nsIHangReport;r=mconley 2020-08-03 17:34:53 +00:00
remote-test.js Bug 1638153: Part 2 - Fix uses of .rootTreeItem to get top browser window. r=geckoview-reviewers,nika,snorp 2020-06-17 17:17:16 +00:00
test.xhtml Bug 1644863 - fix trailing whitespace in cross-tree tests, r=emilio,marionette-reviewers,whimboo 2020-06-17 22:45:31 +00:00