ダイアログから開いたモーダルダイアログが Linux ではモーダルでない

Linux で、ダイアログ(dialog 要素)から window.openDialog メソッドを使ってモーダルダイアログを開いた状態で、親のウィンドウへフォーカスして Esc キーを押下すると、親のウィンドウを閉じることができてしまう。
Prefwindow 要素の openSubDialog で開いたモーダルダイアログについても同様。
前提が崩れてやっかいなことになった。

テストケース:

<?xml version="1.0"?>

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        title="Linux Modal Dialog Test">

    <script type="application/x-javascript"><![CDATA[
    function showModalDialog() {
        window.openDialog(
            'chrome://browser/content/aboutDialog.xul',
            'About',
            'modal,centerscreen,chrome,resizable=no'
        );
        if (!document) {
            dump("*** Linux modal dialog problem");
            return;
        }
    }
    ]]></script>

    <button label="Show Modal Dialog" oncommand="showModalDialog();" />

</dialog>

環境: Ubuntu Linux 6.10 + Firefox 2.0.0.4

TOP

TOP