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

5187 Коммитов

Автор SHA1 Сообщение Дата
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
James Willcox f4b85965af Bug 1354200 - Exit instead of MOZ_CRASH on channel error in child process r=jld
Android mercilessly kills the parent in low memory situations, and we
don't want that to trigger a crash when the child is abruptly
disconnected.

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

--HG--
extra : moz-landing-system : lando
2019-01-10 22:45:44 +00:00
Coroiu Cristina 1468575650 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2019-01-10 23:45:07 +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
Jed Davis 3e70bf3ff1 Bug 1487287 - Move child process launch off the I/O thread. r=mccr8
Launching processes takes enough time that we should avoid blocking the
parent process's IPC I/O thread for it; it's less bad for responsiveness
than blocking the main thread, but it's not good.

On Windows we need to use a dedicated thread, because the sandbox isn't
thread-safe and it asserts that the same thread is used for every
launch.  Otherwise, a thread pool is used.  (Or, in the Web Replay
middleman process, where there isn't enough of XPCOM for any of this,
launching the actual content processes remains on the I/O thread.)

Depends on D15886

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

--HG--
extra : moz-landing-system : lando
2019-01-09 02:52:10 +00:00
Jed Davis 3fe8a630c1 Bug 1487287 - Set profiler env vars in child processes without side-effecting the parent process. r=mstange
We can directly set environment variables for the child process on
all platforms now, instead of changing the parent's environment and
inheriting the changes.  This simplifies memory management, but more
importantly it's necessary for thread safety to allow launching
processes from a thread pool.

Depends on D8944

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

--HG--
extra : moz-landing-system : lando
2019-01-08 23:53:36 +00:00
Nathan Froyd 9cd04a84de Bug 1514044 - part 3 - update nsICrashService process constants and add checks for them; r=gsvelto 2019-01-10 10:52:51 -05:00
Nathan Froyd a6f22e88be Bug 1514044 - part 2 - change CrashReporterHost to use GeckoProcessTypes.h; r=gsvelto 2019-01-10 10:52:51 -05:00
Nathan Froyd 99da46a21c Bug 1062533 - part 3 - use StaticMutex for NowSingleton to work around the leak checker; r=mccr8 2019-01-09 11:09:24 -04:00
Nathan Froyd 0ab4c8b63c Bug 1062533 - part 2 - use StaticMutex for PipeMap to workaround the leak checker; r=mccr8 2019-01-09 11:09:25 -04:00
Nathan Froyd 27ac7aed45 Bug 1062533 - part 1 - convert easy cases of chromium IPC locks to mozilla mutexes; r=mccr8
Other cases will require some special handling.
2019-01-09 11:09:25 -04:00
Dave Townsend 4e82401311 Bug 1515863, r=valentin,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D15728

--HG--
extra : rebase_source : 2e1c705dd97d458080387896fd7a1f0e88523e06
2018-04-11 12:52:47 -07:00
Jacek Caban cea794a811 Bug 1430149 - Fix AsyncInvoker.h compilation on mingw. r=aklotz
MozReview-Commit-ID: FIswvwMzGdC

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

