netwerk/ipc/PSocketProcess.ipdl
author Kershaw Chang <kershaw@mozilla.com>
Fri, 11 Jan 2019 20:55:07 +0000
changeset 453540 b5904e4ffc0c
parent 453475 460bbf0849e1
child 453477 de65c456aad6
permissions -rw-r--r--
Bug 1513057 - P5: Create IPC between content process and socket process r=dragana,mayhemer Differential Revision: https://phabricator.services.mozilla.com/D14257

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

include MemoryReportTypes;
include protocol PSocketProcessBridge;
include PrefsTypes;

using mozilla::dom::NativeThreadId from "mozilla/dom/TabMessageUtils.h";
using base::ProcessId from "base/process.h";

namespace mozilla {
namespace net {

protocol PSocketProcess
{
parent:
  async InitCrashReporter(Shmem shmem, NativeThreadId threadId);
  async AddMemoryReport(MemoryReport aReport);
  async FinishMemoryReport(uint32_t aGeneration);

child:
  async PreferenceUpdate(Pref pref);
  async RequestMemoryReport(uint32_t generation,
                            bool anonymize,
                            bool minimizeMemoryUsage,
                            MaybeFileDesc DMDFile);
  async SetOffline(bool offline);
  async InitSocketProcessBridgeParent(ProcessId processId, Endpoint<PSocketProcessBridgeParent> endpoint);
};

} // namespace net
} // namespace mozilla