Commit Graph

4709 Commits

Author SHA1 Message Date
James Teh
a26d4b939e Bug 1434822 part 2: mscom: Add a function to disconnect all remote clients associated with a given target. r=aklotz
Because Interceptors disable COM garbage collection to improve performance, they never receive Release calls from remote clients.
If the object can be shut down while clients still hold a reference, this function can be used to force COM to disconnect all remote connections (using CoDisconnectObject) and thus release the associated references to the Interceptor, its target and any objects associated with the HandlerProvider.
A HandlerProvider::DisconnectHandlerRemotes method also had to be added to allow HandlerProviders to disconnect clients for their own objects.

MozReview-Commit-ID: JaxEkOtrP1M

--HG--
extra : rebase_source : bc7a4ab79458eaaddcef8df74ff4d6f685fbfdce
extra : histedit_source : 087f17f09a0c0e1c8e3b5f6d9690f331c15f0b95
2018-02-19 16:08:57 +10:00
James Teh
16bde7a2f5 Bug 1434822 part 1: Disable COM ping functionality for our parent process instead of for external processes. r=aklotz
MozReview-Commit-ID: 2ayfzIxh8Lo

--HG--
extra : rebase_source : 59e0d9d4a15bd6b714600558bebda4e2add08201
extra : histedit_source : d068b57d9706d4b0cc3e32e7e575f441f3e23a9c
2018-02-01 15:42:24 +10:00
James Teh
a6bf63dc6e Bug 1442523: mscom::Interceptor: Don't dispatch QI calls to the main thread while creating a marshaler. r=aklotz
COM queries for special interfaces such as IFastRundown when creating a marshaler.
We don't want these being dispatched to the main thread, since this would cause a deadlock on mStdMarshalMutex if the main thread is also querying for IMarshal.

MozReview-Commit-ID: EQcN8Zhewjh

--HG--
extra : rebase_source : 40c39edce139f66fdb43b539b1d6fb0acb00d755
2018-03-06 17:08:15 +10:00
Gurzau Raul
185d1fcf42 Backed out 7 changesets (bug 1442255) for failing c1 tests on mochitest/test_browserElement_inproc_PurgeHistory.html
Backed out changeset 208c4c42f641 (bug 1442255)
Backed out changeset 6a794e14fceb (bug 1442255)
Backed out changeset 62d1c57c37b4 (bug 1442255)
Backed out changeset 5d0f72867f53 (bug 1442255)
Backed out changeset c3305648ad30 (bug 1442255)
Backed out changeset 08f906f3a0c8 (bug 1442255)
Backed out changeset d7a43e59a1b4 (bug 1442255)
2018-03-06 17:08:57 +02:00
Jim Chen
9b7b3f4565 Bug 1442255 - 7. Switch the order of fd arguments; r=jchen
Switch the order of the IPC FD argument and the crash FD argument in
e10s calls, because the IPC FD is the primary FD, and the crash FD
should be grouped with the crash annotation FD.

MozReview-Commit-ID: CAVyYAIIBPm

--HG--
extra : rebase_source : 02bf7337fa9a6d1194809c224acb4a2690fd87a3
2018-03-06 00:04:56 -05:00
Cosmin Sabou
ed1b2a8736 Backed out 4 changesets (bug 1437167) for build bustages on nsUpdateDriver.cpp and WindowsMessageLoop.cpp on a CLOSED TREE.
Backed out changeset b98740e7c639 (bug 1437167)
Backed out changeset 4476e8f51fa6 (bug 1437167)
Backed out changeset c79dc40faa41 (bug 1437167)
Backed out changeset b608d2dcbb86 (bug 1437167)
2018-03-06 00:09:46 +02:00
Nika Layzell
7d5a04f0fb Bug 1437167 - Part 4: Spell CVStatus correctly on a CLOSED TREE, a=bustage
MozReview-Commit-ID: I4t8OtmxjDa
2018-03-05 16:47:29 -05:00
Nika Layzell
801a4a8d1a Bug 1437167 - Part 3: Fix some platform-specific consumers of the Monitor::Wait APIs on a CLOSED TREE, a=bustage
MozReview-Commit-ID: FymGvwEtZRk
2018-03-05 16:31:18 -05:00
Nika Layzell
bfb9a07251 Bug 1440771 - Part 1: Add a ParamTraits impl for nsCOMPtr<nsIInputStream>, r=baku
MozReview-Commit-ID: dfZJH1cWnW
2018-03-05 16:00:05 -05:00
Nika Layzell
e282bb0ee4 Bug 1440511 - Part 12: Remove the now-unused per-actor pickling code, r=froydnj
MozReview-Commit-ID: 5ASQu4ly0od
2018-03-05 16:00:04 -05:00
Nika Layzell
b8ffcd26b0 Bug 1440511 - Part 11: Switch to calling IPDLParamTraits directly when pickling and unpickling messages, r=froydnj
MozReview-Commit-ID: 1t4oIp5JWcU
2018-03-05 16:00:04 -05:00
Nika Layzell
4cfd1b17fa Bug 1440511 - Part 10: Implement IPDLParamTraits for IPDL generated types, r=froydnj
MozReview-Commit-ID: 2ljPFJKM9Fg
2018-03-05 16:00:04 -05:00
Nika Layzell
68cee68ee8 Bug 1440511 - Part 9: Correct serialization and deserialization of arrays of Shmem objects, r=froydnj
MozReview-Commit-ID: KEFduw2Pn8r
2018-03-05 16:00:03 -05:00
Nika Layzell
ea516e7fbb Bug 1440511 - Part 7: Include c++ includes in ipdlh generated .cpp files, r=froydnj
This is important as these includes are often used to define ParamTraits
implementations which are needed to serialize struct members and
parameters. The place where the code which uses these implementations
will be moving from the protocol where they are used to the file where
the structs are defined, which means we need to includes these files
there.

