[webkit-dev] can we stop using Skipped files?

2012-06-07 Thread Dirk Pranke
I believe most if not all of the ports have started using either
TestExpectations files or a combination of TestExpectations files
(except for the Apple Win port).

Can we explicitly switch to the TestExpectations files at this point
and drop support for Skipped files on the other ports (and perhaps
disable old-run-webkit-tests for all but apple win)?

If not, what needs to happen so that we can do that? Do we need to
land more of the discussed changes to the syntax of the
TestExpectations file? Anything else?

It would be nice to get rid of the complexity (both in the code and in
our heads) if we can.

-- Dirk
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Annie Sullivan
On Thu, Jun 7, 2012 at 4:41 PM, Brendan Eich  wrote:
> Adam Barth wrote:
>>
>> On Thu, Jun 7, 2012 at 1:00 PM, Ryosuke Niwa  wrote:
>>>
>>> What is the rationale for adding this property on the navigator object
>>>
>>> instead of the chrome object we also expose if your'e not expecting this
>>> property to be ever standarized?
>>
>>
>> Generally, we avoid implementing web visible features via the "chrome"
>> object because that makes them Chrome-proprietary.  In this case, it
>> seems entirely reasonable for other browsers (e.g., Firefox) to want
>> to implement this feature.  By putting it on navigator, we invite them
>> to implement it as well.
>
>
> No, that's not how you invite someone to do something, in conventional
> human-to-human interactions :-|. It's a bit aggro -- if it makes a de-facto
> standard, others will follow whether they like it or not. If it has
> undesirable unintended consequences, too bad. As Dean pointed out, it also
> contradicts the pitch in Annie's first message.
>
> As Annie noted, we don't feel the need since our UA string has some [ab]
> cruft in it at the end, and a number after the letter that's important.
>
> But UA groveling sucks. Could we instead discuss navigator.buildType in some
> appropriate W3C or WHATWG list?

Thanks everybody for your feedback! It sounds like we need to think a
bit more about the use case and whether there's a better approach we
can take. We'll send an updated proposal to the whatwg list after
we've thought about it a bit more.

-Annie
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Brendan Eich

Adam Barth wrote:

On Thu, Jun 7, 2012 at 1:00 PM, Ryosuke Niwa  wrote:

What is the rationale for adding this property on the navigator object
instead of the chrome object we also expose if your'e not expecting this
property to be ever standarized?


Generally, we avoid implementing web visible features via the "chrome"
object because that makes them Chrome-proprietary.  In this case, it
seems entirely reasonable for other browsers (e.g., Firefox) to want
to implement this feature.  By putting it on navigator, we invite them
to implement it as well.


No, that's not how you invite someone to do something, in conventional 
human-to-human interactions :-|. It's a bit aggro -- if it makes a 
de-facto standard, others will follow whether they like it or not. If it 
has undesirable unintended consequences, too bad. As Dean pointed out, 
it also contradicts the pitch in Annie's first message.


As Annie noted, we don't feel the need since our UA string has some [ab] 
cruft in it at the end, and a number after the letter that's important.


But UA groveling sucks. Could we instead discuss navigator.buildType in 
some appropriate W3C or WHATWG list?


/be
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Dean Jackson

On 07/06/2012, at 1:10 PM, Adam Barth  wrote:

> On Thu, Jun 7, 2012 at 1:00 PM, Ryosuke Niwa  wrote:
>> On Wed, Jun 6, 2012 at 1:51 PM, Annie Sullivan 
>> wrote:
>>> 
>>> I wanted to let you know that I plan to add support for
>>> navigator.buildType (e.g., "nightly", "beta", "final") to WebKit. This
>>> feature isn't on the standards track (but neither are a bunch of other
>>> similar properties on Navigator). This feature will be behind the
>>> ENABLE(NAVIGATOR_BUILDTYPE) feature define. See:
>>> https://bugs.webkit.org/show_bug.cgi?id=88358
>>> http://html.spec.whatwg.org/#navigator
>> 
>> What is the rationale for adding this property on the navigator object
>> instead of the chrome object we also expose if your'e not expecting this
>> property to be ever standarized?
> 
> Generally, we avoid implementing web visible features via the "chrome"
> object because that makes them Chrome-proprietary.  In this case, it
> seems entirely reasonable for other browsers (e.g., Firefox) to want
> to implement this feature.  By putting it on navigator, we invite them
> to implement it as well.

