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に送信中なのでハングアップしてしまう)。