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

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

もずはっく日記(2016年3月)

2016年3月25日

Bug-org 1257761 [Linux][GTK] windowed plugins shouldn't consume reserved shortcut keys of chrome
初回投稿日時: 2016年10月16日11時24分56秒
カテゴリ: Flash GTK KeyboardEvent Mozilla Core Mozilla48 plugin バグ却下
SNS: (list)

Linux版で、windowedプラグインにフォーカスがある時に、Firefoxのショートカットキーが使えないというバグです。

windowlessプラグインしか存在しないMacや、windowedプラグインでも、Geckoのプラグインプロセスが先にイベントを処理できるWindowsでは、先にGeckoがショートカットキーをハンドリングすることが可能です。しかし、問題はこのLinux、GTK版です。

GTKでは、イベントを受け取るために、各プロセス内でシグナルを受け取るように関数をAPIを使って登録します。さらに、キーボードイベントを処理する前に、一旦、IMEにキーボードイベントを渡し、IMEが必要としていないキーイベントかどうかを知る必要があります(これはテストだけではなく、IMEがその時点で必要なキーイベントならハンドリングしてしまいます)。

このことから、明らかに大きな問題が二つあることが分かります。ひとつめは、どうやって、プロセス外からイベントを先に取得するのか。ふたつめは、どうやってプラグインプロセスの中にあるIMEにキーイベントを渡すのか。この二つを解決するには、プラグイン側から一旦イベントを渡してもらう必要があります。しかし、Linux版のNPAPI版 Flash Playerは既に開発を停止して久しいです。また、MozillaもFlash Playerへの対応を縮小していく方向で動いています。

これらの外的な事情と、技術的に解決が困難という点から、このバグは修正しないという結論に至りました。

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

bug-org 1257761を含むエントリ