Issue #2301 - Make Gecko Media Plugins optional when not building EME or WebRTC

Co-authored-by: Moonchild <moonchild@palemoon.org>
This commit is contained in:
Matheus Marinho 2023-08-31 12:07:34 -03:00 • committed by roytam1
commit 9e7d1492e6
54 changed files with 314 additions and 30 deletions

View file

@ -26,10 +26,14 @@ include protocol PNecko;
// 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!
#ifdef MOZ_GMP
include protocol PGMPContent;
include protocol PGMPService;
include protocol PPluginModule;
include protocol PGMP;
#else
include protocol PPluginModule;
#endif
include protocol PPrinting;
include protocol PSendStream;
include protocol POfflineCacheUpdate;
@ -211,6 +215,7 @@ struct BlobURLRegistrationData
Principal principal;
};
#ifdef MOZ_GMP
struct GMPAPITags
{
nsCString api;
@ -223,13 +228,16 @@ struct GMPCapabilityData
nsCString version;
GMPAPITags[] capabilities;
};
#endif
nested(upto inside_cpow) sync protocol PContent
{
parent spawns PPluginModule;
parent opens PProcessHangMonitor;
#ifdef MOZ_GMP
parent opens PGMPService;
#endif
child opens PBackground;
manages PBlob;
@ -516,8 +524,9 @@ child:
async BlobURLUnregistration(nsCString aURI);
#ifdef MOZ_GMP
async GMPsChanged(GMPCapabilityData[] capabilities);
#endif
parent:
/**
@ -550,7 +559,9 @@ parent:
returns (ContentParentId cpId, bool isForApp, bool isForBrowser, TabId tabId);
sync BridgeToChildProcess(ContentParentId cpId);
#ifdef MOZ_GMP
async CreateGMPService();
#endif
/**
* This call connects the content process to a plugin process. While this