MozReview-Commit-ID: H1wqgyv5mel
2018-03-05 16:00:03 -05:00
Nika Layzell
50056699b1 Bug 1440511 - Part 6: Support passing the fq flag to _cxxBareType in more places, r=froydnj
MozReview-Commit-ID: K1lkVr6KdZo
2018-03-05 16:00:02 -05:00
Nika Layzell
acff444d08 Bug 1440511 - Part 5: Move all serialization logic into an IPDLParamTraits impl for Shmem, r=froydnj
MozReview-Commit-ID: DsrfSVPgoo1
2018-03-05 16:00:02 -05:00
Nika Layzell
896117c019 Bug 1440511 - Part 4: Add an IPDLParamTraits implementation for FileDescriptor, r=froydnj
MozReview-Commit-ID: R1CiT5IvAi
2018-03-05 16:00:02 -05:00
Nika Layzell
36059eb187 Bug 1440511 - Part 3: Add IPDLParamTraits which supports passing in an actor when {un,}pickling, r=froydnj
MozReview-Commit-ID: JTsQJ292A09
2018-03-05 16:00:01 -05:00
Nika Layzell
351767a407 Bug 1440511 - Part 2: Support specializations in _splitMethodDefn, r=froydnj
MozReview-Commit-ID: JFYgyUr4I4G
2018-03-05 16:00:01 -05:00
Nika Layzell
262be91f75 Bug 1437167 - Part 1: Stop using PRIntervalTime as the argument to CondVar::Wait and Monitor::Wait, r=mstange, r=froydnj
MozReview-Commit-ID: BN18I8Q6c7S
2018-03-05 16:00:00 -05:00
Nathan Froyd
062f6d980e Bug 1443236 - remove static init and shutdown nsRegion routines; r=kats
These routines are no-ops; let's get rid of them.
2018-03-05 14:06:50 -05:00
Valentin Gosu
34872b6d20 Bug 1441688 - Remove nsIIPCSerializableURI.Deserialize r=mayhemer
MozReview-Commit-ID: 8gwX3vSKWNX

--HG--
extra : rebase_source : a2c21a7e66aa8be3c2e345ca64feea967b380491
2018-03-05 04:14:44 +01:00
James Teh
4e593a1e00 Bug 1440257: Ensure that mscom::MainThreadInvoker gets cleaned up very soon after it finishes executing. r=aklotz
MainThreadInvoker queues both a Gecko runnable and an APC to the main thread to deal with different ways in which the main thread can block.
However, the main thread doesn't check for APCs very often any more.
This means that the APC's reference to the SyncRunnable doesn't get cleaned up for a long time, thus leaking memory.
To work around this, we:
1. Queue an APC wich does the actual work.
2. Post a Gecko runnable (which always runs).
If the APC hasn't run, the Gecko runnable runs it.
Otherwise, it does nothing.

MozReview-Commit-ID: L0P4rMBnlaZ