But the original message said:

> I wanted to let you know that I plan to add support for navigator.buildType 
> (e.g., "nightly", "beta", "final") to WebKit. This feature isn't on the 
> standards track (but neither are a bunch of other similar properties on 
> Navigator)

If you don't want it to be Chrome or WebKit-proprietary, and you're inviting 
other browsers to implement it, then you should probably speak to them and the 
rest of the community up front.

It definitely would be much nicer if User Agent was exposed as a bunch of 
neatly organised JavaScript properties on the navigator object. Of course then 
we'd eventually have issues similar to what are now parsing errors. Who says a 
browser won't want to add "alpha" or "release-candidate" to the list above. 
This is going to be flakey no matter what.

I should stop replying now because I really don't care anywhere near as much 
about this as I'm suggesting by all my email :)

Dean


> 
>> The feedback the WebKit community at large has given us so far appears to be
>> strictly negative about adding this to the navigator object.
> 
> The mechanism for implementing the feature doesn't really affect the
> arguments that folks are making on this thread.  If we decide that the
> feature is worth implementing, we should implement it on navigator.
> If the feature is not worth implementing, we shouldn't implement it on
> the "chrome" object either.
> 
> Adam
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Dean Jackson

On 07/06/2012, at 12:53 PM, Annie Sullivan  wrote:

> On Thu, Jun 7, 2012 at 3:43 PM, Dean Jackson  wrote:
>> 
>> On 07/06/2012, at 12:05 PM, Annie Sullivan  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.

Dean

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Adam Barth
On Thu, Jun 7, 2012 at 1:00 PM, Ryosuke Niwa  wrote:
> On Wed, Jun 6, 2012 at 1:51 PM, Annie Sullivan 
> wrote:
>>
>> I wanted to let you know that I plan to add support for
>> navigator.buildType (e.g., "nightly", "beta", "final") to WebKit. This
>> feature isn't on the standards track (but neither are a bunch of other
>> similar properties on Navigator). This feature will be behind the
>> ENABLE(NAVIGATOR_BUILDTYPE) feature define. See:
>> https://bugs.webkit.org/show_bug.cgi?id=88358
>> http://html.spec.whatwg.org/#navigator
>
> What is the rationale for adding this property on the navigator object
> instead of the chrome object we also expose if your'e not expecting this
> property to be ever standarized?

Generally, we avoid implementing web visible features via the "chrome"
object because that makes them Chrome-proprietary.  In this case, it
seems entirely reasonable for other browsers (e.g., Firefox) to want
to implement this feature.  By putting it on navigator, we invite them
to implement it as well.

> The feedback the WebKit community at large has given us so far appears to be
> strictly negative about adding this to the navigator object.

The mechanism for implementing the feature doesn't really affect the
arguments that folks are making on this thread.  If we decide that the
feature is worth implementing, we should implement it on navigator.
If the feature is not worth implementing, we shouldn't implement it on
the "chrome" object either.

Adam
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Rename FAIL to DIFF Was (Re: PSA: FAIL test expectation does not encompass MISSING, CRASH, or TIMEOUT)

2012-06-07 Thread Ryosuke Niwa
On Thu, Jun 7, 2012 at 12:59 PM, Dirk Pranke  wrote:
>
> FAIL was supposed to have been removed long ago in favor of
> TEXT/IMAGE/IMAGE+TEXT as necessary as Peter suggests, but I never got
> around to it :) I agree with his reasoning, and have not been
> convinced that not having to be specific about what is failing is a
> good thing.
>

Let's do that then.

I also agree that we shouldn't TEXT/IMAGE/IMAGE+TEXT in the file at
> all for extended periods of time since you can just check in updated
> baselines.
>

I'd argue that we should never add test expectations pre-emptively just to
keep bots green. It appears to do more harm than good.

- Ryosuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Ryosuke Niwa
On Wed, Jun 6, 2012 at 1:51 PM, Annie Sullivan wrote:

