powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Интеграция Mozilla внутрь Java приложения.
4 сообщений из 29, страница 2 из 2
Интеграция Mozilla внутрь Java приложения.
    #39239166
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мерзавцы. Убили возможность доступа в последних версиях Mozilla. Только extensions, только хардкор )))

https://bugzilla.mozilla.org/show_bug.cgi?id=546848
...
Рейтинг: 0 / 0
Интеграция Mozilla внутрь Java приложения.
    #39240089
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JavaScript и Mozilla уроды ((( Сделал расширение с помощью jpm - мой код работает, зато сыпятся ошибки в каком-то Loader.js. Мне кажется, что у них объекты JS API становятся deprecated уже в момент написания.

Плюнул на extensions, взял JavaXPCOM из xulrunner-1.9.2.19.en-US.win32.sdk.zip. Два часа и вроде все работает. Mozilla (v.46.0.1) запускается, nsIObserverService/nsIObserver все обсервит.
...
Рейтинг: 0 / 0
Интеграция Mozilla внутрь Java приложения.
    #39240296
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все уроды (((. Как страшно жить

H-файлы от XUL Runner'а даже в Visul Studio 2015 не подключаются. Не совместимо с последними стандартами на C++

https://bugzilla.mozilla.org/show_bug.cgi?id=928808
...
Рейтинг: 0 / 0
Интеграция Mozilla внутрь Java приложения.
    #39249328
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлось сделать через XPCOM от XUL Runner'а (который тоже уже стал deprecated ((( )

Java - JNI - XPCOM - XUL Runner в качестве browser'а

Не решенные проблемы на данный момент:

1. При запуске через XPCOM просто Mozilla 46.0.1, а не XUL Runner'а 41.

При подключении своего observer'а на http-on-modify-request в обсервер приходит aSubject который отказывается через QueryInterface преобразовывается в nsIHttpChannel ((( Хотя по доке, туда должен приходить nsIHttpChannel. При работе с XUL Runner'ом, все нормально. Долго разбирался и удивлялся. Похоже на секьюрити, но где почитать/как управлять - не понятно.

Ниже список интерфейсов к которым aSubject в http-on-modify-request преобразовывается, а в какие отказывается преобразовываться.

nsIRequest OK
nsIChannel err
nsIEncodedChannel OK
nsIHttpChannel err
nsIHttpChannelInternal err
nsIForcePendingChannel err
nsIRedirectHistory err
nsIUploadChannel ok
nsIUploadChannel2 err
nsISupportsPriority ok
nsITraceableChannel ok
nsIPrivateBrowsingChannel ok
nsITimedChannel ok

2. Похоже Mozilla только однопотоковая ((( и умеет только один instance на процесс. Если в процессе в другом потоке повторно сказать NS_InitXPCOM2 - то выдает ошибку

Из объяснимых проблем:
1. Из за однопотоковости достаточно сложно сопрячь с Java кодом. Всю работу пришло повесить на timer ( nsITimer ) и в Java тупо синхронизироваться через Object.wait, Object.notify
2. Кучу времени убил, пока разбирался, какие опции нужно выставлять в MS VS проекте. Нужно не забыть define XPCOM_GLUE, XP_WIN и собирать с release библиотеками
3. Заголовочный файл <mozilla/Char16.h> нужно включать в САМОМ начале. До любых стандартных include C (до stdafx.h!). Эта простая истинна до меня дошла только через неделю. Иначе можно словить какую-то блуждающую ошибку при компиляции. Чуть меняешь список/порядок include - то появляется, то исчезает.
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Интеграция Mozilla внутрь Java приложения.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]