Source code

Revision control

Copy as Markdown

Other Tools

/* -*- 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 protocol PGMPContent;
include GMPTypes;
// FIXME: Should use GeckoChildID over ProcessId to identify processes.
using base::ProcessId from "base/process.h";
using GMPPluginType from "GMPNativeTypes.h";
namespace mozilla {
namespace gmp {
struct GMPLaunchResult {
uint32_t pluginId;
GMPPluginType pluginType;
ProcessId pid;
nsCString displayName;
Endpoint<PGMPContentParent> endpoint;
nsresult result;
nsCString errorDescription;
};
[NeedsOtherPid, ChildImpl=virtual, ParentImpl=virtual, ChildProc=Content]
async protocol PGMPService
{
parent:
async LaunchGMP(NodeIdVariant nodeIdVariant,
nsCString api,
nsCString[] tags,
ProcessId[] alreadyBridgedTo)
returns (GMPLaunchResult aResult);
async GetGMPNodeId(nsString origin, nsString topLevelOrigin, nsString gmpName)
returns (nsCString id);
child:
async BeginShutdown();
};
} // namespace gmp
} // namespace mozilla