Мне нужно из расширения запрашивать данные из другой программы. Программа, если это важно, будет написана на delphi. Как проще и надежнее организовать обмен данными? Передача данных будет инициироваться всегда расширением, программа только будет отвечать на запросы. У меня есть идея на стороне программы сделать самый простой HTTP сервер и из расширения слать запросы, но я надеюсь есть другие варианты :)
И еще вопрос не по теме, а в опере есть какое-то подобие расширений? А то я где то читал что виджеты эти не имеют доступа к браузеру и висят к тому же еще в панели задач.

Для работы расширения с другими приложениями можно сделать бинарную XPCOM компоненту, она будет лежать как длл в опеределённой папке расширения (components). Расширение будет вызывать функции ДЛЛ, которая, в свою очередь, будет обращаться к внешним программам.
Про оперу ничего сказать не могу, там с виджетами как-то всё не так :))

TLK, советую посмареть Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess); ... мож поможет
http://www.oxymoronical.com/experiments/xpcomref/applications/Firefox/3.5/interfaces/nsIProcess