// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module content.mojom;

import "services/service_manager/public/mojom/service.mojom";

interface ChildControl {
  // Tells the child process that it's safe to shutdown.
  ProcessShutdown();

  // Tells the child process to begin or end IPC message logging.
  [EnableIf=ipc_logging]
  SetIPCLoggingEnabled(bool on);

  // Tells the child process to run an instance of a service named
  // |service_name|, binding it to |receiver|. This is used by the browser to
  // support launching of packaged services within Utility or GPU processes.
  RunService(string service_name,
             pending_receiver<service_manager.mojom.Service> receiver);
};
