Contact emails
Spec
No spec, just this HTML spec bug:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=27786
Summary
Let navigator.vendor always return "".
I understand that this is potentially disruptive to analytics and browser engine detection, but please interpret charitably and consider all options.
Motivation
navigator.vendor is currently "Google Inc." by default, but can be overridden at build time. Some Chromium-based browsers do:
Opera: "Opera Software ASA" (also has OPR/* in UA string)
navigator.vendor is used on ~8% of page views:
https://www.chromestatus.com/metrics/feature/timeline/popularity/124
This is a lot, and there's no way to measure how the string is used, but there are two other ways to attack the problem:
Existing content
I've looked at the 20141115 httparchive data and found 32688 resources including the string "navigator.vendor" in 218557 archived pages, in other words ~15% of pages have "navigator.vendor" in some resource. I've tried to categorize them using grep and other command line tools:
12861 are definitely unreachable, mostly on the form "navigator.userAgent || navigator.vendor".
Ongoing technical constraints
None.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
OWP launch tracking bug?
https://crbug.com/276813 is a bug to drop navigator.vendor, which isn't what I propose, but that's where the discussion has been.Link to entry on the feature dashboard
None.
Requesting approval to ship?
Yes. Some amount of trouble is likely, so I suggest making the change now (right after the branch point) to give it maximum time before reaching stable. If we find some serious breakage where outreach fails before reaching stable, we should delay for a release or two. If there's a *lot* of breakage we should reconsider entirely.Compatibility Risk
navigator.vendor is used on ~8% of page views:
https://www.chromestatus.com/metrics/feature/timeline/popularity/124
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Hi, Philip!We had recently opened an issue in where.js (https://github.com/AntouanK/where.js/issues/1) because our Vendor was not recognised, and that was the reason of problems with some sites. I think that 8% is too much.But in my opinion in the future all of the browsers will behave absolutely equal and there will be no reason to determine a browser vendor :-)
Yes, analytics is important, and navigator.vendor can currently be
used to differentiate Chrome from some Chromium-based browsers.
Fortunately, Opera and the other Chromium-based browsers that tweak
navigator.vendor that I tested also add some token to the UA string.
On Friday, January 16, 2015 at 10:30:07 AM UTC-8, Nico Weber wrote:
Since analytics packages use this to detect Chrome, what other technique do you recommend they use instead.
I suppose you mean Blink, because detecting *Google's* Chrome is almost impossible to detect. A blink browser called Epic doesn't identify itself in neither UA or vendor so that's a very difficult task, that ever I can barely attempt to do.
This would be a short way of detecting blink at the moment: http://stackoverflow.com/a/20866141/1647538
The long way is the way I do it. But there are no short snippets for that.
I can attest here that there are no standards or recommendations in place from Google. So I think the policy of blink browsers should go like this: Unless you modify or fork the rendering engine in a distinct manner, keep the vendor of the entity making the engine, and/or put a window.chrome object for sites that historically rely on that. Any other forks of AppleWebkit that I know of, keep 'Apple Inc.' Or if it's fork then put you own entity as vendor in order to make that distinction clear.
I have argued a need for a navigator.engine token on the WHATWG thread. But I think i might a swell scream to a deaf hear.
I see no strong reason why blink engine browsers should have a different vendor than Chrome's. And apparently no one here has thought this through ahead of time (which I initially thought would have been the case). That said, I still oppose the removal of 'Google Inc.' to an empty string because of my extensive time spent in browser detection.
While it is not 100% necessary to detect Blink and I could see myself not relying on it. But I do believe it makes analytics much harder on the long term, and could possibly be even more prone for mistakes for average developers. What was/is slightly broken here is the lack of initial thinking on the blink devs' part. But I take issue rewriting the history of 'Google Inc.'s vendor in the middle of nowhere like that.