Мы проводим эксперименты с новыми протоколами. Мы хотим использовать Firefox в качестве испытательного стенда для клиента. Мы создали Firefox с отладкой. Теперь нам нужно сделать две вещи. Этот вопрос охватывает первый вопрос, посвященный тому, как создавать контент на HTML-странице непосредственно в C ++.
Все будет делать. Как нам создать объект XPCOM, скажем, блок div, и можно ли это сделать в main? Мы хотели бы создать что-то вроде красной рамки div размером 100 x 100 пикселей, которую мы можем видеть.
Есть документация по XPCOM, но нет документации о том, как создать экземпляр одного из этих объектов, в зависимости от того, где это можно сделать (это слишком рано?) Как прикрепить его к вкладке браузера и т. Д.
Есть ли ЛЮБОЙ пример чего-либо подобного на MDN? Мы не можем найти это.
Мы предполагаем, что код c ++ должен отражать JavaScript, и что мы должны сделать эквивалент document.createElement (), но как получить указатель на вкладку?
Вот документ, утверждающий, что он говорит о взломе DOM, но он не показывает, как получить точку входа. Также нет никаких примеров.
https://developer.mozilla.org/en-US/docs/Mozilla/Mozilla_DOM_Hacking
Книга XPCOM, похоже, содержит примеры только на JavaScript:
https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Guide/Creating_components/Preface#Organization_of_the_Tutorial
Мы нашли исходный код напрямую. Это выглядит как:
firefox/dom/html
содержит все классы:
:: дом Mozilla :: HTMLDivElement
мы можем по крайней мере установить точки останова в этом коде и начать поиск, но некоторая документация ДЕЙСТВИТЕЛЬНО хороша!
Задача ещё не решена.
Других решений пока нет …