既存の Firefox アドオン コードを新しいマルチプロセス アーキテクチャに移植しようとしています。私の既存のコードでは、addon install event
以下のコードを使用して新しいタブを起動できます。
function install(data, aReason) {
if (aReason == ADDON_INSTALL) {
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);
var mainWindow = wm.getMostRecentWindow("navigator:browser");
mainWindow.gBrowser.addTab('http://www.mywebsite.org/install-success-page.html');
}
if (aReason == ADDON_UPGRADE) {
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);
var mainWindow = wm.getMostRecentWindow("navigator:browser");
mainWindow.gBrowser.addTab('http://www.mywebsite.org/update-success-page.html');
}
}
(他の拡張機能のコードからのヘルプを使用して)互換性を持たせるために bootstrap.js に変更を加えた後multiprocess firefox
、アドオンは期待どおりにロードおよび機能しますが、上記のコードは新しいタブのロードに失敗し、コンソールにエラーは表示されません!!!