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

28 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Aaron Klotz d0a001f04f Bug 1459085: Prevent mutex reentry in mscom::Interceptor::GetInterceptorForIID; r=Jamie 2018-05-03 22:57:11 -06:00
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 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
Bogdan Tara 3cadf78110 Backed out changeset 54526e7c7b6c (bug 1434822) for causing 1442523. a=backout 2018-03-02 11:27:35 +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
Aaron Klotz 37fc167ff3 Bug 1428759: Remove mutual exclusion from WeakReferenceSupport interface queries; r=Jamie
--HG--
extra : rebase_source : 1626509510d4f6018381b3f183ca40f2085f46d5
2018-01-12 14:17:18 -07:00
Aaron Klotz eb3882c42d Bug 1409538: Add durations to MSCOM log; r=jimm
This patch adds two additional fields to each mscom log entry: The first is
the duration, in microseconds, of time spent in mscom overhead when executing
a call from the MTA on behalf of a remote client.

The second field is the duration, in microseconds, of time spent actually
executing the method within Gecko itself.

(In other words, the sum of the two fields will equal the total duration of
time spent executing the call.)

MozReview-Commit-ID: EhFieEPrhE5
2017-07-25 15:57:18 -06:00
Aaron Klotz 35c65ef535 Bug 1393600: Prevent mismatches between the handler's expected interface and the one being provided by content; r=jimm
MozReview-Commit-ID: 4yQENc7i4LS
2017-09-21 16:53:56 -06:00
Aaron Klotz 5e15da4ff9 Bug 1395329: Modify mscom::Interceptor::Create to properly initialize IUnknown interfaces; r=jimm
MozReview-Commit-ID: 7ZLzpH030Of

--HG--
extra : rebase_source : c49df7205a20c8ef4afbfb31b6cc5f54475179a0
2017-08-30 16:34:43 -06:00
Sebastian Hengst a895d4ae49 Backed out changeset 0eb505a8ac7c (bug 1395329) for Windows static bustage in Interceptor.obj. r=backout 2017-09-01 19:58:06 +02:00
Aaron Klotz 64fc054dc6 Bug 1395329: Modify mscom::Interceptor::Create to properly initialize IUnknown interfaces; r=jimm
MozReview-Commit-ID: 7ZLzpH030Of

--HG--
extra : rebase_source : 24fd48eb72bcee18bbc75a670d0035362dbeb92d
2017-08-30 16:34:43 -06:00
Aaron Klotz 693b60cf9c Bug 1395840: Backed out changeset e7f2eaf99d46 on suspicion of breaking virtual buffers in a11y clients; r=backout 2017-09-01 10:44:41 -06:00
Aaron Klotz 2614073612 Bug 1393600: Prevent mismatches between the handler's expected interface and the one being provided by content; r=jimm
MozReview-Commit-ID: 9DTZHplk4Cz

--HG--
extra : rebase_source : 6c948e34b2bab71ba9a8df21b3d49495e2c9477b
2017-08-24 15:31:02 -06:00
Aaron Klotz 5921c2115b Bug 1393589: Refactor NOPING marshaling into its own class, mscom::FastMarshaler, and use it with IGeckoBackChannel; r=jimm
MozReview-Commit-ID: 9osDoYcvtWV

--HG--
extra : rebase_source : 9ead42f1b0c79f11b15121274a996d33d7ad4830
2017-08-17 15:54:28 -06:00
Georg Koppen 235a9211b1 Bug 1372959 - Fix broken mingw-w64 build with --enable-accessibility. r=aklotz
This is a patch originally proposed by Jacek Caban.

--HG--
extra : rebase_source : 6f4c8049baec67f00484364b36a98d1a583eb2b5
2017-08-09 12:49:45 +02:00
Aaron Klotz 43fe35a023 Bug 1384328: Marshal proxies destined for parent main thread with MSHLFLAGS_NOPING; r=jimm
MozReview-Commit-ID: Jfd4reMNYU0

