[Pkg-mozext-commits] [tabmixplus] 20/34: [e10s] Call getValidUrl when it is safe to use CPOWs
David Prévot
taffit at moszumanska.debian.org
Mon Mar 9 23:28:08 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository tabmixplus.
commit ea84c08b7925396ca71f6960485ceb5e8da46fe2
Author: onemen <tabmix.onemen at gmail.com>
Date: Sun Feb 22 14:46:41 2015 +0200
[e10s] Call getValidUrl when it is safe to use CPOWs
---
chrome/content/click/click.js | 15 +++++++++++++--
chrome/content/minit/tablib.js | 19 ++++++++++++-------
chrome/content/tabmix.xul | 4 ++--
3 files changed, 27 insertions(+), 11 deletions(-)
diff --git a/chrome/content/click/click.js b/chrome/content/click/click.js
index 8a7f244..49575a9 100644
--- a/chrome/content/click/click.js
+++ b/chrome/content/click/click.js
@@ -604,12 +604,13 @@ var TabmixContext = {
if (!gContextMenu || event.originalTarget != document.getElementById("contentAreaContextMenu"))
return true;
+ var tab = gBrowser.selectedTab;
try {
var contentClick = gContextMenu.onTextInput || gContextMenu.onLink || gContextMenu.onImage;
var tabsCount = gBrowser.tabs.length;
var closeTabsEmpty = TMP_ClosedTabs.count < 1;
- var protectedTab = gBrowser.mCurrentTab.hasAttribute("protected");
- var lockedTab = gBrowser.mCurrentTab.hasAttribute("locked");
+ var protectedTab = tab.hasAttribute("protected");
+ var lockedTab = tab.hasAttribute("locked");
/**
* from Firefox 4.0 2009-09-11 there is gContextMenu.openLinkInCurrent
@@ -632,6 +633,16 @@ var TabmixContext = {
var keepLastTab = tabsCount == 1 && Tabmix.prefs.getBoolPref("keepLastTab");
Tabmix.setItem(closeTabMenu, "disabled", protectedTab || keepLastTab);
+ // for remote tab get call getValidUrl when it is safe to use CPOWs
+ // getValidUrl may call getParamsForLink
+ if (tab.getAttribute("remote") == "true" &&
+ onLink && (Tabmix.prefs.getBoolPref("openLinkHere") ||
+ Tabmix.prefs.getBoolPref("openInverseLink") ||
+ Tabmix.prefs.getBoolPref("linkWithHistory"))) {
+ let {target, linkURL} = gContextMenu;
+ gContextMenu.tabmixLinkURL = tablib.getValidUrl(linkURL, target);
+ }
+
var freezeTabMenu = document.getElementById("tm-content-freezeTab");
Tabmix.showItem(freezeTabMenu, !contentClick && Tabmix.prefs.getBoolPref("freezeTabContent"));
Tabmix.setItem(freezeTabMenu, "checked", protectedTab && lockedTab);
diff --git a/chrome/content/minit/tablib.js b/chrome/content/minit/tablib.js
index 7fc3b65..6545cef 100644
--- a/chrome/content/minit/tablib.js
+++ b/chrome/content/minit/tablib.js
@@ -969,9 +969,9 @@ var tablib = {
}
};
- gBrowser.openLinkWithHistory = function (aTab) {
+ gBrowser.openLinkWithHistory = function () {
var {target, linkURL, principal} = gContextMenu;
- var url = tablib.getValidUrl(aTab, linkURL, target);
+ var url = tablib.getValidUrl(linkURL, target);
if (!url)
return;
@@ -988,7 +988,7 @@ var tablib = {
urlSecurityCheck(url, doc.nodePrincipal);
}
- this.duplicateTab(aTab, url);
+ this.duplicateTab(gBrowser.selectedTab, url);
};
Tabmix.changeCode(nsContextMenu.prototype, "nsContextMenu.prototype.openLinkInTab")._replace(
@@ -997,9 +997,9 @@ var tablib = {
' $&'
).toCode(false, Tabmix.originalFunctions, "openInverseLink");
- gBrowser.openInverseLink = function (aTab) {
+ gBrowser.openInverseLink = function () {
var {target, linkURL} = gContextMenu;
- var url = tablib.getValidUrl(aTab, linkURL, target);
+ var url = tablib.getValidUrl(linkURL, target);
if (!url)
return;
@@ -1017,7 +1017,7 @@ var tablib = {
tablib.openLinkInCurrent = function() {
var {target, linkURL} = gContextMenu;
- var url = tablib.getValidUrl(gBrowser.selectedTab, linkURL, target);
+ var url = tablib.getValidUrl(linkURL, target);
if (!url)
return;
@@ -1026,7 +1026,7 @@ var tablib = {
gContextMenu.openLinkInCurrent();
};
- tablib.getValidUrl = function(tab, url, target) {
+ tablib.getValidUrl = function(url, target) {
// valid urls don't contain spaces ' '; if we have a space it isn't a valid url.
// Also disallow dropping javascript: or data: urls--bail out
let isValid = function(aUrl) {
@@ -1036,6 +1036,11 @@ var tablib = {
return true;
};
+ let tab = gBrowser.selectedTab;
+ if (tab.getAttribute("remote") == "true" &&
+ typeof gContextMenu.tabmixLinkURL != "undefined")
+ return gContextMenu.tabmixLinkURL;
+
if (!isValid(url)) {
let json = {button: 0, shiftKey: false, ctrlKey: false, metaKey: false,
altKey: false, target: {},
diff --git a/chrome/content/tabmix.xul b/chrome/content/tabmix.xul
index 834915d..ec21f07 100644
--- a/chrome/content/tabmix.xul
+++ b/chrome/content/tabmix.xul
@@ -114,11 +114,11 @@
<menuitem id="tm-openinverselink" label="" fglabel="&linkForegroundTab.label;" bglabel="&linkBackgroundTab.label;"
fgaccesskey="&linkForegroundTab.accesskey;" bgaccesskey="&linkBackgroundTab.accesskey;"
insertafter="context-openlinkintab"
- oncommand="gBrowser.openInverseLink(gBrowser.mCurrentTab);"/>
+ oncommand="gBrowser.openInverseLink();"/>
<menuitem id="tm-openAllLinks" label="&openalllinks.label;" accesskey="&openalllinks.accesskey;"
insertafter="context-openlinkintab" oncommand="TabmixContext.openMultipleLinks();"/>
<menuitem id="tm-linkWithhistory" label="&linkwithhistory.label;" accesskey="&linkwithhistory.accesskey;"
- insertafter="context-openlinkintab" oncommand="gBrowser.openLinkWithHistory(gBrowser.mCurrentTab);"/>
+ insertafter="context-openlinkintab" oncommand="gBrowser.openLinkWithHistory();"/>
<menuseparator id="tm-content-miscSep" insertafter="context-stop"/>
<menuitem id="tm-content-closetab" label="&closeTab.label;" oncommand="gBrowser.removeCurrentTab();" insertbefore="context-sep-stop,context-sep-viewbgimage"/>
<menuitem id="tm-duplicateTabContext" key="key_tm_dupTab" label="&duplicateTabMenu.label;" accesskey="&duplicateTabMenu.accesskey;"
--
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