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