--HG--
extra : rebase_source : 3af871cf59e94818963e15881217218ef2b42b6c
2018-02-23 10:44:07 +10:00
Bogdan Tara
3c059709aa Backed out changeset c055d7b57071 (bug 1434822) for causing 1442523. a=backout 2018-03-02 11:27:55 +02:00
Bogdan Tara
3cadf78110 Backed out changeset 54526e7c7b6c (bug 1434822) for causing 1442523. a=backout 2018-03-02 11:27:35 +02:00
Sebastian Hengst
118e03a936 merge mozilla-central to mozilla-inbound 2018-03-01 20:32:20 +02:00
James Teh
6fc08ce5ed Bug 1434822 part 2: mscom: Add a function to disconnect all remote clients associated with a given target. r=aklotz
Because Interceptors disable COM garbage collection to improve performance, they never receive Release calls from remote clients.
If the object can be shut down while clients still hold a reference, this function can be used to force COM to disconnect all remote connections (using CoDisconnectObject) and thus release the associated references to the Interceptor, its target and any objects associated with the HandlerProvider.
A HandlerProvider::DisconnectHandlerRemotes method also had to be added to allow HandlerProviders to disconnect clients for their own objects.

MozReview-Commit-ID: JaxEkOtrP1M

--HG--
extra : rebase_source : 2262af8fc3cb1aec8d9c8fc2762f3d61e188cb37
2018-02-19 16:08:57 +10:00
James Teh
5f27445039 Bug 1434822 part 1: Disable COM ping functionality for our parent process instead of for external processes. r=aklotz
MozReview-Commit-ID: 2ayfzIxh8Lo

--HG--
extra : rebase_source : 2ff14410152493c5bcaa4f0e34aa0a67d66a78ed
2018-02-01 15:42:24 +10:00
Stephen A Pohl
562c70ab11 Bug 1423261: Diagnostics patch to obtain more info about the IPC channel state when we expect it to be closed. r=jimm 2018-03-01 11:41:34 -05:00
Csoregi Natalia
166bce1123 Merge inbound to mozilla-central. a=merge 2018-02-24 12:13:21 +02:00
Chris Peterson
4c4286f348 Bug 1330529 - Part 3: Protect DLL loads in wmain instead of waiting until PluginProcessChild::Init. r=jimm
Removing #define XRE_DONT_PROTECT_DLL_LOAD from plugin-container.cpp and xpcshell.cpp allows the #included nsWindowsWMain.cpp to protect DLL loads much earlier in the plugin process startup.

MozReview-Commit-ID: HbgyfvljvFs

--HG--
extra : rebase_source : dccdabb2e5bee4472d5aef9400a58cb0e397c112
extra : histedit_source : da248fc6fbdf96f30979f3a0396aefcf4bfcd5d9
2018-02-02 22:53:34 -08:00
James Teh
b51649c9a4 Bug 1440564: mscom::StructToStream: Free the buffer when destroying the instance. r=aklotz
You'd think that MesHandleFree would free the buffer, since it was created by RPC, but it doesn't.
Therefore, we must free it ourselves using midl_user_free.

MozReview-Commit-ID: 9KzWTngFEEq

--HG--
extra : rebase_source : 6bee3903f619ec1cb1569ebf1df2ddef9da6b901
2018-02-23 20:00:30 +10:00
Alex Gaynor
85d35b3366 Bug 1440034 - fixed reporting of annotations at the time of crashes on GeckoView; r=rbarker
MozReview-Commit-ID: 8thtJe0QmcE

--HG--
extra : rebase_source : 68f2380d1846f4f648ac4146f2d5385ac4923522
2018-02-21 14:37:22 -05:00
Csoregi Natalia
7ec5af04a0 Backed out changeset 3237c9532102 (bug 1440034) for breaking Android builds. CLOSED TREE 2018-02-22 05:37:53 +02:00
Alex Gaynor
bef576f813 Bug 1440034 - fixed reporting of annotations at the time of crashes on GeckoView; r=rbarker
MozReview-Commit-ID: 8thtJe0QmcE

--HG--
extra : rebase_source : 27d0875e412b8dde435af132768fda98bb24ed35
2018-02-21 14:37:22 -05:00
Gurzau Raul
2a77281049 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-02-21 19:30:44 +02:00
Christoph Kerschbaumer
a6c1ffb498 Bug 1434357: Exempt Web Extensions from insecure redirects to data: URIs. r=kmag,mayhemer 2018-02-18 19:52:52 +01:00
Jonathan Kingston
8afc412494 Bug 1435733 - Upgrade mixed display content pref. r=baku,ckerschb,francois,mayhemer
MozReview-Commit-ID: ETIgVF3zhRu

--HG--
extra : rebase_source : e4c59f50584158f4b31527347b10424b56692fa1
2018-02-05 15:37:27 +00:00
Christoph Kerschbaumer
494f074b53 Bug 1432358: Allow certain top-level pages to be agnostic to CSP. r=smaug
--HG--
extra : source : 27527f95cccca4927d4fee56b0dab9af11c5733f
extra : intermediate-source : 2fa11c525da3d0c7ca58a593241c1902f2849528
2018-02-01 14:07:01 +01:00
Chris Peterson
fe5cd3d5d9 Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj
MozReview-Commit-ID: 8pjYjEvQF42