> I wanted to let you know that I plan to add support for
> navigator.buildType (e.g., "nightly", "beta", "final") to WebKit. This
> feature isn't on the standards track (but neither are a bunch of other
> similar properties on Navigator). This feature will be behind the
> ENABLE(NAVIGATOR_BUILDTYPE) feature define. See:
> https://bugs.webkit.org/show_bug.cgi?id=88358
> http://html.spec.whatwg.org/#navigator
>

What is the rationale for adding this property on the navigator object
instead of the chrome object we also expose if your'e not expecting this
property to be ever standarized?

The feedback the WebKit community at large has given us so far appears to
be strictly negative about adding this to the navigator object.

- Ryosuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Rename FAIL to DIFF Was (Re: PSA: FAIL test expectation does not encompass MISSING, CRASH, or TIMEOUT)

2012-06-07 Thread Dirk Pranke
On Wed, Jun 6, 2012 at 10:36 PM, Peter Kasting  wrote:
> On Wed, Jun 6, 2012 at 10:22 PM, Ryosuke Niwa  wrote:
>>
>> Now that everyone knows the problem, I propose to rename FAIL to DIFF.
>>
>> FAIL should mean that the test fails, not that it fails with image, text,
>> or image and text failures.
>>
>> DIFF, on the other hand, has no ambiguity. It can't be interpreted as
>> timeout, crash, or pass but can easily be associated with image and text
>> differences.
>
>
> I don't think DIFF is any better.  It sounds like it means the output is
> "different than what we wanted", thus it effectively means "didn't pass",
> and one would expect it to match MISSING/CRASH/TIMEOUT as much as one would
> expect FAIL to.
>
> Personally I'd prefer to resolve this -- if we need to -- by removing FAIL
> entirely.  Being explicit about your expectations isn't a bad thing.  Plus,
> the number of cases that are truly TEXT IMAGE IMAGE+TEXT seems likely to be
> small.

FAIL was supposed to have been removed long ago in favor of
TEXT/IMAGE/IMAGE+TEXT as necessary as Peter suggests, but I never got
around to it :) I agree with his reasoning, and have not been
convinced that not having to be specific about what is failing is a
good thing.

I also agree that we shouldn't TEXT/IMAGE/IMAGE+TEXT in the file at
all for extended periods of time since you can just check in updated
baselines.

-- Dirk
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Adam Barth
On Thu, Jun 7, 2012 at 12:53 PM, Annie Sullivan  wrote:
> On Thu, Jun 7, 2012 at 3:43 PM, Dean Jackson  wrote:
>> On 07/06/2012, at 12:05 PM, Annie Sullivan  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.

Even beyond that, putting the buildType in the User-Agent seems
strictly worse that exposing it as a separate property to JavaScript.

Adam
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Annie Sullivan
On Thu, Jun 7, 2012 at 3:43 PM, Dean Jackson  wrote:
>
> On 07/06/2012, at 12:05 PM, Annie Sullivan  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.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Rename FAIL to DIFF Was (Re: PSA: FAIL test expectation does not encompass MISSING, CRASH, or TIMEOUT)

2012-06-07 Thread Ryosuke Niwa
On Thu, Jun 7, 2012 at 12:44 PM, Peter Kasting wrote:

