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:
Tweet (list)
イギリスからBBCのサイトにアクセスした際に見ることができるFlashの動画プレーヤー上で、キーボード上のボリュームキーからボリュームを調整しようとするとハングアップするというバグです。
手探りでパッチを作って、テストしてもらったところ、Bug-org 865561の修正によるregressionでした。
MSDNのWM_APPCOMMANDのドキュメントをあらためて読んでみると、このメッセージはフォーカスを持ったウインドウが処理しなかった場合、その親ウインドウへと送信されていくタイプであることが分かりました。wParamが本来のターゲットのウインドウハンドルを持っているため、これが別プロセスのウインドウだった場合はKeyboardEventを発火しないようにしました。
このバグは単純に他のサイトでは再現しないことから、keydownかkeyupのイベントリスナがFlash Playerにアクセスしようとして発生していると思われます(plugin-container.exeのプロセスは、WM_APPCOMMANDをDefWindowProc()経由でGeckoに送信中なのでハングアップしてしまう)。