Mozilla has enabled a new feature in the most recent Nightly version of the Firefox web browser, version 34 at the time of writing, that introduces changes to Firefox's address bar behavior and backend.
Firefox's auto-complete functionality, which powers suggestions displayed to the user when text is inserted into the address bar, has been powered by two components, history and urlinline up until now.
Mozilla plans to improve the address bar behavior in several ways, for instance to visualize searches better, to separate searches from the browsing history, or to always display the action when the enter key or go button are used.
The underlying architecture however complicates development, which is why the decision was made to rewrite the component.
Some of the problems that Mozilla identified included code dating back prior to important changes made to Firefox's code in recent time, or duplicate and sometimes obscure code.
The new UnifiedComplete component merges the two existing components into a single component. It takes care of the browser's auto-fill functionality and results that are displayed.
Several differences can be observed according to Marco Bonardo, the Mozilla engineer responsible for the implementation.
- The autoFill result in the address bar will now match the first popup entry all the time.
- UI lag should be a thing of the past thanks to the new asynchronous initialization.
- Responsiveness should improve across the board.
- Firefox will suggest installed search engines along with other matches to make users aware of those options.
The component has been enabled in Firefox 34 Nightly. The old components are currently still included as well, but Mozilla plans to remove them once everything has settled in. According to plans, this won't happen before at least two new versions of Firefox are released.
While Mozilla was able to use part of the old code and functionality, it is possible that some add-ons may not work properly anymore unless they are updated by their authors. It remains to be seen if add-ons will be affected by this, and more important, if users will notice that add-ons are not working anymore.
You can check out the meta bug which lists all dependencies to follow the development.