> On Thu, Jun 7, 2012 at 12:33 PM, Ryosuke Niwa  wrote:
>
>> Not if the test was padding. I'm talking about the case where you're
>> modifying WebCore and know that some tests are going to need rebaselines.
>> People have advised in the past that patch authors add failing test
>> expectations to TestExpectations files to avoid turning bots red.
>>
>
> I think this is bad advice.  When I've been sheriff it seems like people
> who try this inevitably miss some tests and platforms anyway, get wrong
> expectations, etc.  All this does is add more work for the submitter that
> is difficult to check ahead of time.  We should just advise people to land
> and then fix (and be around on IRC/notify sheriffs about what's going on).
>

Yes. I'd strongly advocate for not adding test expectations. I've seen too
many patch authors adding test expectations and then forgetting about them.

However, there is a practical problem that the commit queue uses Chromium
Linux port and rejects patches that need rebaselines unless the authors add
test expectations.

It seems like this is what you were saying as your general statement as
> well.
>

Right.

- Ryosuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Rename FAIL to DIFF Was (Re: PSA: FAIL test expectation does not encompass MISSING, CRASH, or TIMEOUT)

2012-06-07 Thread Peter Kasting
On Thu, Jun 7, 2012 at 12:33 PM, Ryosuke Niwa  wrote:

> Not if the test was padding. I'm talking about the case where you're
> modifying WebCore and know that some tests are going to need rebaselines.
> People have advised in the past that patch authors add failing test
> expectations to TestExpectations files to avoid turning bots red.
>

I think this is bad advice.  When I've been sheriff it seems like people
who try this inevitably miss some tests and platforms anyway, get wrong
expectations, etc.  All this does is add more work for the submitter that
is difficult to check ahead of time.  We should just advise people to land
and then fix (and be around on IRC/notify sheriffs about what's going on).

It seems like this is what you were saying as your general statement as
well.

PK
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Dean Jackson

On 07/06/2012, at 12:05 PM, Annie Sullivan  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?

Dean

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] PSA: FAIL test expectation does not encompass MISSING, CRASH, or TIMEOUT

2012-06-07 Thread Dirk Pranke
The reason for this (which is debatable) is that CRASH and TIMEOUT are
deemed to be more serious and shouldn't be suppressed as lightly.
MISSING, on the other hand, just indicates that there's something
wrong (tests should never have missing results for very long).

-- Dirk

On Wed, Jun 6, 2012 at 9:42 PM, Ryosuke Niwa  wrote:
> Hi,
>
> As much as it doesn't make any sense to me, FAIL test expectation doesn't
> cover MISSING, CRASH, and TIMEOUT test expectations as it is currently
> interpreted by new-run-webkit-tests. Meaning that
>
> BUGRNIWA : some-pixel-test-i-am-adding.html = FAIL
>
> is logically equivalent to
>
> BUGRNIWA : some-pixel-test-i-am-adding.html = IMAGE TEXT IMAGE+TEXT
>
> Thus, if you're adding a pixel test and only adding the corresponding
> expected result to, say, Mac, then you need to add MISSING results to some
> platforms (e.g. Qt, GTK+, etc...) that cannot find this expected result as
> in:
>
> BUGRNIWA : some-pixel-test-i-am-adding.html = MISSING
>
> If you're expecting the test to fail with image, text, or image and text
> failures, or pass, then do:
>
> BUGRNIWA : some-pixel-test-i-am-adding.html = FAIL PASS
>
> If you're expecting the test to timeout, crash, or, fail (image, text, or
> image and text), or pass, then do:
>
> BUGRNIWA : some-pixel-test-i-am-adding.html = TIMEOUT CRASH FAIL PASS
>
> Best,
> Ryosuke Niwa
> Software Engineer
> Google Inc.
>
>
>
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Rename FAIL to DIFF Was (Re: PSA: FAIL test expectation does not encompass MISSING, CRASH, or TIMEOUT)

2012-06-07 Thread Ryosuke Niwa
On Thu, Jun 7, 2012 at 11:03 AM, Peter Kasting wrote:

> On Wed, Jun 6, 2012 at 11:28 PM, Ryosuke Niwa  wrote:
>
>> > I don't think DIFF is any better.  It sounds like it means the output
>> is "different than what we wanted", thus it effectively means "didn't
>> pass", and one would expect it to match MISSING/CRASH/TIMEOUT as much as
>> one would expect FAIL to.
>>
>> The output being different implies that we have an output, which isn't
>> true when DRT/WTR crashes or times out.
>>
> Those are outputs as well.  Or if you don't like the work "output"
> substitute "outcome".
>

I don't buy it.

>  > Personally I'd prefer to resolve this -- if we need to -- by removing
>> FAIL entirely.  Being explicit about your expectations isn't a bad thing.
>>  Plus, the number of cases that are truly TEXT IMAGE IMAGE+TEXT seems
>> likely to be small.
>>
>> People use FAIL when they don't know what to expect; e.g. adding or
>> rebaselining tests. zit's utterky unreasonable to expect patch authors to
>> add TEXT IMAGE TEXT+IMAGE to every test they're expecting to rebaseline.
>>
> If you're rebaselining an existing test, presumably the test already has
> an expectation that matches what it's doing, or you can see what it's doing
> to write one.
>

