1. Допустим есть тулбар, у которого в chrome.manifest строчка:

Выделить код

Код:

overlay   chrome://browser/content/browser.xul   chrome://projectname/content/ff-overlay.xul

Можно ли без перезапуска FF заменить ff-overlay.xul на ff-overlay2.xul? Чтобы изменения сразу же вступили в силу.
Или, если с перезапуском FF, то как привильно это сделать?
Просто поменять эту строчку в chrome.manifest?

2. Аналоично для JS. В ff-overlay.xul есть ссылки на файлы:

Выделить код

Код:

<script src="overlay.js"/>
  <script src="ff-overlay.js"/>

Что делать, если я хочу динамически переключиться на другой JS, без перезапуска FF?

3. Аналогично вопрос для XPCOM (для JS и для dll). Но там как я понимаю без перезапуска FF не обойтись (для dll).
Но если с перезагрузкой, то как? Нельзя же просто положить новую dll рядом со старой?
В момент перезагрузки FF нужно будет старую удалить.
А как поймать тот момент, когда старую dll можно удалять?

Я так понимаю стандартный механизм обновления всегда требует перезапуска FF, а если делать обновление вручную, то в каких-то случаях можно обойтись без перезапуска.

Вопрос еще можно так сформулировать:
Как перезапустить тулбар (например), без перезапуска FF?

У дополнения "Extension Developer" в меню есть функция "Reload all chrome". По описанию похоже на то, что Вы ищете (Reload all chrome without caching. Useful for testing overlay changes without restarting. )
вот её код:

Выделить код

Код:

function doReloadAllChrome()
  {
    try {
      // assuming bug 256504 makes it in, this should work with jar files
      Components.classes["@mozilla.org/chrome/chrome-registry;1"].getService(Components.interfaces.nsIXULChromeRegistry).reloadChrome();
    } catch(e) { alert(e) }
  }

formatC'vt
Спасибо, забыл про этот вариант.
Но у reloadChrome есть побочные эффекты. Например пропадают табы. Могут быть еще какие-то.
Тут вот человек спросил, никто не ответил http://forums.mozillazine.org/viewtopic.php?f=19&t=1058825&start=0

Насколько я понял он перезагружает весь хром и причина эффектов в этом. Тут или восстанавливать табы самому или попытаться сделать свой вариант reloadChrome, расширив стандартный.

Может кто подскажет описание как правильно перехватить/дополнить любой XPCOM?