Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№118-08-2008 12:10:16

oldfriend
Участник
 
Группа: Members
Зарегистрирован: 24-07-2008
Сообщений: 22
UA: Firefox 2.0

Как собрать xpi для установки XPCOM компонента.

Привет всем.

Собственно проблема в том, что не знаю с чего начать. Насколько я понимаю, традиционная установка с помощью install.js уже не приветствуется или даже порой не будет работать, а нужно использовать install.rdf, и тем не менее большинство расширений (те, которыми пользуюсь я, и которые пробовал ставить) испльзуют именно такой метод.

Направьте, пожалуйста, на путь истинный ... желательно со ссылками, да и к тому же чтобы для FF2 и для FF3 работало.

Заранее спасибо.

Отсутствует

 

№218-08-2008 14:41:54

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.0
Веб-сайт

Re: Как собрать xpi для установки XPCOM компонента.

В xpi-архиве должен быть каталог components, в нём - xpt-файл компонента и файл реализации - js, dll, so.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№318-08-2008 14:44:14

oldfriend
Участник
 
Группа: Members
Зарегистрирован: 24-07-2008
Сообщений: 22
UA: Firefox 2.0

Re: Как собрать xpi для установки XPCOM компонента.

Anton, и все? так просто?

Отсутствует

 

№418-08-2008 14:51:14

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.0
Веб-сайт

Re: Как собрать xpi для установки XPCOM компонента.

oldfriend
Бинарные я не делал, для js всё именно так. Уверен, что для бинарных всё точно так же.

p.s. Вот, в ColorZilla, например, в components: ColorZilla.dll, ColorZilla.dll.linux, ColorZilla.dll.mac, ColorZilla.xpt
в google toolbar: bootstrap.js, googletoolbar.dll, googletoolbar.xpt, metrics.dll, metrics.xpt
в pagesaver посложнее: кроме components есть ещё platform/.../components и там (в platform/...) xpt-файлов нет - возможно, компоненты реализуют встроенные интерфейсы, для которых xpt не нужен (для js-компонент, по крайней мере).

Отредактировано Anton (18-08-2008 15:07:45)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№518-08-2008 18:51:32

oldfriend
Участник
 
Группа: Members
Зарегистрирован: 24-07-2008
Сообщений: 22
UA: Firefox 2.0

Re: Как собрать xpi для установки XPCOM компонента.

Все бы хорошо, да вот только как заставить мой XPCOM компонент вызываться из той папки, куда его установили?

Дело в том, что все примеры создания XPCOM компонент оперируют с папкой ~\firefox\components. Да и в самом С++ коде я пишу:

Выделить код

Код:

#define TEST_APP "@mydomain.com/XPCOMSample/TestApp;1"

а потом из javascript'a вызываю:

Выделить код

Код:

const cid = "@mydomain.com/XPCOMSample/TestApp;1";
. . .

Как же его правильно вызывать и моего профайла в браузере? Что писать в С++ и что в js?

Отсутствует

 

№619-08-2008 12:20:28

oldfriend
Участник
 
Группа: Members
Зарегистрирован: 24-07-2008
Сообщений: 22
UA: Firefox 2.0

Re: Как собрать xpi для установки XPCOM компонента.

Неужели никто о таком не слышал никогда, разработчики? Или форумы совсем бесполезны? Или это просто лето?..

Отсутствует

 

№719-08-2008 13:26:32

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Iceweasel 3.0

Re: Как собрать xpi для установки XPCOM компонента.

Неужели никто о таком не слышал никогда, разработчики? Или форумы совсем бесполезны? Или это просто лето?..

с XPCOM работает очень мало разработчиков
почему бы не посмотреть как это устроено в любом другом расширении с XPCOM?

Отсутствует

 

№819-08-2008 13:28:41

oldfriend
Участник
 
Группа: Members
Зарегистрирован: 24-07-2008
Сообщений: 22
UA: Firefox 2.0

Re: Как собрать xpi для установки XPCOM компонента.

с XPCOM работает очень мало разработчиков
почему бы не посмотреть как это устроено в любом другом расширении с XPCOM?

именно этим и занимаюсь уже последние 2 дня ...

Отсутствует

 

№919-08-2008 14:55:06

oldfriend
Участник
 
Группа: Members
Зарегистрирован: 24-07-2008
Сообщений: 22
UA: Firefox 2.0

Re: Как собрать xpi для установки XPCOM компонента.

А все оказалось проще пареной репы.

Главное, чтобы в С++ #define MY_APP_CONTRACTID

"@mozilla.org/MyApp;1"

и в javascript const cid =

"@mozilla.org/MyApp;1"

;
были одинаковыми! ... ну это и ежу понятно. Сам не знаю почему так долго возился ... просто поместил dll и xpt файлы в папку components, которая в одной папке с chrome лежит и все:
  my_extension
  |_chrome
  |_components

Всем спасибо за помощь. Жаль слова Anton'a до меня поздно долетели.

Отредактировано oldfriend (19-08-2008 16:49:55)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]