Not if the test was padding. I'm talking about the case where you're
modifying WebCore and know that some tests are going to need rebaselines.
People have advised in the past that patch authors add failing test
expectations to TestExpectations files to avoid turning bots red.

If the rebaselining tools can already figure out the right behavior when an
> expectation is FAIL, why don't we just make them work correctly regardless
> of what the expectation says?  Or work correctly when the expectation is
> the empty string?  Those would let people just write "foo.html =" and
> rebaseline which is even easier on them.
>

That isn't really the issue. The problem is that people add test
expectations pre-emptively to keep bots green but end up adding wrong
expectations sometimes because FAIL doesn't encompass MISSING, and that's
the failure you'll get on qt and gtk if you're adding expected results to
mac. If you're adding expected results to just chromium linux, for example,
then you'll get MISSING failure on all but chromium linux.

>  I also think it's a bad practice to add test expections just to keep
>> bots green. It's much better if the tests started to fail on the waterfall
>> so that people who pay attention to bots can rebaseline them since most
>> people forget about rebaselining tests once their patches are landed.
>>
> I can't tell what you're arguing here.  As far as I know nothing in what I
> was saying related to the question of the reason why people are adding
> expectations.
>

It was nothing to do with your response. I was making a general statement.

- Ryosuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Annie Sullivan
On Thu, Jun 7, 2012 at 2:08 PM, Dean Jackson  wrote:
>
> On 07/06/2012, at 10:07 AM, Annie Sullivan  wrote:
>
>> Oops, forgot to reply-all.
>>
>> On Thu, Jun 7, 2012 at 9:05 AM, Annie Sullivan  wrote:
>>> On Wed, Jun 6, 2012 at 4:59 PM, Darin Adler  wrote:

 Our past experience with this sort of thing at Apple is that it led to 
 bugs we didn’t find until after we shipped “final” software because they 
 did not show up during earlier testing. Since then, we’ve gone out of our 
 way to avoid differences, since one of the main things we want to do with 
 non-final builds is to approximate the final releases as closely as 
 possible to get useful testing.

 To oversimplify, website developers notoriously make mistakes with these 
 types of attributes doing things like version and OS checks, leading to 
 website incompatibilities.
>>>
>>> Yes, this is definitely a concern we have as well.
>>>
 Maybe you could make your case for the usefulness of the attribute?
>>>
>>> The problem we're experiencing in Chrome is for sites that collect
>>> usage data--it turns out there's a selection bias caused by users who
>>> opt in to our canary, dev, and beta channels.
>>>
>>> The specific case I'm looking at right now is sites collecting
>>> performance data from their user base. 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.
>>>
>>> We considered a few alternatives:
>>> 1) Adding a marker in the user agent string that indicates the
>>> channel. The problem with this is that there is a lot of very fragile
>>> code in the wild which parses user agent strings and breaks at the
>>> slightest change. For example, code that parses Opera 10 as Opera 1.
>>> 2) Updating the version number as Chrome advances from canary to dev
>>> to beta to stable, or encoding the build type in one of the octets of
>>> the version number. The problem with this is that there's a big
>>> possibility of sites that do version checking accidentally turning off
>>> features on some channels. There are also a lot of things that we *do*
>>> want to track across release channels for a specific version, like
>>> bugs. So changing the version number could cause confusion there.
>>> 3) Sending an "x-buildtype" header. If we do this on every request,
>>> it's a lot of bloat. We can't restrict it to requests that send a
>>> corresponding "x-tell-me-the-buildtype" request header because most
>>> metrics collection libraries send their metrics in an image request,
>>> so they can't send custom headers.
>
> navigator.buildType might address your particular problem, but introduces a 
> significant risk of future issues. I can imagine keen web authors adding 
> features based on detecting "nightly" or "beta" that then break in "final".
>
> This is similar to prefixing CSS properties which, as you probably know, is 
> an extremely hot discussion topic right now in the community. I don't think 
> people will be especially excited for another potential point of failure.

I think this is different from CSS prefixing because of size of the
potential user base involved.

With CSS prefixing, on mobile phones right now web developers can
reach nearly 100% of their audience with only -webkit prefixes. So
they have no reason to fix their sites to drop the prefixes.

