Chromeはコンテンツ側から生成したキーボードイベントを拾うのか?

独自キーバインドを設定するために、コンテンツ領域で keypress や keydown を拾う拡張機能が幾つかある。
keyconfig 系とか Vimperator 系とかね。

んで、これらの拡張っていうか、GoogleChromeはコンテンツ側で生成してディスパッチしたキーボードイベントを拾ってしまうのだろうか、ということが気になった。
もし拾ってしまうとすると、コンテンツ側から拡張機能を通じてChromeの操作が可能になってしまい、セキュリティ問題になりかねない。

Firefoxでも考えられることだが、Firefoxではスクリプトから生成されたイベントはevent.isTrustedfalseとなる。また、Firefoxのウィンドウ側からイベントを拾うにはaddEventListenerの第4引数をtrueにする必要があるなど、ワザとで無い限り拾えないようになっている。

Chromeではこの様な仕組みはあるのだろうか? 拡張開発者たちはこのことに注意を払っているだろうか? それとも・・・。

そんなわけで実験してみようと思った。

だが、問題が発生。

  1. キーボードイベントの発生のさせ方が分からない!
  2. 公的な信頼できるドキュメントはどこ?
  3. テキトウなブログを元にやってみよう
  4. 何やってもevent.charCode,event.keyCodeが0になるんだけど....
  5. もしかして、Bug 16735 – keyboard events created with DOM have keyCode and charCode of 0; thus they aren't handled correctly internally (←昨日まで)
  6. 質問メールを投げる Google ChromeでKeyboardEventの生成方法 - Chrome API Developers JP | Google グループ
  7. 回答にあった方法でやってみて、拡張機能には届いて無さそうであることを確認(←今ココ)
    • ただし、生成方法が間違っている可能性があるので油断は禁物

というわけで、バグにより検証不能である、という結論に...orz

ある意味Chrome君のセキュリティは強固でした。。。