Commit Graph

97 Commits

Author SHA1 Message Date
Gabriele Svelto
06fe6b48fc Bug 1784039 - Remove the isLikelyOOM property from ipc:content-shutdown messages r=jld
Differential Revision: https://phabricator.services.mozilla.com/D154226
2022-09-13 07:01:57 +00:00
Gabriele Svelto
80815ea670 Bug 1789421 - Generate crash reports for content process shutdown hangs only when we can confirm that the process did not shut down in time r=jstutte
Differential Revision: https://phabricator.services.mozilla.com/D156838
2022-09-12 19:05:24 +00:00
Butkovits Atila
3f65a9c3c6 Backed out changeset bff57b2e4b16 (bug 1789421) for causing build bustage. CLOSED TREE 2022-09-12 12:37:57 +03:00
Gabriele Svelto
51840835a6 Bug 1789421 - Generate crash reports for content process shutdown hangs only when we can confirm that the process did not shut down in time r=jstutte
Differential Revision: https://phabricator.services.mozilla.com/D156838
2022-09-12 08:57:16 +00:00
Alexandre Lissy
da289a4f44 Bug 1726804 - Refactor PROCESS_TYPE_* from nsICrashService r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D121389
2021-11-19 14:02:56 +00:00
Alexandre Lissy
705537c6ee Bug 1726804 - Refactor definition and usage of GECKO_PROCESS_TYPE() r=nika,firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D121388
2021-11-19 14:02:55 +00:00
Alexandru Michis
5ec481c57b Backed out 2 changesets (bug 1726804) for causing sm bustages in geckoprocesstypes.
CLOSED TREE

Backed out changeset bf7f73fd1921 (bug 1726804)
Backed out changeset c9936f7534cb (bug 1726804)
2021-11-19 11:40:59 +02:00
Alexandre Lissy
4a48b7a40c Bug 1726804 - Refactor PROCESS_TYPE_* from nsICrashService r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D121389
2021-11-19 08:33:43 +00:00
Alexandre Lissy
53c5d162cd Bug 1726804 - Refactor definition and usage of GECKO_PROCESS_TYPE() r=nika,firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D121388
2021-11-19 08:33:42 +00:00
Gabriele Svelto
bc43c4ccff Bug 1723934 - Remove old and useless crash annotations r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D121709
2021-08-09 20:08:17 +00:00
Nika Layzell
6803a1558b Bug 1706375 - Support building ipc/glue in non-unified mode, r=ipc-reviewers,mccr8
This both helps IDE integration and will help avoid build issues which would've
otherwise cropped up when adding new files to the directory for bug 1706374.

Differential Revision: https://phabricator.services.mozilla.com/D112764
2021-04-22 14:32:03 +00:00
David Parks
ed87a30f8a Bug 1682030 - Remove NPAPI plugin process from GeckoChildProcess r=jld,gsvelto
Eliminates the NPAPI plugin process type from the GeckoChildProcess enum as part of NPAPI removal.  In order to avoid altering enum values when updating the process list, the GECKO_PROCESS_TYPE macro has been updated to include the desired enum value.  We want to resist altering the values as they need to be consistent e.g. in telemetry reports.

We also remove plugins from adjacent spots that need to maintain consistency with GeckoChildProcess -- most notably the nsICrashService.

Differential Revision: https://phabricator.services.mozilla.com/D108689
2021-04-06 19:28:20 +00:00
Csoregi Natalia
c1ab4757eb Backed out 24 changesets (bug 1682030) for bustage on ProcessHangMonitor.cpp and nsCOMPtr.h. CLOSED TREE
Backed out changeset 5b1644096477 (bug 1682030)
Backed out changeset 35ae60eea3c7 (bug 1682030)
Backed out changeset 3eca76a6d639 (bug 1682030)
Backed out changeset 259c45447ad9 (bug 1682030)
Backed out changeset de9222dc8c31 (bug 1682030)
Backed out changeset 2986c7e14349 (bug 1682030)
Backed out changeset 6af3410bdb93 (bug 1682030)
Backed out changeset 42b0621c2927 (bug 1682030)
Backed out changeset 366e3e371858 (bug 1682030)
Backed out changeset 9adb2865adea (bug 1682030)
Backed out changeset 6af6af3bc03a (bug 1682030)
Backed out changeset da94a91b35ae (bug 1682030)
Backed out changeset 9143da258d0e (bug 1682030)
Backed out changeset 5e20d06952ba (bug 1682030)
Backed out changeset 6253d7e1ce7d (bug 1682030)
Backed out changeset 0e06ddeea3e2 (bug 1682030)
Backed out changeset 9c58d57c9e44 (bug 1682030)
Backed out changeset e90edd89430e (bug 1682030)
Backed out changeset 5861b8166b10 (bug 1682030)
Backed out changeset b4b88cdc7993 (bug 1682030)
Backed out changeset b80054e9805c (bug 1682030)
Backed out changeset 580d857674c0 (bug 1682030)
Backed out changeset a9cdf93c2662 (bug 1682030)
Backed out changeset 9c9c8b4998e2 (bug 1682030)
2021-04-06 03:54:12 +03:00
David Parks
bf6318dc5f Bug 1682030 - Remove NPAPI plugin process from GeckoChildProcess r=jld,gsvelto
Eliminates the NPAPI plugin process type from the GeckoChildProcess enum as part of NPAPI removal.  In order to avoid altering enum values when updating the process list, the GECKO_PROCESS_TYPE macro has been updated to include the desired enum value.  We want to resist altering the values as they need to be consistent e.g. in telemetry reports.

We also remove plugins from adjacent spots that need to maintain consistency with GeckoChildProcess -- most notably the nsICrashService.

Differential Revision: https://phabricator.services.mozilla.com/D108689
2021-04-05 23:48:43 +00:00
Simon Giesecke
a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Gabriele Svelto
2015ea6dee Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

Differential Revision: https://phabricator.services.mozilla.com/D62586
2020-04-08 06:55:40 +00:00
Brindusan Cristian
758c54248c Backed out 2 changesets (bug 1614933) for bc failures at browser_tabicon_after_bg_tab_crash.js.
Backed out changeset 59503d3a702f (bug 1614933)
Backed out changeset 578c8ba9598f (bug 1614933)
2020-03-22 17:30:07 +02:00
Gabriele Svelto
e1281af24c Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

Differential Revision: https://phabricator.services.mozilla.com/D62586
2020-03-21 17:13:08 +00:00
David Teller
28562c9360 Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

Differential Revision: https://phabricator.services.mozilla.com/D54129
2020-03-03 10:24:39 +00:00
Bogdan Tara
2a183007a0 Backed out 2 changesets (bug 1614933) for busages complaining about IdleSchedulerChild.cpp CLOSED TREE
Backed out changeset ff92f800a74e (bug 1614933)
Backed out changeset 5cee8f603ae4 (bug 1614933)
2020-03-10 17:21:55 +02:00
Gabriele Svelto
31e082cb62 Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

Differential Revision: https://phabricator.services.mozilla.com/D62586
2020-03-10 14:59:22 +00:00
Mihai Alexandru Michis
26857e8dea Backed out 4 changesets (bug 1589493) for causing failures in test_process_error_oom.xhtml
CLOSED TREE

Backed out changeset d914e968de2c (bug 1589493)
Backed out changeset 2c23fed6b2ff (bug 1589493)
Backed out changeset 416b95911b6d (bug 1589493)
Backed out changeset 47e745b389d0 (bug 1589493)
2020-03-03 12:21:11 +02:00
David Teller
5bbdad9375 Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

Differential Revision: https://phabricator.services.mozilla.com/D54129
2020-03-03 08:34:24 +00:00
Oana Pop Rus
b5500e826f Backed out 4 changesets (bug 1589493) for mochitest multiple failures in test_process_error_oom.xhtml on a CLOSED TREE
Backed out changeset 6ab5b9391f95 (bug 1589493)
Backed out changeset 4c3d736d0259 (bug 1589493)
Backed out changeset 8e5458038d38 (bug 1589493)
Backed out changeset 716e6cd5245f (bug 1589493)
2020-03-02 15:57:39 +02:00
David Teller
80028a7202 Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

Differential Revision: https://phabricator.services.mozilla.com/D54129
2020-03-02 11:22:05 +00:00
Andrew McCreight
611f5029e6 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
2020-02-27 17:39:15 +00:00
Daniel Varga
b539744923 Backed out 4 changesets (bug 1589493) for causing mochitest failures at dom/ipc/tests/test_process_error.xhtml
CLOSED TREE

Backed out changeset 5b1b813bbdab (bug 1589493)
Backed out changeset aed44db455c4 (bug 1589493)
Backed out changeset 9f357dded30f (bug 1589493)
Backed out changeset 87c463f53ea9 (bug 1589493)
2020-02-27 16:31:56 +02:00
David Teller
60e4b3afb8 Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

Differential Revision: https://phabricator.services.mozilla.com/D54129
2020-02-27 11:05:07 +00:00
Daniel Varga
454db558e4 Backed out 4 changesets (bug 1589493) for causing mochitest failure at dom/ipc/tests/test_process_error_oom.xhtml
CLOSED TREE

Backed out changeset 46183b72cf37 (bug 1589493)
Backed out changeset 3621ad792a38 (bug 1589493)
Backed out changeset 4c242e542545 (bug 1589493)
Backed out changeset f0ab64c7765b (bug 1589493)
2020-02-27 12:52:39 +02:00
David Teller
525abed788 Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

