From 5ec727c96bbf74a74a83172761928a8029ffb1b8 Mon Sep 17 00:00:00 2001 From: mattn Date: Wed, 4 Jun 2008 09:49:58 +0000 Subject: * Components.utils.evalInSandboxが使えるなら、そちらを使う様に修正 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@13217 d0d07461-0603-4401-acd4-de1884942a52 --- wassr.js | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'wassr.js') diff --git a/wassr.js b/wassr.js index 31cddd1..7b2ca97 100644 --- a/wassr.js +++ b/wassr.js @@ -1,5 +1,5 @@ // Vimperator plugin: "Update Wassr" -// Last Change: 09-May-2008. Jan 2008 +// Last Change: 04-Jun-2008. Jan 2008 // License: Creative Commons // Maintainer: mattn - http://mattn.kaoriya.net/ // Based On: twitter.js by Trapezoid @@ -7,6 +7,16 @@ // The script allows you to update Wassr status from Vimperator 0.6.*. (function(){ + var evalFunc = window.eval; + try { + var sandbox = new Components.utils.Sandbox(window); + if (Components.utils.evalInSandbox("true", sandbox) === true) { + evalFunc = function(text) { + return Components.utils.evalInSandbox(text, sandbox); + } + } + } catch(e) { liberator.log('warning: wassr.js is working with unsafe sandbox.'); } + var passwordManager = Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager); function sayWassr(username, password, stat){ var xhr = new XMLHttpRequest(); @@ -26,7 +36,7 @@ //xhr.open("GET", "http://api.wassr.jp/statuses/user_timeline/otsune.json", false, username, password); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(null); - var statuses = window.eval(xhr.responseText); + var statuses = evalFunc(xhr.responseText); var html =