Граф коммитов

1631 Коммитов

Автор SHA1 Сообщение Дата
David Parks 45f5dd79ff Bug 1682030 - Remove PPluginWidget. r=jmathies,ipc-reviewers,nika
Removes the NPAPI plugin widget actor and its proxy, as part of removing all of NPAPI plugin support.

Differential Revision: https://phabricator.services.mozilla.com/D107141
2021-04-05 23:48:34 +00:00
Simon Giesecke 4a308827e3 Bug 708901 - Migrate to nsTHashSet in ipc. r=ipc-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D109322
2021-03-24 17:56:48 +00:00
Csoregi Natalia f54ee076ae Backed out 13 changesets (bug 708901, bug 1184468) for causing build bustage on GeckoViewHistory.cpp. CLOSED TREE
Backed out changeset b1e4c01e63b8 (bug 708901)
Backed out changeset 37b52cce83c0 (bug 708901)
Backed out changeset eee75f33f060 (bug 708901)
Backed out changeset 479bf64c7986 (bug 708901)
Backed out changeset 15a8fb94d15d (bug 708901)
Backed out changeset be31ccd9a61d (bug 708901)
Backed out changeset fc54f4eaedd5 (bug 708901)
Backed out changeset 03c3a56c3d13 (bug 708901)
Backed out changeset 73f11d3c1298 (bug 708901)
Backed out changeset aed22fd80893 (bug 708901)
Backed out changeset 74d8249fbe7e (bug 708901)
Backed out changeset acb725eb3c1d (bug 1184468)
Backed out changeset 70f3ea6efec4 (bug 1184468)
2021-03-24 19:26:20 +02:00
Simon Giesecke b07f34785d Bug 708901 - Migrate to nsTHashSet in ipc. r=ipc-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D109322
2021-03-24 16:59:00 +00:00
Tom Ritter 93ca1b2915 Bug 1610570: Add a 'NoTaint=allvalid' attribute as well, and cut Gamepad over to it r=cmartin
Depends on D108247

Differential Revision: https://phabricator.services.mozilla.com/D108248
2021-03-23 18:26:30 +00:00
Tom Ritter a40387b8a8 Bug 1610570: Pass attributes through so lower.py can change code emission, and handle NoTaint r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D108246
2021-03-23 18:26:30 +00:00
Tom Ritter 7275e370ec Bug 1610570: Support the NoTaint attribute on method parameters with the passback value r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D108245
2021-03-23 18:26:29 +00:00
Noemi Erli cc4a17cea3 Backed out 4 changesets (bug 1610570) for causing lint failure in lower.py CLOSED TREE
Backed out changeset faf6f57c64eb (bug 1610570)
Backed out changeset ccc49e1fd15c (bug 1610570)
Backed out changeset 83b086da2960 (bug 1610570)
Backed out changeset c7f732f443b1 (bug 1610570)
2021-03-23 19:25:55 +02:00
Tom Ritter 6470917122 Bug 1610570: Add a 'NoTaint=allvalid' attribute as well, and cut Gamepad over to it r=cmartin
Depends on D108247

Differential Revision: https://phabricator.services.mozilla.com/D108248
2021-03-23 15:15:39 +00:00
Tom Ritter 7d3fa671f3 Bug 1610570: Pass attributes through so lower.py can change code emission, and handle NoTaint r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D108246
2021-03-23 15:15:38 +00:00
Tom Ritter 63f2838313 Bug 1610570: Support the NoTaint attribute on method parameters with the passback value r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D108245
2021-03-23 15:15:37 +00:00
Cosmin Sabou b202667e72 Backed out 4 changesets (bug 1610570) for causing gamepad related bustages. CLOSED TREE
Backed out changeset 047120786a91 (bug 1610570)
Backed out changeset e2ef5d146d6a (bug 1610570)
Backed out changeset 6594ce800a6b (bug 1610570)
Backed out changeset 8d78b75b87fc (bug 1610570)
2021-03-22 20:57:04 +02:00
Tom Ritter 8a0b712b75 Bug 1610570: Add a 'NoTaint=allvalid' attribute as well, and cut Gamepad over to it r=cmartin
Differential Revision: https://phabricator.services.mozilla.com/D108248
2021-03-22 17:31:41 +00:00
Tom Ritter e453957de9 Bug 1610570: Pass attributes through so lower.py can change code emission, and handle NoTaint r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D108246
2021-03-22 17:31:40 +00:00
Tom Ritter a693f1a809 Bug 1610570: Support the NoTaint attribute on method parameters with the passback value r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D108245
2021-03-22 17:31:39 +00:00
Nika Layzell bf27412e89 Bug 1563624 - Part 2: Automatically reject async IPC responses when the resolver is dropped, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D108868
2021-03-18 16:56:10 +00:00
Simon Giesecke 43b7a1eb09 Bug 1699098 - Avoid double hashtable lookup in generated RemoveManagee code. r=ipc-reviewers,jld
Differential Revision: https://phabricator.services.mozilla.com/D108768
2021-03-18 08:41:27 +00:00
Simon Giesecke 80fd24eaab Bug 1699100 - Remove unused code-emitting functions from lower.py. r=ipc-reviewers,jld
Differential Revision: https://phabricator.services.mozilla.com/D108771
2021-03-18 08:41:26 +00:00
Tom Ritter c744fc48da Bug 1698160: Add the magical incantation for running ipdl tests to the README r=mccr8 DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D108233
2021-03-12 18:55:21 +00:00
Mike Hommey 3d4a5dfac9 Bug 1694901 - Generate ipdl headers more deterministically. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D106575
2021-02-26 04:23:44 +00:00
Florian Quèze b2650ad078 Bug 1693347 - Avoid including GeckoProfiler.h in generated cpp files when it is not going to be used, r=nika.
Differential Revision: https://phabricator.services.mozilla.com/D105491
2021-02-18 11:56:20 +00:00
M. Sirringhaus 9ea20acd3b Bug 1666725 - Make gvfs e10s compatible r=valentin,necko-reviewers
Split channel into parent/child to be able to use dbus in the content sandbox

Differential Revision: https://phabricator.services.mozilla.com/D92206
2021-02-10 07:29:38 +00:00
Nika Layzell 86a03e6701 Bug 1689147 - Part 5: Change comparable to an extended attribute, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D103370
2021-02-09 16:50:23 +00:00
Nika Layzell 661b4db5f0 Bug 1689147 - Part 4: Switch nested and prio to extended attributes, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D103369
2021-02-09 16:50:22 +00:00
Nika Layzell b40f9a3000 Bug 1689147 - Part 3: Use extended attribute syntax for message modifiers, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D103368
2021-02-09 16:50:22 +00:00
Nika Layzell ff239c6313 Bug 1689147 - Part 2: Remove verify support from ipdl, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D103367
2021-02-09 16:50:21 +00:00
Nika Layzell 63fd915bfb Bug 1689147 - Part 1: Add extended attribute syntax to IPDL, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D103366
2021-02-09 16:50:21 +00:00
Andreea Pavel 74d8a6339f Backed out changeset 29cd566d3c08 (bug 1666725) for build bustages at PNecko.ipdl on a CLOSED TREE 2021-02-09 15:11:47 +02:00
M. Sirringhaus 86e1612919 Bug 1666725 - Make gvfs e10s compatible r=valentin,necko-reviewers
Split channel into parent/child to be able to use dbus in the content sandbox

Differential Revision: https://phabricator.services.mozilla.com/D92206
2021-02-09 12:52:22 +00:00
Eitan Isaacson b9559d486e Bug 1690342 - P3: Add protocol stubs for mac attributed text. r=Jamie,mccr8,ipc-reviewers DONTBUILD
Created DocAccessibleTypes.ipdlh to put common types so they can be used in platform
extension protocols.

Differential Revision: https://phabricator.services.mozilla.com/D103801
2021-02-08 23:26:39 +00:00
Florian Quèze 16c243e0de Bug 1641181 - Record sync IPC markers, r=mstange.
Differential Revision: https://phabricator.services.mozilla.com/D103335
2021-01-29 06:11:59 +00:00
Eitan Isaacson ca8fda7434 Bug 1681909 - P1: Add IPC stubs for ApplyPostSearchFilter. r=morgan,ipc-reviewers,mccr8
Applying a bulk filter on accessibles in content process allows us to avoid a potentially large (and variable) number of IPC sync calls to retrieve the accessible names. I chose to implement this as a "post filter" and not to actually do the entire search in content because it would cause a lot of duplication of code for non-IPC searching, and we wouldn't have the flexibility to combine a text search with any arbitrary search key as the API requires.

I also generalized the RangeTypes.h header to PlatformExtTypes so it can be used to define filter types as well.

Differential Revision: https://phabricator.services.mozilla.com/D100730
2021-01-05 20:35:22 +00:00
Masayuki Nakano 44dced1d87 Bug 1683226 - part 13: Get rid of `nsIWidget::StartPluginFocused()` r=m_kato,ipc-reviewers,mccr8
Depends on D100386

Differential Revision: https://phabricator.services.mozilla.com/D100387
2020-12-24 02:46:46 +00:00
Bryce Seager van Dyk 5c6194a73d Bug 1671246 - Use a union to pass NodeId in GMP. r=jbauman,ipc-reviewers,nika
Passing a union here allows us to reuse code and trim some code which was
duplicated to handle the different NodeId formats. This also consolidates the
former `NodeId` and `NodeIdData` structures into a new structure (working name
`NodeIdParts`) which represents parts that will later be converted to a string
based NodeId.

Differential Revision: https://phabricator.services.mozilla.com/D93569
2020-12-16 16:15:01 +00:00
Simon Giesecke ae75be244a Bug 1677466 - Split Endpoint.h and ProtocolMessageUtils.h from ProtocolUtils.h. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D93568

Depends on D93567
2020-11-23 16:06:42 +00:00
Simon Giesecke 5b3084384e Bug 1660470 - Move void_t/null_t to a new IPCCore.h header. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D93546

Depends on D93544
2020-11-23 16:05:20 +00:00
Simon Giesecke 16b9f61991 Bug 1660470 - Avoid including ProtocolUtils.h from header files. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D93544

Depends on D93543
2020-11-23 16:05:07 +00:00
Simon Giesecke c902104cdb Bug 1660470 - Split ShmemMessageUtils.h from Shmem.h. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D93543

Depends on D93321
2020-11-23 16:05:02 +00:00
Simon Giesecke c077183836 Bug 1660470 - Avoid including IPCMessageUtils.h from header files. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D93235

Depends on D93234
2020-11-23 16:03:47 +00:00
Simon Giesecke 93dd261db8 Bug 1660470 - Include C++ header files only from cpp file. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D93233

Depends on D87865
2020-11-23 16:03:32 +00:00
Simon Giesecke 971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Jean-Yves Avenard 44ad5e249a Bug 1672072 - P9. Make EnsureRDDProcessAndCreateBridge an async API. r=mattwoodrow,bryce,mjf,padenot,ipc-reviewers,mccr8
We can now chaincreation of the decoder to the launch of the RDD process as needed and setting up the PRemoteDecoderManager

Differential Revision: https://phabricator.services.mozilla.com/D96365
2020-11-13 04:21:16 +00:00
Jean-Yves Avenard 6d2df84e41 Bug 1672072 - P8. Create decoder asynchronously. r=mattwoodrow,bryce,padenot,mjf,ipc-reviewers,mccr8
PDMFactory::CreateDecoder is changed to return a MozPromise that will contain the MediaDataDecoder once created.

This will allow to later make RemoteDecoderManager fully asynchronous and no longer require an IPC sync call to start the RDD process.

We also modify the WebrtcMediaDataDecoderCodec to never create a decoder on the main thread, which could cause deadlocks under some circumstances.

Differential Revision: https://phabricator.services.mozilla.com/D96364
2020-11-13 07:46:44 +00:00
Bogdan Tara 266d9ad46c Backed out 13 changesets (bug 1672072) for short.mp4.firstframe.html failures CLOSED TREE
Backed out changeset f093b7969e8b (bug 1672072)
Backed out changeset 28db8276ec2b (bug 1672072)
Backed out changeset ff8fe1b856b3 (bug 1672072)
Backed out changeset 091b9449c786 (bug 1672072)
Backed out changeset 89d9a12c0737 (bug 1672072)
Backed out changeset 9cb71fd4b43b (bug 1672072)
Backed out changeset 09adad7416e1 (bug 1672072)
Backed out changeset 9905650335ef (bug 1672072)
Backed out changeset 6f1d99e9c3a1 (bug 1672072)
Backed out changeset b59655b7a595 (bug 1672072)
Backed out changeset 1ef9d6d10508 (bug 1672072)
Backed out changeset fbf0b5117655 (bug 1672072)
Backed out changeset 65cd3b9de5c6 (bug 1672072)
2020-11-13 06:13:22 +02:00
Jean-Yves Avenard 8ffdd4eaef Bug 1672072 - P9. Make EnsureRDDProcessAndCreateBridge an async API. r=mattwoodrow,bryce,mjf,padenot,ipc-reviewers,mccr8
We can now chaincreation of the decoder to the launch of the RDD process as needed and setting up the PRemoteDecoderManager

Differential Revision: https://phabricator.services.mozilla.com/D96365
2020-11-12 22:53:49 +00:00
Jean-Yves Avenard 7a6315ba80 Bug 1672072 - P8. Create decoder asynchronously. r=mattwoodrow,bryce,padenot,mjf,ipc-reviewers,mccr8
PDMFactory::CreateDecoder is changed to return a MozPromise that will contain the MediaDataDecoder once created.

This will allow to later make RemoteDecoderManager fully asynchronous and no longer require an IPC sync call to start the RDD process.

We also modify the WebrtcMediaDataDecoderCodec to never create a decoder on the main thread, which could cause deadlocks under some circumstances.

Differential Revision: https://phabricator.services.mozilla.com/D96364
2020-11-12 22:53:31 +00:00
Nika Layzell 630f9192f8 Bug 1676223 - Use ActorLifecycleProxy instead of WeakPtr for async returns, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D96454
2020-11-12 17:59:03 +00:00
Brindusan Cristian 030df1b5cf Backed out changeset 98b994baee88 (bug 1676223) for build bustages at PChromiumCDMChild.cpp. CLOSED TREE 2020-11-10 01:59:18 +02:00
Nika Layzell 2d9159f48c Bug 1676223 - Use ActorLifecycleProxy instead of WeakPtr for async returns, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D96454
2020-11-09 23:29:20 +00:00
Jean-Yves Avenard c938c7416c Bug 1674043 - P6. Remove sync PDecoderMananger::Supports API. r=mattwoodrow,bryce,mjf,ipc-reviewers,nika
In bug 1595994 we attempted to streamline the ability to determine which decoder was available regardless of the process they would be running in. This was subsequently done via the PDMFactory.

