[webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

Dean Jackson dino at apple.com
Thu Jun 7 13:11:16 PDT 2012

On 07/06/2012, at 12:53 PM, Annie Sullivan <sullivan at chromium.org> wrote:

> On Thu, Jun 7, 2012 at 3:43 PM, Dean Jackson <dino at apple.com> wrote:
>> On 07/06/2012, at 12:05 PM, Annie Sullivan <sullivan at chromium.org> wrote:
>>> In many browsers in the past, it's been
>>> pretty easy to determine from "a" and "b" characters in the user agent
>>> of many browsers which builds are "alpha" and "beta", and I haven't
>>> heard of bugs caused specifically by checking for build type there.
>> So why not just do that then?
> While it's nice that web developers don't seem to be using the build
> type info in the user agent string in their code, user agent parsing
> code is still very brittle. Some browsers, like Firefox, have had
> buildtype characters in the user agent string for many years, so
> parsing code can handle things like "Firefox/14.0a2". But Chrome
> hasn't ever changed its version format, so we're worried about
> breaking user agent parsers.

Right, I understand that issue. But I don't think replacing something
flakey and problematic with something that could be equally flakey and
problematic is a big win.

Your original problem was:

> We'd love for these sites to be able to report regressions they see in Chrome's performance as early as possible. But it turns out users on different channels actually show different performance characteristics. Beta users seem to have faster machines, for example. So in order to compare two versions of Chrome, we need to compare data from users on the same release channel. So we'd like sites who collect performance information to be able to collect the build type in order to do that comparison.

That sounds exactly like User Agent detection to me. You want
to detect build version and type.

I still think there are similarities to prefixing. The Web community
(not just WebKit) is making a lot of noise about how being able to
detect browsers might seem like a good idea at first but ends up
causing longer-term headaches.

By the way, I don't feel strongly about this. I'm just pointing
out that I don't see any benefit and that what looks like a
small change in metadata has just as important consequences
as a significant technical change.


More information about the webkit-dev mailing list