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

5238 Коммитов

Автор SHA1 Сообщение Дата
Jan Varga 01b23e7ba8 Bug 1517089 - Part 4: Send an async IPC message instead of dispatching a runnable to the PBackground thread when clearing private browsing; r=asuth 2019-02-07 19:51:16 +01: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
Christoph Diehl 71c9cfa479 Bug 1520873: Support IPC fuzzer Faulty to run on Windows r=Alex_Gaynor
This is a supplement to further increase coverage of IPC fuzzing and to fulfill support for Faulty on all platforms.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 19:08:48 +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
Razvan Maries f86459d5dc Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-05 18:59:13 +02:00
Nathan Froyd 0724cee7fb Bug 1525031 - part 4 - remove nsILabelableRunnable; r=mccr8
This class is now a no-op class, and we don't need it anymore.
2019-02-04 15:33:49 -05:00
Nathan Froyd c073d37828 Bug 1525031 - part 3 - remove IToplevelProtocol::GetMessageSchedulerGroups; r=mccr8
The previous patch removed the only caller of this method, so now we can
remove the method itself.
2019-02-04 15:33:49 -05:00
Nathan Froyd 6bab6786bf Bug 1525031 - part 2 - remove nsILabelableRunnable::GetAffectedSchedulerGroups; r=mccr8
The previous patch removed the only caller of this method, so we can now
remove the method itself.
2019-02-04 15:33:49 -05: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
Jed Davis 0c72babf4f 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 D18011

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

--HG--
extra : moz-landing-system : lando
2019-02-05 00:15:22 +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
Andrea Marchesini be2551ab2c Bug 1523702 - Max IPC message size for InputStream serialization, r=smaug
The total size of an IPC inputStream message must be less than 1mb. When we
compose the message for the multiplex stream, each sub stream collaborates with
its own size, deciding if it's better to be a pipe stream (IPCRemoteStream) or
a full serialized one.

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

--HG--
extra : moz-landing-system : lando
2019-02-04 22:50:51 +00:00
Sylvestre Ledru 14486004b6 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-04 19:10:18 +00:00
Alex Gaynor ab9183b396 Bug 1513687 - remove chromium's random code from IPC in favor of our own; r=froydnj
This includes deleting several unused functions. Our own code does a better job
of using the preferred platform APIs for random numbers.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 21:37:11 +00:00
Bob Owen 2f9e2d054c Bug 1511438 Part 1: Replace ProcessTypeRequiresWinEventHook with XRE_Win32kCallsAllowed. r=froydnj
ProcessTypeRequiresWinEventHook was added when attempting to turn on win32k
lockdown for GMP processes. Having a less specific, but globally accessible,
function will make it more useful while applying win32k lockdown to other
process types.
2019-01-29 08:49:13 +00:00
Andrea Marchesini 931c1560cf Bug 1520150 - Single InputStreams can serialize themselves as IPCRemoteStreams (pipe) - part 3 - pipe for string and storage streams, r=smaug 2019-01-28 10:49:28 +01:00
Andrea Marchesini c0dfa196ce Bug 1520150 - Single InputStreams can serialize themselves as IPCRemoteStreams (pipe) - part 2 - IPCRemoteSteam part of InputStreamParams union, r=smaug
Before this patch, IPCStream was an union containing IPCRemoteSteam or an
InputStreamParamsWithFds. Now InputStreamParamsWithFds is renamed IPCStream and
IPCRemoteSteam is one of the possible InputStreamParams structs.
2019-01-28 10:49:13 +01:00
Andrea Marchesini 0499bad916 Bug 1520150 - Single InputStreams can serialize themselves as IPCRemoteStreams (pipe) - part 1 - Passing IPC managers around, r=smaug
Before this set of patches, the decision of exposing the stream as a pipe was
centralized in IPCStreamUtils, based on the total expectation size of the IPC
message. This triggers issues when multiplex inputStreams contain something
that cannot be sent as a pipe (IPCBlobInputStream, for instance), or something
that it's better to do not set as a pipe (nsFileInputStream), together with
memory streams (nsStringInputStream), which could make the IPC message greater
then what accepted (1mb).

These patches move the "pipe vs non-pipe" choice into the single inputStream
implementation.
2019-01-28 10:48:35 +01:00
Ehsan Akhgari 7426dccfc0 Bug 1522596 - Remove nsIIPCSerializableURI and move its only member to nsIURI; r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D17531

--HG--
extra : moz-landing-system : lando
2019-01-25 13:32:36 +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
Ciure Andrei c035ee7d3a Merge inbound to mozilla-central. a=merge 2019-01-24 05:44:33 +02:00
Nika Layzell 9b4bbc17fd Bug 1467223 - Part 2: Add BrowsingContextID to LoadInfo, r=valentin
This is handy when performing process swaps, as it provides useful & important
information to parent-process callers.