With the buildType, it's pretty clear that web developers are going to
reach only a small percentage of their users if they check for "beta"
or "nightly". So it doesn't really make sense for them to create a
site that depends on this. 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.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Adam Barth
On Thu, Jun 7, 2012 at 11:48 AM, Konstantin Tokarev  wrote:
>
>
> 07.06.2012, 21:07, "Annie Sullivan" :
>> Oops, forgot to reply-all.
>>
>> On Thu, Jun 7, 2012 at 9:05 AM, Annie Sullivan  wrote:
>>
>>>  On Wed, Jun 6, 2012 at 4:59 PM, Darin Adler  wrote:
  Our past experience with this sort of thing at Apple is that it led to 
 bugs we didn't find until after we shipped "final" software because they 
 did not show up during earlier testing. Since then, we've gone out of our 
 way to avoid differences, since one of the main things we want to do with 
 non-final builds is to approximate the final releases as closely as 
 possible to get useful testing.

  To oversimplify, website developers notoriously make mistakes with these 
 types of attributes doing things like version and OS checks, leading to 
 website incompatibilities.
>>>  Yes, this is definitely a concern we have as well.
  Maybe you could make your case for the usefulness of the attribute?
>>>  The problem we're experiencing in Chrome is for sites that collect
>>>  usage data--it turns out there's a selection bias caused by users who
>>>  opt in to our canary, dev, and beta channels.
>>>
>>>  The specific case I'm looking at right now is sites collecting
>>>  performance data from their user base. 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.
>
> Are you sure that this differences are statistically significant?

Yes.

Adam


>>> 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.
>>>
>>>  We considered a few alternatives:
>>>  1) Adding a marker in the user agent string that indicates the
>>>  channel. The problem with this is that there is a lot of very fragile
>>>  code in the wild which parses user agent strings and breaks at the
>>>  slightest change. For example, code that parses Opera 10 as Opera 1.
>>>  2) Updating the version number as Chrome advances from canary to dev
>>>  to beta to stable, or encoding the build type in one of the octets of
>>>  the version number. The problem with this is that there's a big
>>>  possibility of sites that do version checking accidentally turning off
>>>  features on some channels. There are also a lot of things that we *do*
>>>  want to track across release channels for a specific version, like
>>>  bugs. So changing the version number could cause confusion there.
>>>  3) Sending an "x-buildtype" header. If we do this on every request,
>>>  it's a lot of bloat. We can't restrict it to requests that send a
>>>  corresponding "x-tell-me-the-buildtype" request header because most
>>>  metrics collection libraries send their metrics in an image request,
>>>  so they can't send custom headers.
>>
>> ___
>> webkit-dev mailing list
>> webkit-dev@lists.webkit.org
>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
> --
> Regards,
> Konstantin
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Konstantin Tokarev


07.06.2012, 21:07, "Annie Sullivan" :
> Oops, forgot to reply-all.
>
> On Thu, Jun 7, 2012 at 9:05 AM, Annie Sullivan  wrote:
>
>>  On Wed, Jun 6, 2012 at 4:59 PM, Darin Adler  wrote:
>>>  Our past experience with this sort of thing at Apple is that it led to 
>>> bugs we didn’t find until after we shipped “final” software because they 
>>> did not show up during earlier testing. Since then, we’ve gone out of our 
>>> way to avoid differences, since one of the main things we want to do with 
>>> non-final builds is to approximate the final releases as closely as 
>>> possible to get useful testing.
>>>
>>>  To oversimplify, website developers notoriously make mistakes with these 
>>> types of attributes doing things like version and OS checks, leading to 
>>> website incompatibilities.
>>  Yes, this is definitely a concern we have as well.
>>>  Maybe you could make your case for the usefulness of the attribute?
>>  The problem we're experiencing in Chrome is for sites that collect
>>  usage data--it turns out there's a selection bias caused by users who
>>  opt in to our canary, dev, and beta channels.
>>
>>  The specific case I'm looking at right now is sites collecting
>>  performance data from their user base. 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.

Are you sure that this differences are statistically significant?


