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

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

もずはっく日記(2015年8月)

2015年8月26日

Bug-org 1187724 Flash hangs on BBC iPlayer after changing system volume through keyboard
初回投稿日時: 2015年08月26日13時02分59秒
最終更新日時: 2015年08月27日09時38分42秒
カテゴリ: Events Flash KeyboardEvent Mozilla Core Mozilla41 Mozilla42 Mozilla43 plugin Windows バグ修正
SNS: (list)

イギリスからBBCのサイトにアクセスした際に見ることができるFlashの動画プレーヤー上で、キーボード上のボリュームキーからボリュームを調整しようとするとハングアップするというバグです。

手探りでパッチを作って、テストしてもらったところ、Bug-org 865561の修正によるregressionでした。

MSDNのWM_APPCOMMANDのドキュメントをあらためて読んでみると、このメッセージはフォーカスを持ったウインドウが処理しなかった場合、その親ウインドウへと送信されていくタイプであることが分かりました。wParamが本来のターゲットのウインドウハンドルを持っているため、これが別プロセスのウインドウだった場合はKeyboardEventを発火しないようにしました。

このバグは単純に他のサイトでは再現しないことから、keydownkeyupのイベントリスナがFlash Playerにアクセスしようとして発生していると思われます(plugin-container.exeのプロセスは、WM_APPCOMMANDDefWindowProc()経由でGeckoに送信中なのでハングアップしてしまう)。

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

bug-org 1187724を含むエントリ