New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 646686 link

Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature



Sign in to add a comment

Consider expanding DevTools mobile emulation with API surface area reduction for interop testing

Project Member Reported by rbyers@chromium.org, Sep 14 2016

Issue description

Now 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
 

Comment 1 by rbyers@chromium.org, Sep 14 2016

Cc: dk...@chromium.org foolip@chromium.org
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
Cc: -dgozman@chromium.org
Owner: dgozman@chromium.org
Status: Assigned (was: Untriaged)
I'll assign to myself to keep it on track and for future prioritization.

Comment 4 by rbyers@chromium.org, Sep 15 2016

markdittmer: Yes, your data.
Cc: dgozman@chromium.org
 Issue 645939  has been merged into this issue.
Components: Blink>Infra>Predictability
Labels: -Hotlist-PredictabilityInfra

Comment 7 by rbyers@chromium.org, Oct 19 2017

Components: -Blink>Infra>Predictability Blink>Infra>Ecosystem
Owner: ----
Status: Untriaged (was: Assigned)
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.
Status: Available (was: Untriaged)
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