User-Agent: Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.5b) Gecko/20030803
Build Identifier: Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.5b) Gecko/20030803
Characters typed during a type ahead find are also seen as key events by
Steps to Reproduce:
1. Open the above URL.
2. Type "/r" (to search for a word containing a "r").
As soon as "r" is typed, the web page
http://citeseer.nj.nec.com/nrelated/1719612/353735 is opened, because the
original web page has a JS function that opens web pages on some key presses
(this is what I guess after looking at the source).
As typing "r" occurred in a FAYT context, this event shouldn't have been passed
Confirming on 2003080304 WinXP.
You have to call event.preventDefault() on key events you don't want FAYT to get.
See the testcase attachment in bug 167921
*** This bug has been marked as a duplicate of 167921 ***
Reopening: I want the opposite. I complain because a web page is stealing
keypresses for FAYT. Mozilla shouldn't allow this.
(In reply to comment #3)
> Reopening: I want the opposite. I complain because a web page is stealing
> keypresses for FAYT. Mozilla shouldn't allow this.
Yes it should. Web apps need to be able to decide what happens to their
keystrokes. We're just following the DOM by support event.preventDefault().
No, look at what Mozilla does. When the user types '/', FAYT operation is
entered. If the user types '/a', Mozilla searches for 'a' (the first 'a' is
selected). Here, nothing else occurs. If the user types '/r', the first 'r' is
different operations at the same time is definitely a bug.
If the user wants the web application to process the 'r', he can just type 'r',
not '/r'. (Now, there should be an option to prevent web applications from
getting key events, and also a way to indicate that the default key events may
no longer be taken into account, i.e. the user needs to know what will happen
when he does something, but this is another problem.)
Perhaps the fix is something like:
Don't let the web page see keysrokes once find as you type has been started. If
they want to use preventDefault() to keep Find As You Type from starting in the
first place, that's okay. But if thy're going to let / or ' or anything else
start FAYT, then FAYT would keep going.
This might be hard to fix -- we have to see the key events before they do, once
FAYT has begun. However, we only want to look at the keypress after they do if
we're determining whether we should start FAYT.
I agree, and yes, this would need to interpret key presses at two different
places, depending on the context. BTW, an improvement of the event processing
could have other benefits (I've noticed some race conditions in the focus
change, particularly annoying when the machine is very loaded).
I would approve of a fix that did what comment 6 said, as long as we were very
careful about regressions. FAYT is fairly stable these days.
Still seeing this in 20041013, on a similar citeseer page. Strangely, CTRL-F
works fine, even though it brings up the same search bar working in almost the
same way in this version of Firefox.
User comment: I'd like this to be an option. It would be great if I could disable FAYT for gmail (so that 'C' does compose new mail etc). But I can see that in other cases, FAYT should take precedence.
Steve, for what you want, you can already disable FAYT when you start typing; then it will start only after some hotkey. See
i'm not actually volunteering, but i agree w/ the reporter, and pages that do this (gmail) bother me. my choices are either turning off their feature (as i did for gmail) or not using the pages.
(i might actually do this, i need to talk to people and figure out how it might be done.)
bz: should this be as simple as changing the order of event dispatch so that taf is earlier (i.e. before content)?
taf should generally be after content. As in, content should be able to prevent taf.
Possible duplicate of/related to Bug 276295.
> Possible duplicate of/related to Bug 276295.
Probably. Thanks for the heads up.
*** This bug has been marked as a duplicate of bug 276295 ***