diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/changes.txt releases/unplug-2.002/changes.txt 1,33d0 < UnPlug 2.001 < ============ < < 2.001 has bugfixes and minor changes from 2.000 [chiba]. < < Results < ------- < * FlashGot added to "downloaders". Dta used by default if you have both - you < can't select which one you prefer yet. < * Copy Url added to the "openers" list (although it's not really an < "opener" :-) < * Results containing .swf colored gray < < SearchPage < ---------- < * Stop button fixed < < Search < ------ < * no longer fails when "tagname" parameter is given and there is no < dom object available (if gets applied to the whole page) < * re-applies all rules < * ${jsdecode:...} unescapes \xNN javascript escapes < < Rules.xml < --------- < * google video fixed (this failed due to a bug in 2.000 < * google video search changed to follow the link to the result that's < currently playing, and apply all rules to that item < * apple.com trailers for non-hd. < * crunchyroll.com, darktube.com added < * tags searched ( may be missing) < diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/diff.txt releases/unplug-2.002/diff.txt 1,337d0 < diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/common.js releases/unplug-2.000/source/chrome/content/common.js < 135c135 < < version : 2.001, < --- < > version : 2.0, < 139c139 < < revision : 200904051824, < --- < > revision : 200903312332, < diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/config.xul releases/unplug-2.000/source/chrome/content/config.xul < 71d70 < < < 91d89 < < < < < < < --- < > < 103a100,117 < > < > < > < > < > < > < > < > < > < > /playlist/ < > < > < > < > < > < > < > < > < 157d170 < < < 163d175 < < < 197,216d208 < < < < < < < < < < < < < < < < (movie|src|href) < < < < < < < < < < youtube\.com\/v\/([^&]+) < < < < < < token=([^&]+)& < < title=([^&]+)& < < < < < < < 219,225d210 < < < < < < < < addVariable\("content_video",\s*"([^"]+)"\) < < "unit_long(\d+)" < < < < < 233,238d217 < < < < < < video_id%3D%27(\d+)%27 < < media_id%3D%27(\d+)%27 < < < < < 332,342d310 < < < < < < < < <div\s+id=["']current\-title["']\s*>([\s\S]*?)</div\s*> < < < < href=["'](http://[^"']+)["'] < < < < < < < < < < < 396,450d363 < < < < < < < < < < (addParam|addVariable)\s*\(\s*["'](image|thumbnail)["']\s*,\s*["'](.*?)["']\s*\) < < < < < < < < < < < < < < < < intl\.esperanto\.mtvi\.com < < var uri\s*=\s*"(.*?)" < < < < < < < < < < < < < < < < < < < < < < < < < < (googleplayer\.swf\?[^"']+)["'] < < < < < < < < < < < < < < < < < < < < < < < < < < /playlist/ < < < < < < < < < < < < < < < < < < < < < diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/search.js releases/unplug-2.000/source/chrome/content/search.js < 276,296d275 < < * Decodes \xNN javascript escape sequences < < */ < < case "jsdecode": < < return this._subst_apply_functions(parts).replace( < < /\\(b|f|n|r|t|v|\'|\"|\\|[0-7]{3}|x[0-9a-fA-F]{2}|u[0-9a-fA-f]{4})/g, function (wholematch, esc, offset, origstring) { < < switch (esc.charAt(0)) { < < case "b" : return "\b"; < < case "f" : return "\f"; < < case "n" : return "\n"; < < case "r" : return "\r"; < < case "t" : return "\t"; < < case "v" : return "\v"; < < case "\'" : return "\'"; < < case "\"" : return "\""; < < case "x": return String.fromCharCode(parseInt(esc.substring(1), 16)); < < case "u": return String.fromCharCode(parseInt(esc.substring(1), 16)); < < case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": return String.fromCharCode(parseInt(esc, 8)); < < } < < throw "Unknown escape in jsdecode " + esc; < < }); < < /** < 467,479d445 < < /** < < * returns an array of css classes for the widget < < */ < < cssclasses : function () { < < if (this._is_swf()) < < return ["swf"]; < < return []; < < }, < < < < _is_swf : function () { < < return Boolean(this.url.indexOf(".swf") >= 0); < < }, < < < 563,568c529,531 < < for (var i = 0; i < UnPlug2Search._downloads.length; i++) { < < var d = UnPlug2Search._downloads[i]; < < if (d && d.download) { < < d.download.cancel() < < } < < } < --- < > for each ( d in UnPlug2Search._downloads ) < > if (d && d.download) < > d.cancel() < 787,791c750 < < if (node.getAttribute("goto") === "*") { < < referenced_node = UnPlug2Search.get_rules_xml() < < } else { < < referenced_node = UnPlug2.get_element(UnPlug2Search.get_rules_xml(), "rule", node.getAttribute("goto")); < < } < --- < > referenced_node = UnPlug2.get_element(UnPlug2Search.get_rules_xml(), "rule", node.getAttribute("goto")); < diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/searchpage.js releases/unplug-2.000/source/chrome/content/searchpage.js < 48,50d47 < < this.capabilities['flashgot'] = ( < < UnPlug2.get_root_pref("extensions.{19503e42-ca3c-4c27-b1e2-9cdb2170ee34}.description") < < ? true : false ) < 53,56d49 < < // clipboard < < this._clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"] < < .getService(Components.interfaces.nsIClipboardHelper); < < < 139d131 < < reselem.setAttribute("class", result.cssclasses().join(" ")); < 184,187d175 < < copy_url : function (reselem) { < < UnPlug2SearchPage._clipboard.copyString(reselem.getAttribute("url")); < < }, < < < 246,250d233 < < download_flashgot : function (reselem) { < < var fg = UnPlug2SearchPage._gbrowser.gFlashGotService; < < fg.download(["http://example.com"], fg.OP_ONE); < < }, < < < diff --new-file --recursive --suppress-common-lines releases/unplug-2.001/source/chrome/content/searchpage.xul releases/unplug-2.000/source/chrome/content/searchpage.xul < 49c49 < <