[omnibox] Make realbox paint "incomplete" results, just like the omnibox
I've been investigating why the realbox has such worse ToPaint metrics than the omnibox. I discovered that the realbox is ignoring all autocomplete results other than the final "done()" one, which won't come in until we get results from the Suggest server, often 60ms away at the fastest. This CL makes the realbox paint incomplete results, just like the omnibox does. For the user, it's going to make the realbox feel much more responsive, like the omnibox, but also introduces the same asynchronous result-changing-after-the-fact issue that the omnibox has. I think it's best to just keep the behavior the same between the UIs. It also improves the ToPaint time on my machine from ~70ms to ~15ms, which is quite competitive with the actual omnibox. Some history: In the original implementation of the realbox, there was a one-time-use callback, which is probably why the original implementer waited until the autocomplete machinery was done(). This limitation was removed by this CL: https://chromium-review.googlesource.com/c/chromium/src/+/1875030 This CL takes advantage of that new ability by reporting the incomplete states as well. (i.e. history provider has returned but search suggest has not gotten the remote results yet). Bug: 1046561 Change-Id: I8f7fc5760bfefb0e9aa0d3642cde0e30185e71be Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2036259Reviewed-by:Moe Ahmadi <mahmadi@chromium.org> Commit-Queue: Tommy Li <tommycli@chromium.org> Cr-Commit-Position: refs/heads/master@{#739184}
Showing
Please register or sign in to comment