X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=common%2Fmodules%2Ftemplate.jsm;h=93b600831f2049d7c20bdee09a290beabe2a98f7;hb=refs%2Fheads%2Fupstream;hp=5b89f187524e336eb95e7c2899c01a1c686d996d;hpb=354a049cce8415487552ce405cce167b7071fe1f;p=dactyl.git diff --git a/common/modules/template.jsm b/common/modules/template.jsm index 5b89f18..93b6008 100644 --- a/common/modules/template.jsm +++ b/common/modules/template.jsm @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2013 Kris Maglione +// Copyright (c) 2008-2014 Kris Maglione // // This work is licensed for reuse under an MIT license. Details are // given in the LICENSE.txt file included with this file. @@ -106,7 +106,7 @@ var Template = Module("Template", { "click": function onClick(event) { event.preventDefault(); if (this.commandAllowed) { - if (Set.has(this.target.commands || {}, this.command)) + if (hasOwnProperty(this.target.commands || {}, this.command)) this.target.commands[this.command].call(this.target); else this.target.command(this.command); @@ -115,7 +115,7 @@ var Template = Module("Template", { }, get commandAllowed() { - if (Set.has(this.target.allowedCommands || {}, this.command)) + if (hasOwnProperty(this.target.allowedCommands || {}, this.command)) return this.target.allowedCommands[this.command]; if ("commandAllowed" in this.target) return this.target.commandAllowed(this.command); @@ -140,11 +140,11 @@ var Template = Module("Template", { let obj = params.eventTarget; let events = obj[this.getAttribute("events") || "events"]; - if (Set.has(events, "input")) + if (hasOwnProperty(events, "input")) events["dactyl-input"] = events["input"]; for (let [event, handler] in Iterator(events)) - node.addEventListener(event, util.wrapCallback(obj.closure(handler), true), false); + node.addEventListener(event, util.wrapCallback(handler.bind(obj), true), false); } }) }, @@ -155,7 +155,7 @@ var Template = Module("Template", { let res = []; let n = 0; - for each (let i in Iterator(iter)) { + for (let i in Iterator(iter)) { let val = func(i, n); if (val == undefined) continue; @@ -219,7 +219,7 @@ var Template = Module("Template", { else if (/^n_/.test(topic)) topic = topic.slice(2); - if (help.initialized && !Set.has(help.tags, topic)) + if (help.initialized && !hasOwnProperty(help.tags, topic)) return ["span", { highlight: type || ""}, text || token]; type = type || (/^'.*'$/.test(token) ? "HelpOpt" : @@ -241,7 +241,7 @@ var Template = Module("Template", { else if (/^n_/.test(topic)) topic = topic.slice(2); - if (help.initialized && !Set.has(help.tags, topic)) + if (help.initialized && !hasOwnProperty(help.tags, topic)) return token; let tag = (/^'.*'$/.test(token) ? "o" : @@ -263,30 +263,12 @@ var Template = Module("Template", { })(), this[help ? "HelpLink" : "helpLink"]); }, - // Fixes some strange stack rewinds on NS_ERROR_OUT_OF_MEMORY - // exceptions that we can't catch. - stringify: function stringify(arg) { - if (!callable(arg)) - return String(arg); - - try { - this._sandbox.arg = arg; - return Cu.evalInSandbox("String(arg)", this._sandbox); - } - finally { - this._sandbox.arg = null; - } - }, - - _sandbox: Class.Memoize(() => Cu.Sandbox(Cu.getGlobalForObject(global), - { wantXrays: false })), - // if "processStrings" is true, any passed strings will be surrounded by " and // any line breaks are displayed as \n highlight: function highlight(arg, processStrings, clip, bw) { // some objects like window.JSON or getBrowsers()._browsers need the try/catch try { - let str = this.stringify(arg); + let str = String(arg); if (clip) str = util.clip(str, clip); switch (arg == null ? "undefined" : typeof arg) { @@ -467,7 +449,7 @@ var Template = Module("Template", { ["td", { style: style[i] || "" }, d])])]; }, - usage: function usage(iter, format = {}) { + usage: function usage(iter, format={}) { let desc = format.description || (item => this.linkifyHelp(item.description)); let help = format.help || (item => item.name); let sourceLink = (frame) => {