X11 defines various macros that end up clashing with common names like 'None' and 'Status'. There's existing are to work around this, and we've got some code in Media that sidesteps the problem via undefs.
I would like to use some of the CDM enums in ipdl (see bug 1654383). However that currently fails due to the ipc codegen bringing in the X11 headers which define a
Status macro which then tramples the
Status in the CDM headers. Because I can't
#undef in ipdl I think having a header that wraps the CDM headers and does the undeffing is the next best thing. If we put this new header in the gmp-api dir it also shows that we use the CDM symbols as part of the GMP-API (though the whole documenting of the GMP-API has grown a little wonky over time).
The other way we could deal with this is to prevent X11 headers being dragged into the IPC codegen, but that's a bigger and non-media specific task. We already have a bandaid in place for this which I'm okay with expanding a bit.