diff options
Diffstat (limited to 'dom/ipc/PContent.ipdl')
-rw-r--r-- | dom/ipc/PContent.ipdl | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/dom/ipc/PContent.ipdl b/dom/ipc/PContent.ipdl index 991e90c23..70ef084cd 100644 --- a/dom/ipc/PContent.ipdl +++ b/dom/ipc/PContent.ipdl @@ -21,7 +21,15 @@ include protocol PImageBridge; include protocol PMedia; include protocol PMemoryReportRequest; include protocol PNecko; +// FIXME This is pretty ridiculous, but we have to keep the order of the +// following 4 includes, or the parser is confused about PGMPContent +// bridging PContent and PGMP. As soon as it registers the bridge between +// PContent and PPluginModule it seems to think that PContent's parent and +// child live in the same process! +include protocol PGMPContent; +include protocol PGMPService; include protocol PPluginModule; +include protocol PGMP; include protocol PPrinting; include protocol PSendStream; include protocol POfflineCacheUpdate; @@ -202,11 +210,25 @@ struct BlobURLRegistrationData Principal principal; }; +struct GMPAPITags +{ + nsCString api; + nsCString[] tags; +}; + +struct GMPCapabilityData +{ + nsCString name; + nsCString version; + GMPAPITags[] capabilities; +}; + nested(upto inside_cpow) sync protocol PContent { parent spawns PPluginModule; parent opens PProcessHangMonitor; + parent opens PGMPService; child opens PBackground; manages PBlob; @@ -492,6 +514,9 @@ child: async BlobURLUnregistration(nsCString aURI); + + async GMPsChanged(GMPCapabilityData[] capabilities); + parent: /** * Tell the content process some attributes of itself. This is @@ -523,6 +548,8 @@ parent: returns (ContentParentId cpId, bool isForApp, bool isForBrowser, TabId tabId); sync BridgeToChildProcess(ContentParentId cpId); + async CreateGMPService(); + /** * This call connects the content process to a plugin process. While this * call runs, a new PluginModuleParent will be created in the ContentChild |