> On 13 Sep 2018, at 09:03, youenn fablet <youe...@gmail.com> wrote:
> What about testing?
> ----
> You can turn both experimental and internal features on via headers in 
> WebKitTestRunner. Use experimental:FeatureName or internal:FeatureName. For 
> example...
> <!-- webkit-test-runner [ 
> experimental:WebAnimationsCSSIntegrationEnabled=true ] -->
> It seems tedious to add such things to every test.
> That would also mean we would need to remove these lines to every test when 
> we activate the flag by default or when we remove the flag.

It's just a find and replace. I modified hundreds of tests in this manner (I 
didn't actually have to, since the headers were turning on something that was 
already on, but I did it anyway)

> As of WPT, modifying tests on the fly at import time is doable but it goes 
> against the idea of making WPT import/export simpler so I hope we can find 
> something better.
> testharnessreport.js might help activating flags specifically for WPT.

These features are not tweakable from the Web API, but from the client API. JS 
is too late.

> Since an experimental feature flag should not remain off for a long time, a 
> per-experimental-feature file listing the tests to which activate the feature 
> could be considered.

That clashes with Ryosuke's point that moving tests shouldn't change behaviour.

The larger problems are:

- We don't want experimental features to be on in shipping browsers. It might 
be ok for them to be always on in tests, but then MiniBrowser would be 
different from WKTR. At the moment they are always on in tests, and use their 
default value in MiniBrowser (and shipping).

- Internal features can either be on or off by default, because we don't expect 
users to toggle them. The tests should reflect their default value. You use the 
header to test the non-default case.

So what we have right now is probably ok. The issue is with things I moved from 
experimental to internal and that have a default value of off. I think it is 
perfectly fine for those features to require test headers, since they clearly 
aren't ready.

Note that even if I turned off all experimental features outside of testing, 
MiniBrowser and Safari remember if you enable the feature.


webkit-dev mailing list

Reply via email to