>> 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.
>>
>>  We considered a few alternatives:
>>  1) Adding a marker in the user agent string that indicates the
>>  channel. The problem with this is that there is a lot of very fragile
>>  code in the wild which parses user agent strings and breaks at the
>>  slightest change. For example, code that parses Opera 10 as Opera 1.
>>  2) Updating the version number as Chrome advances from canary to dev
>>  to beta to stable, or encoding the build type in one of the octets of
>>  the version number. The problem with this is that there's a big
>>  possibility of sites that do version checking accidentally turning off
>>  features on some channels. There are also a lot of things that we *do*
>>  want to track across release channels for a specific version, like
>>  bugs. So changing the version number could cause confusion there.
>>  3) Sending an "x-buildtype" header. If we do this on every request,
>>  it's a lot of bloat. We can't restrict it to requests that send a
>>  corresponding "x-tell-me-the-buildtype" request header because most
>>  metrics collection libraries send their metrics in an image request,
>>  so they can't send custom headers.
>
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

-- 
Regards,
Konstantin
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Dean Jackson

On 07/06/2012, at 10:07 AM, Annie Sullivan  wrote:

> Oops, forgot to reply-all.
> 
> On Thu, Jun 7, 2012 at 9:05 AM, Annie Sullivan  wrote:
>> On Wed, Jun 6, 2012 at 4:59 PM, Darin Adler  wrote:
>>> 
>>> Our past experience with this sort of thing at Apple is that it led to bugs 
>>> we didn’t find until after we shipped “final” software because they did not 
>>> show up during earlier testing. Since then, we’ve gone out of our way to 
>>> avoid differences, since one of the main things we want to do with 
>>> non-final builds is to approximate the final releases as closely as 
>>> possible to get useful testing.
>>> 
>>> To oversimplify, website developers notoriously make mistakes with these 
>>> types of attributes doing things like version and OS checks, leading to 
>>> website incompatibilities.
>> 
>> Yes, this is definitely a concern we have as well.
>> 
>>> Maybe you could make your case for the usefulness of the attribute?
>> 
>> The problem we're experiencing in Chrome is for sites that collect
>> usage data--it turns out there's a selection bias caused by users who
>> opt in to our canary, dev, and beta channels.
>> 
>> The specific case I'm looking at right now is sites collecting
>> performance data from their user base. 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.
>> 
>> We considered a few alternatives:
>> 1) Adding a marker in the user agent string that indicates the
>> channel. The problem with this is that there is a lot of very fragile
>> code in the wild which parses user agent strings and breaks at the
>> slightest change. For example, code that parses Opera 10 as Opera 1.
>> 2) Updating the version number as Chrome advances from canary to dev
>> to beta to stable, or encoding the build type in one of the octets of
>> the version number. The problem with this is that there's a big
>> possibility of sites that do version checking accidentally turning off
>> features on some channels. There are also a lot of things that we *do*
>> want to track across release channels for a specific version, like
>> bugs. So changing the version number could cause confusion there.
>> 3) Sending an "x-buildtype" header. If we do this on every request,
>> it's a lot of bloat. We can't restrict it to requests that send a
>> corresponding "x-tell-me-the-buildtype" request header because most
>> metrics collection libraries send their metrics in an image request,
>> so they can't send custom headers.

navigator.buildType might address your particular problem, but introduces a 
significant risk of future issues. I can imagine keen web authors adding 
features based on detecting "nightly" or "beta" that then break in "final".

This is similar to prefixing CSS properties which, as you probably know, is an 
extremely hot discussion topic right now in the community. I don't think people 
will be especially excited for another potential point of failure.

Dean


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Rename FAIL to DIFF Was (Re: PSA: FAIL test expectation does not encompass MISSING, CRASH, or TIMEOUT)

2012-06-07 Thread Peter Kasting
On Wed, Jun 6, 2012 at 11:28 PM, Ryosuke Niwa  wrote:

> > I don't think DIFF is any better.  It sounds like it means the output is
> "different than what we wanted", thus it effectively means "didn't pass",
> and one would expect it to match MISSING/CRASH/TIMEOUT as much as one would
> expect FAIL to.
>
> The output being different implies that we have an output, which isn't
> true when DRT/WTR crashes or times out.
>
Those are outputs as well.  Or if you don't like the work "output"
substitute "outcome".