As there are several JS API that can query which codec are supported, it requires a synchronous mechanism.
This allowed to make a determination during the PlatformDecoderModule::Supports call, depending on which process it was going to be called frome.

Having a synchronous IPC call to the RemoteDecoderManagerParent has too many caveats to be workable.
So what we do instead is first determine at launch if the required external framework are available and pass this information to each content process.

When checking if a decoder is available, we make a best guess at determining if the PDM would support such codec, without actually loading such framework when running in the content process.

Supports can no longer make a decision based on the process currently running and as such PDM::CreateAudio/VideoDecoder using an optional system framework now need to further check the validity of the CreateDecoderParam argument.

Differential Revision: https://phabricator.services.mozilla.com/D95245
2020-11-04 02:22:33 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Andrew Osmond bc0f206cd6 Bug 1670939 - Make PImageBridge::WillClose async instead of sync. r=nical,ipc-reviewers,jld
Differential Revision: https://phabricator.services.mozilla.com/D93343
2020-10-23 18:29:15 +00:00
Dorel Luca 1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart 50762dacab Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Jean-Yves Avenard 6307ec0451 Bug 1595994 - P26. Simplify and rename RecvLaunchRDDProcess. r=mattwoodrow,nika,ipc-reviewers
And we remove unnecessary checks, BackgroundParent only run in the parent process and if e10s is on. Also RecvLauchRDDProcess will only ever be called if the rdd pref is on already.

By streamlining the call we also reduce the number of sync dispatch to 1.

Depends on D93317

Differential Revision: https://phabricator.services.mozilla.com/D93476
2020-10-20 23:32:57 +00:00
Jean-Yves Avenard d06384295b Bug 1595994 - P25. Have launch rdd be signalled over the PBackground channel. r=mattwoodrow,nika,ipc-reviewers
This remove the need for a sync dispatch to the main thread, that lead to deadlocks.

Depends on D93316

Differential Revision: https://phabricator.services.mozilla.com/D93317
2020-10-20 23:32:54 +00:00
Dan Glastonbury a70a2c09f1 Bug 1595994 - P7: Add Supports messages to PRemoteDecoderManager. r=kamidphish,nika,ipc-reviewers
Add a synchronous Supports message to the IPDL PRemoteDecoderManager protocol so
decoder modules can query for playback support in the actual process that will
attempt to do the decoding.

Depends on D54878

Differential Revision: https://phabricator.services.mozilla.com/D54879
2020-10-20 23:26:27 +00:00
Ricky Stewart 362abcf949 Bug 1670357 - Remove `make` targets for cleaning: `clean`, `realclean`, `clobber`, `distclean`, `clobber_all`, `everything` r=firefox-build-system-reviewers,mhentges
The `clobber` targets are superseded by `mach clobber`, so we don't need them for any reason. The `clean` target is meant to get you to a post-`configure` state, but it doesn't really work, and if it's necessary for you to be in that state for some reason you can just clobber and re-`configure`, so it doesn't seem worth it to get it working again. Instead, delete all of them. Also delete `everything` which is not useful when `clobber` doesn't exist.

Differential Revision: https://phabricator.services.mozilla.com/D93514
2020-10-15 20:37:18 +00:00
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
Eitan Isaacson 10d6dd02bc Bug 1661760 - Part 1: Unify all range from offset methods to one. r=morgan,nika
There are at least 8 different methods for getting a range from an offset:
1. left word
2. right word
3. line
4. left line
5. right line
6. sentence
7. paragraph
8. range with same style.

Having a single wrapper and IPDL method for all of those with an enum would remove
a lot of redundancies.

Differential Revision: https://phabricator.services.mozilla.com/D90936
2020-09-24 16:04:41 +00:00
Jean-Yves Avenard 6716cfb826 Bug 1664362. Use move semantics with IPC's MozPromise resolver. r=nika
We use C++14's generic lambdas and its auto&& type in the generated code, in combination with a typed local variable to ensure the argument type is enforced.

The object is moved as necessary, no copies will occur.

The code generated will now be:
  [this, self__, id__, seqno__](auto&& aParam) {
    if ((!(self__))) {
      NS_WARNING("Not resolving response because actor is dead.");
      return;
    }
    bool resolve__ = true;
    InitResultIPDL result = std::forward<decltype(aParam)>(aParam);
    IPC::Message* reply__ = PRemoteDecoder::Reply_Decode(id__);
    WriteIPDLParam(reply__, self__, resolve__);
    // Sentinel = 'resolve__'
    (reply__)->WriteSentinel(322044863);
    WriteIPDLParam(reply__, self__, std::move(result));
    // Sentinel = 'result'
    (reply__)->WriteSentinel(153223840);
    (reply__)->set_seqno(seqno__);
  }

For multiple arguments return, creation of Tuple via Tie is also moved, though currently Tie method doesn't support move semantics.

Differential Revision: https://phabricator.services.mozilla.com/D90090
2020-09-24 04:05:28 +00:00
Nika Layzell e0c3e2f9a8 Bug 1664553 - Default initialize outparameters in ipdl generated code, r=jld
Doing this helps lower the chances of accidentally trying to send an
uninitialized primitive value, like a raw pointer or integer, over IPC due to a
sync method or IPDLParamTraits::Read implementation failing to initialize the
outparameter.

Differential Revision: https://phabricator.services.mozilla.com/D89963
2020-09-11 19:49:20 +00:00
Mark Banner 3d9ea7d179 Bug 1375244 - Remove sync KeywordToURI and related IPC messages as they are no longer required. r=Gijs,mak,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D89486
2020-09-11 07:15:21 +00:00
Eitan Isaacson 1959904dc6 Bug 1661758 - Part 2: Introduce sync IPDL methods for getting leaf at offset. r=morgan,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D89064
2020-09-11 05:07:48 +00:00
Eitan Isaacson e3872eb448 Bug 1661758 - Part 1: Introduce sync IPDL methods for getting text range of child. r=morgan,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D89063
2020-09-11 05:07:46 +00:00
Brindusan Cristian c5f2ef7f15 Backed out 5 changesets (bug 1661758) for build bustages on GeckoTextMarker.h.
Backed out changeset 9b086da1f8f1 (bug 1661758)
Backed out changeset 8def1d51ae3d (bug 1661758)
Backed out changeset 17532cdc54ae (bug 1661758)
Backed out changeset be0ea9159b11 (bug 1661758)
Backed out changeset 2ca136e7d279 (bug 1661758)
2020-09-11 02:16:49 +03:00
Eitan Isaacson f613d9f64e Bug 1661758 - Part 2: Introduce sync IPDL methods for getting leaf at offset. r=morgan,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D89064
2020-09-10 21:52:20 +00:00
Eitan Isaacson d0576060fa Bug 1661758 - Part 1: Introduce sync IPDL methods for getting text range of child. r=morgan,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D89063
2020-09-10 21:52:13 +00:00
Eitan Isaacson 1962242b94 Bug 1660364 - Introduce IPDL getters for text range length, and absolute offsets. r=morgan,mccr8
We need a sync IPC call for this because otherwise the number of smaller sync messages we would need to call would be variable.

Differential Revision: https://phabricator.services.mozilla.com/D88076
2020-08-27 20:06:42 +00:00
Eitan Isaacson 1b3266b806 Bug 1660109 - Add BoundsForRange sync ipc call. r=Jamie,nika
Differential Revision: https://phabricator.services.mozilla.com/D87669
2020-08-20 22:11:41 +00:00
Eitan Isaacson 58ae94661e Bug 1657765 - Add IPDL interface for platform-specific mac API. r=morgan,Jamie,nika
Differential Revision: https://phabricator.services.mozilla.com/D86606
2020-08-14 19:33:00 +00:00
Andrew McCreight 85e0be181d Bug 1657504, part 2 - Fix deprecation warning in ipdl.py. r=nika
This is unrelated to the main issue in the bug, but I noticed
a deprecation warning in the log spew.

Differential Revision: https://phabricator.services.mozilla.com/D86229
2020-08-06 17:36:45 +00:00
Andrew McCreight bd21b11225 Bug 1657504, part 1 - Don't allow a protocol to be defined in two different files. r=nika
This changes the duplicate checking/caching implemented by |parsed| to be
based on the name of the protocol etc. we're loading, not the file name.
This lets us detect when a protocol is being defined in two different
files.

This can happen if one file is included earlier in the resolve path than
a file explicitly specified on the command line. Any includes will resolve
to the former, and then we'll attempt to parse the latter. Before this
patch, this would result in weird errors, because there would be multiple
protocol types with the same name.

Differential Revision: https://phabricator.services.mozilla.com/D86113
2020-08-06 17:42:13 +00:00
Kartikaya Gupta 39167fa7cd Bug 1251612 - Support the GetFrameUniformity API in content processes. r=botond,froydnj
This moves the IPC mechanism from PCompositorBridge to PLayerTransaction/
PWebRenderBridge, so that it can be used by content processes like the other
test APIs. It still only produces actual data for the layers backend; for
WR it will just return empty datasets.

Differential Revision: https://phabricator.services.mozilla.com/D86016
2020-08-05 21:42:06 +00:00
Ricky Stewart 11e536dbb2 Bug 1655993 - Remove Punion_Comparable::test from sync-messages.ini r=mccr8
This shouldn't have been added in the first place.

Differential Revision: https://phabricator.services.mozilla.com/D85292
2020-07-29 15:02:11 +00:00
Ricky Stewart e8ac99b085 Bug 1655371 - Fix ipdl test breaking Windows ccov builds r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D85067
2020-07-27 22:21:48 +00:00
Ricky Stewart 3419d4de1d Bug 1654589 - Move `libpref` Python unit test to `mozbuild` suite r=froydnj,mccr8
It could go into its own test suite, but it 1) depends on `mozbuild` code, so the `mozbuild` suite as well as this new suite would be running on any push that touches `mozbuild` code anyway, and 2) this is code that runs during the build, so it's not out of place.

Differential Revision: https://phabricator.services.mozilla.com/D84547
2020-07-23 22:00:46 +00:00
Simon Giesecke b0cf19fc3b Bug 1654469 - Fix test protocol names. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D84656
2020-07-23 14:07:02 +00:00
Emilio Cobos Álvarez ff61891772 Bug 1653011 - Simplify and make WeakPtr<Derived> usable and compact. r=froydnj,sg,geckoview-reviewers,jgilbert,kvark,snorp
Having two classes in the inheritance chain inherit from SupportsWeakPtr
now won't compile, but you can use WeakPtr<Derived> when any base class
inherits from SupportsWeakPtr.

Differential Revision: https://phabricator.services.mozilla.com/D83674
2020-07-23 14:51:46 +00:00
Simon Giesecke 548e423dad Bug 1654469 - Stop generating operator==/operator != for IPDL structs/unions by default. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D84485
2020-07-22 17:24:33 +00:00
Simon Giesecke d824054ce7 Bug 1654181 - Add uncomparable keyword for structs and unions. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D84298
2020-07-22 09:11:52 +00:00
Jeff Gilbert 35f892e782 Bug 1607940 - Stand up webgl.out-of-process:true path. r=handyman,nika,froydnj
* Use clearer pref names.
* Default (and only support) IPDL dispatching.
* Make DispatchCommands async-only.
* Sync ipdl command per sync webgl entrypoint.
  * Eat the boilerplate cost, since there's not too many.
* Run SerializedSize off same path as Serialize.
* All shmem uploads go through normal DispatchCommands.
* Defer pruning of dead code for now so we can iterate quickly.
* Use Read/Write(begin,end) instead of (begin,size).
  * This would have prevented a bug where we read/wrote N*sizeof(T)*sizeof(T).

Differential Revision: https://phabricator.services.mozilla.com/D81495
2020-07-21 22:56:52 +00:00
Cosmin Sabou 3576443b99 Backed out changeset 3229e30f7721 (bug 1649573) as requested by froydnj. CLOSED TREE 2020-07-13 17:18:41 +03:00
Tom Prince 204d796929 Bug 1651731: [lint] Python and shell files without `#!` should not be executable; r=linter-reviewers,perftest-reviewers,geckoview-reviewers,agi,sylvestre,sparky
Differential Revision: https://phabricator.services.mozilla.com/D82954
2020-07-09 20:29:18 +00:00
Ricky Stewart 8fe43501ec Bug 1648129 - Use faster hash for ipdl generator r=froydnj
`adler32` is about 3x as fast overall as `md5` on my machine.

Differential Revision: https://phabricator.services.mozilla.com/D81892
2020-07-01 18:31:01 +00:00
Nathan Froyd 3f6228a465 Bug 1649573 - run IPDL ipdl tests in parallel; r=firefox-build-system-reviewers,rstewart
The speedup here is not great because the Python/IPDL parser overhead is
very high, but this cuts ~10 seconds off a `-j12` build (~15s -> 4s) on
my machine.

Differential Revision: https://phabricator.services.mozilla.com/D81751
2020-07-01 15:49:32 +00:00
Junior Hsu 780b817a08 Bug 1633935 - P4 Remove On[Start|Stop]Request/OnTransportAndData in PHttpChannel, r=mayhemer,nika,necko-reviewers
We move OnStartRequest from PHttpChannel to PHttpBackgroundChannel, thus adjusting
message-metadata.ini

Depends on D76970

Differential Revision: https://phabricator.services.mozilla.com/D76971
2020-06-30 00:33:01 +00:00
Butkovits Atila 6d4dc7f680 Backed out 13 changesets (bug 1633935) as requested by Junior. CLOSED TREE
Backed out changeset 398fc19f5f6a (bug 1633935)
Backed out changeset 25822279ba5b (bug 1633935)
Backed out changeset e87b11c172b9 (bug 1633935)
Backed out changeset 709f8d50aa33 (bug 1633935)
Backed out changeset 3b268ac50692 (bug 1633935)
Backed out changeset ac9c5c1e5162 (bug 1633935)
Backed out changeset 292a5b34e9f7 (bug 1633935)
Backed out changeset 6251c22cc8f1 (bug 1633935)
Backed out changeset 73b51a139c91 (bug 1633935)
Backed out changeset 2a9873ad6856 (bug 1633935)
Backed out changeset be03e0e7b645 (bug 1633935)
Backed out changeset df5abc2c0734 (bug 1633935)
Backed out changeset 19dcca77a1cf (bug 1633935)
2020-06-25 20:25:36 +03:00
Junior Hsu 347250b5c8 Bug 1633935 - P4 Remove On[Start|Stop]Request/OnTransportAndData in PHttpChannel, r=mayhemer,nika,necko-reviewers
We move OnStartRequest from PHttpChannel to PHttpBackgroundChannel, thus adjusting
message-metadata.ini