--HG--
extra : rebase_source : 5eb0bea2ef5f06a811b4f3daf57ce8720f12dd07
2018-02-08 21:22:43 -08:00
Chris Peterson
d09123f248 Bug 1436263 - Part 1: Replace final override virtual function specifiers with just final. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D

--HG--
extra : rebase_source : 94831c1e13a840dd2ea0600f64bcf70c2bf938d9
extra : source : cf9283bf1b0bca3a6311c98e227329d451f80ecb
2018-02-05 22:46:57 -08:00
Alex Gaynor
07d1a1f5aa Bug 1438209 - fixed Windows builds with the crashreporter disabled; r=ted
Do not pass command line arguments to child processes that they won't read.

MozReview-Commit-ID: soj1hRygNw

--HG--
extra : rebase_source : 13501d2f12a0be910323465f589386e7c956e41a
2018-02-15 10:07:12 -05:00
Kyle Machulis
e1ca4ed006 Bug 1201590 - WebMIDI Parent/PBackground implementation; r=baku,padenot
MozReview-Commit-ID: Juk7azaIViw

--HG--
extra : rebase_source : 1daa19e385ba04fcfba1eb284442a64ae691a271
2017-11-15 11:19:59 -08:00
Kyle Machulis
584f1f8b59 Bug 1201590 - WebMIDI Content implementation; r=baku,padenot
MozReview-Commit-ID: HmiGV9iqAeM

--HG--
extra : rebase_source : 27ae72adf4997bdc8c0810515165434b08f1d390
2017-11-15 11:18:58 -08:00
Kyle Machulis
a95162b2c3 Bug 1201590 - WebMIDI IPDL files; r=baku
MozReview-Commit-ID: 1b4FSasfZJ4

--HG--
extra : rebase_source : 5a400499ef8100d1454b7dbf3ebc63780dac453a
2017-11-14 22:16:18 -08:00
James Teh
752cda7b26 Bug 1433046: mscom::Interceptor: Don't destroy an aggregated interceptor before releasing its interface. r=aklotz
When an object is aggregated, doing a QI to anything other than IUnknown on the inner object AddRefs the outer object.
Thus, before releasing our reference to the inner IUnknown (and thus destroying it), we *must* release any references to interfaces queried from it.
Otherwise, any pointers to interfaces of the inner object would be invalidated.

MozReview-Commit-ID: KXsA8Sagx6G

--HG--
extra : rebase_source : f1dca4ee71f2ed49c8ba19c12862f2b4f9881fca
2018-02-08 15:53:20 +10:00
James Teh
d557fc0b1d Bug 1431404: Remove some accessibility related diagnostic crashes on Nightly. r=aklotz
These conditions are rare and do indicate a problem which breaks accessibility.
However, we aren't getting any closer to diagnosing these as a result of these crashes, so they cause user pain without any gain to us.

MozReview-Commit-ID: D9U4et3Bg7d

--HG--
extra : rebase_source : a81263a0ef97a8ed87129d15ef30ded3005e740c
2018-02-09 15:28:13 +10:00
Andreea Pavel
3d2179915d Backed out changeset e68169412c0b (bug 1431404) for failing mochitest browser chrome at browser/base/content/test/general/browser_datachoices_notification.js on a CLOSED TREE 2018-02-13 03:28:44 +02:00
James Teh
3f381e616f Bug 1431404: Remove some accessibility related diagnostic crashes on Nightly. r=aklotz
These conditions are rare and do indicate a problem which breaks accessibility.
However, we aren't getting any closer to diagnosing these as a result of these crashes, so they cause user pain without any gain to us.

MozReview-Commit-ID: D9U4et3Bg7d

--HG--
extra : rebase_source : a81263a0ef97a8ed87129d15ef30ded3005e740c
2018-02-09 15:28:13 +10:00
Alex Gaynor
de20b74dc4 Bug 1407693 - Part 2 - when a child process crashes, write extra annotation data to a pre-opened file descriptor instead of creating a new file; r=gsvelto,rbarker
This removes the need for the content process to have permissions to create new
files on macOS, allowing more aggressive sandboxing.

MozReview-Commit-ID: 8agL5jwxDSL

--HG--
extra : rebase_source : 17ebcef3e9d24f3d4e7515e3fae95e65cef76a79
2017-11-27 14:37:34 -06:00