Closed Bug 1843100 Opened 9 months ago Closed 9 months ago

Don't reuse rows from different providers

Categories

(Firefox :: Address Bar, defect, P3)

defect

Tracking

()

RESOLVED FIXED
117 Branch
Tracking Status
firefox117 --- fixed

People

(Reporter: mak, Assigned: mak)

References

(Blocks 1 open bug)

Details

(Whiteboard: [sng])

Attachments

(1 file)

The current UrlbarView update system tries to reuse rows to reduce flicket, but pretty much only distinguishes search VS non-search (with a few exceptions)
See https://searchfox.org/mozilla-central/rev/a3852ea8db25c759bc8b108aeec870d66c95452c/browser/components/urlbar/UrlbarView.sys.mjs#1108-1139

This still causes flicker in some cases, because each provider has its own time characteristic.
For example, the remote tabs provider is really fast, it fetches from a cache most of the times. On the other side, the Places provider is on average slow, because it has to fetch from disk most of the times.
The remote tabs provider is thus immediately serving results, that will be pushed out on the chunking timer (16ms) then the Places provider will serve its results in the next timer. We only retain a limited amount of remote tabs, so the places provider will override most remote tabs.

What happens in practice is that remote tabs appear for a brief amount of time, then places results cover them.
When typing some text like "mozilla" that matches a lot of remote tabs from my Mac, this happens at every letter I type, and that causes a really annoying flickering.

We could change #rowCanUpdateToResult so that it will disallow updating a result if the new result comes from a different provider.

Assignee: nobody → mak
Status: NEW → ASSIGNED
Whiteboard: [sng]

Different providers have different time characteristics, reusing results across
providers may thus cause flicker of results coming from the fastest ones.

Blocks: 1844278
Pushed by mak77@bonardo.net:
https://hg.mozilla.org/integration/autoland/rev/2bee80417e29
Address Bar view should not try to reuse rows from different providers. r=daleharvey
Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → 117 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: