digory wrote: from the point of view of having a clean API, OnBrowserDestroyed should always be called even if the renderer process is being terminated.
It is an intentional design choice in Chromium. Therefore what you're requesting will not happen.
digory wrote:For instance, if I was to allocate some system-wide resource that's not automatically freed, say a pipe or global memory, then I would have a hard time finding a good place where to free it.
Don't do that from the renderer process.