--HG--
extra : rebase_source : 313b8db3381b730cc06843658b56a9fe9b4fa54c
2017-07-31 16:11:19 -06:00
Aaron Klotz 54a2de515e Bug 1371345: Fix deadlock caused by holding mscom Interceptor live set lock while posting work to the main thread; r=jimm
MozReview-Commit-ID: H6buwB98Bmu
2017-06-08 11:52:53 -06:00
Aaron Klotz b08f42f77d Bug 1367885: Follow-up - remove code that mistakenly landed as part of commit 09894b9ce473; r=backout
MozReview-Commit-ID: 3ORbwx6QFhR

--HG--
extra : rebase_source : a32c7f2b4a471495929b4055ba293826d07c6da2
2017-06-07 14:39:15 -06:00
Aaron Klotz e3fdd6169e Bug 1367885: Add a fast path to mscom Interceptor construction; r=jimm
MozReview-Commit-ID: AmS5oBNV7Po

When creating a new interceptor, we already have the correct target interface.
The interceptor ignores this and does a redundant inter-thread QI to resolve
an interface that we already have!

This patch adds a fast path to interceptor initialization that skips all of that
stuff and directly initializes itself using the given target interceptor.

--HG--
extra : rebase_source : dcfff7270efd5bda990e240bb06a9206656d5852
2017-06-06 18:30:19 -06:00
Aaron Klotz bf041cb767 Bug 1303060: Simplifications to mscom handler code; r=jimm
MozReview-Commit-ID: 5YEVtL8gw6S

--HG--
rename : ipc/mscom/IHandlerPayload.h => ipc/mscom/IHandlerProvider.h
extra : rebase_source : 167f69b591f55228859f3941903f776208f22067
2017-03-27 18:41:06 -06:00
Aaron Klotz 116698fb6b Bug 1344965: Clean up mscom interfaces to improve separation of concerns; r=jimm
MozReview-Commit-ID: C96y3i8hjWs

--HG--
extra : histedit_source : 8cee3ff07ecd0310ac9648d903328d54588d3dde
2017-03-06 17:22:43 -07:00
Aaron Klotz f3fa5ee8d2 Bug 1303060: ipc/mscom changes for handler and payload support; r=jimm
MozReview-Commit-ID: 13NFW1pgxix

--HG--
extra : rebase_source : 18cc11d4c1dc62bc0ee428608f6cb57e32c4d0af
2017-02-17 17:30:03 -07:00
Phil Ringnalda 68316b419c Backed out 2 changesets (bug 1303060) for Windows static-analysis bustage
CLOSED TREE

Backed out changeset 729a1b8c7e47 (bug 1303060)
Backed out changeset 604605ca738c (bug 1303060)
2017-02-22 21:55:15 -08:00
Aaron Klotz af5bd498da Bug 1303060: ipc/mscom changes for handler and payload support; r=jimm
MozReview-Commit-ID: 13NFW1pgxix

--HG--
extra : rebase_source : 18cc11d4c1dc62bc0ee428608f6cb57e32c4d0af
2017-02-17 17:30:03 -07:00
Ting-Yu Chou 76cef3b73d Bug 1322460 - Don't addref/release on the return value of prohibited functions. r=aklotz,Ehsan
MozReview-Commit-ID: B0mAMZp5sll

--HG--
extra : rebase_source : fb5e25352089e26172189b9c4f2be8c5553fa5a8
2016-12-14 14:34:26 +08:00
Aaron Klotz 63a3869bb8 Bug 1298412: Fix Interceptor construction to use Move semantics for STAUniquePtr instead of pass-by-reference; r=jimm
MozReview-Commit-ID: 8DzeT35Ao4O

--HG--
extra : rebase_source : 14a94903843e54c1c4a4b6c980805ed37d878911
2016-08-26 10:03:17 -06:00
Aaron Klotz 76d0ed29d4 Bug 1263224: Adds COM interception that allows us to proxy COM invocations; r=jimm
MozReview-Commit-ID: 7dp0Jokg0X3

--HG--
extra : rebase_source : 6c8e2a85b896dbb143dfc5ecd8088b24524689d7
2016-07-27 11:44:56 -06:00