Depends on D76970

Differential Revision: https://phabricator.services.mozilla.com/D76971
2020-06-23 16:56:53 +00:00
Andrew McCreight afe901a409 Bug 1641090, part 9 - Change IDMap into an alias for nsDataHashtable. r=nika
Now that IDMap is just a thin wrapper around an nsDataHashtable,
it is easy to convert it into an alias.

Differential Revision: https://phabricator.services.mozilla.com/D77169
2020-05-28 15:55:16 +00:00
Csoregi Natalia b4ad19225c Backed out 10 changesets (bug 1641090) for asan bustage on ProtocolFuzzer.h. CLOSED TREE
Backed out changeset 9c5e95745919 (bug 1641090)
Backed out changeset df8809d1542b (bug 1641090)
Backed out changeset 92cde6ee6ade (bug 1641090)
Backed out changeset 23d5d734d0bd (bug 1641090)
Backed out changeset 6af841322f4d (bug 1641090)
Backed out changeset 2ce016edb6fc (bug 1641090)
Backed out changeset a513d47956f9 (bug 1641090)
Backed out changeset 48bc9ce7afeb (bug 1641090)
Backed out changeset 173a1c2e3e55 (bug 1641090)
Backed out changeset c915cb660411 (bug 1641090)
2020-05-28 08:51:13 +03:00
Andrew McCreight c93adfb04f Bug 1641090, part 9 - Change IDMap into an alias for nsDataHashtable. r=nika
Now that IDMap is just a thin wrapper around an nsDataHashtable,
it is easy to convert it into an alias.

Differential Revision: https://phabricator.services.mozilla.com/D77169
2020-05-28 00:54:21 +00:00
Gijs Kruitbosch 38b061ef45 Bug 1638373 - remove js/ipc now that CPOWs are dead, r=mccr8
Depends on D76597

Differential Revision: https://phabricator.services.mozilla.com/D76598
2020-05-24 18:47:04 +00:00
Emilio Cobos Álvarez 7b19f0d6d4 Bug 1609024 - Remove cache mechanism which is not very useful. r=hiro,snorp,mccr8
I don't think all this complexity is worth it for having a
marginally-more-realistic testing story. Using the pref just works and we should
do that, I think.

Differential Revision: https://phabricator.services.mozilla.com/D59980
2020-05-21 17:02:06 +00:00
Peter Van der Beken 1990918ebe Bug 1570255 - Remove sync session history implementation. r=smaug,nika
Differential Revision: https://phabricator.services.mozilla.com/D65326
2020-05-20 09:09:06 +00:00
Nika Layzell 533fa5bd14 Bug 1635689 - Part 2: Stop generating 'get' method on IPDL unions, r=jld
This method always copies, and is redundant with the other getter methods on
IPDL unions. As there is only one caller, it can be removed to simplify the
code, and remove a source of complexity.

Differential Revision: https://phabricator.services.mozilla.com/D75349
2020-05-18 19:39:54 +00:00
Csoregi Natalia 517e830522 Backed out 4 changesets (bug 1629866, bug 1570255) for assertion failures on DocumentChannelChild.cpp. CLOSED TREE
Backed out changeset 214e4a11be0d (bug 1570255)
Backed out changeset db066dda1bb8 (bug 1570255)
Backed out changeset d9f75d88613e (bug 1570255)
Backed out changeset fe2d4790b73a (bug 1629866)
2020-05-13 18:30:42 +03:00
Peter Van der Beken e2a88c491c Bug 1570255 - Remove sync session history implementation. r=smaug,nika
Differential Revision: https://phabricator.services.mozilla.com/D65326
2020-05-13 14:24:55 +00:00
Jean-Yves Avenard 4e734f2a51 Bug 1592488 - P12. Run MozPromise's IPDL callbacks via direct tasks when the promise is resolved. r=nika
Fix intermittent issues due to races.

We now run the MozPromise generated by the IPDL bindings to run their callbacks via a direct task dispatch.
This avoids a full trip to the back of the event queue for each additional asynchronous step when using MozPromise.
A consequence to this change is that each IPDL actor's thread must have an AbstractThread allocated if IPDL MozPromises are used.

It prevents unexpected racy behaviours when combining MozPromise with the other Resolve/Reject IPDL async declaration which was have lead to processing the events out of order.

Differential Revision: https://phabricator.services.mozilla.com/D71593
2020-05-12 10:45:20 +00:00
Ricky Stewart d7c0c9fd6b Bug 1635755 - Part 2: Use deterministic hashing over types in `ipdl` file generation r=nika
The hashes of certain strings is used indirectly in generating IDL C++ files. Before, we were using the `hash()` function to generate these hashes, which in Python 3 is non-deterministic over subsequent `python3` processes, causing bugs like bug 1635755. Instead, use a specific, deterministic hash to avoid spurious diff failures.

The `md5` hash function isn't completely cryptographically secure but the security of the hashes isn't important for us in this case since we're just using them as a per-string identifier. We could use a more robust hash function but there may be performance implications from doing so.

