>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Gecko Embedding Issues http://forum.mozilla-russia.org/viewtopic.php?id=31388 |
Mimi > 19-02-2009 14:19:09 |
Привет. Я встраиваю Gecko в свое Windows-приложение. Примеров этому в интернете много, документации достаточно для осознания азов. Однако я наткнулся на задачу, которую решить силами гугла не могу. Нужно добавить поддержку нового протокола. Например, чтобы по переходу на qwerty://some_uri, браузеру высылался мною сгененерированный набор байт. Кажется, я нашел ниточки, за которые надо дергать: nsIProtocolHandler, nsIChannel. Хороший пример использования этих компонентов -- реализация Finger Protocol, однако, как я вижу, это код для создания расширения к SeaMonkey, то есть, отдельного плагина. Мне же необходимо встроить этот функционал в мой Gecko. Я попробовал использовать код примера в своем приложении, он собрался и слинковался, но эффекта его присутсвия нет: новый протокол недоступен. Я не понимаю, достаточно ли кода модуля из примера Finger Protocol для того, чтобы уведомить мой Gecko о том, что ему добавили новый протокол. Думается нет. Посему, прошу помощи у уважаемого комьюнити. Буду признателен за любую информацию, которая приблизит меня к заветной цели. Спасибо. |
Elexander > 19-02-2009 17:57:54 |
Пользовательский протокол реализуется XPCOM-компонентой. Встраиваемый Gecko поддерживает сторонние XPCOM компоненты? |
Mimi > 20-02-2009 15:25:24 |
Я навел порядок в своей голове: пример Finger Protocol -- это, как верно подмечено, пример компонента XPCOM, который кладется отдельной DLL-кой в подпапку components/ среды мозиллы, поэтому зря я вкомпиливал его в свой основной проект. После надлежащей регистрации нового компонента, встроенный мною Gecko его успешно подхватил. Спасибо. |