Valentin, I see that you are working on bug 1544233; our need here, if we want to use an heuristic, rather than exposing a pref that the user may discover too late, would be some API from the network code telling us whether the user may be resolving everything remotely. If we can be relatively sure all the addresses are resolved remotely (DOH), then we can completely skip this post-facto dns resolve after search, because it's unlikely a remote resolver would handle non-dotted words or invalid suffixes. How complicate would be, after bug 1544233 to detect things like: 1. the system has no hosts or just the default one 2. we are using DOH In addition we likely want to check: I. the system is part of a domain (enterprise) II. the system is using policies (we can already detect this, I assume) There's still some edge cases there, like special suffixes (.onion or openNIC) that some remote resolver may recognize, others not. We could either: a. just suggest to use browser.fixup.dns_first_for_single_words b. provide a tri-bool pref for this post-facto dns feature: -1 never, 0 default (heuristic), 1 always c. just add them to our list of recognized suffixes, though then we'd need some policy for inclusion
Bug 1642623 Comment 4 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Valentin, I see that you are working on bug 1544233; our need here, if we want to use an heuristic, rather than exposing a pref that the user may discover too late, would be some API from the network code telling us whether the user may be resolving everything remotely. If we can be relatively sure all the addresses are resolved remotely (DOH), then we can completely skip this post-facto dns resolve after search, because it's unlikely a remote resolver would handle non-dotted words or invalid suffixes. How complicate would be, after bug 1544233 to detect things like: 1. the system has no hosts or just the default one 2. we are using DOH In addition we likely want to check: I. the system is part of a domain (enterprise) II. the system is using policies (we can already detect this, I assume) There's still some edge cases there, like special suffixes (.onion or openNIC) that some remote resolver may recognize, others not. We could either: a. just suggest to use browser.fixup.dns_first_for_single_words b. provide a tri-bool pref for this post-facto dns feature: 0 never, 1 default (heuristic), 2 always c. just add them to our list of recognized suffixes, though then we'd need some policy for inclusion