0

既存の 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、アドオンは期待どおりにロードおよび機能しますが、上記のコードは新しいタブのロードに失敗し、コンソールにエラーは表示されません!!!

4

1 に答える 1