> > Personally I'd prefer to resolve this -- if we need to -- by removing
> FAIL entirely.  Being explicit about your expectations isn't a bad thing.
>  Plus, the number of cases that are truly TEXT IMAGE IMAGE+TEXT seems
> likely to be small.
>
> People use FAIL when they don't know what to expect; e.g. adding or
> rebaselining tests. zit's utterky unreasonable to expect patch authors to
> add TEXT IMAGE TEXT+IMAGE to every test they're expecting to rebaseline.
>
If you're rebaselining an existing test, presumably the test already has an
expectation that matches what it's doing, or you can see what it's doing to
write one.

If the rebaselining tools can already figure out the right behavior when an
expectation is FAIL, why don't we just make them work correctly regardless
of what the expectation says?  Or work correctly when the expectation is
the empty string?  Those would let people just write "foo.html =" and
rebaseline which is even easier on them.

> I also think it's a bad practice to add test expections just to keep bots
> green. It's much better if the tests started to fail on the waterfall so
> that people who pay attention to bots can rebaseline them since most people
> forget about rebaselining tests once their patches are landed.
>

I can't tell what you're arguing here.  As far as I know nothing in what I
was saying related to the question of the reason why people are adding
expectations.

PK
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Adding ENABLE_NAVIGATOR_BUILDTYPE to WebCore

2012-06-07 Thread Annie Sullivan
Oops, forgot to reply-all.

On Thu, Jun 7, 2012 at 9:05 AM, Annie Sullivan  wrote:
> On Wed, Jun 6, 2012 at 4:59 PM, Darin Adler  wrote:
>>
>> Our past experience with this sort of thing at Apple is that it led to bugs 
>> we didn’t find until after we shipped “final” software because they did not 
>> show up during earlier testing. Since then, we’ve gone out of our way to 
>> avoid differences, since one of the main things we want to do with non-final 
>> builds is to approximate the final releases as closely as possible to get 
>> useful testing.
>>
>> To oversimplify, website developers notoriously make mistakes with these 
>> types of attributes doing things like version and OS checks, leading to 
>> website incompatibilities.
>
> Yes, this is definitely a concern we have as well.
>
>> Maybe you could make your case for the usefulness of the attribute?
>
> The problem we're experiencing in Chrome is for sites that collect
> usage data--it turns out there's a selection bias caused by users who
> opt in to our canary, dev, and beta channels.
>
> The specific case I'm looking at right now is sites collecting
> performance data from their user base. 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.
>
> We considered a few alternatives:
> 1) Adding a marker in the user agent string that indicates the
> channel. The problem with this is that there is a lot of very fragile
> code in the wild which parses user agent strings and breaks at the
> slightest change. For example, code that parses Opera 10 as Opera 1.
> 2) Updating the version number as Chrome advances from canary to dev
> to beta to stable, or encoding the build type in one of the octets of
> the version number. The problem with this is that there's a big
> possibility of sites that do version checking accidentally turning off
> features on some channels. There are also a lot of things that we *do*
> want to track across release channels for a specific version, like
> bugs. So changing the version number could cause confusion there.
> 3) Sending an "x-buildtype" header. If we do this on every request,
> it's a lot of bloat. We can't restrict it to requests that send a
> corresponding "x-tell-me-the-buildtype" request header because most
> metrics collection libraries send their metrics in an image request,
> so they can't send custom headers.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] EditBugs permissions for bugs.webkit.org account

2012-06-07 Thread Adam Barth
Done.

On Thu, Jun 7, 2012 at 8:35 AM, Simon Pena  wrote:
> Hi,
>
> I'd like to request EditBugs permissions to be added to my
> bugs.webkit.org account (spena at igalia.com)
>
> I'm not a committer, but I have worked on several patches already,
> mainly for the GTK port.
>
> Thanks in advance,
>
> --
> Simon Pena 
> Igalia - Free Software Engineering
>
>
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] EditBugs permissions for bugs.webkit.org account

2012-06-07 Thread Simon Pena
Hi,

I'd like to request EditBugs permissions to be added to my
bugs.webkit.org account (spena at igalia.com)

I'm not a committer, but I have worked on several patches already,
mainly for the GTK port.

Thanks in advance,

-- 
Simon Pena 
Igalia - Free Software Engineering



signature.asc
Description: OpenPGP digital signature
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev