It looks like getting Ctrl+Reload to work to duplicate tabs will require copying the JS function from Firefox browser.js:
Code: Select all
function BrowserReloadOrDuplicate(aEvent) {
var backgroundTabModifier = aEvent.button == 1 ||
//@line 1893 "c:\builds\moz2_slave\rel-m-rel-w32_bld-000000000000\build\browser\base\content\browser.js"
aEvent.ctrlKey;
//@line 1895 "c:\builds\moz2_slave\rel-m-rel-w32_bld-000000000000\build\browser\base\content\browser.js"
if (aEvent.shiftKey && !backgroundTabModifier) {
BrowserReloadSkipCache();
return;
}
let where = whereToOpenLink(aEvent, false, true);
if (where == "current")
BrowserReload();
else
duplicateTabIn(gBrowser.selectedTab, where);
}
function BrowserReload() {
if (gBrowser.currentURI.schemeIs("view-source")) {
// Bug 1167797: For view source, we always skip the cache
return BrowserReloadSkipCache();
}
const reloadFlags = nsIWebNavigation.LOAD_FLAGS_NONE;
BrowserReloadWithFlags(reloadFlags);
}
function BrowserReloadSkipCache() {
// Bypass proxy and cache.
const reloadFlags = nsIWebNavigation.LOAD_FLAGS_BYPASS_PROXY | nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE;
BrowserReloadWithFlags(reloadFlags);
}
Reload functions in SeaMonkey navigator.js:
Code: Select all
function BrowserReload(aEvent)
{
var where = whereToOpenLink(aEvent, false, true);
if (where == "current")
BrowserReloadWithFlags(nsIWebNavigation.LOAD_FLAGS_NONE);
else if (where == null && aEvent.shiftKey)
BrowserReloadSkipCache();
else
OpenSessionHistoryIn(where, 0);
}
function BrowserReloadSkipCache()
{
// Bypass proxy and cache.
const reloadFlags = nsIWebNavigation.LOAD_FLAGS_BYPASS_PROXY | nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE;
BrowserReloadWithFlags(reloadFlags);
}
SeaMonkey already has a compatibility shim for supporting duplicateTabIn via OpenSessionHistoryIn.