xref: /aosp_15_r20/external/cronet/base/android/java/src/org/chromium/base/process_launcher/IParentProcess.aidl (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2018 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 package org.chromium.base.process_launcher;
6 
7 interface IParentProcess {
8     // Sends the child pid and information from the app zygote (if any) to the
9     // parent process. This will be called before any third-party code is
10     // loaded, and will be a no-op after the first call.
11     //
12     // The |zygotePid| must be 0 if the process does not inherit from an app zygote
13     // or its app zygote did not produce a usable shared region containing
14     // linker relocations (RELRO FD).
finishSetupConnection(int pid, int zygotePid, long zygoteStartupTimeMillis, in Bundle relroBundle)15     oneway void finishSetupConnection(int pid, int zygotePid,
16         long zygoteStartupTimeMillis, in Bundle relroBundle);
17 
18     // Reports exception before calling into native main method. This is before
19     // crash reporting is initialized, which means this exception would
20     // otherwise not be reported.
21     // Not oneway to ensure the browser receives the message before child exits.
reportExceptionInInit(in String exception)22     void reportExceptionInInit(in String exception);
23 
24     // Tells the parent proces the child exited cleanly. Not oneway to ensure
25     // the browser receives the message before child exits.
reportCleanExit()26     void reportCleanExit();
27 }
28