Нужно соорудить аналог 'Save Page As'-->'Web Page, Complete' для некоторого URL, т.е. какая-то страница должна быть сохранена полностью с картинками и прочей требухой. Метод saveDocument чудесно справляется с такой задачей, если страница открыта в браузере, но мне нужно это сделать для url который не загружен в FF.

Вобщем нужно как-то получить nsIDOMDocument по URL, при этом юзер не должен видеть каких-либо следов от этих манипуляций. Может как-то можно открыть вкладку или окно FF в скрытом режиме и загрузить страницу туда?

З.Ы. Решение в лоб понятно - стянуть саму страничку, прошерстить на наличие картинок, скриптов, и т.п. и сохранить всё это добро вручную.

Нашел кое что по теме...

Обнаружил неприятную особенность, saveURI открывает стандартный download manager высотой где-то 10 пикселов:
dmanager.png

Выделить код

Код:

var persist = Components.classes["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Components.interfaces.nsIWebBrowserPersist);
persist.persistFlags = Components.interfaces.nsIWebProgressListener.PERSIST_FLAGS_REPLACE_EXISTING_FILES |
                                   Components.interfaces.nsIWebProgressListener.PERSIST_FLAGS_BYPASS_CACHE;

var io_service = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
var source_uri = io_service.newURI(url, null, null);
var target_uri = io_service.newFileURI(file);

var transfer = Components.classes["@mozilla.org/transfer;1"].createInstance(Components.interfaces.nsITransfer);
transfer.init(source_uri, target_uri, "", null, null, null, persist);

persist.progressListener = transfer;
persist.saveURI(source_uri, null, null, null, "", file);

Как бы это зафиксить?