読込に失敗した画像を再読込する

重いサイトを開いてたときに、不便したので作った。

本当は、読込に失敗したフレームも再読込したかったんだけど、
やり方が分からなかったので画像のみです。


一応各フレームの更新を掛けたオブジェクト数をechoで表示してます。
重いページは、再読込掛けても失敗していまい コードが正しいかがいまいち分かりません。orz

(function(){
  var obj={
    reload:function(){
      obj.core.call(this,content.window);
    },core:function(aWindow){
      var w=aWindow;
      for(var i=0,j=w.frames.length;i<j;++i){
        arguments.callee.call(this,w.frames[i]);
      }
      var cnt=0,req,img,list=w.document.images;
      for(var i=0,j=list.length;i<j;++i){
        img=list[i];
        if(img instanceof Ci.nsIImageLoadingContent && img.currentURI){
          req = img.getRequest(Ci.nsIImageLoadingContent.CURRENT_REQUEST);
          if(req && !(req.imageStatus & req.STATUS_LOAD_COMPLETE)){
            img.forceReload();
            ++cnt;
          }
        }
      }
      liberator.echo("reload image:"+cnt);
    }
  }
  commands.removeUserCommand("reloadimage");
  commands.addUserCommand(["reloadimage"],"reload images",obj.reload);
})();