[Pkg-mozext-commits] [tabmixplus] 41/147: Replace eval of loadURIWithFlags with wrapped function

David Prévot taffit at moszumanska.debian.org
Sat Aug 5 15:27:34 UTC 2017


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository tabmixplus.

commit da8405affeba048465ff0bcf97607898020ff6e2
Author: onemen <tabmix.onemen at gmail.com>
Date:   Fri Dec 2 09:14:27 2016 +0200

    Replace eval of loadURIWithFlags with wrapped function
---
 chrome/content/minit/tablib.js | 43 ++++++++++++++++++++++--------------------
 1 file changed, 23 insertions(+), 20 deletions(-)

diff --git a/chrome/content/minit/tablib.js b/chrome/content/minit/tablib.js
index d445746..ee3fa68 100644
--- a/chrome/content/minit/tablib.js
+++ b/chrome/content/minit/tablib.js
@@ -27,28 +27,31 @@ var tablib = { // eslint-disable-line
       if (this._loadURIWithFlagsInitialized)
         return;
       this._loadURIWithFlagsInitialized = true;
-      [obj, name] = [window, "window._loadURIWithFlags"];
+      [obj, name] = [window, "_loadURIWithFlags"];
     } else {
-      [obj, name] = [aBrowser, "browser.loadURIWithFlags"];
+      [obj, name] = [aBrowser, "loadURIWithFlags"];
     }
-    Tabmix.changeCode(obj, name)._replace(
-      '{',
-      '$&\n' +
-      '  let args = Array.prototype.slice.call(arguments);\n' +
-      '  if (!Tabmix.isVersion(360))\n' +
-      '    args.unshift(this);\n' +
-      '  var tabmixResult = tablib._loadURIWithFlags.apply(null, args);\n' +
-      '  if (tabmixResult)\n' +
-      '    return tabmixResult;\n'
-    )._replace(
-      /(})(\)?)$/,
-      '  return null;\n' +
-      '$1$2'
-    )._replace(
-      'this.webNavigation.LOAD_FLAGS_FROM_EXTERNAL',
-      'Ci.nsIWebNavigation.LOAD_FLAGS_FROM_EXTERNAL',
-      {check: !Tabmix.isVersion(360) && ("loadTabsProgressively" in window)}
-    ).toCode();
+
+    Tabmix.originalFunctions._loadURIWithFlags = obj[name];
+    obj[name] = function(...args) {
+      try {
+        const arg0 = [];
+        if (!Tabmix.isVersion(360)) {
+          arg0.push(this);
+        }
+
+        // if we redirected the load request to a new tab return it
+        const tabmixResult = tablib._loadURIWithFlags.apply(null, arg0.concat(args));
+        if (tabmixResult) {
+          return tabmixResult;
+        }
+
+        Tabmix.originalFunctions._loadURIWithFlags.apply(this, args);
+      } catch (ex) {
+        Tabmix.reportError(ex);
+      }
+      return null;
+    };
   },
 
   _loadURIWithFlags: function(browser, uri, params) {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/tabmixplus.git



More information about the Pkg-mozext-commits mailing list