Differential Revision: https://phabricator.services.mozilla.com/D74446
2020-05-08 20:31:46 +00:00
Ricky Stewart 933b3522b8 Bug 1633156 - Don't emit cached table files from ply r=glandium
`ply`, [by design](https://github.com/dabeaz/ply/issues/79), does not produce reproducible table files; hence bug 1633156. (Note that this was *always* true, but only became a problem once we switched to Python 3, which has more unpredictable dict iteration order than Python 2.7, at least prior to [3.7](https://docs.python.org/3/whatsnew/3.7.html#summary-release-highlights).)

In any other circumstance I would consider submitting a patch to `ply` to fix this, but as of the [in-progress version 4.0 of the library](https://github.com/dabeaz/ply/blob/master/CHANGES), it doesn't even emit this cached data any more, and indeed the [latest version of the code](1fac9fed64/ply) doesn't even call `open()` at all except to do logging or to read the text data to be parsed from `stdin`. So if we were going to pin our future on `ply` and upgrade to later versions of the library in the future, we would have to live in a world where `ply` doesn't generate cached table files for us anyway.

Emitting the cached table files so later build steps can consume them is an "optimization", but it's not clear exactly how much actual value that optimization provides overall. Quoth the `CHANGES` file from that repository:

```
PLY no longer writes cached table files.  Honestly, the use of
the cached files made more sense when I was developing PLY on
my 200Mhz PC in 2001. It's not as much as an issue now. For small
to medium sized grammars, PLY should be almost instantaneous.
```

In practice, I have found this to be true; namely, `./mach build pre-export export` takes just about as long on my machine after this patch as it did before, and in a try push I performed, there's no noticeable performance regression from applying this patch. In local testing I also found that generating the LALR tables in calls to `yacc()` takes about 0.01s on my machine generally, and we generate these tables a couple dozen times total over the course of the `export` tier now. This isn't *nothing*, but in my opinion it's also not nearly long enough where it would be a concern given how long `export` already takes.

That `CHANGES` file also stresses that if caching this data is important, we have the option of doing so via `pickle`. If and when we decide that re-enabling this optimization is valuable for us, we should take control of this process and perform the generation in such a way that we can guarantee reproducibility.

Differential Revision: https://phabricator.services.mozilla.com/D73484
2020-05-07 00:39:28 +00:00
Simon Giesecke 61ad805d68 Bug 1626570 - Use CopyableTArray in ipdlc as member type for now. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D73685
2020-05-07 08:11:08 +00:00
Ricky Stewart 3749c34fb4 Bug 1632916 - Run JS/web-platform/ipdl build machinery in Python 3 r=jgraham,nika,glandium
Differential Revision: https://phabricator.services.mozilla.com/D72478
2020-05-05 20:32:12 +00:00
Bogdan Tara f137fa0613 Backed out 6 changesets (bug 1632916, bug 1599658, bug 1633037, bug 1633039, bug 1633016, bug 1632920) for SA bustages CLOSED TREE
Backed out changeset 332ce0963b4e (bug 1633039)
Backed out changeset a9904cbc40d9 (bug 1633037)
Backed out changeset d06b0ec349f8 (bug 1599658)
Backed out changeset 8fd300cad80f (bug 1633016)
Backed out changeset f8820941c703 (bug 1632916)
Backed out changeset ac9c2c8746ed (bug 1632920)
2020-05-02 01:49:29 +03:00
Ricky Stewart d990224458 Bug 1632916 - Run JS/web-platform/ipdl build machinery in Python 3 r=jgraham,nika,glandium
Differential Revision: https://phabricator.services.mozilla.com/D72478
2020-05-01 16:31:21 +00:00
David Parks cbf4e1a5cc Bug 1621762: Part 7 - Add IpdlQueue actor traits to WebGLParent/WebGLChild r=jgilbert,jld
Adds IpdlQueue capability to PWebGL actors.  The WebGLChild, used in content processes, implements SyncProducerActor and AsyncConsumerActor because it sends (sync and async) messages and receives responses to them that it reads as async messages.  The WebGLParent, used in the compositor process, is a SyncConsumerActor and AsyncProducerActor for dual reasons.

Differential Revision: https://phabricator.services.mozilla.com/D68264
2020-04-30 22:24:44 +00:00
David Parks b18b3bfd97 Bug 1621762: Part 5 - Change PWebGL alloc+constructor to Initialize message r=jgilbert,jld
We need to separate WebGL actor construction and initialization since IpdlQueue initialization needs the actor to already exist.

Differential Revision: https://phabricator.services.mozilla.com/D68262
2020-04-30 22:23:48 +00:00
Daniel Varga 452acadb3b Backed out 7 changesets (bug 1621762) for causing build bustages at builds/worker/workspace/obj-build/dist/include/mozilla/dom/ProducerConsumerQueue.h
CLOSED TREE

Backed out changeset 03903e8f368e (bug 1621762)
Backed out changeset 21ef72486643 (bug 1621762)
Backed out changeset 70d103786c83 (bug 1621762)
Backed out changeset a3e1332998c3 (bug 1621762)
Backed out changeset 010f653b87d2 (bug 1621762)
Backed out changeset 0496adcb4582 (bug 1621762)
Backed out changeset 8d85420fd2e6 (bug 1621762)
2020-04-30 06:06:33 +03:00
David Parks 053f3b98ca Bug 1621762: Part 7 - Add IpdlQueue actor traits to WebGLParent/WebGLChild r=jgilbert,jld
Adds IpdlQueue capability to PWebGL actors.  The WebGLChild, used in content processes, implements SyncProducerActor and AsyncConsumerActor because it sends (sync and async) messages and receives responses to them that it reads as async messages.  The WebGLParent, used in the compositor process, is a SyncConsumerActor and AsyncProducerActor for dual reasons.

Differential Revision: https://phabricator.services.mozilla.com/D68264
2020-04-30 01:56:55 +00:00
David Parks c917376c04 Bug 1621762: Part 5 - Change PWebGL alloc+constructor to Initialize message r=jgilbert,jld
We need to separate WebGL actor construction and initialization since IpdlQueue initialization needs the actor to already exist.

Differential Revision: https://phabricator.services.mozilla.com/D68262
2020-04-30 01:30:08 +00:00
Kershaw Chang 4db371a46e Bug 1512478 - Use sync IPC to get client auth data from parent process r=keeler,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D36911
2020-04-28 20:12:43 +00:00
Makoto Kato f052a12a9d Bug 1626389 - Part 2. Remove unnecessary GetShowPasswordSetting sync IPC. r=mccr8
GeckoView no longer uses this sync IPC, so we should remove this.

Differential Revision: https://phabricator.services.mozilla.com/D71708
2020-04-21 17:31:00 +00:00
Gijs Kruitbosch c58b8f6ff2 Bug 1631358 - remove CPOW support in the message manager, r=mccr8
This commit:

- removes sendRpcMessage, which was unused;
- removes the CPOW argument to sendAsyncMessage, broadcastAsyncMessage, and
  sendSyncMessage;
- removes the aIsSync argument used internally to distinguish sendRpcMessage
  and sendSyncMessage;
- removes CPOW tests;
- updates the few remaining callsites that use more than 2 arguments in
  sendAsyncMessage for the removal of the cpows argument.

Differential Revision: https://phabricator.services.mozilla.com/D71514
2020-04-21 14:07:57 +00:00
Chris Peterson 40840febd0 Bug 1629315 - Replace MOZ_MUST_USE with [[nodiscard]] in ipc. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D70628
2020-04-16 22:14:21 +00:00
Marco Bonardo fb0662edda Bug 1628906 - First search in a tab from location bar could trigger an "Invalid URL" error page. r=Gijs,nika,mattwoodrow
Before 1496578, URIFixup::keywordToURI used to do a synchronous IPC call to be
able to access search engines from the content process. Consumers of URIFixup
didn't care. Bug 1496578 moved the IPC messaging to the callers, in particular
nsDocShell, but assumed nsDocShellLoadState wasn't loading from content.
It looks like in some cases it does, so this adds another sync IPC call for
GetFixupURIInfo.
The total numer of sync IPCs should not change from before Bug 1496578, URIFIxup
was just doing it internally, while now it happens at the call point.
Note the long term plan would be for these docshell objects callers to just
handle URIs, while the UI code should do fixup.
Bug 1375244 tracks the removal of these sync IPC messages.

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

--HG--
extra : moz-landing-system : lando
2020-04-15 22:39:38 +00:00
Chris Martin 64e1fb7a45 Bug 1540776 - Have parent send color profile to child during launch r=aosmond,jld,jfkthame,florian
For Win32k lockdown, we need to remove the content processes' ability to
call GetICMProfileW(). Since it needs this to retrieve the output color
profile, a new synchronous call is added that allows it to request the
parent process to read this file on its behalf.

The contents of the file are now being cached as well, as this should help
ease some of the increased parent process I/O caused by the children not
being able to do this in their process anymore.

For performance reasons, during launch this information is passed directly
to the child through the SetXPCOMProcessAttributes call

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

--HG--
extra : moz-landing-system : lando
2020-04-02 15:42:15 +00:00
James Teh c48bee7775 Bug 1598299 part 2: Remove ProxyAccessible::AccessibleAtPoint. r=yzen,nika
This wasn't useful cross-platform.
ATK was the only consumer of this and it now uses ProxyAccessible::ChildAtPoint.
This also means the related aNeedsScreenCoords functionality in PDocAccessible::AccessibleAtPoint is no longer needed and has thus been removed.
Finally, this renames PDocAccessible::AccessibleAtPoint to PDocAccessible::ChildAtPoint for consistency with Accessible::ChildAtPoint now that the functionality is mirrored.

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

--HG--
extra : moz-landing-system : lando
2020-03-29 23:08:44 +00:00
Razvan Maries dd48ca6c20 Backed out changeset 8b091426bc10 (bug 1540776) for build bustages. CLOSED TREE 2020-03-26 16:25:45 +02:00
Chris Martin 65292a10f3 Bug 1540776 - Have parent send color profile to child during launch r=aosmond,jld,jfkthame
For Win32k lockdown, we need to remove the content processes' ability to
call GetICMProfileW(). Since it needs this to retrieve the output color
profile, a new synchronous call is added that allows it to request the
parent process to read this file on its behalf.

The contents of the file are now being cached as well, as this should help
ease some of the increased parent process I/O caused by the children not
being able to do this in their process anymore.

For performance reasons, during launch this information is passed directly
to the child through the SetXPCOMProcessAttributes call

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

--HG--
extra : moz-landing-system : lando
2020-03-26 13:44:56 +00:00
Sylvestre Ledru 29c3dc6a16 Bug 1622328 - ipc/ipdl/ipdl/cxx/code.py: Add the license r=nika
Depends on D66804

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

--HG--
extra : moz-landing-system : lando
2020-03-13 18:35:42 +00:00
Mihai Alexandru Michis 3dc26ddcf3 Backed out changeset 18c3c5e79f1c (bug 1540776) for causing xpcshell failures in test_BHRObserver.js
CLOSED TREE
2020-03-17 00:41:38 +02:00
Dana Keeler 52ebda3e05 bug 1024871 - stop importing certificates when navigated to r=kjacobs,jld
Before this patch, PSM would register content type handlers to handle certain
certificate types. This was an easy way to install a client certificate after
generating a key with <keygen>, but keygen has been removed. This was also an
easy way to install root certificates, but that's actually a considerable
security risk. We kept this functionality for so long because it was the only
way to add a 3rd-party root certificate to Fennec's certificate store. Now that
Fennec is EOL, we can remove it. (Fenix will need a way to trust 3rd party root
certificates, but the path forward there is to implement the enterprise roots
feature for Android.)

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

--HG--
extra : moz-landing-system : lando
2020-03-16 18:50:35 +00:00
Chris Martin a228b3b0d4 Bug 1540776 - Add sync IPC message for content to request color profile r=aosmond,jld
For Win32k lockdown, we need to remove the content processes' ability to
call GetICMProfileW(). Since it needs this to retrieve the output color
profile, a new synchronous call is added that allows it to request the
parent process to read this file on its behalf.

The contents of the file are now being cached as well, as this should help
ease some of the increased parent process I/O caused by the children not
being able to do this in their process anymore.

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

--HG--
extra : moz-landing-system : lando
2020-03-16 16:31:51 +00:00
Eitan Isaacson 9e27b2cdde Bug 1618712 - Use GroupPosition for heading levels in mac. r=morgan,nika
We were using the wrong Accessible method to get the level. We also need to swap IPDL methods to use the right one.

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

--HG--
extra : moz-landing-system : lando
2020-03-10 18:32:38 +00:00
Anny Gakhokidze 5986a2de44 Bug 1546759 - Change nsSHistory::WalkHistoryEntries to walk browsing context tree instead of doc shell tree, r=peterv,nika
WalkHistoryEntries function gets called by nsSHistory::CloneAndReplaceChild
and nsSHistory::SetChildHistoryEntry recursively, so those have to be moved
into the parent process. This eliminates many sync IPC calls.

To facilitate transition to a new session history design,
we are mirroring mOSHE and mLSHE SH entries from docshell to browsing context.
Whenever we update those entries in docshell, we will also update those in BC,
and vice versa.

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

--HG--
extra : moz-landing-system : lando
2020-03-10 14:28:22 +00:00
Jonathan Kew 3df4ab8b5e Bug 1620111 - Eliminate sync-IPC message ReadFontList, instead use SetXPCOMProcessAttributes to pass font list to the child process on Android. r=lsalzman,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D65742

--HG--
extra : moz-landing-system : lando
2020-03-09 12:27:45 +00:00
Andrew McCreight 4babb2b5ab Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 17:39:15 +00:00
Ciure Andrei 00dd87f6f4 Backed out changeset d407a28318e6 (bug 1609815) for causing windows ming bustages CLOSED TREE
--HG--
extra : histedit_source : b2c748e31e0f6ba8fcf9960a336e0bbd361b07e6
2020-02-27 07:05:19 +02:00
Andrew McCreight b197e1f783 Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 04:43:48 +00:00
Bob Owen 481aab9295 Bug 1598585 Part 1: Make CanvasTranslator the PCanvas parent actor. r=mattwoodrow
We want to be able to send IPC messages from the translation in the parent. So
the simplest thing it move the top level actor parts of CanvasParent into
CanvasTranslator.
This patch also moves the canvas thread management parts out into a new
CanvasThreadHolder class and hopefully makes the lifecycle management of these
much more robust. This includes the use of a TaskQueue per CanvasTranslator to
manage serial processing on the canvas workers, instead of a boolean.

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

--HG--
rename : gfx/layers/ipc/CanvasParent.cpp => gfx/layers/ipc/CanvasThread.cpp
rename : gfx/layers/ipc/CanvasParent.h => gfx/layers/ipc/CanvasThread.h
rename : gfx/layers/CanvasTranslator.cpp => gfx/layers/ipc/CanvasTranslator.cpp
rename : gfx/layers/CanvasTranslator.h => gfx/layers/ipc/CanvasTranslator.h
extra : moz-landing-system : lando
2020-02-24 11:15:41 +00:00
Tom Ritter c660f80b38 Bug 1610017 - Actually taint data when tainted is specified for IPC methods r=nika
Differential Revision: https://phabricator.services.mozilla.com/D60532

--HG--
extra : moz-landing-system : lando
2020-02-21 17:24:17 +00:00
Simon Giesecke 9350e6b741 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-20 11:40:14 +00:00
Dorel Luca d5f9df8ee1 Backed out 2 changesets (bug 1613985) for Build bustage on Windows2012. CLOSED TREE
Backed out changeset fd177b40b561 (bug 1613985)
Backed out changeset fb6d62b7f28d (bug 1613985)
2020-02-19 22:22:41 +02:00
Simon Giesecke 59b23375c0 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

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

--HG--
extra : moz-landing-system : lando
2020-02-19 18:05:38 +00:00
Jed Davis ee171b6406 Bug 1615155 - Don't generate default `Recv__delete__` if there are args. r=nika
The default method implementations cause problems when trying to
override them with different types in a direct call class.

For the `Recv__delete__` case there's a simple solution: omit it if
there are any arguments, because it doesn't make much sense to specify
arguments and then completely ignore them, and the no-arg case isn't a
problem for overriding.

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

--HG--
extra : moz-landing-system : lando
2020-02-18 20:46:21 +00:00
Simon Giesecke ce6596707f Bug 1613854 - De-virtualize IPDL protocol methods in ActorsChild. r=dom-workers-and-storage-reviewers,janv,jld
Differential Revision: https://phabricator.services.mozilla.com/D61991

--HG--
extra : moz-landing-system : lando
2020-02-17 14:49:27 +00:00
Mihai Alexandru Michis 13d11ce14a Backed out changeset 98a47607bb61 (bug 1613854) for causing sm failures in PBackgroundIDBCursorChild.cpp
CLOSED TREE
2020-02-17 16:03:20 +02:00
Simon Giesecke 7e65d8de67 Bug 1613854 - De-virtualize IPDL protocol methods in ActorsChild. r=dom-workers-and-storage-reviewers,janv,jld
Differential Revision: https://phabricator.services.mozilla.com/D61991

--HG--
extra : moz-landing-system : lando
2020-02-14 00:58:53 +00:00
Chris Martin c7f4247786 Bug 1604412 - Enable remote backbuffer GDI compositing r=jmathies,jld
This change adds new "remote backbuffer" logic when compositing without
HW acceleration on Windows (IE compositing through Cairo using the Win32
GDI)

A new piece of shared memory is created between the GPU process and the UI
process, and the GPU process sends requests to the UI process to first "borrow"
a properly-sized buffer to draw into, and then sends a "present" request to
tell the UI process to actually blit the buffer to the Win32 window.

This is needed for the GPU sandbox to work, since Windows rightly doesn't
allow the untrusted GPU process to directly draw the contents of a window
owned by the trusted UI process.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 14:32:37 +00:00
Csoregi Natalia 9c0442f988 Backed out changeset 71e63781b38c (bug 1604412) for failures on /browser_startup_syncIPC.js -PCompositorWidget. CLOSED TREE 2020-02-13 12:13:06 +02:00
Chris Martin 90a7dd97e9 Bug 1604412 - Enable remote backbuffer GDI compositing r=jmathies,jld
This change adds new "remote backbuffer" logic when compositing without
HW acceleration on Windows (IE compositing through Cairo using the Win32
GDI)

A new piece of shared memory is created between the GPU process and the UI
process, and the GPU process sends requests to the UI process to first "borrow"
a properly-sized buffer to draw into, and then sends a "present" request to
tell the UI process to actually blit the buffer to the Win32 window.

This is needed for the GPU sandbox to work, since Windows rightly doesn't
allow the untrusted GPU process to directly draw the contents of a window
owned by the trusted UI process.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 03:59:13 +00:00
Nika Layzell c56289e054 Bug 1557739 - Be more consistent with IPC Transport APIs, r=jld
Differential Revision: https://phabricator.services.mozilla.com/D60285

--HG--
extra : moz-landing-system : lando
2020-02-06 22:41:56 +00:00
Simon Giesecke b7632583c7 Bug 1539498 - Make SerializedStructuredCloneBuffer move-only. r=asuth,jld,baku
Replace all implicit copies by moves, or explicit clone operations.

Fixed a bug in /home/simon/work/ipdl/ipc/ipdl/ipdl/lower.py _cxxConstRefType,
which caused the const accessor to miss const on its return type for a moveonly
struct member.

Removed unused using directives for SerializedStructuredCloneBuffer in ipdl files.

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

--HG--
extra : moz-landing-system : lando
2020-02-01 15:16:43 +00:00
Oana Pop Rus 3e5b57f2d3 Backed out 3 changesets (bug 1539498, bug 1545196) for build bustages failures in DOMTypes.h on a CLOSED TREE
Backed out changeset 0f906da3634a (bug 1539498)
Backed out changeset ccc2f1aad57a (bug 1545196)
Backed out changeset 15e8d9547568 (bug 1545196)
2020-02-01 17:06:28 +02:00
Simon Giesecke 3c2df87890 Bug 1539498 - Make SerializedStructuredCloneBuffer move-only. r=asuth,jld,baku
Replace all implicit copies by moves, or explicit clone operations.

Fixed a bug in /home/simon/work/ipdl/ipc/ipdl/ipdl/lower.py _cxxConstRefType,
which caused the const accessor to miss const on its return type for a moveonly
struct member.

Removed unused using directives for SerializedStructuredCloneBuffer in ipdl files.

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

--HG--
extra : moz-landing-system : lando
2020-02-01 14:31:56 +00:00
Tom Ritter 1e3011753d Bug 1610007 - Support a tainted parameter in ipdl files r=nika
Differential Revision: https://phabricator.services.mozilla.com/D60306

--HG--
extra : moz-landing-system : lando
2020-01-22 21:16:15 +00:00
Nathan Froyd 6bd7bafb72 Bug 1608847 - fix outdated comment in ipdl unit tests; r=mccr8
Apparently nobody ever checked the comment vs. the code.

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

--HG--
extra : moz-landing-system : lando
2020-01-13 17:30:18 +00:00
Nika Layzell 287fb21379 Bug 1607919 - Part 3: Require descriptions for sync message entries, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D59213

--HG--
extra : moz-landing-system : lando
2020-01-09 16:52:27 +00:00
Nika Layzell ef4d0da8fe Bug 1607919 - Part 2: Add generic descriptions for remaining sync IPC, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D59212

--HG--
extra : moz-landing-system : lando
2020-01-09 16:52:25 +00:00
Nika Layzell f186b69e82 Bug 1607919 - Part 1: Add specific descriptions to some sync IPC, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D59211

--HG--
extra : moz-landing-system : lando
2020-01-09 16:52:18 +00:00
David Parks 198fa063c2 Bug 1477756 - Initial out-of-process WebGL implementation. r=mccr8,handyman
Splits WebGLContext into ClientWebGLContext and HostWebGLContext.  The Client enables the JS-control of a WebGL context in a content procecss while the Host executes the WebGL graphics operations (via a WebGLContext that maintains much of the existing code) in the compositor process.  At this point, the cross-process behavior is disabled -- this series of patches is an incremental step toward that final goal.

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

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:14 +00:00
Olli Pettay 667df300dc Bug 1600605, add support for mediumhigh priority ipdl messages, r=jld
Differential Revision: https://phabricator.services.mozilla.com/D57013

--HG--
extra : moz-landing-system : lando
2019-12-13 22:38:15 +00:00
Gabriele Svelto 69790bc62e Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:16:44 +00:00
David Parks 4dc38ba6aa Bug 1577336: Part 7 - Move DXGI async plugin operations to compositor process r=jmathies,mattwoodrow,sotaro,mccr8
Previously, we created TextureD3D11 objects in the content process to back surfaces created for the plugin process.  Those objects were then composited by the async ImageBridge.  In order to remove Win32 kernel operations from content (including DX/GDI operations), this patch bounces the requests from content to the compositor process.  The compositor process maintains 2 textures to be used for all plugin composition -- one for the plugin process and one for display.  The plugin process can freely write to its texture and request composition when it is done, which triggers a blit to the display texture.  This mirrors pre-existing behavior.

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

--HG--
extra : moz-landing-system : lando
2019-11-20 21:49:35 +00:00
David Parks 446170c593 Bug 1577336: Part 3 - Fetch Windows plugin async graphics capabilities from gpu or main process r=jmathies,mattwoodrow,froydnj
These operations report whether certain async plugin drawing modes are supported on the host architecture.  They use kernel graphics operations to decide this so they need to be removed from the content process for sandboxing.  We just bounce the requests to the gpu process (or main process on systems without a GPU process).

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

--HG--
extra : moz-landing-system : lando
2019-11-20 21:33:55 +00:00
Jonathan Kew 89f321af1e Bug 1487212 - When hyphenation resources are compressed in omnijar, load them into shared memory and share among all content processes. r=heycam,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D52835

--HG--
extra : moz-landing-system : lando
2019-11-14 20:05:58 +00:00
Barret Rennie 59bbcf47d9 Bug 1581240 - Return a Promise from windowUtils.setCompositionRecording() r=nika
`windowUtils.setCompositionRecording()` now returns a promise that is resolved
when the composition recorder is enabled (if given `true`) or when frames are
written to disk (if given `false`). To accomplish this, the
`WebRenderCompositionRecorder` now returns a `MozPromise` when writing frames
to disk begins that is resolved when that process finishes.

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

--HG--
extra : moz-landing-system : lando
2019-11-07 22:34:25 +00:00
Daniel Varga 8afb8d99f1 Backed out 4 changesets (bug 1581240) for build bustage with error: implicit instantiation of undefined template 'nsTString<char>. On a CLOSED TREE
Backed out changeset b73b86efe266 (bug 1581240)
Backed out changeset 17dd226e21ae (bug 1581240)
Backed out changeset e2fd47ff8a89 (bug 1581240)
Backed out changeset c0589670c762 (bug 1581240)
2019-11-07 01:31:57 +02:00
Barret Rennie 8323f194e5 Bug 1581240 - Return a Promise from windowUtils.setCompositionRecording() r=nika
`windowUtils.setCompositionRecording()` now returns a promise that is resolved
when the composition recorder is enabled (if given `true`) or when frames are
written to disk (if given `false`). To accomplish this, the
`WebRenderCompositionRecorder` now returns a `MozPromise` when writing frames
to disk begins that is resolved when that process finishes.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 20:48:43 +00:00
Peter Van der Beken 51c0772fe6 Bug 1570253 - Convert session history sync IPC messages that don't return anything to async. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D44442

--HG--
extra : rebase_source : c1700389bff0e86f120298f838e37244309dab3e
extra : amend_source : b05519f5b6ab4ce5207318e55bc28a1582e2b905
extra : source : 3da2f0f2d95bf2452caf7afc06a5c4887e477068
extra : histedit_source : 483074226bac0ae0387677e24958c5225207e01b
2019-08-27 17:05:11 +02:00
Anny Gakhokidze c43df3d447 Bug 1545474 - Part 1: Consolidate sync IPC calls inside of nsDocShell::UpdateURLAndHistory, r=peterv, r=nika for adding sync IPC messages
Inside of nsDocShell::UpdateURLAndHistory, there are 4 sync IPC calls to
nsSHistory plus 1 static call, which contains at least one nsSHEntry::GetParent
sync IPC call. All of these calls can be moved inside of a new method
EvictContentViewersOrReplaceEntry on nsSHEntry, resulting in just 1 sync IPC
call.

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

--HG--
extra : rebase_source : ad09a9061cd6fe8eb6796b2809ea191aceb3ac73
extra : source : 2cd5cd24763ff320719aedb2142a79822efd6de4
extra : histedit_source : fdc4f80cfd8807e46c2dc02e6ab82f2bd3acc391
2019-04-18 15:18:00 -04:00
Anny Gakhokidze 686417088e Bug 1541515 - Consolidate IPC calls to nsISHEntry inside of nsDocShell::GetChildSHEntry, r=peterv, r=nika for adding sync IPC messages
Currently, nsDocShell::GetChildSHEntry calls 3 sync IPC calls on nsISHEntry,
and the method GetChildSHEntry only has one caller. By moving GetChildSHEntry
method to parent process for nsISHEntry, resulting in a new method
nsISHEntry::GetChildSHEntry, 3 sync IPC calls can be reduced to 1.

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

--HG--
extra : rebase_source : 1e76a1b07d827b35bae7ed6acca25aa8732c9ed0
extra : source : 34d91f82faa36dd8d8ed721de365122d831f7b25
extra : histedit_source : 86592bc747d506c546ec660e57087e78b9719cf7
2019-04-15 14:27:44 -04:00
Anny Gakhokidze 4472abffc2 Bug 1546761 - Consolidate IPC calls to nsISHistory inside of nsDocShell::OnNewURI, r=peterv, r=nika for adding sync IPC messages
Inside of nsDocShell::OnNewURI there are 4 sync IPC calls
to nsSHistory that can be replaced with 1 sync IPC call
by adding a new method EnsureCorrectEntryAtCurrIndex to nsSHistory.

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

--HG--
extra : rebase_source : 09d7738b2f2dc2334c8f6186e5918b9d0ea3e618
extra : source : 82a41bffcbbca24ad3e84b045d75e4cb01ae1445
extra : histedit_source : 96eb7d2dbed2ad8fe4cc2d37358ec2358f696442
2019-05-07 15:23:08 -04:00
Anny Gakhokidze ac22fc9f39 Bug 1539482 - Reduce the number of IPC calls on nsISHEntry in nsDocShell::LoadHistoryEntry, r=peterv, r=nika for adding sync IPC messages
In nsDocShell::LoadHistoryEntry method, when it gets called
from parent process, there are 13 sync IPC calls on nsISHEntry
that retrieve  information from the session history entry and
create a  doc shell load state object using the retrieved
information.  By adding a new method 'CreateLoadInfo'on nsISHEntry,
inside of which the doc shell load state object will be
created (with appropriate data filled out) and returned,
we eliminate 12 sync IPC call, resulting in just 1 IPC call
to nsISHEntry::CreateLoadInfo.

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

--HG--
extra : rebase_source : a4e1fa52932fd5caabb59bd133e9fbee7f4d0e4a
extra : amend_source : f4d9f01afac0337808ba347eb997ce83e6ae1488
extra : source : 6ad53b35c7b4be933a3db1e1d45fa3da8a57abad
extra : histedit_source : c08d0cebcc11a3a4f64d01566cb62d9a334a12ec
2019-03-29 15:48:59 -04:00
Anny Gakhokidze b0a8f8d708 Bug 1536471 - Consolidate calls to nsISHEntry::GetChildAt in nsDocShell::AddToSessionHistory by adding nsSHEntry::ClearEntry method, r=peterv, r=nika for adding sync IPC messages
Currently, nsDocShell repeatedly calls nsISHEntry::GetChildAt and
nsISHEntry::RemoveChild  in nsDocShell::AddToSessionHistory,
which results in twice as many IPC calls as the number of children
a session history entry has. Additionally, there is one extra
IPC sync call to nsISHEntry::AbandonBFCacheEntry after the loop.

With the proposed solution, there will only be 1 sync IPC call.

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

--HG--
extra : rebase_source : ab98af417bcb28fdfcb1a115473b505fa8a70aa1
extra : source : 0270d6b952ffa1704690c777c55fcaed30125b38
extra : histedit_source : 9a031cb921ad8efa1bd96f7342e08337f3c0ca8a
2019-03-26 14:24:33 -04:00
Anny Gakhokidze bee5c226d0 Bug 1536471 - Consolidate calls to nsISHEntry::GetChildAt in nsDocShell::ClearFrameHistory by adding a new sync IPC call nsISHistory::RemoveFrameEntries, r=peterv, r=nika for adding sync IPC messages
Currently, nsDocShell repeatedly calls nsISHEntry::GetChildAt, which
results in as many IPC sync calls as the number of children
a session history entry has. Calling nsISHEntry::GetChildCount and
ChildSHistory::Index and incurs additional extra 2 sync IPC calls.

With the proposed solution, there will only be 1 sync IPC call.

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

--HG--
extra : rebase_source : ffaaff5c9521fb4d3a53a85f4570bcb99f7317d1
extra : source : 3f4a092d8f6544a212ee8a80d9275ae68c6446d1
extra : histedit_source : b4166d997119092ba5657f9ca4216da62dc82d97
2019-03-22 15:45:38 -04:00
Peter Van der Beken 1d35a2c86b Bug 1438272 - Part 3: move session history to parent process. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D26904

--HG--
extra : source : 29cc55878945008fdc4f356969fe528c85f34d41
extra : amend_source : fb5a3bb318346ec6fc02bcdac51f1588b6e87634
2019-03-05 15:46:10 +01:00
Peter Van der Beken 7e9586a484 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 4: Forward declare the inner type of a ManagedEndpoint. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28551

--HG--
extra : source : 5d6a6518fd988535c869f94b2f3dbc02eef546a7
2019-04-23 19:30:01 +02:00
Peter Van der Beken 963a983ee8 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 3: don't generate code that copies members of unions and structs if they contain a ManagedEndpoint. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28550

--HG--
extra : source : 0f5bfffa449f1845c591146b2f62c3ffcb809f61
2019-04-19 14:35:30 +02:00
Peter Van der Beken ffd3e84760 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 2: add a typedef for ManagedEndpoint if it's used in a struct or union. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28549

--HG--
extra : source : a989da45e5386db183fc44b92ca0be6689890ac9
2019-04-19 14:56:48 +02:00
Peter Van der Beken e9208b01f8 Bug 1546356 - Allow ManagedEndPoints as members of unions/structs. Part 1: Include headers for parent and child actors. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28548

--HG--
extra : source : 534f55dc3b864de991c481bddbdb36081547fdbf
2019-04-19 14:13:27 +02:00
Jim Porter 9354dfda4a Bug 1557447 - Profiler support for IPC information; r=nika,smaug
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-21 20:51:07 +00:00
Daniel Varga 8fdca46bc7 Backed out changeset 2923afce519a (bug 1557447) for browser chrome failure at tools/profiler/tests/browser/browser_test_feature_preferencereads.js. On a CLOSED TREE 2019-10-18 07:54:09 +03:00
Jim Porter 80bfcd6e57 Bug 1557447 - Profiler support for IPC information; r=nika
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 02:56:02 +00:00
Dorel Luca efd52379da Backed out changeset cd4dc0ae3364 (bug 1557447) for Browser-chrome failures in build/src/obj-firefox/dist/include/mozilla/BlocksRingBuffer.h 2019-10-18 03:59:06 +03:00
Jim Porter 641b95fb72 Bug 1557447 - Profiler support for IPC information; r=nika
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-17 23:39:42 +00:00
Aaron Klotz ff13f9f2cc Bug 1583581: Make promise-based async senders generated by IPDL use std::move to pass its arguments to the callback-based sender; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D46968

--HG--
extra : moz-landing-system : lando
2019-09-25 17:14:49 +00:00
Byron Campen [:bwc] fec8b0d807 Bug 1569183: Stop doing a proxy lookup to determine whether we're configured to use a proxy (for the proxy_only_if_behind_proxy pref), and instead look at whether we loaded the doc using a proxy. r=mjf,mayhemer,jld
Differential Revision: https://phabricator.services.mozilla.com/D45289

--HG--
extra : moz-landing-system : lando
2019-09-18 14:27:42 +00:00
Byron Campen [:bwc] ffa09cee72 Bug 1569183: Rename PWebrtcProxyChannel to PWebrtcTCPSocket. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45098

--HG--
rename : media/mtransport/WebrtcProxyChannelWrapper.cpp => media/mtransport/WebrtcTCPSocketWrapper.cpp
rename : media/mtransport/WebrtcProxyChannelWrapper.h => media/mtransport/WebrtcTCPSocketWrapper.h
rename : media/mtransport/ipc/PWebrtcProxyChannel.ipdl => media/mtransport/ipc/PWebrtcTCPSocket.ipdl
rename : media/mtransport/ipc/WebrtcProxyChannel.cpp => media/mtransport/ipc/WebrtcTCPSocket.cpp
rename : media/mtransport/ipc/WebrtcProxyChannel.h => media/mtransport/ipc/WebrtcTCPSocket.h
rename : media/mtransport/ipc/WebrtcProxyChannelCallback.h => media/mtransport/ipc/WebrtcTCPSocketCallback.h
rename : media/mtransport/ipc/WebrtcProxyChannelChild.cpp => media/mtransport/ipc/WebrtcTCPSocketChild.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelChild.h => media/mtransport/ipc/WebrtcTCPSocketChild.h
rename : media/mtransport/ipc/WebrtcProxyLog.cpp => media/mtransport/ipc/WebrtcTCPSocketLog.cpp
rename : media/mtransport/ipc/WebrtcProxyLog.h => media/mtransport/ipc/WebrtcTCPSocketLog.h
rename : media/mtransport/ipc/WebrtcProxyChannelParent.cpp => media/mtransport/ipc/WebrtcTCPSocketParent.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelParent.h => media/mtransport/ipc/WebrtcTCPSocketParent.h
extra : moz-landing-system : lando
2019-09-17 18:15:41 +00:00
Nika Layzell e738c764e1 Bug 1578398 - Check 'CanSend()' when calling Send__delete__(), r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D44856

--HG--
extra : moz-landing-system : lando
2019-09-05 18:08:58 +00:00
Jed Davis 952ed3dac9 Bug 1568047. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41466

--HG--
extra : moz-landing-system : lando
2019-08-12 18:50:09 +00:00
Nika Layzell 5f47039328 Bug 1523638 - Part 3: Construct WindowGlobal actors using ManagedEndpoint, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37650

--HG--
extra : moz-landing-system : lando
2019-08-08 16:06:56 +00:00
Nika Layzell 0a2e2e5949 Bug 1570367 - Don't generate pure virtual unused AllocPFoo, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D40066

--HG--
extra : moz-landing-system : lando
2019-07-31 21:59:52 +00:00
Nika Layzell efac1124a9 Bug 1550560 - Part 4: Don't generate helper ctors for refcounted actors, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D39535

--HG--
extra : moz-landing-system : lando
2019-07-29 19:54:20 +00:00
Nika Layzell 5853ed26e9 Bug 1550560 - Part 2: Generate logic for refcounted IPDL actors, r=mccr8
This takes the approach of directly tying the `AddRef()` and `Release()` calls
on the underlying actor object to the lifecycle of the ActorLifecycleProxy
object, by adding another virtual `ActorAlloc()` method as the counterpart to
`ActorDealloc()`.

The changes to the methods called from C++ are relatively minimal:

1. The `SendPFooConstructor(...)` methods have the same signature, but now will
   AddRef() internally (through `ActorAlloc()`), so an `do_AddRef(foo).take()`
   isn't needed. Same with the `{Bind,Open}PFooEndpoint` methods.

   This was done to reduce the number of invasive internal changes in the
   codegen which were required to pipe a passed-in `already_AddRefed` to the
   underlying `ActorLifecycleProxy` which is created by generic code.

2. The `AllocPFoo{Parent,Child}` methods have been modified to return an
   `already_AddRefed` by default, and the callsites will store the result in a
   `RefPtr<T>` if the type is refcounted.

3. No `DeallocPFoo...` method is called anymore. Unfortunately due to
   devirtualization, it won't be an error if an unused method is still present,
   though it won't be called.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 19:54:16 +00:00
Nika Layzell 17ed6763d2 Bug 1550560 - Part 1: Parse refcounted protocols in IPDL, r=mccr8
The syntax for the new construct looks like the following, and re-uses the
refcounted keyword from refcounted using statements:

async refcounted protocol PFoo { ... }

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

--HG--
extra : moz-landing-system : lando
2019-07-29 19:54:14 +00:00
Nika Layzell 7d9769c5e3 Bug 1565405 - Fail async ctor call if `!Manager()->CanSend()`, r=froydnj
The previous behaviour of failing unconditionally was performed as, during
shutdown, the channel could become unable to send without worker threads having
a chance to react. This change keeps that behaviour, isolating async message
senders from impending IPC shutdown, while performing expected actor teardown if
the manager actor has already been destroyed, and should no longer send messages.

An alternate behaviour here could be to crash if !Manager()->CanSend(). That
behaviour may be preferable if a sufficient number of callsites don't check the
return value of the `SendPFooConstructor()` method.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 16:37:40 +00:00
Andrea Marchesini cef26c06c6 Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - PProxyConfigLookup IPC protocol, r=bwc,kershaw,jld
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-29 12:27:59 +00:00
Ciure Andrei c0756f3389 Backed out 10 changesets (bug 1523638) for causing high frequency Android 7.0 mochitests failures CLOSED TREE
Backed out changeset 644ceb2fe568 (bug 1523638)
Backed out changeset 27647ee7a927 (bug 1523638)
Backed out changeset 96f1ccb95570 (bug 1523638)
Backed out changeset b60a17ea716a (bug 1523638)
Backed out changeset 507e63186c5f (bug 1523638)
Backed out changeset 33255408ca61 (bug 1523638)
Backed out changeset d97b2d223616 (bug 1523638)
Backed out changeset eba2a0514cde (bug 1523638)
Backed out changeset d7065174c5c4 (bug 1523638)
Backed out changeset c21b361e175d (bug 1523638)
2019-07-23 05:13:32 +03:00
Nika Layzell b1f124f20a Bug 1523638 - Part 3: Construct WindowGlobal actors using ManagedEndpoint, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37650

--HG--
extra : moz-landing-system : lando
2019-07-18 19:38:10 +00:00
Bogdan Tara ca45889546 Backed out 9 changesets (bug 1523638) for browser_contextmenu.js failures CLOSED TREE
Backed out changeset 0a584a07b696 (bug 1523638)
Backed out changeset 8c5af2289900 (bug 1523638)
Backed out changeset 40ed1bd64b09 (bug 1523638)
Backed out changeset 9a99a0391979 (bug 1523638)
Backed out changeset 07fb4748b91a (bug 1523638)
Backed out changeset 49047c3ebae9 (bug 1523638)
Backed out changeset d606d072126c (bug 1523638)
Backed out changeset 76dc1937fc77 (bug 1523638)
Backed out changeset c784c14b5d5d (bug 1523638)
2019-07-16 23:40:47 +03:00
Nika Layzell a711231390 Bug 1523638 - Part 3: Construct WindowGlobal actors using ManagedEndpoint, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37650

--HG--
extra : moz-landing-system : lando
2019-07-16 18:47:39 +00:00
Barret Rennie 0b66a71420 Bug 1289211 - Rename InfallibleTArray to nsTArray in ipc/ r=nika
Differential Revision: https://phabricator.services.mozilla.com/D36961

--HG--
extra : moz-landing-system : lando
2019-07-10 03:31:24 +00:00
Jonathan Kingston a5ba216f93 Bug 1315460 - Removal of keygen element r=keeler,baku,jld,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D22810

--HG--
extra : moz-landing-system : lando
2019-06-13 08:58:07 +00:00
Matt Woodrow 15fec19828 Bug 1555891 - Merge PVideoDecoder into PRemoteDecoder. r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D33587

--HG--
extra : moz-landing-system : lando
2019-06-11 02:01:51 +00:00
Matt Woodrow 4908a84df2 Bug 1555891 - Merge PVideoDecoderManager into PRemoteDecoderManager. r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D33586

--HG--
extra : moz-landing-system : lando
2019-06-11 02:01:34 +00:00
Nika Layzell 03a2f40528 Bug 1553272 - Eliminate the unnecessary ProtocolState object, r=froydnj
The vast majority of the virtual methods which were used on ProtocolState were
actually methods which only had meaningful implementations on the toplevel
protocol. This patch adds a new field to IProtocol holding a direct pointer to
the protocol's `IToplevelProtocol`, and the methods formerly implemented with
ProtocolState now directly call the corresponding method on IToplevelProtocol.
IToplevelProtocol then shadows these methods with the toplevel protocol
implementation, meaning that the right code is run in the right places.

In addition, some state was maintained for protocols inside of the separate
ProtocolState allocation, and this patch moves that state back into the actor
itself.

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

--HG--
extra : moz-landing-system : lando
2019-06-06 14:57:34 +00:00
sotaro 3d0c73c202 Bug 1537586 - Address build failure with --disable-printing r=bobowen,froydnj
Make nsIWebBrowserPrint included unconditionally for addressing nsIDocShell.rs build failure.

Remove direct_call of PPrinting and PRemotePrintJob. Their ipdl are built unconditionally, but their derived classes are not built with --disable-printing.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 01:25:36 +00:00
Nika Layzell 77532c1fa6 Bug 1553270 - Part 2: Allow getting a protocol's name from its ProtocolID, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32043

--HG--
extra : moz-landing-system : lando
2019-05-24 22:36:49 +00:00
Nika Layzell 406f5cc2d8 Bug 1553270 - Part 1: Store the protocol ID on IProtocol directly, r=froydnj
This allows for the getter to be used in IProtocol's destructor, and generally
brings IProtocol more in line with IToplevelProtocol.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 20:21:35 +00:00
Nika Layzell 259a8f1974 Bug 1511161 - Part 2: Use Code throughout IPDL codegen, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D30234

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:43 +00:00
Nika Layzell c2a887bfba Bug 1511161 - Part 1: Add new Code object to IPDL codegen, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D13467

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:41 +00:00
Nika Layzell e71da28e87 Bug 1547218 - Part 2: Stop special casing pointer types in ParamTraits specialization, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D29779

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:39 +00:00
Nika Layzell 45a2a8e839 Bug 1548717 - Part 2: Check CanSend before trying to send, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D30236

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:35 +00:00
Nika Layzell 833e7d5780 Bug 1548717 - Part 1: Remove the unnecessary internal liveness state value, r=froydnj
These values were only being used for assertions within IPDL send
methods. They had no positive impact beyond causing crashes when sending
a message over a dead actor.

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

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:27 +00:00
Nika Layzell 1bd8912413 Bug 1547085 - Discard messages sent to dead actors, r=jld
Historically we've failed very loudly when receiving a message which was
destined for an actor which had already been destroyed. This had the
effect of requiring manual teardown for most actors, as work would need
to be done to ensure messages weren't sent when the target actor might
be about to tear itself down.

In addition, due to this teardown work being done outside of IPDL, this
work would have to manually be checked in subactors, and involved the
addition of new flags, such as `mIPCOpen`, in order to track whether IPC
had begun to be shut down, and discard messages manually if it had.

It is an ongoing issue that we occasionally miss places where we need to
discard messages, and it is easy to not remember to perform async
destruction when building a new actor, meaning that extra work is
required to correctly discard messages when the actor is being torn
down. Due to the correct decision, almost all of the time, being to
discard the message, this patch takes the approach of transforming the
crash which was previously performed into a message discard.

The hope is that this will reduce the burden on actor implementors, by
allowing the use of `Send__delete__` without first synchronizing with
the remote actor, as well as reduce unintentional crashes.

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

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:25 +00:00
Nika Layzell c293c9007f Bug 1540731 - Part 1: Manage actor object lifecycles within IPC, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D28572

--HG--
extra : moz-landing-system : lando
2019-05-21 17:04:14 +00:00
Jan Varga 2d3ff6b0f5 Bug 1534882 - Don't crash when synchronously constructing actor during content shutdown, r=nika
This patch changes the way how we handle sync ctor send errors. They are now
ignored and treated like messages which successfully were queued to send, but
got lost due to the other side hanging up.
For more details, see bug 1509362 which originally did it for async ctors.
The main differences here are that we destroy the actor and we return null when
the send fails.

Differential Revision: https://phabricator.services.mozilla.com/D31517
2019-05-16 21:09:18 +02:00
Ryan Hunt c2729d0df1 Bug 1548939 - Remove direct_call overrides for PBrowser. r=nika
This isn't needed now that BrowserParent has the same name
as the protocol.

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

--HG--
extra : rebase_source : dbfc1722a43e1f8fbbe01f1766a397b570fa7d6a
extra : source : 792b49f269bb6308e152290ed0dfa03efbffa536
extra : histedit_source : e001669549af547f5387a3b010ad52ebee6eea3f
2019-04-25 15:28:44 -05:00
Ryan Hunt 1751a8ddbf Bug 1548939 - Devirtualize BrowserChild IPDL methods. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D30150

--HG--
extra : rebase_source : d657164153889209adfe4b946c56bcbb8f7c858b
extra : histedit_source : b5df9ab9ec8202f5c00c166baf7029e6290da728
2019-05-06 14:29:29 -05:00
Bas Schouten cf839e9e77 Bug 1545787: Make EndRecording occur synchronously so it only returns once all files are written. r=mstange r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D28199

--HG--
extra : rebase_source : 6288d2e56a7deed64b29e052c7f179ac09392717
2019-04-19 16:59:43 +02:00
Jan Varga 864dcf0703 Bug 1513915 - LSNG: LoadItem could return more items (up to the prefill limit); r=asuth,jld
Differential Revision: https://phabricator.services.mozilla.com/D26476
2019-04-08 10:56:19 +02:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Jonathan Kew 64c9983c83 Bug 1514869 - patch 8 - Make the SetCharacterMap message async, and use the unshared gfxCharacterMap in the content process until the shared one is in place. r=jwatt,jld
Differential Revision: https://phabricator.services.mozilla.com/D24137

--HG--
extra : moz-landing-system : lando
2019-04-29 14:39:05 +00:00
Jonathan Kew 9811ca8336 Bug 1514869 - patch 1 - Basic implementation of a cross-process sharable font list, using shared memory to store the list of families & faces, and per-font character maps. r=jwatt,jld
Differential Revision: https://phabricator.services.mozilla.com/D22937

--HG--
extra : moz-landing-system : lando
2019-04-27 15:37:29 +00:00
Andrea Marchesini 1739e25925 Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - IPCBlobInputStream actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28191

--HG--
extra : moz-landing-system : lando
2019-04-26 18:04:02 +00:00
Andrea Marchesini 7d30a9996e Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - TemporaryIPCBlob actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28190

--HG--
extra : moz-landing-system : lando
2019-04-26 18:01:53 +00:00
Andrea Marchesini 69fd7c57d7 Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - PendingIPCBlob actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28189

--HG--
extra : moz-landing-system : lando
2019-04-26 18:01:08 +00:00
Andrea Marchesini de9252905e Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - FileCreator actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28188

--HG--
extra : moz-landing-system : lando
2019-04-26 18:00:33 +00:00
Andrea Marchesini 35bde55efd Bug 1534712 - Port FileCreatorHelper to PBackground, r=smaug
FileCreatorHelper creates a FileBlobImpl on the main-thread and, because of
this, we end up executing I/O operations on that thread, slowing down other
components.  With this patch, FileCreatorHelper logic is moved to PBackground.

That the 'type' getter is still called on the main-thread because FileBlobImpl
uses nsIMIMEService which is a non thread-safe component.

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

--HG--
extra : moz-landing-system : lando
2019-04-26 17:53:07 +00:00
Bogdan Tara 240b24fbe1 Backed out 5 changesets (bug 1534712, bug 1545758) for test_ext_webrequest_upload.html failures CLOSED TREE
Backed out changeset 447b0f5a5802 (bug 1545758)
Backed out changeset 0528f8f11814 (bug 1545758)
Backed out changeset d85c68071b54 (bug 1545758)
Backed out changeset 10b380bc5b0c (bug 1545758)
Backed out changeset 57136f4e7b54 (bug 1534712)
2019-04-25 12:36:51 +03:00
Andrea Marchesini 3512672cd3 Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - IPCBlobInputStream actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28191

--HG--
extra : moz-landing-system : lando
2019-04-25 07:44:47 +00:00
Andrea Marchesini 6bbc401f45 Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - TemporaryIPCBlob actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28190

--HG--
extra : moz-landing-system : lando
2019-04-25 07:44:29 +00:00
Andrea Marchesini 50fa1de562 Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - PendingIPCBlob actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28189

--HG--
extra : moz-landing-system : lando
2019-04-25 07:44:03 +00:00
Andrea Marchesini f39753b4b8 Bug 1545758 - Move dom/file IPC components into mozilla::dom namespace - FileCreator actors, r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28188

--HG--
extra : moz-landing-system : lando
2019-04-25 07:43:38 +00:00
Andrea Marchesini cbdda85d6e Bug 1534712 - Port FileCreatorHelper to PBackground, r=smaug
FileCreatorHelper creates a FileBlobImpl on the main-thread and, because of
this, we end up executing I/O operations on that thread, slowing down other
components.  With this patch, FileCreatorHelper logic is moved to PBackground.

That the 'type' getter is still called on the main-thread because FileBlobImpl
uses nsIMIMEService which is a non thread-safe component.

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

--HG--
extra : moz-landing-system : lando
2019-04-25 07:41:10 +00:00
Brindusan Cristian b3b1ca15aa Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
rename : dom/ipc/TabChild.cpp => dom/ipc/BrowserChild.cpp
rename : dom/ipc/TabParent.cpp => dom/ipc/BrowserParent.cpp
rename : dom/ipc/TabParent.h => dom/ipc/BrowserParent.h
2019-04-25 01:43:17 +03:00
Andrew McCreight 74534d3cbc Bug 1545299 - Make UniquePtr work more like the other types with a base type. r=nika
This consolidates array, maybe and unique ptrs in IPDL into a single
"has base type" qualifier, for types that wrap another type. I'm not
sure this patch fixes everything, but I think it is at least more
correct.

It also adds checking for the stuff inside the UniquePtr<>, because
the intent seems to be to allow things like protocol types in there.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 20:19:49 +00:00
Andrew McCreight 87ae116d7f Bug 1545306 - Add some tests for using moveonly. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28562

--HG--
extra : moz-landing-system : lando
2019-04-23 21:57:48 +00:00
Jed Davis f045c4ef58 Bug 1544825 - Use IPDL type names instead of truncated C++ names in deserialization error messages. r=nika
Currently, when deserialization fails, the error message contains the base
name of the C++ type, without template parameters; this means we can get
unhelpfully vague errors about `RefPtr` or `Maybe` or `nsTArray`.  (The
identical error cases are then merged by the compiler, so the execution
path can't be recovered from the crash dump.)

This patch uses the IPDL type instead.  It would be possible to invoke
the code generator to use the full C++ type, but more complicated for no
real benefit.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 14:40:48 +00:00
Ciure Andrei d753cf6b80 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-04-24 07:30:32 +03:00
Ryan Hunt 0eeced87be Bug 1534395 - Rename TabParent to BrowserParent. r=nika
This commit renames TabParent to BrowserParent.

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

--HG--
rename : dom/ipc/TabParent.cpp => dom/ipc/BrowserParent.cpp
rename : dom/ipc/TabParent.h => dom/ipc/BrowserParent.h
extra : rebase_source : d2706b9f42177d8de16068b7b1d088a44b8720a4
extra : histedit_source : a617ddac45c58050ef799116a67d2d983f2a8f6d%2C1d1dabd8761a32d548a6fbf1027be960698f6a5e
2019-04-09 16:38:15 -05:00
Ciure Andrei d13f7bbf24 Backed out changeset 22c00a19e267 (bug 1534712) for causing test_bug536567_perwindowpb.html, browser_jsonview_save_json.js, browser_bookmark_backup_export_import.js to perma fail CLOSED TREE 2019-04-19 05:57:19 +03:00
Andrea Marchesini 98dc92353c Bug 1534712 - Port FileCreatorHelper to PBackground, r=smaug
FileCreatorHelper creates a FileBlobImpl on the main-thread and, because of
this, we end up executing I/O operations on that thread, slowing down other
components.  With this patch, FileCreatorHelper logic is moved to PBackground.

That the 'type' getter is still called on the main-thread because FileBlobImpl
uses nsIMIMEService which is a non thread-safe component.

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

--HG--
extra : moz-landing-system : lando
2019-04-18 21:28:16 +00:00
Kyle Machulis e71632b0fc Bug 1540002 - Remove intr __delete__ from PPluginInstance; r=nika,mccr8
PPluginInstance's __delete__ was ported from rpc to intr, and is the
only non-async IPDL deletion in the codebase. We should be able to
align this with the rest of the IPDL interfaces and remove the need
for specialized intr __delete__ handling.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 21:10:20 +00:00
Nika Layzell a33a880625 Bug 1537977 - Add a ManagedEndpoint IPDL type for manually constructing actors, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D24425

--HG--
extra : moz-landing-system : lando
2019-03-28 20:02:50 +00:00
Alex Gaynor 0d4f2d8f33 Bug 1539542 - removed PAsmJSCacheEntry from the IPC direct call exclusions list; r=mccr8
This protocol no longer exists.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 16:36:08 +00:00
Haik Aftandilian 77b79862cf Bug 1452278 - Part 1 - Make macOS nsOSHelperAppService::GetFromTypeAndExtension() not call OS MIME API's in content r=bzbarsky,froydnj
Add a new nsExternalHelperAppService derived class named nsOSHelperAppServiceChild to be used for the MIME service, external helper app service, and external protocol service interfaces in child processes. nsOSHelperAppServiceChild overrides some methods used to get MIME and external protocol handler information from the OS and implements these methods by remoting the calls to the parent process.

This is necessary because, on Mac, querying the OS for helper application info from sandboxed content processes is unreliable and has buggy side effects.

For now, only use the new class on Mac.

Android and unix file changes r+ by gcp.
Windows files changes r+ by bobowen.
Sync messages review r+ by nfroyd.

MozReview-Commit-ID: 63BiS6VCxfn

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

--HG--
extra : moz-landing-system : lando
2019-03-27 22:49:33 +00:00
arthur.iakab 7654bfed1e Backed out 2 changesets (bug 1452278) for mingwclang build bustages on win/nsOSHelperAppService.h CLOSED TREE
Backed out changeset f11d78387bd9 (bug 1452278)
Backed out changeset 656f17a2553b (bug 1452278)
2019-03-27 22:03:07 +02:00
Haik Aftandilian b8118af581 Bug 1452278 - Part 1 - Make macOS nsOSHelperAppService::GetFromTypeAndExtension() not call OS MIME API's in content r=bzbarsky,froydnj
Add a new nsExternalHelperAppService derived class named nsOSHelperAppServiceChild to be used for the MIME service, external helper app service, and external protocol service interfaces in child processes. nsOSHelperAppServiceChild overrides some methods used to get MIME and external protocol handler information from the OS and implements these methods by remoting the calls to the parent process.

This is necessary because, on Mac, querying the OS for helper application info from sandboxed content processes is unreliable and has buggy side effects.

For now, only use the new class on Mac.

Android and unix file changes r+ by gcp.
Windows files changes r+ by bobowen.
Sync messages review r+ by nfroyd.

MozReview-Commit-ID: 63BiS6VCxfn

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

--HG--
extra : moz-landing-system : lando
2019-03-27 19:23:32 +00:00
Alex Gaynor 6039e80432 Bug 1513911 - Part 3 - replace PIndexedDBPermissionRequest with async returns in IPC; r=asuth
This removes the only case of an IPDL protocol which has two implementors.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 19:14:01 +00:00
Alex Gaynor 6f04c635d8 Bug 1513911 - Part 2 - fixed a missing include; r=mccr8
Depends on D18995

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

--HG--
extra : moz-landing-system : lando
2019-02-27 20:00:58 +00:00
Chris Pearce de686d23c1 Bug 1530245 - Launch sandbox from new remote sandbox broker process. r=jld,bobowen
Depends on D22051

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

--HG--
extra : moz-landing-system : lando
2019-03-13 09:24:52 +00:00
Nathan Froyd 14c0cbba56 Bug 1523996 - part 5 - bulk-read/write adjacent POD fields in IPDL-defined structs; r=Alex_Gaynor
Now that fields are packed nicely, we can take advantage of the
contiguous layout of POD fields and read/write all the POD fields of a
given size in a single read/write call.  For many structs, this should
have little or no effect, but for large structs such as LoadInfoArgs,
this reduces the number of function calls by ~50%.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 13:59:57 +00:00
Nathan Froyd c5829037f6 Bug 1523996 - part 4 - add static assertions for member layout; r=Alex_Gaynor
We're about to start depending on how the fields are packed in a future
patch, so we should add some compile-time checking that our assertions
are correct.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 13:59:48 +00:00
Nathan Froyd f1a050db9b Bug 1523996 - part 3 - factor out reading/writing sentinels; r=Alex_Gaynor
We're going to read and write sentinels slightly differently for
bulk-writing adjacent fields, so let's factor out some reusable code for
doing so.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 13:59:43 +00:00
Nathan Froyd aace5317f4 Bug 1523996 - part 2 - pack IPDL-defined struct members better; r=Alex_Gaynor
This patch changes the layout of IPDL-defined structs to order the POD
members by decreasing size, which ensures everything is packed well.
This optimization is only applied to the internal representation; the
external interface (e.g. constructors) is entirely unchaged.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 13:59:39 +00:00
Nathan Froyd e1246d9446 Bug 1523996 - part 1 - compute a packed ordering for structure fields; r=Alex_Gaynor
This patch computes an ordering for the fields of an IPDL structure decl
such that they are packed well in memory.  We'll take advantage of this
ordering in future patches.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 13:59:35 +00:00
Alex Gaynor 38a2064d1e Bug 1441651 - Part 2 - pass Shmem and ByteBuf by rvalref to Send* IPC methods; r=nika,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D19954

--HG--
extra : moz-landing-system : lando
2019-03-04 16:35:30 +00:00
Alex Gaynor 82df5a3cd4 Bug 1441651 - Part 1 - pass Shmem and ByteBuf by rvalref to ParamTraits; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D19953

--HG--
extra : moz-landing-system : lando
2019-03-04 16:07:37 +00:00
Boris Zbarsky 9c5da5f234 Bug 1489308 part 9. Remove now-unused wyciwyg bits. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D17327

--HG--
rename : dom/html/test/browser_refresh_wyciwyg_url.js => dom/html/test/browser_refresh_after_document_write.js
rename : dom/html/test/file_refresh_wyciwyg_url.html => dom/html/test/file_refresh_after_document_write.html
extra : moz-landing-system : lando
2019-02-28 01:09:48 +00:00
Alex Gaynor e2c32f5404 Bug 1529686 - Part 2 - fixed IPC test protocols to build with devirtualization; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D21067

--HG--
extra : moz-landing-system : lando
2019-02-26 15:37:22 +00:00
Alex Gaynor fb6b626563 Bug 1529686 - Part 1 - fixed ipdl unittests for devirtualization, which requires protocol names to start with 'P'; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D21066

--HG--
rename : ipc/ipdl/test/ipdl/error/asyncMessageListed.ipdl => ipc/ipdl/test/ipdl/error/PasyncMessageListed.ipdl
rename : ipc/ipdl/test/ipdl/ok/AsyncReturn.ipdl => ipc/ipdl/test/ipdl/ok/PAsyncReturn.ipdl
rename : ipc/ipdl/test/ipdl/ok/Delete.ipdl => ipc/ipdl/test/ipdl/ok/PDelete.ipdl
rename : ipc/ipdl/test/ipdl/ok/DeleteSub.ipdl => ipc/ipdl/test/ipdl/ok/PDeleteSub.ipdl
rename : ipc/ipdl/test/ipdl/ok/EndpointDecl.ipdl => ipc/ipdl/test/ipdl/ok/PEndpointDecl.ipdl
rename : ipc/ipdl/test/ipdl/ok/EndpointUse.ipdl => ipc/ipdl/test/ipdl/ok/PEndpointUse.ipdl
rename : ipc/ipdl/test/ipdl/ok/Nullable.ipdl => ipc/ipdl/test/ipdl/ok/PNullable.ipdl
rename : ipc/ipdl/test/ipdl/ok/Struct.ipdl => ipc/ipdl/test/ipdl/ok/PStruct.ipdl
rename : ipc/ipdl/test/ipdl/ok/SyncSyncManagee.ipdl => ipc/ipdl/test/ipdl/ok/PSyncSyncManagee.ipdl
rename : ipc/ipdl/test/ipdl/ok/SyncSyncManager.ipdl => ipc/ipdl/test/ipdl/ok/PSyncSyncManager.ipdl
rename : ipc/ipdl/test/ipdl/ok/actorparam.ipdl => ipc/ipdl/test/ipdl/ok/Pactorparam.ipdl
rename : ipc/ipdl/test/ipdl/ok/actorreturn.ipdl => ipc/ipdl/test/ipdl/ok/Pactorreturn.ipdl
rename : ipc/ipdl/test/ipdl/ok/array_Basic.ipdl => ipc/ipdl/test/ipdl/ok/Parray_Basic.ipdl
rename : ipc/ipdl/test/ipdl/ok/array_OfActors.ipdl => ipc/ipdl/test/ipdl/ok/Parray_OfActors.ipdl
rename : ipc/ipdl/test/ipdl/ok/array_OfActorsSub.ipdl => ipc/ipdl/test/ipdl/ok/Parray_OfActorsSub.ipdl
rename : ipc/ipdl/test/ipdl/ok/array_Union.ipdl => ipc/ipdl/test/ipdl/ok/Parray_Union.ipdl
rename : ipc/ipdl/test/ipdl/ok/basicUsing.ipdl => ipc/ipdl/test/ipdl/ok/PbasicUsing.ipdl
rename : ipc/ipdl/test/ipdl/ok/builtins.ipdl => ipc/ipdl/test/ipdl/ok/Pbuiltins.ipdl
rename : ipc/ipdl/test/ipdl/ok/bytebuf.ipdl => ipc/ipdl/test/ipdl/ok/Pbytebuf.ipdl
rename : ipc/ipdl/test/ipdl/ok/empty.ipdl => ipc/ipdl/test/ipdl/ok/Pempty.ipdl
rename : ipc/ipdl/test/ipdl/ok/emptyStruct.ipdl => ipc/ipdl/test/ipdl/ok/PemptyStruct.ipdl
rename : ipc/ipdl/test/ipdl/ok/headerProto.ipdl => ipc/ipdl/test/ipdl/ok/PheaderProto.ipdl
rename : ipc/ipdl/test/ipdl/ok/intrProtocol.ipdl => ipc/ipdl/test/ipdl/ok/PintrProtocol.ipdl
rename : ipc/ipdl/test/ipdl/ok/jetpack.ipdl => ipc/ipdl/test/ipdl/ok/Pjetpack.ipdl
rename : ipc/ipdl/test/ipdl/ok/manageSelf.ipdl => ipc/ipdl/test/ipdl/ok/PmanageSelf.ipdl
rename : ipc/ipdl/test/ipdl/ok/manageSelf_Toplevel.ipdl => ipc/ipdl/test/ipdl/ok/PmanageSelf_Toplevel.ipdl
rename : ipc/ipdl/test/ipdl/ok/managedProtocol.ipdl => ipc/ipdl/test/ipdl/ok/PmanagedProtocol.ipdl
rename : ipc/ipdl/test/ipdl/ok/managerProtocol.ipdl => ipc/ipdl/test/ipdl/ok/PmanagerProtocol.ipdl
rename : ipc/ipdl/test/ipdl/ok/maybe_Basic.ipdl => ipc/ipdl/test/ipdl/ok/Pmaybe_Basic.ipdl
rename : ipc/ipdl/test/ipdl/ok/maybe_OfActors.ipdl => ipc/ipdl/test/ipdl/ok/Pmaybe_OfActors.ipdl
rename : ipc/ipdl/test/ipdl/ok/maybe_OfActorsSub.ipdl => ipc/ipdl/test/ipdl/ok/Pmaybe_OfActorsSub.ipdl
rename : ipc/ipdl/test/ipdl/ok/maybe_Union.ipdl => ipc/ipdl/test/ipdl/ok/Pmaybe_Union.ipdl
rename : ipc/ipdl/test/ipdl/ok/media.ipdl => ipc/ipdl/test/ipdl/ok/Pmedia.ipdl
rename : ipc/ipdl/test/ipdl/ok/messageCompress.ipdl => ipc/ipdl/test/ipdl/ok/PmessageCompress.ipdl
rename : ipc/ipdl/test/ipdl/ok/messageVerify.ipdl => ipc/ipdl/test/ipdl/ok/PmessageVerify.ipdl
rename : ipc/ipdl/test/ipdl/ok/messageVerifyTopLevel.ipdl => ipc/ipdl/test/ipdl/ok/PmessageVerifyTopLevel.ipdl
rename : ipc/ipdl/test/ipdl/ok/multiManaged.ipdl => ipc/ipdl/test/ipdl/ok/PmultiManaged.ipdl
rename : ipc/ipdl/test/ipdl/ok/multiManager1.ipdl => ipc/ipdl/test/ipdl/ok/PmultiManager1.ipdl
rename : ipc/ipdl/test/ipdl/ok/multiManager2.ipdl => ipc/ipdl/test/ipdl/ok/PmultiManager2.ipdl
rename : ipc/ipdl/test/ipdl/ok/multipleUsingCxxTypes.ipdl => ipc/ipdl/test/ipdl/ok/PmultipleUsingCxxTypes.ipdl
rename : ipc/ipdl/test/ipdl/ok/mutualRecStructUnion.ipdl => ipc/ipdl/test/ipdl/ok/PmutualRecStructUnion.ipdl
rename : ipc/ipdl/test/ipdl/ok/mutualRecUnion.ipdl => ipc/ipdl/test/ipdl/ok/PmutualRecUnion.ipdl
rename : ipc/ipdl/test/ipdl/ok/namespace_Basic.ipdl => ipc/ipdl/test/ipdl/ok/Pnamespace_Basic.ipdl
rename : ipc/ipdl/test/ipdl/ok/noRedeclCrossMessage.ipdl => ipc/ipdl/test/ipdl/ok/PnoRedeclCrossMessage.ipdl
rename : ipc/ipdl/test/ipdl/ok/plugin.ipdl => ipc/ipdl/test/ipdl/ok/Pplugin.ipdl
rename : ipc/ipdl/test/ipdl/ok/selfRecUnion.ipdl => ipc/ipdl/test/ipdl/ok/PselfRecUnion.ipdl
rename : ipc/ipdl/test/ipdl/ok/shmem.ipdl => ipc/ipdl/test/ipdl/ok/Pshmem.ipdl
rename : ipc/ipdl/test/ipdl/ok/syncProtocol.ipdl => ipc/ipdl/test/ipdl/ok/PsyncProtocol.ipdl
rename : ipc/ipdl/test/ipdl/ok/threeDirections.ipdl => ipc/ipdl/test/ipdl/ok/PthreeDirections.ipdl
rename : ipc/ipdl/test/ipdl/ok/union_Basic.ipdl => ipc/ipdl/test/ipdl/ok/Punion_Basic.ipdl
rename : ipc/ipdl/test/ipdl/ok/union_Namespaced.ipdl => ipc/ipdl/test/ipdl/ok/Punion_Namespaced.ipdl
extra : moz-landing-system : lando
2019-02-26 16:54:04 +00:00
Nika Layzell f3274c2fd2 Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8
This actor won't be being used anymore, and acts only as a maintenance burden
for people working on this code (which we're doing pretty often these days!).

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

--HG--
extra : moz-landing-system : lando
2019-02-25 20:04:45 +00:00
Andreea Pavel cd1b27ad4d Backed out 6 changesets (bug 1522579) for build bustages on a CLOSED TREE
Backed out changeset 3c8320baa230 (bug 1522579)
Backed out changeset 0a288a3d85cd (bug 1522579)
Backed out changeset ecfd27e7d150 (bug 1522579)
Backed out changeset eda40fca0758 (bug 1522579)
Backed out changeset 5c7aafa32a0a (bug 1522579)
Backed out changeset a3c5a2c16411 (bug 1522579)
2019-02-25 18:19:38 +02:00
Nika Layzell 7924bfa435 Bug 1522579 - Part 1: Remove PContentBridge, r=mccr8
This actor won't be being used anymore, and acts only as a maintenance burden
for people working on this code (which we're doing pretty often these days!).

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

--HG--
extra : moz-landing-system : lando
2019-02-25 15:51:10 +00:00
Nika Layzell fa6f0c132c Bug 1528493 - Part 1: Add support for maybe types to IPDL, r=mccr8,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D20067

--HG--
extra : moz-landing-system : lando
2019-02-22 18:46:12 +00:00
Chris Peterson ee7a3f7cca Bug 1528452 - Part 2: Rename _splitMethodDefn() to _splitMethodDeclDefn(). r=froydnj
This follows the naming convention of the related functions _splitClassDeclDefn() and _splitFuncDeclDefn().

Depends on D20056

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

--HG--
extra : moz-landing-system : lando
2019-02-20 11:20:27 +00:00
Chris Peterson 44a9ea3410 Bug 1528452 - Part 1: Don't emit method definitions for pure methods. r=froydnj
Bug 1428984 caused a regression where ipdlc will emit (empty) method definitions for pure methods. C++ allows a pure member function to have a definition (in case a derived class wants to call a default implementation in the base class), but we don't want this for ipdl's generated code.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 11:19:43 +00:00
Makoto Kato 376eb1a4da Bug 1528665 - Remove GetAndroidSystemInfo sync IPC. r=geckoview-reviewers,mccr8,snorp
nsSystemInfo is initialzied at first page load. Actually, content process uses
sync IPC to get Android OS information. But now, we can use Java code even if
on content process, so we should use JNI directly instead of sync IPC.

Also, nsSystemInfo still has unused extern android_sdk_version that is for
HoneyComp's DNS hack.  So let's remote it.

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

--HG--
extra : moz-landing-system : lando
2019-02-19 21:19:14 +00:00
Michael Froman 3429848591 Bug 1500596 - pt1 - modify IPC sync message name for making remote decoders. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D18639

--HG--
extra : moz-landing-system : lando
2019-02-14 19:07:08 +00:00
Mike Hommey ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

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

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Alex Gaynor 9549d19893 Bug 1479930 - std::move() almost all arguments to Recv/Answer methods in IPC; r=froydnj
The one exception is refcounted types, because std::move(RefPtr<T>) does not
coerce to T*, which is what the current IPC methods accept.

This does not rewrite all Recv/Answer methods to take advantage of move
semantics.

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

--HG--
extra : moz-landing-system : lando
2019-02-13 17:49:17 +00:00
Michael Froman 8b42c45ed4 Bug 1527472 - devirtualize IPC methods in PVideoDecoder and PRemoteVideoDecoder. r=Alex_Gaynor
Differential Revision: https://phabricator.services.mozilla.com/D19578

--HG--
extra : moz-landing-system : lando
2019-02-13 14:11:45 +00:00
Makoto Kato eb0becd162 Bug 1503491 - Part 2. Remove PRemoteSpellcheckEngine::Check. r=mccr8,masayuki
Let's going away due to unused.

Depends on D19303

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

--HG--
extra : moz-landing-system : lando
2019-02-10 22:28:45 +00:00
Alex Gaynor 58e271b183 Bug 1525199 - Part 4 - removed size_t support from IPDL messages; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D19196

--HG--
extra : moz-landing-system : lando
2019-02-08 21:57:32 +00:00
Andrew Halberstadt 01ca807367 Bug 1515746 - [flake8] Unsupport subdir .flake8 files and use new 'per-file-ignores' config instead, r=egao
This removes all .flake8 files except for the one at the root of the repo.
Instead we use the new 'per-file-ignores' config introduced in 3.7. To ignore
specific errors in a subdirectory, add a line like this to the root .flake8:

[per-file-ignores]
    path/to/subdir/*: E100, F200, ...

The reasons for this change are:

1. Unblock flake8 blacklist (bug 1367092).
2. Simplify configuration and code.
3. Encourage more consistent styling.
4. Improve performance.
5. Greater editor consistency.

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

--HG--
extra : moz-landing-system : lando
2019-02-07 20:17:02 +00:00
Andrew Halberstadt a10eff76fa Bug 1515746 - [flake8] Upgrade flake8 and dependencies, r=egao
This bumps flake8 to version 3.7.5.

This also ignores the new lint rules that were added in the new versions.
These rules are de-marked via comment so we know that they should be enabled at
some point (as opposed to the other rules that are (presumably) ignored
intentionally.

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

--HG--
extra : moz-landing-system : lando
2019-02-07 20:16:45 +00:00
Jan Varga d0270542f0 Bug 1525291 - LSNG: Chrome observer notifications for session storage are not distributed to content processes; r=asuth,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D18809
2019-02-06 06:09:57 +01:00
Alex Gaynor 0f01791ffc Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Recv/Answer methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:43 +00:00
Alex Gaynor 984f0333ea Bug 1512990 - Part 3 - remove declarations of Alloc/Dealloc methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Alloc/Dealloc methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:07 +00:00
Alex Gaynor 75c7d1fa76 Bug 1512990 - Part 2 - implement direct calls in the IPDL compiler; r=froydnj
When calling a Recv/Alloc/Dealloc method on most types, cast `this` to the
derived class.

There is a heuristic to figure out what the correct derived type is. There is a
blacklist of types which we can't do direct calls on for the moment, as well as
an override for types that do work with direct calls but which don't match the
heuristic.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:57:37 +00:00
Alex Gaynor 65b8aa873a Bug 1512990 - Part 1 - refactor IPDL compiler to centralize all Recv/Alloc/Dealloc calls on this; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D16491

--HG--
extra : moz-landing-system : lando
2019-02-06 15:57:08 +00:00
Cosmin Sabou 018bd4cbe2 Backed out changeset 300334bd78b3 (bug 1512990) for landing only the first part from a 4 part patch. CLOSED TREE 2019-02-05 23:20:49 +02:00
Alex Gaynor d4e764ec98 Bug 1512990 - Part 1 - refactor IPDL compiler to centralize all Recv/Alloc/Dealloc calls on this; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D16491

--HG--
extra : moz-landing-system : lando
2019-02-05 18:46:17 +00:00
Jed Davis bcff2dd108 Bug 1487287 - Synchronize GeckoChildProcessHost destruction with launching. r=mccr8
In order to enable asynchronous launch, destruction of
GeckoChildProcessHost (and its subclasses) has to be delayed until after
launching (or anything else that might be made asynchronous in the
future) has completed, to prevent use-after-free.  However, there are
other dependencies on process hosts always being destroyed on the I/O
thread, so refcounting would be difficult to use.

Instead, GeckoChildProcessHost now may not be destroyed directly, but
must go through a method that handles the scheduling.

There are also some minor cleanups to the affected headers (removed
duplicate access modifiers, and made PluginProcessParent final).

Depends on D18010

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

--HG--
extra : moz-landing-system : lando
2019-02-05 00:15:20 +00:00
Jed Davis 8881b3994e Bug 1521003 - Fix the IPDL unit test build after auto-reformatting broke it. r=Ehsan
This file has text-substitution placeholders that aren't part of normal
C++ syntax; they were broken by auto-inserted whitespace.  This patch
restores the original formatting and protects them from further change.

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

--HG--
extra : moz-landing-system : lando
2019-02-05 00:15:12 +00:00
Alex Gaynor 9022c68576 Bug 1524129 - don't allow accidentally passing actors via the wrong managing actor in IPDL messages; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D18263

--HG--
extra : moz-landing-system : lando
2019-02-01 22:06:59 +00:00
Nathan Froyd 8ab00b3379 Bug 1522599 - make the logic for cxxTypeNeedsMove more straightforward; r=Alex_Gaynor
Nested conditionals are hard to read; separating things out should make
the flow somewhat more obvious.
2019-01-24 16:31:59 -05:00
Cosmin Sabou 7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Greg Tatum 7042c8f1c3 Bug 1520526 - Add categories to all profiler markers; r=mstange
This commit adds categories to all markers. This way the profiler's
marker categories and frame label categories agree. There are a few
duplicate category properties on some of the marker payloads, but
this could be cleaned up in a follow-up if needed.

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

--HG--
extra : moz-landing-system : lando
2019-01-18 15:40:15 +00:00
Michael Froman c475e5754c Bug 1514874 - start RDD process on-demand r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D15775

--HG--
extra : moz-landing-system : lando
2019-01-12 04:51:20 +00:00
Cosmin Sabou af0ac088e5 Backed out changeset 8d953c25fdef (bug 1514874) for windows asan mda failures on RemoteDecoderModule.cpp. 2019-01-11 02:03:38 +02:00
Michael Froman 1a75356195 Bug 1514874 - start RDD process on-demand r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D15775

--HG--
extra : moz-landing-system : lando
2019-01-10 18:35:06 +00:00
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Andrea Marchesini 647b040b0f Bug Bug 1515272 - Get rid of nsIURIClassifier.classifyLocal(), r=dimi, r=froydnj 2019-01-04 14:46:30 +01:00
Alex Gaynor 4c0405ba26 Bug 1515770 - don't generate commented-out skeleton implementations of IPDL protocols; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D15141

--HG--
extra : moz-landing-system : lando
2018-12-21 15:03:26 +00:00
Alex Gaynor 1adfd46980 Bug 1514320 - delete dead code in the IPDL compiler based on coverage; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D14600

--HG--
extra : moz-landing-system : lando
2018-12-19 18:01:44 +00:00
Alex Gaynor bf8eaa16e8 Bug 1515170 - in the IPDL compiler, don't use 'is' for comparing strings; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D14889

--HG--
extra : moz-landing-system : lando
2018-12-18 20:58:09 +00:00
Alex Gaynor b132b348d1 Bug 1514884 - Part 2 - convert the remaining fields in the IPDL compiler from ints to bools; r=nika
Depends on D14790

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

--HG--
extra : moz-landing-system : lando
2018-12-18 18:47:11 +00:00
Alex Gaynor 1fced99467 Bug 1514884 - Part 1 - clarify refs vs. rvalrefs in the IPDL compiler; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D14790

--HG--
extra : moz-landing-system : lando
2018-12-18 18:45:33 +00:00
Alex Gaynor 9ab68ebc8e Bug 1514225 - remove unused functionality from ExprCast AST node in IPDL; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D14551

--HG--
extra : moz-landing-system : lando
2018-12-14 20:59:45 +00:00
Sylvestre Ledru 6f45c666bc Bug 1513205 - Also update the tests to match the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2018-12-14 18:10:35 +00:00
Alex Gaynor 56e2d0f48d Bug 1512673 - convert several fields in the IPDL compiler from integers to bools; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13981

--HG--
extra : moz-landing-system : lando
2018-12-13 15:45:25 +00:00
Alex Gaynor 483d20764e Bug 1513034 - delete dead code from IPDL's lower.py identified by coverage; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D14091

--HG--
extra : moz-landing-system : lando
2018-12-12 14:59:37 +00:00
Dorel Luca cbad78f7c3 Backed out changeset 985505cc1347 (bug 1512673) for build bustage. CLOSED TREE
--HG--
extra : amend_source : 42af9870b9a3d5aa78290b79c8c93c39ca2738db
2018-12-12 00:14:25 +02:00
Alex Gaynor effad83dac Bug 1512673 - convert several fields in the IPDL compiler from integers to bools; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13981

--HG--
extra : moz-landing-system : lando
2018-12-11 21:16:11 +00:00
Alex Gaynor 79c450dbdb Bug 1513073 - make the IPDL compiler's code python3 syntax friendly; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D14102

--HG--
extra : moz-landing-system : lando
2018-12-11 18:12:22 +00:00