Привет!
В настоящее время я переношу плагин веб-браузера с Win32 на MacOSX. Одна из особенностей плагина заключается в том, что при загрузке плагина он запускает отдельный процесс, который служит "двигателем" плагина и выполняет операции рисования в окне плагина (в частности, путем присоединения контекста OpenGL к родительского процесса и выполнения команд рендеринга OpenGL в этом контексте). Мы делаем это, потому что плагин обычно загружается как поток в процессе браузера, поэтому сбой в плагине приведет к удалению всего браузера. Разделяя "тяжелый подъем" на отдельный процесс и сохраняя очень плавный код плагина, мы можем защитить пользователей от таких сбоев.
Я хотел бы сохранить эту архитектуру child-process-renderer на MacOSX, но я слышал неприятный слух (связанный с веб-браузером Google Chrome), что MacOSX не позволяет процессу передавать доступ к его окнам к другому процессу. Мой собственный поиск в этом пространстве был неубедительным; если кто-либо знает об этой проблеме и может либо дать некоторые рекомендации о том, как достичь этой цели, либо более убедительно "не может быть сделано", это было бы очень полезно.
Благодарим за помощь!