in reply to Perl Mechanize issues - how to make a script running faster with less overhead

UTSL

sub content_as_png { my ($self, $tab, $rect) = @_; $tab ||= $self->tab; $rect ||= {}; # Mostly taken from # http://wiki.github.com/bard/mozrepl/interactor-screenshot-server my $screenshot = $self->repl->declare(<<'JS'); function (tab,rect) { var browser = tab.linkedBrowser; var browserWindow = Components.classes['@mozilla.org/appshell/ +window-mediator;1'] .getService(Components.interfaces.nsIWindowMediator) .getMostRecentWindow('navigator:browser'); var win = browser.contentWindow; var body = win.document.body; if(!body) { return; }; var canvas = browserWindow .document .createElementNS('http://www.w3.org/1999/xhtml', 'canva +s'); var left = rect.left || 0; var top = rect.top || 0; var width = rect.width || body.clientWidth; var height = rect.height || body.clientHeight; canvas.width = width; canvas.height = height; var ctx = canvas.getContext('2d'); ctx.clearRect(0, 0, width, height); ctx.save(); ctx.scale(1.0, 1.0); ctx.drawWindow(win, left, top, width, height, 'rgb(255,255,255 +)'); ctx.restore(); //return atob( return canvas .toDataURL('image/png', '') .split(',')[1] // ); } JS my $scr = $screenshot->($tab, $rect); return $scr ? decode_base64($scr) : undef };

Now i try to install mozrepl - if you or anybody has got some tipps on that. should i run

Hire a sysadmin, seriously

  • Comment on Re: Perl Mechanize issues - how to make a script running faster with less overhead
  • Download Code