Differential Revision: https://phabricator.services.mozilla.com/D54129
2020-02-26 16:16:10 +00:00
Ciure Andrei
c06273c350 Backed out changeset d407a28318e6 (bug 1609815) for causing windows ming bustages CLOSED TREE 2020-02-27 07:05:19 +02:00
Andrew McCreight
179c12c3e5 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
2020-02-27 04:43:48 +00:00
Coroiu Cristina
1fe0bd3e7e Backed out 4 changesets (bug 1589493) for multiple failures and crashes on CrashReporterHost on a CLOSED TREE
Backed out changeset 59fc685edca2 (bug 1589493)
Backed out changeset 275b66a8c77a (bug 1589493)
Backed out changeset 23601d10e69d (bug 1589493)
Backed out changeset e8e7bc5c8a00 (bug 1589493)
2020-02-26 18:11:44 +02:00
David Teller
daec09f36f Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

Differential Revision: https://phabricator.services.mozilla.com/D54129
2020-02-25 18:16:33 +00:00
Noemi Erli
782332b7bb Backed out 4 changesets (bug 1589493) for causing lint failure in test_process_error_oom.xhtml
Backed out changeset 9dbe0bdd321b (bug 1589493)
Backed out changeset 900ec6b447c9 (bug 1589493)
Backed out changeset 3f7c15d29416 (bug 1589493)
Backed out changeset c1bc7695e720 (bug 1589493)
2020-02-25 20:10:35 +02:00
David Teller
512158c303 Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

Differential Revision: https://phabricator.services.mozilla.com/D54129
2020-02-25 17:36:51 +00:00
Gabriele Svelto
ed39150e26 Bug 1544147 - Ensure orphaned crashes are properly notified to the rest of the system r=froydnj
When a content or plug-in process crashes too early we haven't initialized the
CrashReporterHost for that process. This will cause the crash to be orphaned,
i.e. to miss most of its crash annotations. We added code to finalize those
crashes in bug 1282776 so that we wouldn't miss them entirely. This ensured
that crash reports would have both their .dmp and .extra files but the patch
failed to modify the code that notified various listeners about the crash
report's presence.

This changes always send the crash ID alongside the crash notifications, even
for orphaned crashes, so that listeners such as the content crash handler or
the test harnesses can always find the minidump and .extra file. Additionally
orphaned crashes are recorded in the CrashManager and in telemetry just like
normal crashes.

This also re-enables dom/ipc/tests/process_error.xul which failed frequently
because of this bug.

Differential Revision: https://phabricator.services.mozilla.com/D57634
2019-12-20 17:50:45 +00:00
Gabriele Svelto
eeb9bfc398 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
2019-12-06 09:16:44 +00:00
Thinker Li
578da14f9c Bug 1470591 - Part 1: Add a new process type for ForkServer. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D46878
2019-12-05 00:03:29 +00:00
Bogdan Tara
d189c284d3 Backed out 6 changesets (bug 1470591) for test_punycodeURIs & test_nsIProcess* crashes CLOSED TREE
Backed out changeset 3ca19f8f388e (bug 1470591)
Backed out changeset f80db6e63169 (bug 1470591)
Backed out changeset cbac2d7dfe42 (bug 1470591)
Backed out changeset daad4d736ec0 (bug 1470591)
Backed out changeset ca1b804d404a (bug 1470591)
Backed out changeset a10772f780f7 (bug 1470591)
2019-12-04 00:53:14 +02:00
Thinker Li
98defa3bcd Bug 1470591 - Part 1: Add a new process type for ForkServer. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D46878
2019-12-03 18:53:53 +00:00
Daniel Varga
f4abf823e8 Backed out 4 changesets (bug 1589493) for linting failure at builds/worker/checkouts/gecko/dom/ipc/tests/test_process_error_oom.xhtml:12:11. On a CLOSED TREE
Backed out changeset fb609feb845a (bug 1589493)
Backed out changeset 0e09d02e484a (bug 1589493)
Backed out changeset 94aa25f22d44 (bug 1589493)
Backed out changeset 04adc4c18424 (bug 1589493)
2019-11-29 19:48:41 +02:00
David Teller
c49f61cfe3 Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

Differential Revision: https://phabricator.services.mozilla.com/D54129
2019-11-29 14:42:55 +00:00
Coroiu Cristina
6f6855888f Backed out 4 changesets (bug 1589493) for chrome failures at dom/ipc/tests/test_process_error_oom.xu on a CLOSED TREE
Backed out changeset 9b97128e83d8 (bug 1589493)
Backed out changeset d2ed39839f83 (bug 1589493)
Backed out changeset cac468582924 (bug 1589493)
Backed out changeset 421b8d600806 (bug 1589493)
2019-11-28 18:01:54 +02:00
David Teller
54317a73fa Bug 1589493 - Expose CrashReporterHost::isLikelyOOM();r=gsvelto
We'll use this method to expose additional information to the front-end for recovering from OOM.

