Find Toolbar: Esc doesn't focus link

RESOLVED FIXED in mozilla1.8final

Status

()

Toolkit
Find Toolbar
RESOLVED FIXED
14 years ago
10 years ago

People

(Reporter: Jesse Ruderman, Assigned: masayuki)

Tracking

unspecified
mozilla1.8final
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

14 years ago
0. Load http://www.cs.hmc.edu/~jruderma/s/.
1. Press Ctrl+F.  (Don't use links-only mode.)
2. Type "ev".
3. Press Esc.

Expected: focus on the "Everything2" link so I can press Enter to follow the link.

Result: focus is on the body.  Pressing Tab at this point focuses the item
*after* the link that was found.

The Firefox Find dialog did not have this problem.  Internet Explorer's Find
dialog does have this problem, but it only takes one extra press of the Tab key
to work around it, while Firefox requires Tab followed by Shift+Tab.
-> Find Toolbar component.
Component: General → Find Toolbar / FastFind

Comment 2

14 years ago
Bug 250922?
-> FIXED

by bug 259454.
Status: NEW → RESOLVED
Last Resolved: 13 years ago
Resolution: --- → FIXED
(Reporter)

Comment 4

13 years ago
I still see this bug using
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b2) Gecko/20050707
Firefox/1.0+
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
-> INVA.

Comment 0 said:
> 1. Press Ctrl+F.  (Don't use links-only mode.)

The reason of invalid is here.
Bug 250922 comment 17.
Status: REOPENED → RESOLVED
Last Resolved: 13 years ago13 years ago
Resolution: --- → INVALID
(Reporter)

Comment 6

13 years ago
The reason Ctrl+F, foo, Enter doesn't follow the link is that Enter has a
different meaning when the Find Toolbar has focus (find next).  But after you
press Esc, the Find Toolbar no longer has focus, so why not focus the found link?
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
(In reply to comment #6)
> The reason Ctrl+F, foo, Enter doesn't follow the link is that Enter has a
> different meaning when the Find Toolbar has focus (find next).  But after you
> press Esc, the Find Toolbar no longer has focus, so why not focus the found link?

Currently design, *Ctrl + F does not find the link*. it finds the text.
See the source code.

http://lxr.mozilla.org/seamonkey/source/toolkit/components/typeaheadfind/content/findBar.js#555
555 function find(val)
556 {
557   if (!val)
558     val = document.getElementById("find-field").value;
559 
560   enableFindButtons(val);
561 
562   var highlightBtn = document.getElementById("highlight");
563   if (highlightBtn.checked)
564     setHighlightTimeout();
565 
566   changeSelectionColor(true);
567 
568   var fastFind = getBrowser().fastFind;
569   var res = fastFind.find(val, gFindMode == FIND_LINKS);
570   updateFoundLink(res);
571   updateStatus(res, true);
572 
573   if (gFindMode != FIND_NORMAL)
574     setFindCloseTimeout();
575 }

If we want to find the link always, #569's second param should be true.
But currently design, it is true when the FAYT's find link mode only.
We didn't find the link in Ctrl + F,
so we *cannot* set focus to any link in this time.

If you want to reopen this bug. Please file a new bug that is request for always
to find a link. And if that *enhancement* is fixed and this bug is happend, you
should reopen this bug.

OTHERWISE, PLEASE DON'T REOPEN THIS BUG.
Status: REOPENED → RESOLVED
Last Resolved: 13 years ago13 years ago
Resolution: --- → INVALID
Oops. Sorry.
If we fix the request, we should not change the findbar.js.
We should change following:

http://lxr.mozilla.org/seamonkey/source/toolkit/components/typeaheadfind/src/nsTypeAheadFind.cpp#431
nsTypeAheadFind::FindItNow
431       if (mFocusLinks) {
432         nsIEventStateManager *esm = presContext->EventStateManager();
433         PRBool isSelectionWithFocus;
434         esm->MoveFocusToCaret(PR_TRUE, &isSelectionWithFocus);
435         if (isSelectionWithFocus) {
436           nsCOMPtr<nsIContent> lastFocusedContent;
437           esm->GetLastFocusedContent(getter_AddRefs(lastFocusedContent));
438           nsCOMPtr<nsIDOMElement>
439             lastFocusedElement(do_QueryInterface(lastFocusedContent));
440           mFoundLink = lastFocusedElement;
441         }
442       }

We don't need #431's statement if always we should find the link instead of text.
Or we need to change following(here is better than comment #8).

http://lxr.mozilla.org/seamonkey/source/toolkit/components/typeaheadfind/content/findBar.js#748
748 function setFindMode(mode)
749 {
750   if (mode == gFindMode)
751     return;
752 
753   gFindMode = mode;
754   var fastFind = getBrowser().fastFind;
755   fastFind.focusLinks = (gFindMode != FIND_NORMAL);
756 }

#755 fastFind.focusLinks is always true.
(Assignee)

Updated

13 years ago
OS: Windows XP → All
Hardware: PC → All
I filed new bug. See bug 300197.
https://bugzilla.mozilla.org/show_bug.cgi?id=300197
(Assignee)

Updated

13 years ago
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
(Assignee)

Updated

13 years ago
Assignee: firefox → masayuki
Status: REOPENED → NEW
This is fixed by bug 296720's patch.
Status: NEW → RESOLVED
Last Resolved: 13 years ago13 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox1.1
(Reporter)

Comment 12

12 years ago
*** Bug 293352 has been marked as a duplicate of this bug. ***
Product: Firefox → Toolkit
You need to log in before you can comment on or make changes to this bug.