Paolo Amadini wrote:
It soon became apparent that most of the autocomplete code was designed for
synchronous operation
Synchronous operation of what? Autocomplete works like this: You ask for
some results; some time later, you get some results. How could that be
less synchronous?
In fact, a search on the mozilla-central [2] and comm-central [3] repositories
shows that this shared autocomplete code is only used on Desktop by Firefox and
Thunderbird, while SeaMonkey uses the older XPFE autocomplete.
More precisely, most* of SeaMonkey's UI uses the XPFE-based autocomplete
binding. Well, I say XPFE-based; all of the old XPFE interfaces were
removed long ago. It's basically equivalent to the Toolkit autocomplete
binding (nsIAutoCompleteInput) plus the additional functionality of
nsIAutoCompleteController. It also has its own autocomplete popup, but
the rest is shared with Toolkit. SeaMonkey and Thunderbird do of course
provide additional nsIAutoCompleteSearch implementations (addrbook gloda
ldap mydomain news) above those provided by Toolkit (file form-history
history places-tag-autocomplete search-autocomplete) which Thunderbird
does not use (except possibly it could provide form history in its
content tabs, but I have no idea whether that actually works or not). It
possible that extensions use autocomplete too (DOM Inspector offers file
and history autocomplete it in its URL bar for instance).
The major change would be the removal of the multiple search sources from the
autocomplete code, since this feature is used heavily by Thunderbird.
When the code to provide web page autocomplete suggestions was added, it
was done so in a really hacky way by creating an autocomplete component
which called another autocomplete component and then merged the results
together. If only someone had had the idea of using multiple search
sources. I guess it's too late now.
*SeaMonkey's search bar uses toolkit's autocomplete widget but
SeaMonkey's popup.
--
Warning: May contain traces of nuts.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform