From 40ad43a8ad22416d5350e854aeeac14622c037e8 Mon Sep 17 00:00:00 2001 From: janekptacijarabaci Date: Sun, 3 Jun 2018 20:08:31 +0200 Subject: [PALEMOON] Fix "Open Web Location" (Ctrl-L/Alt-D) when nav toolbar hidden Issue #434 --- application/palemoon/base/content/openLocation.js | 100 ++++++++++++---------- 1 file changed, 56 insertions(+), 44 deletions(-) (limited to 'application/palemoon') diff --git a/application/palemoon/base/content/openLocation.js b/application/palemoon/base/content/openLocation.js index f39e34666..f4338c992 100644 --- a/application/palemoon/base/content/openLocation.js +++ b/application/palemoon/base/content/openLocation.js @@ -16,7 +16,8 @@ try { } Components.utils.import("resource:///modules/openLocationLastURL.jsm", openLocationModule); -var gOpenLocationLastURL = new openLocationModule.OpenLocationLastURL(window.opener); +var gOpenLocationLastURL = new openLocationModule.OpenLocationLastURL( + window.opener); function onLoad() { @@ -40,7 +41,8 @@ function onLoad() try { var value = pref.getIntPref("general.open_location.last_window_choice"); - var element = dialog.openWhereList.getElementsByAttribute("value", value)[0]; + var element = dialog.openWhereList.getElementsByAttribute( + "value", value)[0]; if (element) dialog.openWhereList.selectedItem = element; dialog.input.value = gOpenLocationLastURL.value; @@ -61,53 +63,63 @@ function doEnabling() function open() { - getShortcutOrURIAndPostData(dialog.input.value).then(data => { - let url; - let postData = null; - let mayInheritPrincipal = false; - - if (browser) { - url = data.url; - postData = data.postData; - mayInheritPrincipal = data.mayInheritPrincipal; - } else { - url = dialog.input.value; - } + var openData = { + "url": null, + "postData": null, + "mayInheritPrincipal": false + }; + if (browser) { + browser.getShortcutOrURIAndPostData(dialog.input.value).then(data => { + openData.url = data.url; + openData.postData = data.postData; + openData.mayInheritPrincipal = data.mayInheritPrincipal; + + openLocation(openData); + }); + } else { + openData.url = dialog.input.value; + + openLocation(openData); + } - try { - // Whichever target we use for the load, we allow third-party services to - // fixup the URI - switch (dialog.openWhereList.value) { - case "0": - var webNav = Components.interfaces.nsIWebNavigation; - var flags = webNav.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP | - webNav.LOAD_FLAGS_FIXUP_SCHEME_TYPOS; - if (!mayInheritPrincipal) - flags |= webNav.LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL; - browser.gBrowser.loadURIWithFlags(url, flags, null, null, postData); - break; - case "1": - window.opener.delayedOpenWindow(getBrowserURL(), "all,dialog=no", - url, postData, null, null, true); - break; - case "3": - browser.delayedOpenTab(url, null, null, postData, true); - break; - } - } - catch(exception) { - } + return false; +} - if (pref) { - gOpenLocationLastURL.value = dialog.input.value; - pref.setIntPref("general.open_location.last_window_choice", dialog.openWhereList.value); +function openLocation(openData) +{ + try { + // Whichever target we use for the load, we allow third-party services to + // fixup the URI + switch (dialog.openWhereList.value) { + case "0": + var webNav = Components.interfaces.nsIWebNavigation; + var flags = webNav.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP | + webNav.LOAD_FLAGS_FIXUP_SCHEME_TYPOS; + if (!openData.mayInheritPrincipal) + flags |= webNav.LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL; + browser.gBrowser.loadURIWithFlags( + openData.url, flags, null, null, openData.postData); + break; + case "1": + window.opener.delayedOpenWindow(getBrowserURL(), "all,dialog=no", + openData.url, openData.postData, + null, null, true); + break; + case "3": + browser.delayedOpenTab( + openData.url, null, null, openData.postData, true); + break; } + } catch (ex) {} - // Delay closing slightly to avoid timing bug on Linux. - window.close(); - }); + if (pref) { + gOpenLocationLastURL.value = dialog.input.value; + pref.setIntPref( + "general.open_location.last_window_choice", dialog.openWhereList.value); + } - return false; + // Delay closing slightly to avoid timing bug on Linux. + window.close(); } function createInstance(contractid, iidName) -- cgit v1.2.3 From 0b381c1b36baeeb7ce659f8fcac4510200938d8f Mon Sep 17 00:00:00 2001 From: janekptacijarabaci Date: Mon, 4 Jun 2018 04:31:15 +0200 Subject: Style clean up + fix typo Issue #434 --- application/palemoon/base/content/openLocation.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'application/palemoon') diff --git a/application/palemoon/base/content/openLocation.js b/application/palemoon/base/content/openLocation.js index f4338c992..ed869ac9c 100644 --- a/application/palemoon/base/content/openLocation.js +++ b/application/palemoon/base/content/openLocation.js @@ -16,8 +16,7 @@ try { } Components.utils.import("resource:///modules/openLocationLastURL.jsm", openLocationModule); -var gOpenLocationLastURL = new openLocationModule.OpenLocationLastURL( - window.opener); +var gOpenLocationLastURL = new openLocationModule.OpenLocationLastURL(window.opener); function onLoad() { @@ -41,8 +40,7 @@ function onLoad() try { var value = pref.getIntPref("general.open_location.last_window_choice"); - var element = dialog.openWhereList.getElementsByAttribute( - "value", value)[0]; + var element = dialog.openWhereList.getElementsByAttribute("value", value)[0]; if (element) dialog.openWhereList.selectedItem = element; dialog.input.value = gOpenLocationLastURL.value; @@ -89,7 +87,7 @@ function openLocation(openData) { try { // Whichever target we use for the load, we allow third-party services to - // fixup the URI + // fix up the URI switch (dialog.openWhereList.value) { case "0": var webNav = Components.interfaces.nsIWebNavigation; -- cgit v1.2.3 From 36e5eacbbf027af61294112b47e6cf70684b8981 Mon Sep 17 00:00:00 2001 From: janekptacijarabaci Date: Mon, 4 Jun 2018 04:40:14 +0200 Subject: Remove an unnecessary comment when closing the dialog Issue #434 --- application/palemoon/base/content/openLocation.js | 1 - 1 file changed, 1 deletion(-) (limited to 'application/palemoon') diff --git a/application/palemoon/base/content/openLocation.js b/application/palemoon/base/content/openLocation.js index ed869ac9c..7ad2f7c4a 100644 --- a/application/palemoon/base/content/openLocation.js +++ b/application/palemoon/base/content/openLocation.js @@ -116,7 +116,6 @@ function openLocation(openData) "general.open_location.last_window_choice", dialog.openWhereList.value); } - // Delay closing slightly to avoid timing bug on Linux. window.close(); } -- cgit v1.2.3