mirror of
https://github.com/servo/servo.git
synced 2025-08-09 15:35:34 +01:00
api: Flatten and simplify Servo preferences (#34966)
Flatten and simplify Servo's preferences code. In addition, have both preferences and options passed in as arguments to `Servo::new()` and make sure not to use the globally set preferences in `servoshell` (as much as possible now). Instead of a complex procedural macro to generate preferences, just expose a very simple derive macro that adds string based getters and setters. - All command-line parsing is moved to servoshell. - There is no longer the concept of a missing preference. - Preferences no longer have to be part of the resources bundle because they now have reasonable default values. - servoshell specific preferences are no longer part of the preferences exposed by the Servo API. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
parent
c4c85affb5
commit
0e616e0c5d
316 changed files with 2088 additions and 3235 deletions
|
@ -16,7 +16,7 @@ dictionary GPUObjectDescriptorBase {
|
|||
USVString label = "";
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUSupportedLimits {
|
||||
readonly attribute unsigned long maxTextureDimension1D;
|
||||
readonly attribute unsigned long maxTextureDimension2D;
|
||||
|
@ -52,17 +52,17 @@ interface GPUSupportedLimits {
|
|||
readonly attribute unsigned long maxComputeWorkgroupsPerDimension;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUSupportedFeatures {
|
||||
readonly setlike<DOMString>;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface WGSLLanguageFeatures {
|
||||
readonly setlike<DOMString>;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUAdapterInfo {
|
||||
readonly attribute DOMString vendor;
|
||||
readonly attribute DOMString architecture;
|
||||
|
@ -71,13 +71,13 @@ interface GPUAdapterInfo {
|
|||
};
|
||||
|
||||
interface mixin NavigatorGPU {
|
||||
[SameObject, Pref="dom.webgpu.enabled", Exposed=(Window /* ,DedicatedWorker */)] readonly attribute GPU gpu;
|
||||
[SameObject, Pref="dom_webgpu_enabled", Exposed=(Window /* ,DedicatedWorker */)] readonly attribute GPU gpu;
|
||||
};
|
||||
|
||||
Navigator includes NavigatorGPU;
|
||||
WorkerNavigator includes NavigatorGPU;
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPU {
|
||||
[NewObject]
|
||||
Promise<GPUAdapter?> requestAdapter(optional GPURequestAdapterOptions options = {});
|
||||
|
@ -95,7 +95,7 @@ enum GPUPowerPreference {
|
|||
"high-performance"
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUAdapter {
|
||||
[SameObject] readonly attribute GPUSupportedFeatures features;
|
||||
[SameObject] readonly attribute GPUSupportedLimits limits;
|
||||
|
@ -129,7 +129,7 @@ enum GPUFeatureName {
|
|||
"dual-source-blending",
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), /*Serializable,*/ Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), /*Serializable,*/ Pref="dom_webgpu_enabled"]
|
||||
interface GPUDevice: EventTarget {
|
||||
[SameObject] readonly attribute GPUSupportedFeatures features;
|
||||
[SameObject] readonly attribute GPUSupportedLimits limits;
|
||||
|
@ -170,7 +170,7 @@ interface GPUDevice: EventTarget {
|
|||
};
|
||||
GPUDevice includes GPUObjectBase;
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUBuffer {
|
||||
readonly attribute GPUSize64Out size;
|
||||
readonly attribute GPUFlagsConstant usage;
|
||||
|
@ -201,7 +201,7 @@ dictionary GPUBufferDescriptor : GPUObjectDescriptorBase {
|
|||
};
|
||||
|
||||
typedef [EnforceRange] unsigned long GPUBufferUsageFlags;
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
namespace GPUBufferUsage {
|
||||
const GPUFlagsConstant MAP_READ = 0x0001;
|
||||
const GPUFlagsConstant MAP_WRITE = 0x0002;
|
||||
|
@ -216,13 +216,13 @@ namespace GPUBufferUsage {
|
|||
};
|
||||
|
||||
typedef [EnforceRange] unsigned long GPUMapModeFlags;
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
namespace GPUMapMode {
|
||||
const GPUFlagsConstant READ = 0x0001;
|
||||
const GPUFlagsConstant WRITE = 0x0002;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable , Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable , Pref="dom_webgpu_enabled"]
|
||||
interface GPUTexture {
|
||||
[Throws, NewObject]
|
||||
GPUTextureView createView(optional GPUTextureViewDescriptor descriptor = {});
|
||||
|
@ -257,7 +257,7 @@ enum GPUTextureDimension {
|
|||
};
|
||||
|
||||
typedef [EnforceRange] unsigned long GPUTextureUsageFlags;
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUTextureUsage {
|
||||
const GPUTextureUsageFlags COPY_SRC = 0x01;
|
||||
const GPUTextureUsageFlags COPY_DST = 0x02;
|
||||
|
@ -266,7 +266,7 @@ interface GPUTextureUsage {
|
|||
const GPUTextureUsageFlags RENDER_ATTACHMENT = 0x10;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUTextureView {
|
||||
};
|
||||
GPUTextureView includes GPUObjectBase;
|
||||
|
@ -418,7 +418,7 @@ enum GPUTextureFormat {
|
|||
"astc-12x12-unorm-srgb",
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUSampler {
|
||||
};
|
||||
GPUSampler includes GPUObjectBase;
|
||||
|
@ -458,7 +458,7 @@ enum GPUCompareFunction {
|
|||
"always"
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUBindGroupLayout {
|
||||
};
|
||||
GPUBindGroupLayout includes GPUObjectBase;
|
||||
|
@ -479,7 +479,7 @@ dictionary GPUBindGroupLayoutEntry {
|
|||
};
|
||||
|
||||
typedef [EnforceRange] unsigned long GPUShaderStageFlags;
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUShaderStage {
|
||||
const GPUShaderStageFlags VERTEX = 1;
|
||||
const GPUShaderStageFlags FRAGMENT = 2;
|
||||
|
@ -537,7 +537,7 @@ dictionary GPUStorageTextureBindingLayout {
|
|||
dictionary GPUExternalTextureBindingLayout {
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUBindGroup {
|
||||
};
|
||||
GPUBindGroup includes GPUObjectBase;
|
||||
|
@ -560,7 +560,7 @@ dictionary GPUBufferBinding {
|
|||
GPUSize64 size;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUPipelineLayout {
|
||||
};
|
||||
GPUPipelineLayout includes GPUObjectBase;
|
||||
|
@ -569,7 +569,7 @@ dictionary GPUPipelineLayoutDescriptor : GPUObjectDescriptorBase {
|
|||
required sequence<GPUBindGroupLayout> bindGroupLayouts;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUShaderModule {
|
||||
Promise<GPUCompilationInfo> getCompilationInfo();
|
||||
};
|
||||
|
@ -587,7 +587,7 @@ enum GPUCompilationMessageType {
|
|||
"info"
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUCompilationMessage {
|
||||
readonly attribute DOMString message;
|
||||
readonly attribute GPUCompilationMessageType type;
|
||||
|
@ -597,13 +597,13 @@ interface GPUCompilationMessage {
|
|||
readonly attribute unsigned long long length;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUCompilationInfo {
|
||||
//readonly attribute FrozenArray<GPUCompilationMessage> messages;
|
||||
readonly attribute any messages;
|
||||
};
|
||||
|
||||
[Exposed=(Window, Worker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, Worker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUPipelineError : DOMException {
|
||||
constructor(optional DOMString message = "", GPUPipelineErrorInit options);
|
||||
readonly attribute GPUPipelineErrorReason reason;
|
||||
|
@ -638,7 +638,7 @@ dictionary GPUProgrammableStage {
|
|||
|
||||
typedef double GPUPipelineConstantValue; // May represent WGSL's bool, f32, i32, u32, and f16 if enabled.
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUComputePipeline {
|
||||
};
|
||||
GPUComputePipeline includes GPUObjectBase;
|
||||
|
@ -648,7 +648,7 @@ dictionary GPUComputePipelineDescriptor : GPUPipelineDescriptorBase {
|
|||
required GPUProgrammableStage compute;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPURenderPipeline {
|
||||
};
|
||||
GPURenderPipeline includes GPUObjectBase;
|
||||
|
@ -712,7 +712,7 @@ dictionary GPUBlendState {
|
|||
};
|
||||
|
||||
typedef [EnforceRange] unsigned long GPUColorWriteFlags;
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUColorWrite {
|
||||
const GPUColorWriteFlags RED = 0x1;
|
||||
const GPUColorWriteFlags GREEN = 0x2;
|
||||
|
@ -873,7 +873,7 @@ dictionary GPUImageCopyExternalImage {
|
|||
boolean flipY = false;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUCommandBuffer {
|
||||
};
|
||||
GPUCommandBuffer includes GPUObjectBase;
|
||||
|
@ -881,7 +881,7 @@ GPUCommandBuffer includes GPUObjectBase;
|
|||
dictionary GPUCommandBufferDescriptor : GPUObjectDescriptorBase {
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUCommandEncoder {
|
||||
[NewObject]
|
||||
GPUComputePassEncoder beginComputePass(optional GPUComputePassDescriptor descriptor = {});
|
||||
|
@ -939,11 +939,11 @@ dictionary GPUCommandEncoderDescriptor : GPUObjectDescriptorBase {
|
|||
boolean measureExecutionTime = false;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUComputePassEncoder {
|
||||
undefined setPipeline(GPUComputePipeline pipeline);
|
||||
undefined dispatchWorkgroups(GPUSize32 x, optional GPUSize32 y = 1, optional GPUSize32 z = 1);
|
||||
//[Pref="dom.webgpu.indirect-dispatch.enabled"]
|
||||
//[Pref="dom_webgpu_indirect-dispatch.enabled"]
|
||||
undefined dispatchWorkgroupsIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
|
||||
|
||||
undefined end();
|
||||
|
@ -954,7 +954,7 @@ GPUComputePassEncoder includes GPUProgrammablePassEncoder;
|
|||
dictionary GPUComputePassDescriptor : GPUObjectDescriptorBase {
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPURenderPassEncoder {
|
||||
undefined setViewport(float x, float y,
|
||||
float width, float height,
|
||||
|
@ -1063,13 +1063,13 @@ interface mixin GPURenderEncoderBase {
|
|||
optional GPUSignedOffset32 baseVertex = 0,
|
||||
optional GPUSize32 firstInstance = 0);
|
||||
|
||||
//[Pref="dom.webgpu.indirect-dispatch.enabled"]
|
||||
//[Pref="dom_webgpu_indirect-dispatch.enabled"]
|
||||
undefined drawIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
|
||||
//[Pref="dom.webgpu.indirect-dispatch.enabled"]
|
||||
//[Pref="dom_webgpu_indirect-dispatch.enabled"]
|
||||
undefined drawIndexedIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPURenderBundle {
|
||||
};
|
||||
GPURenderBundle includes GPUObjectBase;
|
||||
|
@ -1077,7 +1077,7 @@ GPURenderBundle includes GPUObjectBase;
|
|||
dictionary GPURenderBundleDescriptor : GPUObjectDescriptorBase {
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Pref="dom_webgpu_enabled"]
|
||||
interface GPURenderBundleEncoder {
|
||||
GPURenderBundle finish(optional GPURenderBundleDescriptor descriptor = {});
|
||||
};
|
||||
|
@ -1090,7 +1090,7 @@ dictionary GPURenderBundleEncoderDescriptor : GPURenderPassLayout {
|
|||
boolean stencilReadOnly = false;
|
||||
};
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUQueue {
|
||||
undefined submit(sequence<GPUCommandBuffer> buffers);
|
||||
|
||||
|
@ -1119,7 +1119,7 @@ interface GPUQueue {
|
|||
};
|
||||
GPUQueue includes GPUObjectBase;
|
||||
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, DedicatedWorker), Serializable, Pref="dom_webgpu_enabled"]
|
||||
interface GPUQuerySet {
|
||||
undefined destroy();
|
||||
};
|
||||
|
@ -1173,7 +1173,7 @@ enum GPUDeviceLostReason {
|
|||
"destroyed",
|
||||
};
|
||||
|
||||
[Exposed=(Window, Worker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, Worker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUDeviceLostInfo {
|
||||
readonly attribute GPUDeviceLostReason reason;
|
||||
readonly attribute DOMString message;
|
||||
|
@ -1183,24 +1183,24 @@ partial interface GPUDevice {
|
|||
readonly attribute Promise<GPUDeviceLostInfo> lost;
|
||||
};
|
||||
|
||||
[Exposed=(Window, Worker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, Worker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUError {
|
||||
readonly attribute DOMString message;
|
||||
};
|
||||
|
||||
[Exposed=(Window, Worker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, Worker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUValidationError
|
||||
: GPUError {
|
||||
constructor(DOMString message);
|
||||
};
|
||||
|
||||
[Exposed=(Window, Worker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, Worker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUOutOfMemoryError
|
||||
: GPUError {
|
||||
constructor(DOMString message);
|
||||
};
|
||||
|
||||
[Exposed=(Window, Worker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, Worker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUInternalError
|
||||
: GPUError {
|
||||
constructor(DOMString message);
|
||||
|
@ -1218,7 +1218,7 @@ partial interface GPUDevice {
|
|||
Promise<GPUError?> popErrorScope();
|
||||
};
|
||||
|
||||
[Exposed=(Window, Worker), Pref="dom.webgpu.enabled"]
|
||||
[Exposed=(Window, Worker), Pref="dom_webgpu_enabled"]
|
||||
interface GPUUncapturedErrorEvent : Event {
|
||||
constructor(
|
||||
DOMString type,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue