1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-20 18:37:58 +01:00

Some 'strictfocus' tweaks.

This commit is contained in:
Kris Maglione
2010-08-26 21:01:50 -04:00
parent 115a72d4cc
commit 04a1f6c49d
2 changed files with 6 additions and 4 deletions

View File

@@ -578,8 +578,8 @@ const Buffer = Module("buffer", {
let offsetX = 1; let offsetX = 1;
let offsetY = 1; let offsetY = 1;
if (elem instanceof HTMLFrameElement || elem instanceof HTMLIFrameElement) { if (isinstance(elem [HTMLFrameElement, HTMLIFrameElement])) {
elem.contentWindow.focus(); buffer.focusElement(elem);
return; return;
} }
else if (elem instanceof HTMLAreaElement) { // for imagemap else if (elem instanceof HTMLAreaElement) { // for imagemap
@@ -608,7 +608,7 @@ const Buffer = Module("buffer", {
liberator.log("Invalid where argument for followLink()", 0); liberator.log("Invalid where argument for followLink()", 0);
} }
elem.focus(); buffer.focusElement(elem);
options.withContext(function () { options.withContext(function () {
options.setPref("browser.tabs.loadInBackground", true); options.setPref("browser.tabs.loadInBackground", true);

View File

@@ -735,13 +735,15 @@ const Events = Module("events", {
} }
}, },
// TODO: Merge with onFocusChange
onFocus: function (event) { onFocus: function (event) {
function hasHTMLDocument(win) win && win.document && win.document instanceof HTMLDocument function hasHTMLDocument(win) win && win.document && win.document instanceof HTMLDocument
let elem = event.originalTarget; let elem = event.originalTarget;
let win = elem.ownerDocument && elem.ownerDocument.defaultView || elem; let win = elem.ownerDocument && elem.ownerDocument.defaultView || elem;
if (hasHTMLDocument(win) && !buffer.focusAllowed(win)) if (hasHTMLDocument(win) && !buffer.focusAllowed(win)
&& isinstance(elem, [HTMLInputElement, HTMLSelectElement, HTMLTextAreaElement]))
elem.blur(); elem.blur();
}, },