Attention is currently required from: Brandon Jones.
Kai Ninomiya would like Brandon Jones to review this change.
Add [SecureContext] to all WebGPU interfaces
This also makes a few changes to match the upstream IDL more closely:
- Change [Exposed=Worker] to [Exposed=DedicatedWorker]. This probably
didn't work anyway, but no one should be relying on it because it's
out-of-spec.
- Removed [RuntimeEnabled] from `interface mixin`s where they have no
effect as no non-RuntimeEnabled interfaces include them; see docs:
https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/blink/renderer/bindings/IDLExtendedAttributes.md#interface-mixins
Adding [SecureContext] is a non-breaking change (with no deprecation
period) because WebGPU is currently only generally available behind an
Origin Trial that is is only available on secure contexts anyway.
Spec change: https://github.com/gpuweb/gpuweb/pull/1363
Fixed: 1243994
Change-Id: I5e1d22dc8cb57ec0076654738e7307ca54784488
---
M third_party/blink/renderer/modules/webgpu/gpu_queue.idl
M third_party/blink/renderer/modules/webgpu/gpu_texture_usage.idl
M third_party/blink/renderer/modules/webgpu/gpu_map_mode.idl
M third_party/blink/renderer/modules/webgpu/gpu_validation_error.idl
M third_party/blink/renderer/modules/webgpu/gpu_adapter.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_encoder_base.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_pipeline.idl
M third_party/blink/renderer/modules/webgpu/gpu_command_buffer.idl
M third_party/blink/renderer/modules/webgpu/gpu_sampler.idl
M third_party/blink/renderer/modules/webgpu/gpu_compute_pipeline.idl
M third_party/blink/renderer/modules/webgpu/gpu_buffer_usage.idl
M third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu_texture.idl
M third_party/blink/renderer/modules/webgpu/gpu_supported_limits.idl
M third_party/blink/renderer/modules/webgpu/gpu_compilation_info.idl
M third_party/blink/renderer/modules/webgpu/gpu_uncaptured_error_event.idl
M third_party/blink/renderer/modules/webgpu/gpu_bind_group.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_bundle.idl
M third_party/blink/renderer/modules/webgpu/gpu_buffer.idl
M third_party/blink/renderer/modules/webgpu/gpu_canvas_context.idl
M third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout.idl
M third_party/blink/renderer/modules/webgpu/gpu_shader_stage.idl
M third_party/blink/renderer/modules/webgpu/gpu_out_of_memory_error.idl
M third_party/blink/renderer/modules/webgpu/navigator_gpu.idl
M third_party/blink/renderer/modules/webgpu/gpu_device_lost_info.idl
M third_party/blink/renderer/modules/webgpu/gpu_query_set.idl
M third_party/blink/renderer/modules/webgpu/gpu_supported_features.idl
M third_party/blink/renderer/modules/webgpu/gpu_texture_view.idl
M third_party/blink/renderer/modules/webgpu/gpu_color_write.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_pass_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu_shader_module.idl
M third_party/blink/renderer/modules/webgpu/worker_navigator_gpu.idl
M third_party/blink/renderer/modules/webgpu/gpu_device.idl
M third_party/blink/renderer/modules/webgpu/gpu_external_texture.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_bundle_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu_command_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu.idl
M third_party/blink/renderer/modules/webgpu/gpu_bind_group_layout.idl
M third_party/blink/renderer/modules/webgpu/gpu_compilation_message.idl
M third_party/blink/renderer/modules/webgpu/gpu_programmable_pass_encoder.idl
40 files changed, 106 insertions(+), 50 deletions(-)
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brandon Jones.
Patch set 1:Commit-Queue +1
1 comment:
Patchset:
bajones: PTAL
I haven't tested this locally though the change seems fairly straightforward. It's possible there will be some test failures catching on this so trying a dry run.
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Kai Ninomiya.
Patch set 2:Code-Review +1
1 comment:
Patchset:
LGTM.
Hadn't considered the difference between Worker and DedicatedWorker here, but DedicatedWorker is absolutely the right scope.
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Kai Ninomiya.
1 comment:
Commit Message:
Patch Set #2, Line 17: Adding [SecureContext] is a non-breaking change (with no deprecation
It might be an issue for people using unsafe-webgpu, but will move them towards using SecureContext which they will need anyway for the OT.
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
Patch set 10:Code-Review -1
1 comment:
Patchset:
CR-1: I'll delay on landing this until the parent patch has had some time to bake. There's a relatively high chance of it having issues requiring a revert (but I am pretty sure it will be OK.)
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
Kai Ninomiya removed a vote from this change.
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
Kai Ninomiya uploaded patch set #12 to this change.
Add [SecureContext] to all WebGPU interfaces
This also makes a few changes to match the upstream IDL more closely:
- Change [Exposed=Worker] to [Exposed=DedicatedWorker]. It probably
didn't work in non-dedicated workers anyway, but no one should be
relying on it because that's out-of-spec.
- Removed [RuntimeEnabled] from `interface mixin`s where they have no
effect as no non-RuntimeEnabled interfaces include them; see docs:
https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/blink/renderer/bindings/IDLExtendedAttributes.md#interface-mixins
Adding [SecureContext] is a non-breaking change (with no deprecation
period) because WebGPU is currently only generally available behind an
Origin Trial that is is only available on secure contexts anyway.
However, this will still result in "breakage" of non-HTTPS sites that
currently require users to specify --enable-unsafe-webgpu, as well
as development workflows that use a local URL other than `localhost`,
e.g. on a LAN, as with all other APIs that require [SecureContext].
Developers can pass --unsafely-treat-insecure-origin-as-secure= or use
chrome://flags/#unsafely-treat-insecure-origin-as-secure to bypass this.
M third_party/blink/tools/blinkpy/web_tests/stale_expectation_removal/queries.py
M third_party/blink/renderer/modules/webgpu/navigator_gpu.idl
M third_party/blink/renderer/modules/webgpu/gpu_device_lost_info.idl
M third_party/blink/renderer/modules/webgpu/gpu_query_set.idl
M third_party/blink/renderer/modules/webgpu/gpu_supported_features.idl
M third_party/blink/renderer/modules/webgpu/gpu_texture_view.idl
M third_party/blink/renderer/modules/webgpu/gpu_color_write.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_pass_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu_shader_module.idl
M third_party/blink/renderer/modules/webgpu/worker_navigator_gpu.idl
M third_party/blink/renderer/modules/webgpu/gpu_device.idl
M third_party/blink/renderer/modules/webgpu/gpu_external_texture.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_bundle_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu_command_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu.idl
M third_party/blink/renderer/modules/webgpu/gpu_bind_group_layout.idl
M third_party/blink/renderer/modules/webgpu/gpu_compilation_message.idl
M third_party/blink/renderer/modules/webgpu/gpu_programmable_pass_encoder.idl
41 files changed, 113 insertions(+), 51 deletions(-)
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
Patch set 12:Commit-Queue +1
Patch set 12:Commit-Queue +2
Patch set 12:Auto-Submit +1
1 comment:
Patchset:
bsheedy: PTAL for stale_expectation_removal
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
1 comment:
Patchset:
bsheedy: PTAL for stale_expectation_removal
Oops, that change was supposed to be in https://chromium-review.googlesource.com/c/chromium/src/+/3253766 but that already landed. Sorry for rolling it into this one!
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
Patch set 13:Auto-Submit +1Commit-Queue +2
1 comment:
Patchset:
Rebased and splitting the one file out into a separate CL
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
1 comment:
Patchset:
oops, apparently reuploading after 2.5 months didn't retain the CR+1. bajones PTAL
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Kai Ninomiya.
Patch set 13:Code-Review +1
1 comment:
Patchset:
Still LGTM
To view, visit change 3247888. To unsubscribe, or for help writing mail filters, visit settings.
Patch set 13:Commit-Queue +2
Chromium LUCI CQ submitted this change.
Add [SecureContext] to all WebGPU interfaces
This also makes a few changes to match the upstream IDL more closely:
- Change [Exposed=Worker] to [Exposed=DedicatedWorker]. It probably
didn't work in non-dedicated workers anyway, but no one should be
relying on it because that's out-of-spec.
- Removed [RuntimeEnabled] from `interface mixin`s where they have no
effect as no non-RuntimeEnabled interfaces include them; see docs:
https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/blink/renderer/bindings/IDLExtendedAttributes.md#interface-mixins
Adding [SecureContext] is a non-breaking change (with no deprecation
period) because WebGPU is currently only generally available behind an
Origin Trial that is is only available on secure contexts anyway.
However, this will still result in "breakage" of non-HTTPS sites that
currently require users to specify --enable-unsafe-webgpu, as well
as development workflows that use a local URL other than `localhost`,
e.g. on a LAN, as with all other APIs that require [SecureContext].
Developers can pass --unsafely-treat-insecure-origin-as-secure= or use
chrome://flags/#unsafely-treat-insecure-origin-as-secure to bypass this.
Spec change: https://github.com/gpuweb/gpuweb/pull/1363
Fixed: 1243994
Change-Id: I5e1d22dc8cb57ec0076654738e7307ca54784488
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3247888
Auto-Submit: Kai Ninomiya <kai...@chromium.org>
Reviewed-by: Brandon Jones <baj...@chromium.org>
Commit-Queue: Kai Ninomiya <kai...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#961264}
---
M third_party/blink/renderer/modules/webgpu/gpu_queue.idl
M third_party/blink/renderer/modules/webgpu/gpu_texture_usage.idl
M third_party/blink/renderer/modules/webgpu/gpu_map_mode.idl
M third_party/blink/renderer/modules/webgpu/gpu_validation_error.idl
M third_party/blink/renderer/modules/webgpu/gpu_adapter.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_encoder_base.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_pipeline.idl
M third_party/blink/renderer/modules/webgpu/gpu_command_buffer.idl
M third_party/blink/renderer/modules/webgpu/gpu_sampler.idl
M third_party/blink/renderer/modules/webgpu/gpu_compute_pipeline.idl
M third_party/blink/renderer/modules/webgpu/gpu_buffer_usage.idl
M third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu_texture.idl
M third_party/blink/renderer/modules/webgpu/gpu_supported_limits.idl
M third_party/blink/renderer/modules/webgpu/gpu_compilation_info.idl
M third_party/blink/renderer/modules/webgpu/gpu_uncaptured_error_event.idl
M third_party/blink/renderer/modules/webgpu/gpu_bind_group.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_bundle.idl
M third_party/blink/renderer/modules/webgpu/gpu_buffer.idl
M third_party/blink/renderer/modules/webgpu/gpu_canvas_context.idl
M third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout.idl
M third_party/blink/renderer/modules/webgpu/gpu_shader_stage.idl
M third_party/blink/renderer/modules/webgpu/gpu_out_of_memory_error.idl
M third_party/blink/renderer/modules/webgpu/navigator_gpu.idl
M third_party/blink/renderer/modules/webgpu/gpu_device_lost_info.idl
M third_party/blink/renderer/modules/webgpu/gpu_query_set.idl
M third_party/blink/renderer/modules/webgpu/gpu_supported_features.idl
M third_party/blink/renderer/modules/webgpu/gpu_texture_view.idl
M third_party/blink/renderer/modules/webgpu/gpu_color_write.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_pass_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu_shader_module.idl
M third_party/blink/renderer/modules/webgpu/worker_navigator_gpu.idl
M third_party/blink/renderer/modules/webgpu/gpu_device.idl
M third_party/blink/renderer/modules/webgpu/gpu_external_texture.idl
M third_party/blink/renderer/modules/webgpu/gpu_render_bundle_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu_command_encoder.idl
M third_party/blink/renderer/modules/webgpu/gpu.idl
M third_party/blink/renderer/modules/webgpu/gpu_bind_group_layout.idl
M third_party/blink/renderer/modules/webgpu/gpu_compilation_message.idl
M third_party/blink/renderer/modules/webgpu/gpu_programmable_pass_encoder.idl
40 files changed, 117 insertions(+), 50 deletions(-)