Differential Revision: https://phabricator.services.mozilla.com/D54129
2019-11-28 14:12:23 +00:00
Gabriele Svelto
a952863281 Bug 1282776 - Finalize crash reports for child process crashes happening too early r=froydnj
This changes the way crash reports for child processes happening too early
during the child process' startup. Before bug 1547698 we wrote a partial
.extra file with those crashes that lacked the process type. The user would
not be notified of those crashes until she restarted Firefox and even when
submitted those crashes would be erroneously labeled as browser crashes.

After bug 1547698 we stopped writing .extra files entirely for those crashes
which left orphaned .dmp files among the pending crash reports.

This patch does three things to improve the situation:

* It writes a partial .extra file so that the crashes are detected at the next
  startup. So the user is still not notified directly of these crashes but she
  can report them later.
* It adds the process type to the .extra file so that the crash reporters are
  labelled correctly.
* It fixes a leak in the `pidToMinidump` hash-map. Since the crashes were
  not finalized the `ChildProcessData` strucutre associated with them would
  never be fred.

Differential Revision: https://phabricator.services.mozilla.com/D40810
2019-08-09 14:23:19 +00:00
Gabriele Svelto
97bfa2187e Bug 1555917 - Exception handler and crash reporter client cleanup r=froydnj
This patch includes multiple changes cleaning up various aspects of the crash
reporter client and exception handler:

* Some Unix-specific code was moved out from the base crashreporter client
  code and into the appropriate platform implementation
* Functions used to open files in the crashreporter client now accept C++
  `std::ios` flags instead of unreadable booleans
* Useless character conversion routines were removed from the
  minidump-analyzer
* Crash annotations are not serialized into a huge string anymore every time
  they change. They are all written out individually during an exception.
* `WriteEscapedMozCrashReason()` uses the exception-safe `my_strlen()` instead
  of plain `strlen()`
* The Windows-specific DLL-blocklist shutdown was removed from the Linux &
  macOS Breakpad callbacks
* The `CrashReporterHost`, `CrashReporterClient` and
  `CrashReporterMetadataShmem` classes now take `nsACString` references
  instead of `nsCString` ones since they never modify their contents

Differential Revision: https://phabricator.services.mozilla.com/D33267
2019-05-31 21:54:03 +00:00
Gabriele Svelto
35e6bc2a54 Bug 1547698 - Refactor the code that writes the .extra file for a content process crash or hang r=froydnj
Upon a content process crash or hang crash annotations were incrementally
written into the .extra file starting with the exception handler callback and
then in a number of different places before the file was ready for submission.
This had a number of downsides: since the annotations were directly added to
the file it was impossible to tell which ones were already written at a
certain point in time, additionally some were written twice or even thrice.
The code doing the writing would also behave differently depending on the
contents of the file, the parameters passed to it and the contents of global
variables.

This change overhauls the whole process by keeping the annotations into a
temporary per-crash annotation table which is filled with all the required
annotations before being written out in a single pass when they are ready.

The annotations are gathered from the main process annotation table, the
per-process one (held by the CrashReporterHost) and exception-time specific
ones.

The resulting annotations are slightly different than before the patch: first
of all there are no more duplicate entries in the .extra file and secondly all
content/plugin process hangs annotations are properly filtered, before
annotations that were main process-only would leak into them.

Differential Revision: https://phabricator.services.mozilla.com/D31069
2019-05-18 16:19:55 +00:00
Gabriele Svelto
a76adde84d Bug 1547698 - Remove unused IPC methods for taking minidumps r=froydnj
This removes the XRE_TakeMinidumpForChild() which does not need to be
exposed anymore in the XUL API as well as
IToplevelProtocol::TakeMinidump() which was simply unused.

Differential Revision: https://phabricator.services.mozilla.com/D31062
2019-05-14 14:06:19 +00:00
Aaron Klotz
d091a8a76f Bug 1541130: Add XRE_GetChildProcBinPathType to nsXULAppAPI.h; r=froydnj,jld on a CLOSED TREE
The binary path type of a particular content process is useful information
outside of IPC. Given that `XRE_EnableSameExecutableForContentProc` already
exists, and given that the binary path type is closely related to
`GeckoProcessType`, I've added a new function, `XRE_GetContentProcBinPathType`.

The mapping of process type to binary type has been moved to the
`GeckoProcessTypes` definitions.

This patch also modifies `ipc::GeckoChildProcessHost` to call into the new
function.

Differential Revision: https://phabricator.services.mozilla.com/D25816
2019-04-09 00:45:24 +03:00