Intent to Ship: WebGLObject Web IDL superinterface

338 views
Skip to first unread message

Ken Russell

unread,
Apr 18, 2024, 8:45:53 PMApr 18
to blink-dev

Contact emails

k...@chromium.org

Explainer

None

Specification

https://registry.khronos.org/webgl/specs/latest/1.0

Summary

The WebGL specification has defined a WebGLObject superinterface for many years, but Chromium's implementation never exposed it. This did not significantly affect applications in practice, but prevented enabling WebGL IDL tests in the Interop suite. The WebGL working group also aims to finally utilize this superinterface to improve application-level debugging. This feature exposes the WebGLObject type in the same contexts where the WebGL API is exposed - on the main thread and workers.



Blink component

Blink>WebGL

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

No risk. Chrome, Firefox and Safari all intend to expose this interface.



Gecko: Positive (https://github.com/KhronosGroup/WebGL/pull/3637) Firefox approves of and proposes using this superinterface to add application-level debugging functionality.

WebKit: Positive (https://github.com/KhronosGroup/WebGL/pull/3637) Safari approves of using this superinterface to add application-level debugging functionality.

Web developers: Positive (https://github.com/KhronosGroup/WebGL/issues/3514) Web developers request debugging functionality built on this superinterface, per the link above.

Other signals:

Ergonomics

N/A for this change; follow-on ones will improve developer ergonomics and integration with platform-specific graphics debugging tools.



Activation

N/A for this change.



Security

None



WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None



Debuggability

N/A for this change.



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?

Yes

Is this feature fully tested by web-platform-tests?

No

Not tested by web-platform-tests yet. This change enables automated WebGL IDL tests, which were previously failing, to be added to the Interop suite. It will also be tested in the WebGL conformance suite, which is separate from web-platform-tests.



Flag name on chrome://flags

None

Finch feature name

None

Non-finch justification

Trivial addition of a superinterface to multiple WebGL object types.



Requires code in //chrome?

False

Measurement

Does not apply; this is currently an empty web-exposed interface which can be used in "instanceof" checks.

Availability expectation

Feature is available on Web Platform mainline within 12 months of launch in Chrome.

Adoption expectation

Feature is considered a best practice for some use case within 12 months of reaching Web Platform baseline.

Adoption plan

Chrome, Firefox and Safari plan to ship debugging functionality for application developers on top of this feature as soon as possible.

Non-OSS dependencies

Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function?

None

Estimated milestones

Shipping on desktop126
Shipping on Android126
Shipping on WebView126


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

None - has been specified for many years

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5119115615535104

This intent message was generated by Chrome Platform Status.

Ken Russell

unread,
Apr 19, 2024, 11:42:40 PMApr 19
to blink-dev
Correction: this API change is already tested in the Web Platform Tests, by wpt/webgl/idlharness.any and wpt/webgl/idlharness.any.worker. I've updated the Chromestatus entry to indicate this; these tests are progressed by this change.

https://chromium-review.googlesource.com/c/chromium/src/+/5466430 , implementing this, passes the trybots. Would appreciate LGTMs from OWNERs for this small change to minimize the number of rebases that need to be done before it lands.

Thanks in advance.

-Ken


Domenic Denicola

unread,
Apr 21, 2024, 10:37:17 PMApr 21
to Ken Russell, blink-dev
Can you request Privacy, Security, Enterprise, Debuggability, and Testing reviews by following the procedure on ChromeStatus? Most of them should be pretty simple, or even N/A, for this feature. But we're not supposed to give API owner approvals until they're underway.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMYvS2fATLXkxCJEf1Us8DWDH5XWRcBvjogqZqr22TwotbmJcQ%40mail.gmail.com.

Ken Russell

unread,
Apr 22, 2024, 6:36:28 PMApr 22
to Domenic Denicola, blink-dev
Yes. N/As and explanations have been requested for all of these now.

Domenic Denicola

unread,
Apr 23, 2024, 4:19:10 AMApr 23
to Ken Russell, Domenic Denicola, blink-dev
LGTM1

Mike Taylor

unread,
Apr 23, 2024, 12:46:03 PMApr 23
to Domenic Denicola, Ken Russell, blink-dev

Yoav Weiss (@Shopify)

unread,
Apr 23, 2024, 12:52:19 PMApr 23
to Mike Taylor, Domenic Denicola, Ken Russell, blink-dev

Ken Russell

unread,
Apr 23, 2024, 3:49:17 PMApr 23
to Yoav Weiss (@Shopify), Mike Taylor, Domenic Denicola, blink-dev
Thanks all for your reviews.

Reply all
Reply to author
Forward
0 new messages