|
|
|
Интеграция Mozilla внутрь Java приложения.
|
|||
|---|---|---|---|
|
#18+
Мерзавцы. Убили возможность доступа в последних версиях Mozilla. Только extensions, только хардкор ))) https://bugzilla.mozilla.org/show_bug.cgi?id=546848 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2016, 14:57 |
|
||
|
Интеграция Mozilla внутрь Java приложения.
|
|||
|---|---|---|---|
|
#18+
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 все обсервит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 14:49 |
|
||
|
Интеграция Mozilla внутрь Java приложения.
|
|||
|---|---|---|---|
|
#18+
Все уроды (((. Как страшно жить H-файлы от XUL Runner'а даже в Visul Studio 2015 не подключаются. Не совместимо с последними стандартами на C++ https://bugzilla.mozilla.org/show_bug.cgi?id=928808 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2016, 16:52 |
|
||
|
Интеграция Mozilla внутрь Java приложения.
|
|||
|---|---|---|---|
|
#18+
Пришлось сделать через 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 - то появляется, то исчезает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 16:35 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39240296&tid=2124006]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 404ms |

| 0 / 0 |
