Mana page's Find/Replace feature no longer works in Firefox 63+
Categories
(Toolkit :: Find Toolbar, defect, P2)
Tracking
()
People
(Reporter: cpeterson, Assigned: emilio)
References
(Regression, )
Details
(Keywords: regression)
Attachments
(2 files)
STR
- Load an editable Mana page, such as https://mana.mozilla.org/wiki/display/Firefox/Fission
- Click the "Edit" button to edit the page.
- Press CTRL+F to open the Mana editor's Find/Replace toolbar.
- Enter a search term (such as "Fission") in the Find field and click the "Next" button.
Expected Result
The first instance of "Fission" should be highlighted in yellow. Pressing "Next" again should highlight the next instance.
Actual Result
Some instance of "Fission" is highlighted in yellow, but not necessarily the first instance on the page. Pressing "Next" does not move the highlight to any other instances of the word "Fission" on the page.
I don't see any exceptions or error messages in the DevTools web or browser consoles.
This is a regression in Firefox 63. The Mana editor's Find/Replace also broke and was fixed back in Firefox 47 (bug 1257444).
@ Emilio, could your Shadow DOM changes in bug 1455891 have broken Mana's Find/Replace?
I bisected this regression to the following pushlog regression range, but mozregression bug 1596201 prevents me from bisecting to narrower regression range:
Assignee | ||
Comment 1•5 years ago
|
||
Is the mana source available somewhere? Yeah, those changes look the most likely culprit. I wish somebody would've added a test in bug 1257444... :)
Reporter | ||
Comment 2•5 years ago
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #1)
Is the mana source available somewhere? Yeah, those changes look the most likely culprit.
Mana is just Mozilla's instance of Atlassian's Confluence wiki, which is a proprietary product. I asked Mozilla's Mana admins (in Mozilla's #mana-support Slack channel) if our Confluence license gives us access to Atlassian's source code.
Reporter | ||
Comment 3•5 years ago
|
||
Emilio, if there is some specific Confluence question or code you need, our Mana admins have contacts with Confluence tech support. Just let me know.
Comment 4•5 years ago
|
||
Marking as wontfix for 71 as we ship this regression since 71. fix-optional for 72 to remove it from our weekly regression triage, it's unlikely we would take an uplift though. I am leaving 68ESR as affected as Confluence is enterprise software and we might take a safe fix in a future 68ESR release.
Comment 5•5 years ago
|
||
test test
Comment 6•5 years ago
|
||
Mike, can you set a priority or find an owner for this issue? It's not a recent regression, but I agree with Pascal's point that we should support this common enterprise software if we can.
Comment 7•5 years ago
|
||
This has nothing to do with the find backend, but is something local to Atlassian's implementation of that feature - which very much looks like it uses the find backend, but they implemented their own.
Therefore tentatively moving to Web Compat, but could be that Emilio knows more.
Please note that regular find-in-page using Firefox's findbar works as expected.
Comment 9•5 years ago
|
||
:miketaylor, is it still unclear how to move this forward (tracked as carry-over regression for 74) ?
Comment 10•5 years ago
|
||
Sorry, fell off the radar.
Ksenia, can you look into this please?
Comment 11•5 years ago
|
||
I've attached a reduced test case. To reproduce the behavior click "Next" button.
The problem here is that window.find(...)
doesn't switch to the next item if range.surroundContents(element)
is used on a current selection range.
Emilio, would you be able to take a look?
Assignee | ||
Comment 12•5 years ago
|
||
Oh that test is really awesome. Yeah, will take a look, thank you!
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 13•5 years ago
|
||
We should start seeking from the child-at-start/end-offset, rather than the
selection container.
The logic to select the starting node was backwards too...
If we're finding backwards we want to start looking from the beginning of the
range and vice versa. But I think that doesn't really matter since
nsWebBrowserFind always gives us a start range with start == end.
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 14•5 years ago
|
||
Comment 15•5 years ago
|
||
Comment 16•5 years ago
|
||
Backed out changeset 9a03944aff45 for causing AssertionError in geckoview.test.FinderTest
Backout link: https://hg.mozilla.org/integration/autoland/rev/5cf34865fa418f444a18e04000a0c0dc89f23823
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=289899593&repo=autoland&lineNumber=3209
Assignee | ||
Updated•5 years ago
|
Comment 17•5 years ago
|
||
Comment 18•5 years ago
|
||
bugherder |
Comment 19•5 years ago
|
||
Is this worth uplifting at this stage? (Tomorrow's the last beta for 74)
Assignee | ||
Comment 20•5 years ago
|
||
Probably not, I wouldn't say the patch is trivial.
Comment 21•5 years ago
|
||
Thanks Emilio!
Reporter | ||
Comment 22•5 years ago
|
||
Plus, this bug was a regression in Fx63, so we've been shipping it since 2018-10-23. :)
Updated•5 years ago
|
Comment 23•5 years ago
|
||
Reproduced the initial issue using an old 70.0 RC build. Verified that the issue does not reproduce on Fx 75.0b5 across platforms (Windows 10 64bit, macOS 10.13.6 and Ubuntu 18.04 64bit) using both mana and the testcase attached to this bug.
Updated•3 years ago
|
Description
•