--HG--
extra : moz-landing-system : lando
2019-01-07 21:52:57 +00:00
David Major 3ccc14bcb1 Bug 1514592: Don't call RpcExceptionCode if we don't HAVE_SEH_EXCEPTIONS. r=aklotz 2019-01-07 17:58:45 -05:00
Jeff Walden a128f0c35c Bug 1517624 - Move JSPropertySpec and JSFunctionSpec definitions into a new js/public/PropertySpec.h header. r=arai
--HG--
extra : rebase_source : b80911e01f984ee9f99fbbc6c4552ef3d2178587
2019-01-03 15:37:01 -06:00
Jeff Walden d084a5e469 Back out f8a29b8bb211, d1267711aef0, df1b7a886a9d, 0f6a3dd2c2f7, e6628922b7be, 0a374ac233cd, cf00fd0f080c, 6fc24c4e7798, ab2e4a2e5dd2, 2d17e4ef5e71, 4a8940073f8c, ea3ab4b83152, c7577c232591, e58454c68f0f, and 0e39815d1bce for breaking a single Android J10 and nothing else. (That J10 task must not like deck chairs...) r=bustage
--HG--
extra : rebase_source : f02dabe3ece7955cb223313d3605b825560c62b1
2019-01-04 16:33:01 -06:00
Jeff Walden 87aba62a4a Bug 1517624 - Move JSPropertySpec and JSFunctionSpec definitions into a new js/public/PropertySpec.h header. r=arai 2019-01-03 15:37:01 -06:00
Nathan Froyd 4efee8a5f1 Bug 1517567 - remove unused FILETIME-related functions from chromium ipc; r=jld
This removes one include of windows.h, which is nice.
2019-01-04 09:13:05 -05: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
Gabriele Svelto a962c06211 Bug 1511557 - Do not leak the pipe used for sending crash annotations when hitting errors during startup r=jld
Differential Revision: https://phabricator.services.mozilla.com/D14744

--HG--
extra : moz-landing-system : lando
2018-12-19 15:29:09 +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
Bogdan Tara 91d742d138 Merge inbound to mozilla-central. a=merge 2018-12-19 06:50:57 +02: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
Razvan Maries 1fcf888246 Backed out changeset 15f8b27f1305 (bug 1511557) for build bustages on a CLOSED TREE.
--HG--
extra : rebase_source : a1303dfa4c9475ea43f2fedfa2031c455d8bab7a
extra : amend_source : d11c65e735d78a8d7b70c1be52439ad61904ccd5
2018-12-14 11:54:33 +02:00
Gabriele Svelto b177dcc7d5 Bug 1511557 - Do not leak the pipe used for sending crash annotations when hitting errors during startup r=jld
Differential Revision: https://phabricator.services.mozilla.com/D13999

--HG--
extra : moz-landing-system : lando
2018-12-14 02:47:03 +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
Bob Owen 3018ba4863 Bug 1497749: Get hello message from channel ID when pipe handle passed. r=jld 2018-12-18 14:26:26 +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
Jean-Yves Avenard 48517afae6 Bug 1512298 - Make IPDL MozPromise exclusive. r=gerald,froydnj
MozPromise most common use is to have an single or exclusive listener. By making the MozPromise generated by IPDL exclusive we can also use move semantics.

While at it, we also use move semantics for the ResponseRejectReason and via the callback's reject method so that the lambda used with the MozPromise::Then can be identical to the one used by the IPDL callback.
As it currently is, it provides no advantage over a copy as it's just an enum; however, this will facilitate future changes where it may not be.

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

--HG--
extra : moz-landing-system : lando
2018-12-11 19:22:26 +00:00
Ted Campbell 57f49debb6 Bug 1511672 - Fix dependent base lookups in AsyncInvoker.h r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D13633

--HG--
extra : moz-landing-system : lando
2018-12-06 16:34:17 +00:00
Sylvestre Ledru ad75e912fb Bug 1512961 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2018-12-10 19:23:16 +00:00
Alex Gaynor 80387730b1 Bug 1512455 - removed some dead code from the IPDL compiler; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13922

--HG--
extra : moz-landing-system : lando
2018-12-06 20:27:04 +00:00
Nika Layzell e1e08d3d11 Bug 1512085 - Don't overlap IDs between content and middleman process, r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D13763
2018-12-05 10:18:46 -05:00
Nika Layzell c82214c322 Bug 1509362 - Don't crash when constructing actor during content shutdown, r=jld
When shutting down a content process, we call `Close` on the
`IToplevelProtocol`. This causes the MessageChannel to be `Close`-ed,
which in turn sends a `GOODBYE_MESSAGE`:
https://searchfox.org/mozilla-central/rev/876022232b15425bb9efde189caf747823b39567/ipc/glue/MessageChannel.cpp#2852

