Consider expanding DevTools mobile emulation with API surface area reduction for interop testing |
||||||
Issue descriptionNow that we have pretty complete lists of the specific APIs supported by different browsers, perhaps the mobile emulation feature of dev tools should use such a list to remove APIs that aren't supported by the specified user agent? Eg., if I'm emulating Safari on iOS, feature detection for APIs that don't exist on that browser should fail. Maybe also add a virtual "interop" browser that has the intersection of the surface area of all major browsers. Of course it would be insane to try to go too far here - we're not going to actually try to fully emulate the behavior of other browsers in Chrome. But developers often find it a pain to just know what APIs are and are not available (rely on sites like caniuse or just ad-hoc testing afterwards). We can probably pretty easily reduce the effort necessary for this sort of thing. Perhaps this is something the DevTools and predictability teams shoud collaborate on some day? From discussion here: https://groups.google.com/a/chromium.org/d/msg/platform-predictability/j-KY3M2jXL8/E090dxNLBgAJ
,
Sep 14 2016
rbyers@chromium.org: "pretty complete list" refers to recent effort [1], Or some other source? [1] https://github.com/mdittmer/web-apis/tree/master/data/og
,
Sep 14 2016
I'll assign to myself to keep it on track and for future prioritization.
,
Sep 15 2016
markdittmer: Yes, your data.
,
Sep 19 2016
,
Jan 3 2017
,
Oct 19 2017
,
Dec 5
This is not the top priority for DevTools right now. If ecosystem team is really interested in this, I can help pointing in the right direction and reviewing. IIUC, the main change would be in bindings/settings/runtime-enabled-features, where someone should make some APIs optional and produce some "preset lists" which we'll use for emulation different API sets.
,
Dec 6
Another related idea which we've tracking in our team planning is 'DevTools "interop mode" where only widely supported APIs exist', which is technically the same problem of deleting APIs. This, and more faithful emulation of other browsers, is fairly high on our list of candidate projects, but didn't make the cut for 2019. If there's no action in 1 year on this issue it'll come up again ahead of 2020, and then things may shake out differently. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by rbyers@chromium.org
, Sep 14 2016