この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2013年2月)

2013年2月28日

Bug-org 708936 Remove hack for bug 262894 and bug 28852
初回投稿日時: 2013年02月28日19時11分41秒
カテゴリ: Events Mozilla Core Mozilla21 Windows バグ修正
SNS: (list)

Windows版のGeckoに古くからあった、ハッキーなコードの削除を行いました。

Alt+半角/全角キーでIMEをオンオフする際に、Altキーのkeyupイベントで、メニューバーがフォーカスされてしまう、というのがBug-org 28852で、この際には、Altkeydownイベントと、keyupイベントの間で、IMEのオン/オフが切り替わった場合に、ダミーのキーイベントを生成することで、メニューバーが動かないようにするという修正が行われていました。

また、Altキーと何らかのキーの組み合わせがシステム、もしくは他のアプリで利用された場合に、そのAltkeyupイベントでメニューバーがフォーカスされてしまう、というのがBug-org 262894で、この際には、Altキーがショートカットキーとして利用された場合に、WM_SYSKEYUPではなく、WM_KEYUPAltキーのkeyup時に利用されることを利用し、Altキーのkeyupイベント自体を生成しないように修正が行われていました。

以前、Bug-org 749563の修正により、defaultPreventedtrueの場合には、メニューバーがフォーカスを奪わないように修正していたので、今回の修正はこれを利用し、まず、前者のダミーのキーイベントの生成を削除、次に、後者のケースで、defaultPreventedtrueAltキーのkeyupイベントを生成するようにしました。

関連するかもしれないエントリ

bug-org 708936を含むエントリ