1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-20 10:17:59 +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 offsetY = 1;
if (elem instanceof HTMLFrameElement || elem instanceof HTMLIFrameElement) {
elem.contentWindow.focus();
if (isinstance(elem [HTMLFrameElement, HTMLIFrameElement])) {
buffer.focusElement(elem);
return;
}
else if (elem instanceof HTMLAreaElement) { // for imagemap
@@ -608,7 +608,7 @@ const Buffer = Module("buffer", {
liberator.log("Invalid where argument for followLink()", 0);
}
elem.focus();
buffer.focusElement(elem);
options.withContext(function () {
options.setPref("browser.tabs.loadInBackground", true);

View File

@@ -735,13 +735,15 @@ const Events = Module("events", {
}
},
// TODO: Merge with onFocusChange
onFocus: function (event) {
function hasHTMLDocument(win) win && win.document && win.document instanceof HTMLDocument
let elem = event.originalTarget;
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();
},