« Custom Tree View でドラッグ&ドロップ時に固まる | 横幅に収まらずに crop されたテキストの末尾の「…」 » |
ダイアログから開いたモーダルダイアログが 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