Межпроцессный API является узким интерфейсом, поэтому имеет минимальное количество вызовов.
Прежде всего, я хотел бы указать вам на документированный способ добавления новых функций в кросс-браузерный API (вы можете найти «carnitas» в списке, чтобы узнать больше об этом):
https://sites.google.com/a/chromium.org/dev/developers/design-documents/multi-process-architecture/how-to-add-new-features
В моем случае я пришел к решению, которое подключается к существующим вызовам API, в основном, вводя код javascript на страницу для вызова функции «prompt ()» в javascript для синхронных вызовов (замораживание всей вкладки до завершения), и / или "externalHost.postMessage" для асинхронных сообщений. На стороне браузера я подключаюсь к этим двум вызовам и обрабатываю их, при необходимости возвращая ответ.
Вы можете увидеть код, который я написал для Berkelium, библиотеки оболочки Chromium:
https://github.com/sirikata/berkelium/blob/chromium8/src/WindowImpl.cpp
(ищите все места, на которые ссылается javascriptCall, чтобы увидеть, как я подключаюсь к этим API). Тот же метод можно применить к самому Chromium, если вы хотите изменить render_view_host.cc или TabContents.
Вам следует подумать о том, какой уровень интеграции является правильным / необходимым для вашего API, и если вы заинтересованы в том, чтобы ваши функциональные возможности преобразования речи в текст были приняты в кодовой базе Chrome, вам, возможно, будет лучше следовать тому, как работают другие функции. реализован.