This message is intercepted on the I/O thread in the content process,
before any code is informed in content, and used to set the
`mChannelState` property to `ChannelClosing`:
https://searchfox.org/mozilla-central/rev/876022232b15425bb9efde189caf747823b39567/ipc/glue/MessageChannel.cpp#1176

Once this state has been set, which is performed as soon as the
message is received, whether or not other messages have been processed
yet, no messages can be sent back to the parent process. This is
usually what causes the 'Too late to send/recv' message spam in the
console, as we're still trying to send messages at this time.

Usually this is fine - the message send fails, but we gracefully
recover, and the process begins shutting down like normal.
Unfortunately, child actor constructors currently have code
automatically generated in them which causes a process crash if the
send fails. As it's impossible for the main thread to know that the
channel has been closed ahead of time (due to this happening
out-of-band), we can then cause random content process crashes
during shutdown due to actor construction.

Unfortunately, we can't just destroy the actor, as our caller may
(and often do) depend on the actor reference they gave us still being valid
after calling Send*Constructor. Fortunately, if a message send failed, it means
we're in the process of being shut down.

This patch handles this by ignoring ctor send errors, and treating them like
messages which successfully were queued to send, but got lost due to the other
side hanging up. The actor will be gracefully destroyed in DestroySubtree when
its manager is destroyed.

Differential Revision: https://phabricator.services.mozilla.com/D12695
2018-12-05 10:18:41 -05:00
Nika Layzell b4954ede43 Bug 1500944 - Part 1: Store the set of active WindowGlobalParent objects in ChromeBrowsingContext, r=farre
This allows getting the set of all window globals for a given browsing context.
This is less useful at the moment as the active window global is not exposed as
such. That will be added as a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D9393
2018-12-05 10:18:33 -05:00
Nika Layzell 4e07a0c5f9 Bug 1487249 - Part 3: Add the WindowGlobal actor representing a single window global, r=bzbarsky
This actor can be used for communicating with individual frames, without
depending on walking the tree in the content process.

This is not yet complete. No tests have been written for it, the
WindowGlobalParent objects need to be exposed to chrome JS, and a form of JS
actors should be installed under them.

In addition, BrowsingContextChrome objects should be updated to allow access to
the current WindowGlobalParent in that context.

Differential Revision: https://phabricator.services.mozilla.com/D4623
2018-12-05 10:18:31 -05:00
Nika Layzell 8791515adb Bug 1487249 - Part 2: Add a new PInProcess actor to manage intra-thread actors, r=mccr8
This will be useful as a basis for asynchronous actors which would like to exist
both when crossing the process boundary (managed by PContent), and when
displaying an in-process window.

Differential Revision: https://phabricator.services.mozilla.com/D4622
2018-12-05 10:18:29 -05:00
Nika Layzell 54f24a9804 Bug 1487249 - Part 1: Allow MessageChannel objects to be created within a thread, r=mccr8
To create a more generic interface for interacting both within the main thread
of the parent process and between the parent and child processes, it would be
nice to support IPDL actors within the main thread of the parent process. This
requires the underlying MessageChannel actor to support intra-thread links.

This change adds support for intra-thread links to the underlying MessageChannel
object using ThreadLink, and an extra boolean flag.

Differential Revision: https://phabricator.services.mozilla.com/D4620
2018-12-05 10:18:28 -05:00
Andrea Marchesini 7f4916b08b Bug 1508310 - Implement Report-to header support - part 6 - Remove endpoints, r=smaug 2018-12-01 21:26:09 +01:00
Andrea Marchesini ace9fa800a Bug 1508310 - Implement Report-to header support - part 4 - IPC to get endpoint from content process, r=smaug 2018-12-01 21:26:09 +01:00
Jan Varga 811dea257a Bug 1511468 - make OnChannelReceivedMessage unconditionally defined; r=froydnj 2018-11-30 22:23:30 +01:00
Tooru Fujisawa 7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00