chromeのuser script実行タイミング

[追記]

window.addEventListener('load', (function(){})(),false);

で実行できました。

chrome extensionの仕様をよく読んだら普通にdocument_endからonloadイベントファイアの直後までの間って書いてあった。
ということで解決なんですが、下記の問題についての補足。
多分chromeだと多くの場合、user scriptの実行タイミングはonloadの後なんですが、回線が重くてロードの時間が多くかかってしまう場合。この場合は先程も書いたように
document_endからonload直後の間に実行されるということで、onloadの前にuser scriptが実行されてしまい、予期しない動作になる可能性があります。
事実、実家の糞回線だと必ずonloadの前にuser scriptが実行されてしまい、onloadイベントで実行されるような設計になっているサイト(ほとんどそうだと思うが)のuser scriptはちゃんと動いてくれませんでした。
なのでwindow.addEventListener('load',(function(){})(), false);で実行したいuser scriptを確実にonloadの後に実行させるようにしたほうが動作が保証されて良いのではないでしょうか。
あんまそんなことないと思うけど。
[/追記]

chromeの場合、user scriptはdocument_idleのタイミングで実行されるらしい。*1
document_idleの状態というのはdocument_endからwindow.onloadの間の状態である。
つまりDOMの構築が終わって画像やフレームなどの読み込みが終わっていない状態からwindows.onloadまでのどこかのタイミングで実行されるわけだ。

上記の理由によりuser scriptにwindow.addEventListener('load',function(){},false);と書いても実行されない。


そんなのはどうでもいいんだけどonloadのタイミングで実行されるjsを上書きしたい場合、このタイミング(document_idle)でuser scriptが実行されていたら無理ゲーではなかろうか。
しかし現状としてonloadのタイミングでinitされて処理が始まるサイトをuse scriptで上書きできている。謎。
たまに回線が糞重いときはうまく上書きできなくて元のjsが動いている時がある。極稀にだが。

なんでonloadのタイミングで実行されているjsを上書きできているのかは謎。
誰かjs詳しい人教えてください。