[Pkg-mozext-commits] [tabmixplus] 40/147: Split tablib._loadURIWithFlags function to make it easier to test it

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 1fdffad36de6c006e37debceafe2ac3853c9e8dc
Author: onemen <tabmix.onemen at gmail.com>
Date:   Fri Dec 2 08:16:14 2016 +0200

    Split tablib._loadURIWithFlags function to make it easier to test it
---
 chrome/content/minit/tablib.js | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/chrome/content/minit/tablib.js b/chrome/content/minit/tablib.js
index 2c09e7b..d445746 100644
--- a/chrome/content/minit/tablib.js
+++ b/chrome/content/minit/tablib.js
@@ -52,6 +52,10 @@ var tablib = { // eslint-disable-line
   },
 
   _loadURIWithFlags: function(browser, uri, params) {
+    if (tablib.allowLoad(browser, uri)) {
+      return null;
+    }
+    // redirect load request to a new tab
     let flags;
     if (!Tabmix.isVersion(380)) {
       flags = params;
@@ -64,12 +68,21 @@ var tablib = { // eslint-disable-line
       flags = params.flags;
     }
 
+    let isFlagged = flag => Boolean(flags & Ci.nsIWebNavigation[flag]);
+    params.inBackground = false;
+    params.allowThirdPartyFixup = isFlagged("LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP");
+    params.fromExternal = isFlagged("LOAD_FLAGS_FROM_EXTERNAL");
+    params.allowMixedContent = isFlagged("LOAD_FLAGS_ALLOW_MIXED_CONTENT");
+    return gBrowser.loadOneTab(uri, params);
+  },
+
+  allowLoad: function(browser, uri) {
     var tab = gBrowser.getTabForBrowser(browser);
     if (!tab) {
       browser.tabmix_allowLoad = true;
-      return null;
+      return true;
     }
-    var allowLoad = tablib.isException(browser.tabmix_allowLoad !== false ||
+    var allowLoad = this.isException(browser.tabmix_allowLoad !== false ||
                                        uri.match(/^javascript:/));
 
     let allowedUrls = [
@@ -101,16 +114,11 @@ var tablib = { // eslint-disable-line
       return gBrowser.isBlankBrowser(browser);
     }());
     var isLockedTab = tab.hasAttribute("locked");
-    if (!allowLoad && !isBlankTab && isLockedTab) {
-      let isFlagged = flag => Boolean(flags & Ci.nsIWebNavigation[flag]);
-      params.inBackground = false;
-      params.allowThirdPartyFixup = isFlagged("LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP");
-      params.fromExternal = isFlagged("LOAD_FLAGS_FROM_EXTERNAL");
-      params.allowMixedContent = isFlagged("LOAD_FLAGS_ALLOW_MIXED_CONTENT");
-      return gBrowser.loadOneTab(uri, params);
+    if (allowLoad || isBlankTab || !isLockedTab) {
+      browser.tabmix_allowLoad = uri == TabmixSvc.aboutBlank || !isLockedTab;
+      return true;
     }
-    browser.tabmix_allowLoad = uri == TabmixSvc.aboutBlank || !isLockedTab;
-    return null;
+    return false;
   },
 
   /**

-- 
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