Depends on D15608

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

--HG--
extra : moz-landing-system : lando
2019-01-23 21:06:59 +00:00
Nathan Froyd 54d71bdb59 Bug 1521801 - fix process type annotation for content process crashes; r=gsvelto 2019-01-23 08:51:32 -05:00
Sylvestre Ledru 0b4021fcad Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl
# ignore-this-changeset

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

--HG--
extra : histedit_source : 084f340503d2e1a2d9e1753c38b2c4ee9c7819f3
2019-01-21 18:18:16 +01:00
Cosmin Sabou 7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Gijs Kruitbosch bc65d4cf7f Bug 1519074 - delay deserializing some CSP info until necessary, r=bzbarsky,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D16794

--HG--
extra : moz-landing-system : lando
2019-01-19 00:15:13 +00:00
Andreea Pavel 600eb759a4 Backed out changeset a69c1a1dc6fe (bug 1519074) for build bustages on a CLOSED TREE 2019-01-19 00:08:59 +02:00
Gijs Kruitbosch 8e2cad84f0 Bug 1519074 - delay deserializing some CSP info until necessary, r=bzbarsky,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D16794

--HG--
extra : moz-landing-system : lando
2019-01-18 17:17:32 +00: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
Sylvestre Ledru 47a5dd1fb8 Bug 1519636 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-01-16 08:50:07 +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
Nathan Froyd 221438b032 Bug 1518923 - simplify subprocess handle duplication logic in PerformAsyncLaunch; r=bobowen
Avoiding handle duplication for certain kinds of processes and allowing
it for everything else seems to be what we're already doing, so let's
make it easier to add new process types with that scheme in mind.
2019-01-14 11:01:48 -05:00
Brian Hackett c78acc3d0e Bug 1519728 - Fix problem passing file handles to recording process, r=kershaw.
--HG--
extra : rebase_source : 4bc58da9257790ac83c56941e3f836c9039917fb
2019-01-14 05:12:40 -10: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
Kershaw Chang 621b98340a Bug 1513057 - P6: Create Background between content process and socket process r=dragana,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D14348

--HG--
extra : moz-landing-system : lando
2019-01-11 20:56:39 +00:00
Kershaw Chang 9973068a10 Bug 1513057 - P1.1: Create a reusable class to pass prefs to child processes r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D14970

--HG--
extra : moz-landing-system : lando
2019-01-11 18:39:22 +00:00
Kershaw Chang 0b336d5545 Bug 1513057 - P1: Start the new socket process basics (prefs, full xpcom init, logging, no sandboxing) r=mayhemer,dragana
Differential Revision: https://phabricator.services.mozilla.com/D14148

--HG--
extra : moz-landing-system : lando
2019-01-11 18:57:23 +00:00
Andreea Pavel 21ad33d612 Backed out 10 changesets (bug 1513057) for build bustages on a CLOSED TREE
Backed out changeset 56329b5f1844 (bug 1513057)
Backed out changeset 46411c5de3da (bug 1513057)
Backed out changeset de65c456aad6 (bug 1513057)
Backed out changeset f648b5f1a7c2 (bug 1513057)
Backed out changeset 460bbf0849e1 (bug 1513057)
Backed out changeset 86032a14d26f (bug 1513057)
Backed out changeset a81f83df08d5 (bug 1513057)
Backed out changeset edbda5ee5fd5 (bug 1513057)
Backed out changeset c900ac2519f5 (bug 1513057)
Backed out changeset 4e94bbb90315 (bug 1513057)
2019-01-11 17:02:44 +02:00
Kershaw Chang 1c5e5caaaf Bug 1513057 - P6: Create Background between content process and socket process r=dragana,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D14348

--HG--
extra : moz-landing-system : lando
2019-01-11 13:30:09 +00:00
Kershaw Chang 99fe2d101a Bug 1513057 - P2: Setup crash reporter on socket process r=dragana,mayhemer
This patch is quite straightforward. Just add socket process support.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 13:26:56 +00:00
Kershaw Chang d0f8c9de61 Bug 1513057 - P1.1: Create a reusable class to pass prefs to child processes r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D14970

--HG--
extra : moz-landing-system : lando
2019-01-11 14:12:53 +00:00
Kershaw Chang 0c2943008a Bug 1513057 - P1: Start the new socket process basics (prefs, full xpcom init, logging, no sandboxing) r=mayhemer,dragana
Differential Revision: https://phabricator.services.mozilla.com/D14148

--HG--
extra : moz-landing-system : lando
2019-01-11 14:07:47 +00:00
Daniel Varga f0a9c979bb Merge mozilla-inbound to mozillia-central. a=merge 2019-01-11 06:14:14 +02: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