From 3a6ddea55373d56abfa9e821b95925e01d7296c4 Mon Sep 17 00:00:00 2001
From: Apertis CI <devel@lists.apertis.org>
Date: Tue, 11 Mar 2025 20:31:31 +0000
Subject: [PATCH] Import Upstream version 0.3.64

---
 Cargo.toml                                    |   87 +-
 Cargo.toml.orig                               |   80 +-
 README.md                                     |    4 +-
 src/features/gen_AbortController.rs           |    1 +
 src/features/gen_AbortSignal.rs               |    1 +
 src/features/gen_AddEventListenerOptions.rs   |    1 +
 src/features/gen_AesCbcParams.rs              |    1 +
 src/features/gen_AesCtrParams.rs              |    1 +
 src/features/gen_AesDerivedKeyParams.rs       |    1 +
 src/features/gen_AesGcmParams.rs              |    1 +
 src/features/gen_AesKeyAlgorithm.rs           |    1 +
 src/features/gen_AesKeyGenParams.rs           |    1 +
 src/features/gen_Algorithm.rs                 |    1 +
 src/features/gen_AlignSetting.rs              |    1 +
 src/features/gen_AllowedBluetoothDevice.rs    |    1 +
 src/features/gen_AllowedUsbDevice.rs          |    1 +
 src/features/gen_AlphaOption.rs               |    1 +
 src/features/gen_AnalyserNode.rs              |    1 +
 src/features/gen_AnalyserOptions.rs           |    1 +
 src/features/gen_AngleInstancedArrays.rs      |    1 +
 src/features/gen_Animation.rs                 |    1 +
 src/features/gen_AnimationEffect.rs           |    1 +
 src/features/gen_AnimationEvent.rs            |    1 +
 src/features/gen_AnimationEventInit.rs        |    1 +
 src/features/gen_AnimationPlayState.rs        |    1 +
 src/features/gen_AnimationPlaybackEvent.rs    |    1 +
 .../gen_AnimationPlaybackEventInit.rs         |    1 +
 src/features/gen_AnimationPropertyDetails.rs  |    1 +
 .../gen_AnimationPropertyValueDetails.rs      |    1 +
 src/features/gen_AnimationTimeline.rs         |    1 +
 src/features/gen_AssignedNodesOptions.rs      |    1 +
 .../gen_AttestationConveyancePreference.rs    |    1 +
 src/features/gen_Attr.rs                      |    1 +
 src/features/gen_AttributeNameValue.rs        |    1 +
 src/features/gen_AudioBuffer.rs               |    1 +
 src/features/gen_AudioBufferOptions.rs        |    1 +
 src/features/gen_AudioBufferSourceNode.rs     |    1 +
 src/features/gen_AudioBufferSourceOptions.rs  |    1 +
 src/features/gen_AudioConfiguration.rs        |    1 +
 src/features/gen_AudioContext.rs              |    1 +
 src/features/gen_AudioContextOptions.rs       |    1 +
 src/features/gen_AudioContextState.rs         |    1 +
 src/features/gen_AudioData.rs                 |    1 +
 src/features/gen_AudioDataCopyToOptions.rs    |    1 +
 src/features/gen_AudioDataInit.rs             |    1 +
 src/features/gen_AudioDecoder.rs              |    1 +
 src/features/gen_AudioDecoderConfig.rs        |    1 +
 src/features/gen_AudioDecoderInit.rs          |    1 +
 src/features/gen_AudioDecoderSupport.rs       |    1 +
 src/features/gen_AudioDestinationNode.rs      |    1 +
 src/features/gen_AudioEncoder.rs              |    1 +
 src/features/gen_AudioEncoderConfig.rs        |    1 +
 src/features/gen_AudioEncoderInit.rs          |    1 +
 src/features/gen_AudioEncoderSupport.rs       |    1 +
 src/features/gen_AudioListener.rs             |    1 +
 src/features/gen_AudioNode.rs                 |    1 +
 src/features/gen_AudioNodeOptions.rs          |    1 +
 src/features/gen_AudioParam.rs                |    1 +
 src/features/gen_AudioParamMap.rs             |   51 +
 src/features/gen_AudioProcessingEvent.rs      |    1 +
 src/features/gen_AudioSampleFormat.rs         |    1 +
 src/features/gen_AudioScheduledSourceNode.rs  |    8 +-
 src/features/gen_AudioStreamTrack.rs          |    1 +
 src/features/gen_AudioTrack.rs                |    1 +
 src/features/gen_AudioTrackList.rs            |    1 +
 src/features/gen_AudioWorklet.rs              |    1 +
 src/features/gen_AudioWorkletGlobalScope.rs   |    1 +
 src/features/gen_AudioWorkletNode.rs          |    1 +
 src/features/gen_AudioWorkletNodeOptions.rs   |    1 +
 src/features/gen_AudioWorkletProcessor.rs     |    1 +
 ...en_AuthenticationExtensionsClientInputs.rs |    1 +
 ...n_AuthenticationExtensionsClientOutputs.rs |    1 +
 .../gen_AuthenticatorAssertionResponse.rs     |    1 +
 src/features/gen_AuthenticatorAttachment.rs   |    1 +
 .../gen_AuthenticatorAttestationResponse.rs   |    1 +
 src/features/gen_AuthenticatorResponse.rs     |    1 +
 .../gen_AuthenticatorSelectionCriteria.rs     |    1 +
 src/features/gen_AuthenticatorTransport.rs    |    1 +
 src/features/gen_AutoKeyword.rs               |    1 +
 src/features/gen_AutocompleteInfo.rs          |    1 +
 src/features/gen_BarProp.rs                   |    1 +
 src/features/gen_BaseAudioContext.rs          |   39 +-
 src/features/gen_BaseComputedKeyframe.rs      |    1 +
 src/features/gen_BaseKeyframe.rs              |    1 +
 .../gen_BasePropertyIndexedKeyframe.rs        |    1 +
 src/features/gen_BasicCardRequest.rs          |    1 +
 src/features/gen_BasicCardResponse.rs         |    1 +
 src/features/gen_BasicCardType.rs             |    1 +
 src/features/gen_BatteryManager.rs            |    1 +
 src/features/gen_BeforeUnloadEvent.rs         |    1 +
 src/features/gen_BinaryType.rs                |    1 +
 src/features/gen_BiquadFilterNode.rs          |    1 +
 src/features/gen_BiquadFilterOptions.rs       |    1 +
 src/features/gen_BiquadFilterType.rs          |    1 +
 src/features/gen_Blob.rs                      |    1 +
 src/features/gen_BlobEvent.rs                 |    1 +
 src/features/gen_BlobEventInit.rs             |    1 +
 src/features/gen_BlobPropertyBag.rs           |    1 +
 src/features/gen_BlockParsingOptions.rs       |    1 +
 src/features/gen_Bluetooth.rs                 |    1 +
 src/features/gen_BluetoothAdvertisingEvent.rs |    1 +
 .../gen_BluetoothAdvertisingEventInit.rs      |    1 +
 .../gen_BluetoothCharacteristicProperties.rs  |    1 +
 src/features/gen_BluetoothDataFilterInit.rs   |    1 +
 src/features/gen_BluetoothDevice.rs           |    1 +
 src/features/gen_BluetoothLeScanFilterInit.rs |    1 +
 .../gen_BluetoothManufacturerDataMap.rs       |   81 +
 .../gen_BluetoothPermissionDescriptor.rs      |    1 +
 src/features/gen_BluetoothPermissionResult.rs |    1 +
 .../gen_BluetoothPermissionStorage.rs         |    1 +
 .../gen_BluetoothRemoteGattCharacteristic.rs  |    1 +
 .../gen_BluetoothRemoteGattDescriptor.rs      |    1 +
 src/features/gen_BluetoothRemoteGattServer.rs |    1 +
 .../gen_BluetoothRemoteGattService.rs         |    1 +
 src/features/gen_BluetoothServiceDataMap.rs   |   81 +
 src/features/gen_BluetoothUuid.rs             |    1 +
 src/features/gen_BoxQuadOptions.rs            |    1 +
 src/features/gen_BroadcastChannel.rs          |    1 +
 .../gen_BrowserElementDownloadOptions.rs      |    1 +
 .../gen_BrowserElementExecuteScriptOptions.rs |    1 +
 src/features/gen_BrowserFeedWriter.rs         |    1 +
 .../gen_BrowserFindCaseSensitivity.rs         |    1 +
 src/features/gen_BrowserFindDirection.rs      |    1 +
 src/features/gen_ByteLengthQueuingStrategy.rs |    1 +
 src/features/gen_Cache.rs                     |    1 +
 src/features/gen_CacheBatchOperation.rs       |    1 +
 src/features/gen_CacheQueryOptions.rs         |    1 +
 src/features/gen_CacheStorage.rs              |    1 +
 src/features/gen_CacheStorageNamespace.rs     |    1 +
 src/features/gen_CanvasCaptureMediaStream.rs  |    1 +
 .../gen_CanvasCaptureMediaStreamTrack.rs      |   30 +
 src/features/gen_CanvasGradient.rs            |    1 +
 src/features/gen_CanvasPattern.rs             |    1 +
 src/features/gen_CanvasRenderingContext2d.rs  |  239 ++-
 src/features/gen_CanvasWindingRule.rs         |    1 +
 src/features/gen_CaretChangedReason.rs        |    1 +
 src/features/gen_CaretPosition.rs             |    1 +
 .../gen_CaretStateChangedEventInit.rs         |    1 +
 src/features/gen_CdataSection.rs              |    1 +
 src/features/gen_ChannelCountMode.rs          |    1 +
 src/features/gen_ChannelInterpretation.rs     |    1 +
 src/features/gen_ChannelMergerNode.rs         |    1 +
 src/features/gen_ChannelMergerOptions.rs      |    1 +
 src/features/gen_ChannelPixelLayout.rs        |  122 --
 .../gen_ChannelPixelLayoutDataType.rs         |   17 -
 src/features/gen_ChannelSplitterNode.rs       |    1 +
 src/features/gen_ChannelSplitterOptions.rs    |    1 +
 src/features/gen_CharacterData.rs             |    1 +
 src/features/gen_CheckerboardReason.rs        |    1 +
 src/features/gen_CheckerboardReport.rs        |    1 +
 src/features/gen_CheckerboardReportService.rs |    1 +
 src/features/gen_ChromeFilePropertyBag.rs     |    1 +
 src/features/gen_ChromeWorker.rs              |    1 +
 src/features/gen_Client.rs                    |    1 +
 src/features/gen_ClientQueryOptions.rs        |    1 +
 src/features/gen_ClientRectsAndTexts.rs       |    1 +
 src/features/gen_ClientType.rs                |    1 +
 src/features/gen_Clients.rs                   |    1 +
 src/features/gen_Clipboard.rs                 |    1 +
 src/features/gen_ClipboardEvent.rs            |    1 +
 src/features/gen_ClipboardEventInit.rs        |    1 +
 src/features/gen_ClipboardItem.rs             |    1 +
 src/features/gen_ClipboardItemOptions.rs      |    1 +
 .../gen_ClipboardPermissionDescriptor.rs      |    1 +
 src/features/gen_CloseEvent.rs                |    1 +
 src/features/gen_CloseEventInit.rs            |    1 +
 src/features/gen_CodecState.rs                |    1 +
 src/features/gen_CollectedClientData.rs       |    1 +
 src/features/gen_ColorSpaceConversion.rs      |   12 +
 src/features/gen_Comment.rs                   |    1 +
 src/features/gen_CompositeOperation.rs        |    1 +
 src/features/gen_CompositionEvent.rs          |    1 +
 src/features/gen_CompositionEventInit.rs      |    1 +
 src/features/gen_ComputedEffectTiming.rs      |    1 +
 src/features/gen_ConnStatusDict.rs            |    1 +
 src/features/gen_ConnectionType.rs            |    1 +
 src/features/gen_ConsoleCounter.rs            |    1 +
 src/features/gen_ConsoleCounterError.rs       |    1 +
 src/features/gen_ConsoleEvent.rs              |    1 +
 src/features/gen_ConsoleInstance.rs           |    1 +
 src/features/gen_ConsoleInstanceOptions.rs    |    1 +
 src/features/gen_ConsoleLevel.rs              |    1 +
 src/features/gen_ConsoleLogLevel.rs           |    1 +
 src/features/gen_ConsoleProfileEvent.rs       |    1 +
 src/features/gen_ConsoleStackEntry.rs         |    1 +
 src/features/gen_ConsoleTimerError.rs         |    1 +
 src/features/gen_ConsoleTimerLogOrEnd.rs      |    1 +
 src/features/gen_ConsoleTimerStart.rs         |    1 +
 src/features/gen_ConstantSourceNode.rs        |    1 +
 src/features/gen_ConstantSourceOptions.rs     |    1 +
 .../gen_ConstrainBooleanParameters.rs         |    1 +
 .../gen_ConstrainDomStringParameters.rs       |    1 +
 src/features/gen_ConstrainDoubleRange.rs      |    1 +
 src/features/gen_ConstrainLongRange.rs        |    1 +
 src/features/gen_ContextAttributes2d.rs       |    1 +
 src/features/gen_ConvertCoordinateOptions.rs  |    1 +
 src/features/gen_ConvolverNode.rs             |    1 +
 src/features/gen_ConvolverOptions.rs          |    1 +
 src/features/gen_Coordinates.rs               |    1 +
 src/features/gen_CountQueuingStrategy.rs      |    1 +
 src/features/gen_Credential.rs                |    1 +
 src/features/gen_CredentialCreationOptions.rs |    1 +
 src/features/gen_CredentialRequestOptions.rs  |    1 +
 src/features/gen_CredentialsContainer.rs      |    1 +
 src/features/gen_Crypto.rs                    |    1 +
 src/features/gen_CryptoKey.rs                 |    1 +
 src/features/gen_CryptoKeyPair.rs             |    1 +
 src/features/gen_Csp.rs                       |    1 +
 src/features/gen_CspPolicies.rs               |    1 +
 src/features/gen_CspReport.rs                 |    1 +
 src/features/gen_CspReportProperties.rs       |    1 +
 src/features/gen_CssAnimation.rs              |    1 +
 src/features/gen_CssBoxType.rs                |    1 +
 src/features/gen_CssConditionRule.rs          |    1 +
 src/features/gen_CssCounterStyleRule.rs       |    1 +
 src/features/gen_CssFontFaceRule.rs           |    1 +
 src/features/gen_CssFontFeatureValuesRule.rs  |    1 +
 src/features/gen_CssGroupingRule.rs           |    1 +
 src/features/gen_CssImportRule.rs             |    1 +
 src/features/gen_CssKeyframeRule.rs           |    1 +
 src/features/gen_CssKeyframesRule.rs          |    1 +
 src/features/gen_CssMediaRule.rs              |    1 +
 src/features/gen_CssNamespaceRule.rs          |    1 +
 src/features/gen_CssPageRule.rs               |    1 +
 src/features/gen_CssPseudoElement.rs          |   71 +
 src/features/gen_CssRule.rs                   |    1 +
 src/features/gen_CssRuleList.rs               |    1 +
 src/features/gen_CssStyleDeclaration.rs       |    1 +
 src/features/gen_CssStyleRule.rs              |    1 +
 src/features/gen_CssStyleSheet.rs             |    1 +
 src/features/gen_CssStyleSheetParsingMode.rs  |    1 +
 src/features/gen_CssSupportsRule.rs           |    1 +
 src/features/gen_CssTransition.rs             |    1 +
 src/features/gen_CustomElementRegistry.rs     |    1 +
 src/features/gen_CustomEvent.rs               |    1 +
 src/features/gen_CustomEventInit.rs           |    1 +
 src/features/gen_DataTransfer.rs              |    1 +
 src/features/gen_DataTransferItem.rs          |    1 +
 src/features/gen_DataTransferItemList.rs      |    1 +
 src/features/gen_DateTimeValue.rs             |    1 +
 src/features/gen_DecoderDoctorNotification.rs |    1 +
 .../gen_DecoderDoctorNotificationType.rs      |    1 +
 .../gen_DedicatedWorkerGlobalScope.rs         |   21 +
 src/features/gen_DelayNode.rs                 |    1 +
 src/features/gen_DelayOptions.rs              |    1 +
 src/features/gen_DeviceAcceleration.rs        |    1 +
 src/features/gen_DeviceAccelerationInit.rs    |    1 +
 src/features/gen_DeviceLightEvent.rs          |    1 +
 src/features/gen_DeviceLightEventInit.rs      |    1 +
 src/features/gen_DeviceMotionEvent.rs         |    1 +
 src/features/gen_DeviceMotionEventInit.rs     |    1 +
 src/features/gen_DeviceOrientationEvent.rs    |    1 +
 .../gen_DeviceOrientationEventInit.rs         |    1 +
 src/features/gen_DeviceProximityEvent.rs      |    1 +
 src/features/gen_DeviceProximityEventInit.rs  |    1 +
 src/features/gen_DeviceRotationRate.rs        |    1 +
 src/features/gen_DeviceRotationRateInit.rs    |    1 +
 src/features/gen_DhKeyDeriveParams.rs         |    1 +
 src/features/gen_DirectionSetting.rs          |    1 +
 src/features/gen_Directory.rs                 |    1 +
 .../gen_DisplayMediaStreamConstraints.rs      |    1 +
 src/features/gen_DisplayNameOptions.rs        |    1 +
 src/features/gen_DisplayNameResult.rs         |    1 +
 src/features/gen_DistanceModelType.rs         |    1 +
 src/features/gen_DnsCacheDict.rs              |    1 +
 src/features/gen_DnsCacheEntry.rs             |    1 +
 src/features/gen_DnsLookupDict.rs             |    1 +
 src/features/gen_Document.rs                  |  197 +++
 src/features/gen_DocumentFragment.rs          |  197 +++
 src/features/gen_DocumentTimeline.rs          |    1 +
 src/features/gen_DocumentTimelineOptions.rs   |    1 +
 src/features/gen_DocumentType.rs              |    1 +
 src/features/gen_DomError.rs                  |    1 +
 src/features/gen_DomException.rs              |    1 +
 src/features/gen_DomImplementation.rs         |    1 +
 src/features/gen_DomMatrix.rs                 |    1 +
 src/features/gen_DomMatrixReadOnly.rs         |    1 +
 src/features/gen_DomParser.rs                 |    1 +
 src/features/gen_DomPoint.rs                  |    1 +
 src/features/gen_DomPointInit.rs              |    1 +
 src/features/gen_DomPointReadOnly.rs          |    1 +
 src/features/gen_DomQuad.rs                   |    1 +
 src/features/gen_DomQuadInit.rs               |    1 +
 src/features/gen_DomQuadJson.rs               |    1 +
 src/features/gen_DomRect.rs                   |    1 +
 src/features/gen_DomRectInit.rs               |    1 +
 src/features/gen_DomRectList.rs               |    1 +
 src/features/gen_DomRectReadOnly.rs           |    1 +
 src/features/gen_DomRequest.rs                |    1 +
 src/features/gen_DomRequestReadyState.rs      |    1 +
 src/features/gen_DomStringList.rs             |    1 +
 src/features/gen_DomStringMap.rs              |    1 +
 src/features/gen_DomTokenList.rs              |    1 +
 .../gen_DomWindowResizeEventDetail.rs         |    1 +
 src/features/gen_DragEvent.rs                 |    1 +
 src/features/gen_DragEventInit.rs             |    1 +
 src/features/gen_DynamicsCompressorNode.rs    |    1 +
 src/features/gen_DynamicsCompressorOptions.rs |    1 +
 src/features/gen_EcKeyAlgorithm.rs            |    1 +
 src/features/gen_EcKeyGenParams.rs            |    1 +
 src/features/gen_EcKeyImportParams.rs         |    1 +
 src/features/gen_EcdhKeyDeriveParams.rs       |    1 +
 src/features/gen_EcdsaParams.rs               |    1 +
 src/features/gen_EffectTiming.rs              |    1 +
 src/features/gen_Element.rs                   |  262 ++++
 src/features/gen_ElementCreationOptions.rs    |    1 +
 src/features/gen_ElementDefinitionOptions.rs  |    1 +
 src/features/gen_EncodedAudioChunk.rs         |    1 +
 src/features/gen_EncodedAudioChunkInit.rs     |    1 +
 src/features/gen_EncodedAudioChunkMetadata.rs |    1 +
 src/features/gen_EncodedAudioChunkType.rs     |    1 +
 src/features/gen_EncodedVideoChunk.rs         |    1 +
 src/features/gen_EncodedVideoChunkInit.rs     |    1 +
 src/features/gen_EncodedVideoChunkMetadata.rs |    1 +
 src/features/gen_EncodedVideoChunkType.rs     |    1 +
 src/features/gen_EndingTypes.rs               |    1 +
 src/features/gen_ErrorCallback.rs             |    1 +
 src/features/gen_ErrorEvent.rs                |    1 +
 src/features/gen_ErrorEventInit.rs            |    1 +
 src/features/gen_Event.rs                     |    1 +
 src/features/gen_EventInit.rs                 |    1 +
 src/features/gen_EventListener.rs             |    1 +
 src/features/gen_EventListenerOptions.rs      |    1 +
 src/features/gen_EventModifierInit.rs         |    1 +
 src/features/gen_EventSource.rs               |    1 +
 src/features/gen_EventSourceInit.rs           |    1 +
 src/features/gen_EventTarget.rs               |    1 +
 src/features/gen_Exception.rs                 |    1 +
 src/features/gen_ExtBlendMinmax.rs            |    1 +
 src/features/gen_ExtColorBufferFloat.rs       |    1 +
 src/features/gen_ExtColorBufferHalfFloat.rs   |    1 +
 src/features/gen_ExtDisjointTimerQuery.rs     |    1 +
 src/features/gen_ExtFragDepth.rs              |    1 +
 src/features/gen_ExtSRgb.rs                   |    1 +
 src/features/gen_ExtShaderTextureLod.rs       |    1 +
 .../gen_ExtTextureFilterAnisotropic.rs        |    1 +
 src/features/gen_ExtTextureNorm16.rs          |   49 +
 src/features/gen_ExtendableEvent.rs           |    1 +
 src/features/gen_ExtendableEventInit.rs       |    1 +
 src/features/gen_ExtendableMessageEvent.rs    |    1 +
 .../gen_ExtendableMessageEventInit.rs         |    1 +
 src/features/gen_External.rs                  |    1 +
 src/features/gen_FakePluginMimeEntry.rs       |    1 +
 src/features/gen_FakePluginTagInit.rs         |    1 +
 src/features/gen_FetchEvent.rs                |    1 +
 src/features/gen_FetchEventInit.rs            |    1 +
 src/features/gen_FetchObserver.rs             |    1 +
 .../gen_FetchReadableStreamReadDataArray.rs   |    1 +
 .../gen_FetchReadableStreamReadDataDone.rs    |    1 +
 src/features/gen_FetchState.rs                |    1 +
 src/features/gen_File.rs                      |    1 +
 src/features/gen_FileCallback.rs              |    1 +
 src/features/gen_FileList.rs                  |    1 +
 src/features/gen_FilePropertyBag.rs           |    1 +
 src/features/gen_FileReader.rs                |    1 +
 src/features/gen_FileReaderSync.rs            |    1 +
 src/features/gen_FileSystem.rs                |    1 +
 .../gen_FileSystemCreateWritableOptions.rs    |   58 +
 src/features/gen_FileSystemDirectoryEntry.rs  |    1 +
 src/features/gen_FileSystemDirectoryHandle.rs |  114 ++
 src/features/gen_FileSystemDirectoryReader.rs |    1 +
 src/features/gen_FileSystemEntriesCallback.rs |    1 +
 src/features/gen_FileSystemEntry.rs           |    1 +
 src/features/gen_FileSystemEntryCallback.rs   |    1 +
 src/features/gen_FileSystemFileEntry.rs       |    1 +
 src/features/gen_FileSystemFileHandle.rs      |   67 +
 src/features/gen_FileSystemFlags.rs           |    1 +
 .../gen_FileSystemGetDirectoryOptions.rs      |   55 +
 src/features/gen_FileSystemGetFileOptions.rs  |   55 +
 src/features/gen_FileSystemHandle.rs          |   53 +
 src/features/gen_FileSystemHandleKind.rs      |   16 +
 .../gen_FileSystemReadWriteOptions.rs         |   54 +
 src/features/gen_FileSystemRemoveOptions.rs   |   58 +
 .../gen_FileSystemSyncAccessHandle.rs         |  200 +++
 .../gen_FileSystemWritableFileStream.rs       |  147 ++
 src/features/gen_FillMode.rs                  |    1 +
 src/features/gen_FlashClassification.rs       |    1 +
 src/features/gen_FlexLineGrowthState.rs       |    1 +
 src/features/gen_FlowControlType.rs           |   16 +
 src/features/gen_FocusEvent.rs                |    1 +
 src/features/gen_FocusEventInit.rs            |    1 +
 src/features/gen_FontData.rs                  |   74 +
 src/features/gen_FontFace.rs                  |    1 +
 src/features/gen_FontFaceDescriptors.rs       |    1 +
 src/features/gen_FontFaceLoadStatus.rs        |    1 +
 src/features/gen_FontFaceSet.rs               |    1 +
 src/features/gen_FontFaceSetIterator.rs       |    1 +
 src/features/gen_FontFaceSetIteratorResult.rs |    1 +
 src/features/gen_FontFaceSetLoadEvent.rs      |    1 +
 src/features/gen_FontFaceSetLoadEventInit.rs  |    1 +
 src/features/gen_FontFaceSetLoadStatus.rs     |    1 +
 src/features/gen_FormData.rs                  |    1 +
 src/features/gen_FrameType.rs                 |    1 +
 src/features/gen_FuzzingFunctions.rs          |    1 +
 src/features/gen_GainNode.rs                  |    1 +
 src/features/gen_GainOptions.rs               |    1 +
 src/features/gen_Gamepad.rs                   |    1 +
 src/features/gen_GamepadAxisMoveEvent.rs      |    1 +
 src/features/gen_GamepadAxisMoveEventInit.rs  |    1 +
 src/features/gen_GamepadButton.rs             |    1 +
 src/features/gen_GamepadButtonEvent.rs        |    1 +
 src/features/gen_GamepadButtonEventInit.rs    |    1 +
 src/features/gen_GamepadEvent.rs              |    1 +
 src/features/gen_GamepadEventInit.rs          |    1 +
 src/features/gen_GamepadHand.rs               |    1 +
 src/features/gen_GamepadHapticActuator.rs     |    1 +
 src/features/gen_GamepadHapticActuatorType.rs |    1 +
 src/features/gen_GamepadMappingType.rs        |    1 +
 src/features/gen_GamepadPose.rs               |    1 +
 src/features/gen_GamepadServiceTest.rs        |    1 +
 src/features/gen_Geolocation.rs               |    1 +
 src/features/gen_GetAnimationsOptions.rs      |   58 +
 src/features/gen_GetNotificationOptions.rs    |    1 +
 src/features/gen_GetRootNodeOptions.rs        |    1 +
 src/features/gen_GetUserMediaRequest.rs       |    1 +
 src/features/gen_Gpu.rs                       |    1 +
 src/features/gen_GpuAdapter.rs                |    1 +
 src/features/gen_GpuAdapterInfo.rs            |    1 +
 src/features/gen_GpuAddressMode.rs            |    1 +
 src/features/gen_GpuAutoLayoutMode.rs         |    1 +
 src/features/gen_GpuBindGroup.rs              |    1 +
 src/features/gen_GpuBindGroupDescriptor.rs    |    1 +
 src/features/gen_GpuBindGroupEntry.rs         |    1 +
 src/features/gen_GpuBindGroupLayout.rs        |    1 +
 .../gen_GpuBindGroupLayoutDescriptor.rs       |    1 +
 src/features/gen_GpuBindGroupLayoutEntry.rs   |    1 +
 src/features/gen_GpuBlendComponent.rs         |    1 +
 src/features/gen_GpuBlendFactor.rs            |    1 +
 src/features/gen_GpuBlendOperation.rs         |    1 +
 src/features/gen_GpuBlendState.rs             |    1 +
 src/features/gen_GpuBuffer.rs                 |    1 +
 src/features/gen_GpuBufferBinding.rs          |    1 +
 src/features/gen_GpuBufferBindingLayout.rs    |    1 +
 src/features/gen_GpuBufferBindingType.rs      |    1 +
 src/features/gen_GpuBufferDescriptor.rs       |    1 +
 src/features/gen_GpuBufferMapState.rs         |    1 +
 src/features/gen_GpuCanvasAlphaMode.rs        |    1 +
 src/features/gen_GpuCanvasConfiguration.rs    |    1 +
 src/features/gen_GpuCanvasContext.rs          |    1 +
 src/features/gen_GpuColorDict.rs              |    1 +
 src/features/gen_GpuColorTargetState.rs       |    1 +
 src/features/gen_GpuCommandBuffer.rs          |    1 +
 .../gen_GpuCommandBufferDescriptor.rs         |    1 +
 src/features/gen_GpuCommandEncoder.rs         |    1 +
 .../gen_GpuCommandEncoderDescriptor.rs        |    1 +
 src/features/gen_GpuCompareFunction.rs        |    1 +
 src/features/gen_GpuCompilationInfo.rs        |    1 +
 src/features/gen_GpuCompilationMessage.rs     |    1 +
 src/features/gen_GpuCompilationMessageType.rs |    1 +
 src/features/gen_GpuComputePassDescriptor.rs  |    1 +
 src/features/gen_GpuComputePassEncoder.rs     |    1 +
 .../gen_GpuComputePassTimestampLocation.rs    |    1 +
 .../gen_GpuComputePassTimestampWrite.rs       |    1 +
 src/features/gen_GpuComputePipeline.rs        |    1 +
 .../gen_GpuComputePipelineDescriptor.rs       |    1 +
 src/features/gen_GpuCullMode.rs               |    1 +
 src/features/gen_GpuDepthStencilState.rs      |    1 +
 src/features/gen_GpuDevice.rs                 |    1 +
 src/features/gen_GpuDeviceDescriptor.rs       |    1 +
 src/features/gen_GpuDeviceLostInfo.rs         |    1 +
 src/features/gen_GpuDeviceLostReason.rs       |    1 +
 src/features/gen_GpuError.rs                  |    1 +
 src/features/gen_GpuErrorFilter.rs            |    1 +
 src/features/gen_GpuExtent3dDict.rs           |    1 +
 src/features/gen_GpuExternalTexture.rs        |    1 +
 .../gen_GpuExternalTextureBindingLayout.rs    |    1 +
 .../gen_GpuExternalTextureDescriptor.rs       |    1 +
 src/features/gen_GpuFeatureName.rs            |    1 +
 src/features/gen_GpuFilterMode.rs             |    1 +
 src/features/gen_GpuFragmentState.rs          |    1 +
 src/features/gen_GpuFrontFace.rs              |    1 +
 src/features/gen_GpuImageCopyBuffer.rs        |    1 +
 src/features/gen_GpuImageCopyExternalImage.rs |    1 +
 src/features/gen_GpuImageCopyTexture.rs       |    1 +
 src/features/gen_GpuImageCopyTextureTagged.rs |    1 +
 src/features/gen_GpuImageDataLayout.rs        |    1 +
 src/features/gen_GpuIndexFormat.rs            |    1 +
 src/features/gen_GpuInternalError.rs          |    1 +
 src/features/gen_GpuLoadOp.rs                 |    1 +
 src/features/gen_GpuMipmapFilterMode.rs       |    1 +
 src/features/gen_GpuMultisampleState.rs       |    1 +
 src/features/gen_GpuObjectDescriptorBase.rs   |    1 +
 src/features/gen_GpuOrigin2dDict.rs           |    1 +
 src/features/gen_GpuOrigin3dDict.rs           |    1 +
 src/features/gen_GpuOutOfMemoryError.rs       |    1 +
 src/features/gen_GpuPipelineDescriptorBase.rs |    1 +
 src/features/gen_GpuPipelineLayout.rs         |    1 +
 .../gen_GpuPipelineLayoutDescriptor.rs        |    1 +
 src/features/gen_GpuPowerPreference.rs        |    1 +
 src/features/gen_GpuPrimitiveState.rs         |    1 +
 src/features/gen_GpuPrimitiveTopology.rs      |    1 +
 src/features/gen_GpuProgrammableStage.rs      |    1 +
 src/features/gen_GpuQuerySet.rs               |    1 +
 src/features/gen_GpuQuerySetDescriptor.rs     |    1 +
 src/features/gen_GpuQueryType.rs              |    1 +
 src/features/gen_GpuQueue.rs                  |    1 +
 src/features/gen_GpuQueueDescriptor.rs        |    1 +
 src/features/gen_GpuRenderBundle.rs           |    1 +
 src/features/gen_GpuRenderBundleDescriptor.rs |    1 +
 src/features/gen_GpuRenderBundleEncoder.rs    |    1 +
 .../gen_GpuRenderBundleEncoderDescriptor.rs   |    1 +
 .../gen_GpuRenderPassColorAttachment.rs       |    1 +
 ...gen_GpuRenderPassDepthStencilAttachment.rs |    1 +
 src/features/gen_GpuRenderPassDescriptor.rs   |    1 +
 src/features/gen_GpuRenderPassEncoder.rs      |    1 +
 src/features/gen_GpuRenderPassLayout.rs       |    1 +
 .../gen_GpuRenderPassTimestampLocation.rs     |    1 +
 .../gen_GpuRenderPassTimestampWrite.rs        |    1 +
 src/features/gen_GpuRenderPipeline.rs         |    1 +
 .../gen_GpuRenderPipelineDescriptor.rs        |    1 +
 src/features/gen_GpuRequestAdapterOptions.rs  |    1 +
 src/features/gen_GpuSampler.rs                |    1 +
 src/features/gen_GpuSamplerBindingLayout.rs   |    1 +
 src/features/gen_GpuSamplerBindingType.rs     |    1 +
 src/features/gen_GpuSamplerDescriptor.rs      |    1 +
 src/features/gen_GpuShaderModule.rs           |    1 +
 .../gen_GpuShaderModuleCompilationHint.rs     |    1 +
 src/features/gen_GpuShaderModuleDescriptor.rs |    1 +
 src/features/gen_GpuStencilFaceState.rs       |    1 +
 src/features/gen_GpuStencilOperation.rs       |    1 +
 src/features/gen_GpuStorageTextureAccess.rs   |    1 +
 .../gen_GpuStorageTextureBindingLayout.rs     |    1 +
 src/features/gen_GpuStoreOp.rs                |    1 +
 src/features/gen_GpuSupportedFeatures.rs      |   70 +
 src/features/gen_GpuSupportedLimits.rs        |    1 +
 src/features/gen_GpuTexture.rs                |    1 +
 src/features/gen_GpuTextureAspect.rs          |    1 +
 src/features/gen_GpuTextureBindingLayout.rs   |    1 +
 src/features/gen_GpuTextureDescriptor.rs      |    1 +
 src/features/gen_GpuTextureDimension.rs       |    1 +
 src/features/gen_GpuTextureFormat.rs          |    1 +
 src/features/gen_GpuTextureSampleType.rs      |    1 +
 src/features/gen_GpuTextureView.rs            |    1 +
 src/features/gen_GpuTextureViewDescriptor.rs  |    1 +
 src/features/gen_GpuTextureViewDimension.rs   |    1 +
 src/features/gen_GpuUncapturedErrorEvent.rs   |    1 +
 .../gen_GpuUncapturedErrorEventInit.rs        |    1 +
 src/features/gen_GpuValidationError.rs        |    1 +
 src/features/gen_GpuVertexAttribute.rs        |    1 +
 src/features/gen_GpuVertexBufferLayout.rs     |    1 +
 src/features/gen_GpuVertexFormat.rs           |    1 +
 src/features/gen_GpuVertexState.rs            |    1 +
 src/features/gen_GpuVertexStepMode.rs         |    1 +
 src/features/gen_GridDeclaration.rs           |    1 +
 src/features/gen_GridTrackState.rs            |    1 +
 src/features/gen_GroupedHistoryEventInit.rs   |    1 +
 src/features/gen_HalfOpenInfoDict.rs          |    1 +
 src/features/gen_HardwareAcceleration.rs      |    1 +
 src/features/gen_HashChangeEvent.rs           |    1 +
 src/features/gen_HashChangeEventInit.rs       |    1 +
 src/features/gen_Headers.rs                   |    1 +
 src/features/gen_HeadersGuardEnum.rs          |    1 +
 src/features/gen_Hid.rs                       |    1 +
 src/features/gen_HidCollectionInfo.rs         |    1 +
 src/features/gen_HidConnectionEvent.rs        |    1 +
 src/features/gen_HidConnectionEventInit.rs    |    1 +
 src/features/gen_HidDevice.rs                 |    1 +
 src/features/gen_HidDeviceFilter.rs           |    1 +
 src/features/gen_HidDeviceRequestOptions.rs   |    1 +
 src/features/gen_HidInputReportEvent.rs       |    1 +
 src/features/gen_HidInputReportEventInit.rs   |    1 +
 src/features/gen_HidReportInfo.rs             |    1 +
 src/features/gen_HidReportItem.rs             |    1 +
 src/features/gen_HidUnitSystem.rs             |    1 +
 src/features/gen_HiddenPluginEventInit.rs     |    1 +
 src/features/gen_History.rs                   |    1 +
 src/features/gen_HitRegionOptions.rs          |    1 +
 src/features/gen_HkdfParams.rs                |    1 +
 src/features/gen_HmacDerivedKeyParams.rs      |    1 +
 src/features/gen_HmacImportParams.rs          |    1 +
 src/features/gen_HmacKeyAlgorithm.rs          |    1 +
 src/features/gen_HmacKeyGenParams.rs          |    1 +
 src/features/gen_HtmlAllCollection.rs         |    1 +
 src/features/gen_HtmlAnchorElement.rs         |    1 +
 src/features/gen_HtmlAreaElement.rs           |    1 +
 src/features/gen_HtmlAudioElement.rs          |    1 +
 src/features/gen_HtmlBaseElement.rs           |    1 +
 src/features/gen_HtmlBodyElement.rs           |    1 +
 src/features/gen_HtmlBrElement.rs             |    1 +
 src/features/gen_HtmlButtonElement.rs         |    1 +
 src/features/gen_HtmlCanvasElement.rs         |   20 +
 src/features/gen_HtmlCollection.rs            |    1 +
 src/features/gen_HtmlDListElement.rs          |    1 +
 src/features/gen_HtmlDataElement.rs           |    1 +
 src/features/gen_HtmlDataListElement.rs       |    1 +
 src/features/gen_HtmlDetailsElement.rs        |    1 +
 src/features/gen_HtmlDialogElement.rs         |    1 +
 src/features/gen_HtmlDirectoryElement.rs      |    1 +
 src/features/gen_HtmlDivElement.rs            |    1 +
 src/features/gen_HtmlDocument.rs              |    1 +
 src/features/gen_HtmlElement.rs               |    1 +
 src/features/gen_HtmlEmbedElement.rs          |    1 +
 src/features/gen_HtmlFieldSetElement.rs       |    1 +
 src/features/gen_HtmlFontElement.rs           |    1 +
 .../gen_HtmlFormControlsCollection.rs         |    1 +
 src/features/gen_HtmlFormElement.rs           |    1 +
 src/features/gen_HtmlFrameElement.rs          |    1 +
 src/features/gen_HtmlFrameSetElement.rs       |    1 +
 src/features/gen_HtmlHeadElement.rs           |    1 +
 src/features/gen_HtmlHeadingElement.rs        |    1 +
 src/features/gen_HtmlHrElement.rs             |    1 +
 src/features/gen_HtmlHtmlElement.rs           |    1 +
 src/features/gen_HtmlIFrameElement.rs         |    1 +
 src/features/gen_HtmlImageElement.rs          |    1 +
 src/features/gen_HtmlInputElement.rs          |   22 +
 src/features/gen_HtmlLabelElement.rs          |    1 +
 src/features/gen_HtmlLegendElement.rs         |    1 +
 src/features/gen_HtmlLiElement.rs             |    1 +
 src/features/gen_HtmlLinkElement.rs           |    1 +
 src/features/gen_HtmlMapElement.rs            |    1 +
 src/features/gen_HtmlMediaElement.rs          |    1 +
 src/features/gen_HtmlMenuElement.rs           |    1 +
 src/features/gen_HtmlMenuItemElement.rs       |   16 +
 src/features/gen_HtmlMetaElement.rs           |    1 +
 src/features/gen_HtmlMeterElement.rs          |    1 +
 src/features/gen_HtmlModElement.rs            |    1 +
 src/features/gen_HtmlOListElement.rs          |    1 +
 src/features/gen_HtmlObjectElement.rs         |    1 +
 src/features/gen_HtmlOptGroupElement.rs       |    1 +
 src/features/gen_HtmlOptionElement.rs         |    1 +
 src/features/gen_HtmlOptionsCollection.rs     |    1 +
 src/features/gen_HtmlOutputElement.rs         |    1 +
 src/features/gen_HtmlParagraphElement.rs      |    1 +
 src/features/gen_HtmlParamElement.rs          |    1 +
 src/features/gen_HtmlPictureElement.rs        |    1 +
 src/features/gen_HtmlPreElement.rs            |    1 +
 src/features/gen_HtmlProgressElement.rs       |    1 +
 src/features/gen_HtmlQuoteElement.rs          |    1 +
 src/features/gen_HtmlScriptElement.rs         |    1 +
 src/features/gen_HtmlSelectElement.rs         |    1 +
 src/features/gen_HtmlSlotElement.rs           |    1 +
 src/features/gen_HtmlSourceElement.rs         |    1 +
 src/features/gen_HtmlSpanElement.rs           |    1 +
 src/features/gen_HtmlStyleElement.rs          |    1 +
 src/features/gen_HtmlTableCaptionElement.rs   |    1 +
 src/features/gen_HtmlTableCellElement.rs      |    1 +
 src/features/gen_HtmlTableColElement.rs       |    1 +
 src/features/gen_HtmlTableElement.rs          |    1 +
 src/features/gen_HtmlTableRowElement.rs       |    1 +
 src/features/gen_HtmlTableSectionElement.rs   |    1 +
 src/features/gen_HtmlTemplateElement.rs       |    1 +
 src/features/gen_HtmlTextAreaElement.rs       |   14 +
 src/features/gen_HtmlTimeElement.rs           |    1 +
 src/features/gen_HtmlTitleElement.rs          |    1 +
 src/features/gen_HtmlTrackElement.rs          |    1 +
 src/features/gen_HtmlUListElement.rs          |    1 +
 src/features/gen_HtmlUnknownElement.rs        |    1 +
 src/features/gen_HtmlVideoElement.rs          |    1 +
 src/features/gen_HttpConnDict.rs              |    1 +
 src/features/gen_HttpConnInfo.rs              |    1 +
 src/features/gen_HttpConnectionElement.rs     |    1 +
 src/features/gen_IdbCursor.rs                 |    1 +
 src/features/gen_IdbCursorDirection.rs        |    1 +
 src/features/gen_IdbCursorWithValue.rs        |    1 +
 src/features/gen_IdbDatabase.rs               |    1 +
 src/features/gen_IdbFactory.rs                |    1 +
 src/features/gen_IdbFileHandle.rs             |    1 +
 src/features/gen_IdbFileMetadataParameters.rs |    1 +
 src/features/gen_IdbFileRequest.rs            |    1 +
 src/features/gen_IdbIndex.rs                  |    1 +
 src/features/gen_IdbIndexParameters.rs        |    1 +
 src/features/gen_IdbKeyRange.rs               |    1 +
 src/features/gen_IdbLocaleAwareKeyRange.rs    |    1 +
 src/features/gen_IdbMutableFile.rs            |    1 +
 src/features/gen_IdbObjectStore.rs            |    1 +
 src/features/gen_IdbObjectStoreParameters.rs  |    1 +
 src/features/gen_IdbOpenDbOptions.rs          |    1 +
 src/features/gen_IdbOpenDbRequest.rs          |    1 +
 src/features/gen_IdbRequest.rs                |    1 +
 src/features/gen_IdbRequestReadyState.rs      |    1 +
 src/features/gen_IdbTransaction.rs            |    1 +
 src/features/gen_IdbTransactionMode.rs        |    1 +
 src/features/gen_IdbVersionChangeEvent.rs     |    1 +
 src/features/gen_IdbVersionChangeEventInit.rs |    1 +
 src/features/gen_IdleDeadline.rs              |    1 +
 src/features/gen_IdleRequestOptions.rs        |    1 +
 src/features/gen_IirFilterNode.rs             |    1 +
 src/features/gen_IirFilterOptions.rs          |    1 +
 src/features/gen_ImageBitmap.rs               |   57 +-
 src/features/gen_ImageBitmapFormat.rs         |   22 -
 src/features/gen_ImageBitmapOptions.rs        |  134 ++
 .../gen_ImageBitmapRenderingContext.rs        |    1 +
 src/features/gen_ImageCapture.rs              |    1 +
 src/features/gen_ImageCaptureError.rs         |    1 +
 src/features/gen_ImageCaptureErrorEvent.rs    |    1 +
 .../gen_ImageCaptureErrorEventInit.rs         |    1 +
 src/features/gen_ImageData.rs                 |    1 +
 src/features/gen_ImageDecodeOptions.rs        |    1 +
 src/features/gen_ImageDecodeResult.rs         |    1 +
 src/features/gen_ImageDecoder.rs              |    1 +
 src/features/gen_ImageDecoderInit.rs          |   45 +
 src/features/gen_ImageEncodeOptions.rs        |   58 +
 src/features/gen_ImageOrientation.rs          |   12 +
 src/features/gen_ImageTrack.rs                |    1 +
 src/features/gen_ImageTrackList.rs            |    1 +
 src/features/gen_InputEvent.rs                |    1 +
 src/features/gen_InputEventInit.rs            |    1 +
 src/features/gen_InstallTriggerData.rs        |    1 +
 src/features/gen_IntersectionObserver.rs      |    1 +
 src/features/gen_IntersectionObserverEntry.rs |    1 +
 .../gen_IntersectionObserverEntryInit.rs      |    1 +
 src/features/gen_IntersectionObserverInit.rs  |    1 +
 src/features/gen_IntlUtils.rs                 |    1 +
 src/features/gen_IterableKeyAndValueResult.rs |    1 +
 src/features/gen_IterableKeyOrValueResult.rs  |    1 +
 .../gen_IterationCompositeOperation.rs        |    1 +
 src/features/gen_JsonWebKey.rs                |    1 +
 src/features/gen_KeyAlgorithm.rs              |    1 +
 src/features/gen_KeyEvent.rs                  |    1 +
 src/features/gen_KeyIdsInitData.rs            |    1 +
 src/features/gen_KeyboardEvent.rs             |    1 +
 src/features/gen_KeyboardEventInit.rs         |    1 +
 src/features/gen_KeyframeAnimationOptions.rs  |  279 ++++
 src/features/gen_KeyframeEffect.rs            |    1 +
 src/features/gen_KeyframeEffectOptions.rs     |    1 +
 src/features/gen_L10nElement.rs               |    1 +
 src/features/gen_L10nValue.rs                 |    1 +
 src/features/gen_LatencyMode.rs               |    1 +
 src/features/gen_LifecycleCallbacks.rs        |    1 +
 src/features/gen_LineAlignSetting.rs          |    1 +
 src/features/gen_ListBoxObject.rs             |    1 +
 src/features/gen_LocalMediaStream.rs          |    1 +
 src/features/gen_LocaleInfo.rs                |    1 +
 src/features/gen_Location.rs                  |    1 +
 src/features/gen_MediaCapabilities.rs         |    1 +
 src/features/gen_MediaCapabilitiesInfo.rs     |    1 +
 src/features/gen_MediaConfiguration.rs        |    1 +
 .../gen_MediaDecodingConfiguration.rs         |    1 +
 src/features/gen_MediaDecodingType.rs         |    1 +
 src/features/gen_MediaDeviceInfo.rs           |    1 +
 src/features/gen_MediaDeviceKind.rs           |    1 +
 src/features/gen_MediaDevices.rs              |    1 +
 .../gen_MediaElementAudioSourceNode.rs        |    1 +
 .../gen_MediaElementAudioSourceOptions.rs     |    1 +
 .../gen_MediaEncodingConfiguration.rs         |    1 +
 src/features/gen_MediaEncodingType.rs         |    1 +
 src/features/gen_MediaEncryptedEvent.rs       |    1 +
 src/features/gen_MediaError.rs                |    1 +
 src/features/gen_MediaImage.rs                |    1 +
 src/features/gen_MediaKeyError.rs             |    1 +
 src/features/gen_MediaKeyMessageEvent.rs      |    1 +
 src/features/gen_MediaKeyMessageEventInit.rs  |    1 +
 src/features/gen_MediaKeyMessageType.rs       |    1 +
 src/features/gen_MediaKeyNeededEventInit.rs   |    1 +
 src/features/gen_MediaKeySession.rs           |    1 +
 src/features/gen_MediaKeySessionType.rs       |    1 +
 src/features/gen_MediaKeyStatus.rs            |    1 +
 src/features/gen_MediaKeyStatusMap.rs         |    1 +
 src/features/gen_MediaKeySystemAccess.rs      |    1 +
 .../gen_MediaKeySystemConfiguration.rs        |    1 +
 .../gen_MediaKeySystemMediaCapability.rs      |    1 +
 src/features/gen_MediaKeySystemStatus.rs      |    1 +
 src/features/gen_MediaKeys.rs                 |    1 +
 src/features/gen_MediaKeysPolicy.rs           |    1 +
 src/features/gen_MediaKeysRequirement.rs      |    1 +
 src/features/gen_MediaList.rs                 |    1 +
 src/features/gen_MediaMetadata.rs             |    1 +
 src/features/gen_MediaMetadataInit.rs         |    1 +
 src/features/gen_MediaPositionState.rs        |    1 +
 src/features/gen_MediaQueryList.rs            |    1 +
 src/features/gen_MediaQueryListEvent.rs       |    1 +
 src/features/gen_MediaQueryListEventInit.rs   |    1 +
 src/features/gen_MediaRecorder.rs             |    1 +
 src/features/gen_MediaRecorderErrorEvent.rs   |    1 +
 .../gen_MediaRecorderErrorEventInit.rs        |    1 +
 src/features/gen_MediaRecorderOptions.rs      |    1 +
 src/features/gen_MediaSession.rs              |    1 +
 src/features/gen_MediaSessionAction.rs        |    1 +
 src/features/gen_MediaSessionActionDetails.rs |    1 +
 src/features/gen_MediaSessionPlaybackState.rs |    1 +
 src/features/gen_MediaSource.rs               |    1 +
 .../gen_MediaSourceEndOfStreamError.rs        |    1 +
 src/features/gen_MediaSourceEnum.rs           |    1 +
 src/features/gen_MediaSourceReadyState.rs     |    1 +
 src/features/gen_MediaStream.rs               |    1 +
 .../gen_MediaStreamAudioDestinationNode.rs    |    1 +
 .../gen_MediaStreamAudioSourceNode.rs         |    1 +
 .../gen_MediaStreamAudioSourceOptions.rs      |    1 +
 src/features/gen_MediaStreamConstraints.rs    |    1 +
 src/features/gen_MediaStreamError.rs          |    1 +
 src/features/gen_MediaStreamEvent.rs          |    1 +
 src/features/gen_MediaStreamEventInit.rs      |    1 +
 src/features/gen_MediaStreamTrack.rs          |    1 +
 src/features/gen_MediaStreamTrackEvent.rs     |    1 +
 src/features/gen_MediaStreamTrackEventInit.rs |    1 +
 src/features/gen_MediaStreamTrackGenerator.rs |    1 +
 .../gen_MediaStreamTrackGeneratorInit.rs      |    1 +
 src/features/gen_MediaStreamTrackProcessor.rs |    1 +
 .../gen_MediaStreamTrackProcessorInit.rs      |    1 +
 src/features/gen_MediaStreamTrackState.rs     |    1 +
 src/features/gen_MediaTrackConstraintSet.rs   |    1 +
 src/features/gen_MediaTrackConstraints.rs     |    1 +
 src/features/gen_MediaTrackSettings.rs        |    1 +
 .../gen_MediaTrackSupportedConstraints.rs     |    1 +
 src/features/gen_MemoryAttribution.rs         |   93 ++
 .../gen_MemoryAttributionContainer.rs         |   71 +
 src/features/gen_MemoryBreakdownEntry.rs      |   92 ++
 src/features/gen_MemoryMeasurement.rs         |   75 +
 src/features/gen_MessageChannel.rs            |    1 +
 src/features/gen_MessageEvent.rs              |    1 +
 src/features/gen_MessageEventInit.rs          |    1 +
 src/features/gen_MessagePort.rs               |    1 +
 src/features/gen_MidiAccess.rs                |    1 +
 src/features/gen_MidiConnectionEvent.rs       |    1 +
 src/features/gen_MidiConnectionEventInit.rs   |    1 +
 src/features/gen_MidiInput.rs                 |    1 +
 src/features/gen_MidiInputMap.rs              |   51 +
 src/features/gen_MidiMessageEvent.rs          |    1 +
 src/features/gen_MidiMessageEventInit.rs      |    1 +
 src/features/gen_MidiOptions.rs               |    1 +
 src/features/gen_MidiOutput.rs                |    1 +
 src/features/gen_MidiOutputMap.rs             |   51 +
 src/features/gen_MidiPort.rs                  |    1 +
 src/features/gen_MidiPortConnectionState.rs   |    1 +
 src/features/gen_MidiPortDeviceState.rs       |    1 +
 src/features/gen_MidiPortType.rs              |    1 +
 src/features/gen_MimeType.rs                  |    1 +
 src/features/gen_MimeTypeArray.rs             |    1 +
 src/features/gen_MouseEvent.rs                |    1 +
 src/features/gen_MouseEventInit.rs            |    1 +
 src/features/gen_MouseScrollEvent.rs          |    1 +
 src/features/gen_MozDebug.rs                  |    1 +
 src/features/gen_MutationEvent.rs             |    1 +
 src/features/gen_MutationObserver.rs          |    1 +
 src/features/gen_MutationObserverInit.rs      |    1 +
 src/features/gen_MutationObservingInfo.rs     |    1 +
 src/features/gen_MutationRecord.rs            |    1 +
 src/features/gen_NamedNodeMap.rs              |    1 +
 src/features/gen_NativeOsFileReadOptions.rs   |    1 +
 .../gen_NativeOsFileWriteAtomicOptions.rs     |    1 +
 src/features/gen_NavigationType.rs            |    1 +
 src/features/gen_Navigator.rs                 |   13 +
 .../gen_NavigatorAutomationInformation.rs     |    1 +
 src/features/gen_NetworkCommandOptions.rs     |    1 +
 src/features/gen_NetworkInformation.rs        |    1 +
 src/features/gen_NetworkResultOptions.rs      |    1 +
 src/features/gen_Node.rs                      |    1 +
 src/features/gen_NodeFilter.rs                |    1 +
 src/features/gen_NodeIterator.rs              |    1 +
 src/features/gen_NodeList.rs                  |    1 +
 src/features/gen_Notification.rs              |    1 +
 src/features/gen_NotificationBehavior.rs      |    1 +
 src/features/gen_NotificationDirection.rs     |    1 +
 src/features/gen_NotificationEvent.rs         |    1 +
 src/features/gen_NotificationEventInit.rs     |    1 +
 src/features/gen_NotificationOptions.rs       |    1 +
 src/features/gen_NotificationPermission.rs    |    1 +
 src/features/gen_ObserverCallback.rs          |    1 +
 src/features/gen_OesElementIndexUint.rs       |    1 +
 src/features/gen_OesStandardDerivatives.rs    |    1 +
 src/features/gen_OesTextureFloat.rs           |    1 +
 src/features/gen_OesTextureFloatLinear.rs     |    1 +
 src/features/gen_OesTextureHalfFloat.rs       |    1 +
 src/features/gen_OesTextureHalfFloatLinear.rs |    1 +
 src/features/gen_OesVertexArrayObject.rs      |    1 +
 .../gen_OfflineAudioCompletionEvent.rs        |    1 +
 .../gen_OfflineAudioCompletionEventInit.rs    |    1 +
 src/features/gen_OfflineAudioContext.rs       |    1 +
 .../gen_OfflineAudioContextOptions.rs         |    1 +
 src/features/gen_OfflineResourceList.rs       |    1 +
 src/features/gen_OffscreenCanvas.rs           |   47 +-
 .../gen_OffscreenCanvasRenderingContext2d.rs  | 1370 +++++++++++++++++
 src/features/gen_OpenWindowEventDetail.rs     |    1 +
 src/features/gen_OptionalEffectTiming.rs      |    1 +
 src/features/gen_OrientationLockType.rs       |    1 +
 src/features/gen_OrientationType.rs           |    1 +
 src/features/gen_OscillatorNode.rs            |    1 +
 src/features/gen_OscillatorOptions.rs         |    1 +
 src/features/gen_OscillatorType.rs            |    1 +
 src/features/gen_OverSampleType.rs            |    1 +
 src/features/gen_OvrMultiview2.rs             |    1 +
 src/features/gen_PageTransitionEvent.rs       |    1 +
 src/features/gen_PageTransitionEventInit.rs   |    1 +
 src/features/gen_PaintRequest.rs              |    1 +
 src/features/gen_PaintRequestList.rs          |    1 +
 src/features/gen_PaintWorkletGlobalScope.rs   |    1 +
 src/features/gen_PannerNode.rs                |    1 +
 src/features/gen_PannerOptions.rs             |    1 +
 src/features/gen_PanningModelType.rs          |    1 +
 src/features/gen_ParityType.rs                |   17 +
 src/features/gen_Path2d.rs                    |   65 +
 src/features/gen_PaymentAddress.rs            |    1 +
 src/features/gen_PaymentComplete.rs           |    1 +
 src/features/gen_PaymentMethodChangeEvent.rs  |    1 +
 .../gen_PaymentMethodChangeEventInit.rs       |    1 +
 src/features/gen_PaymentRequestUpdateEvent.rs |    1 +
 .../gen_PaymentRequestUpdateEventInit.rs      |    1 +
 src/features/gen_PaymentResponse.rs           |    1 +
 src/features/gen_Pbkdf2Params.rs              |    1 +
 src/features/gen_PcImplIceConnectionState.rs  |    1 +
 src/features/gen_PcImplIceGatheringState.rs   |    1 +
 src/features/gen_PcImplSignalingState.rs      |    1 +
 src/features/gen_PcObserverStateType.rs       |    1 +
 src/features/gen_Performance.rs               |   12 +
 src/features/gen_PerformanceEntry.rs          |    1 +
 src/features/gen_PerformanceEntryEventInit.rs |    1 +
 .../gen_PerformanceEntryFilterOptions.rs      |    1 +
 src/features/gen_PerformanceMark.rs           |    1 +
 src/features/gen_PerformanceMeasure.rs        |    1 +
 src/features/gen_PerformanceNavigation.rs     |    1 +
 .../gen_PerformanceNavigationTiming.rs        |    1 +
 src/features/gen_PerformanceObserver.rs       |    1 +
 .../gen_PerformanceObserverEntryList.rs       |    1 +
 src/features/gen_PerformanceObserverInit.rs   |    1 +
 src/features/gen_PerformanceResourceTiming.rs |    1 +
 src/features/gen_PerformanceServerTiming.rs   |    1 +
 src/features/gen_PerformanceTiming.rs         |    1 +
 src/features/gen_PeriodicWave.rs              |    1 +
 src/features/gen_PeriodicWaveConstraints.rs   |    1 +
 src/features/gen_PeriodicWaveOptions.rs       |    1 +
 src/features/gen_PermissionDescriptor.rs      |    1 +
 src/features/gen_PermissionName.rs            |    1 +
 src/features/gen_PermissionState.rs           |    1 +
 src/features/gen_PermissionStatus.rs          |    1 +
 src/features/gen_Permissions.rs               |    1 +
 src/features/gen_PlaneLayout.rs               |    1 +
 src/features/gen_PlaybackDirection.rs         |    1 +
 src/features/gen_Plugin.rs                    |    1 +
 src/features/gen_PluginArray.rs               |    1 +
 src/features/gen_PluginCrashedEventInit.rs    |    1 +
 src/features/gen_PointerEvent.rs              |    1 +
 src/features/gen_PointerEventInit.rs          |    1 +
 src/features/gen_PopStateEvent.rs             |    1 +
 src/features/gen_PopStateEventInit.rs         |    1 +
 src/features/gen_PopupBlockedEvent.rs         |    1 +
 src/features/gen_PopupBlockedEventInit.rs     |    1 +
 src/features/gen_Position.rs                  |    1 +
 src/features/gen_PositionAlignSetting.rs      |    1 +
 src/features/gen_PositionError.rs             |    1 +
 src/features/gen_PositionOptions.rs           |    1 +
 src/features/gen_PremultiplyAlpha.rs          |   13 +
 src/features/gen_Presentation.rs              |    1 +
 src/features/gen_PresentationAvailability.rs  |    1 +
 src/features/gen_PresentationConnection.rs    |    1 +
 ...en_PresentationConnectionAvailableEvent.rs |    1 +
 ...resentationConnectionAvailableEventInit.rs |    1 +
 .../gen_PresentationConnectionBinaryType.rs   |    1 +
 .../gen_PresentationConnectionCloseEvent.rs   |    1 +
 ...en_PresentationConnectionCloseEventInit.rs |    1 +
 .../gen_PresentationConnectionClosedReason.rs |    1 +
 .../gen_PresentationConnectionList.rs         |    1 +
 .../gen_PresentationConnectionState.rs        |    1 +
 src/features/gen_PresentationReceiver.rs      |    1 +
 src/features/gen_PresentationRequest.rs       |    1 +
 src/features/gen_PresentationStyle.rs         |    1 +
 src/features/gen_ProcessingInstruction.rs     |    1 +
 src/features/gen_ProfileTimelineLayerRect.rs  |    1 +
 src/features/gen_ProfileTimelineMarker.rs     |    1 +
 ...ProfileTimelineMessagePortOperationType.rs |    1 +
 src/features/gen_ProfileTimelineStackFrame.rs |    1 +
 .../gen_ProfileTimelineWorkerOperationType.rs |    1 +
 src/features/gen_ProgressEvent.rs             |    1 +
 src/features/gen_ProgressEventInit.rs         |    1 +
 src/features/gen_PromiseNativeHandler.rs      |    1 +
 src/features/gen_PromiseRejectionEvent.rs     |    1 +
 src/features/gen_PromiseRejectionEventInit.rs |    1 +
 src/features/gen_PublicKeyCredential.rs       |    1 +
 .../gen_PublicKeyCredentialCreationOptions.rs |    1 +
 .../gen_PublicKeyCredentialDescriptor.rs      |    1 +
 src/features/gen_PublicKeyCredentialEntity.rs |    1 +
 .../gen_PublicKeyCredentialParameters.rs      |    1 +
 .../gen_PublicKeyCredentialRequestOptions.rs  |    1 +
 .../gen_PublicKeyCredentialRpEntity.rs        |    1 +
 src/features/gen_PublicKeyCredentialType.rs   |    1 +
 .../gen_PublicKeyCredentialUserEntity.rs      |    1 +
 src/features/gen_PushEncryptionKeyName.rs     |    1 +
 src/features/gen_PushEvent.rs                 |    1 +
 src/features/gen_PushEventInit.rs             |    1 +
 src/features/gen_PushManager.rs               |    1 +
 src/features/gen_PushMessageData.rs           |    1 +
 src/features/gen_PushPermissionState.rs       |    1 +
 src/features/gen_PushSubscription.rs          |    1 +
 src/features/gen_PushSubscriptionInit.rs      |    1 +
 src/features/gen_PushSubscriptionJson.rs      |    1 +
 src/features/gen_PushSubscriptionKeys.rs      |    1 +
 src/features/gen_PushSubscriptionOptions.rs   |    1 +
 .../gen_PushSubscriptionOptionsInit.rs        |    1 +
 src/features/gen_QueryOptions.rs              |   58 +
 src/features/gen_QueuingStrategy.rs           |    1 +
 src/features/gen_QueuingStrategyInit.rs       |    1 +
 src/features/gen_RadioNodeList.rs             |    1 +
 src/features/gen_Range.rs                     |    1 +
 src/features/gen_RcwnPerfStats.rs             |    1 +
 src/features/gen_RcwnStatus.rs                |    1 +
 .../gen_ReadableByteStreamController.rs       |    1 +
 src/features/gen_ReadableStream.rs            |    1 +
 src/features/gen_ReadableStreamByobReader.rs  |    1 +
 src/features/gen_ReadableStreamByobRequest.rs |    1 +
 .../gen_ReadableStreamDefaultController.rs    |    1 +
 .../gen_ReadableStreamDefaultReader.rs        |    1 +
 .../gen_ReadableStreamGetReaderOptions.rs     |    1 +
 .../gen_ReadableStreamIteratorOptions.rs      |    1 +
 src/features/gen_ReadableStreamReadResult.rs  |    1 +
 src/features/gen_ReadableStreamReaderMode.rs  |    1 +
 src/features/gen_ReadableStreamType.rs        |    1 +
 src/features/gen_ReadableWritablePair.rs      |    1 +
 src/features/gen_RecordingState.rs            |    1 +
 src/features/gen_ReferrerPolicy.rs            |    1 +
 src/features/gen_RegisterRequest.rs           |    1 +
 src/features/gen_RegisterResponse.rs          |    1 +
 src/features/gen_RegisteredKey.rs             |    1 +
 src/features/gen_RegistrationOptions.rs       |   14 +
 src/features/gen_Request.rs                   |    1 +
 src/features/gen_RequestCache.rs              |    1 +
 src/features/gen_RequestCredentials.rs        |    1 +
 src/features/gen_RequestDestination.rs        |    1 +
 src/features/gen_RequestDeviceOptions.rs      |    1 +
 src/features/gen_RequestInit.rs               |    1 +
 ...RequestMediaKeySystemAccessNotification.rs |    1 +
 src/features/gen_RequestMode.rs               |    1 +
 src/features/gen_RequestRedirect.rs           |    1 +
 src/features/gen_ResizeObserver.rs            |   25 +-
 src/features/gen_ResizeObserverBoxOptions.rs  |    5 +-
 src/features/gen_ResizeObserverEntry.rs       |   25 +-
 src/features/gen_ResizeObserverOptions.rs     |   14 +-
 src/features/gen_ResizeObserverSize.rs        |   13 +-
 src/features/gen_ResizeQuality.rs             |   14 +
 src/features/gen_Response.rs                  |    1 +
 src/features/gen_ResponseInit.rs              |    1 +
 src/features/gen_ResponseType.rs              |    1 +
 src/features/gen_RsaHashedImportParams.rs     |    1 +
 src/features/gen_RsaOaepParams.rs             |    1 +
 src/features/gen_RsaOtherPrimesInfo.rs        |    1 +
 src/features/gen_RsaPssParams.rs              |    1 +
 src/features/gen_RtcAnswerOptions.rs          |    1 +
 src/features/gen_RtcBundlePolicy.rs           |    1 +
 src/features/gen_RtcCertificate.rs            |    1 +
 src/features/gen_RtcCertificateExpiration.rs  |    1 +
 src/features/gen_RtcCodecStats.rs             |    1 +
 src/features/gen_RtcConfiguration.rs          |    1 +
 src/features/gen_RtcDataChannel.rs            |    1 +
 src/features/gen_RtcDataChannelEvent.rs       |    1 +
 src/features/gen_RtcDataChannelEventInit.rs   |    1 +
 src/features/gen_RtcDataChannelInit.rs        |    1 +
 src/features/gen_RtcDataChannelState.rs       |    1 +
 src/features/gen_RtcDataChannelType.rs        |    1 +
 src/features/gen_RtcDegradationPreference.rs  |    1 +
 src/features/gen_RtcFecParameters.rs          |    1 +
 src/features/gen_RtcIceCandidate.rs           |    1 +
 src/features/gen_RtcIceCandidateInit.rs       |    1 +
 src/features/gen_RtcIceCandidatePairStats.rs  |    1 +
 src/features/gen_RtcIceCandidateStats.rs      |    1 +
 src/features/gen_RtcIceComponentStats.rs      |    1 +
 src/features/gen_RtcIceConnectionState.rs     |    1 +
 src/features/gen_RtcIceCredentialType.rs      |    1 +
 src/features/gen_RtcIceGatheringState.rs      |    1 +
 src/features/gen_RtcIceServer.rs              |    1 +
 src/features/gen_RtcIceTransportPolicy.rs     |    1 +
 src/features/gen_RtcIdentityAssertion.rs      |    1 +
 .../gen_RtcIdentityAssertionResult.rs         |    1 +
 src/features/gen_RtcIdentityProvider.rs       |    1 +
 .../gen_RtcIdentityProviderDetails.rs         |    1 +
 .../gen_RtcIdentityProviderOptions.rs         |    1 +
 .../gen_RtcIdentityProviderRegistrar.rs       |    1 +
 .../gen_RtcIdentityValidationResult.rs        |    1 +
 src/features/gen_RtcInboundRtpStreamStats.rs  |    1 +
 src/features/gen_RtcLifecycleEvent.rs         |    1 +
 src/features/gen_RtcMediaStreamStats.rs       |    1 +
 src/features/gen_RtcMediaStreamTrackStats.rs  |    1 +
 src/features/gen_RtcOfferAnswerOptions.rs     |    1 +
 src/features/gen_RtcOfferOptions.rs           |    1 +
 src/features/gen_RtcOutboundRtpStreamStats.rs |    1 +
 src/features/gen_RtcPeerConnection.rs         |   26 +
 src/features/gen_RtcPeerConnectionIceEvent.rs |    1 +
 .../gen_RtcPeerConnectionIceEventInit.rs      |    1 +
 src/features/gen_RtcPeerConnectionState.rs    |   16 +
 src/features/gen_RtcPriorityType.rs           |    1 +
 src/features/gen_RtcRtcpParameters.rs         |    1 +
 src/features/gen_RtcRtpCodecParameters.rs     |    1 +
 src/features/gen_RtcRtpContributingSource.rs  |    1 +
 src/features/gen_RtcRtpEncodingParameters.rs  |    1 +
 .../gen_RtcRtpHeaderExtensionParameters.rs    |    1 +
 src/features/gen_RtcRtpParameters.rs          |    1 +
 src/features/gen_RtcRtpReceiver.rs            |    1 +
 src/features/gen_RtcRtpSender.rs              |    1 +
 src/features/gen_RtcRtpSourceEntry.rs         |    1 +
 src/features/gen_RtcRtpSourceEntryType.rs     |    1 +
 .../gen_RtcRtpSynchronizationSource.rs        |    1 +
 src/features/gen_RtcRtpTransceiver.rs         |    1 +
 .../gen_RtcRtpTransceiverDirection.rs         |    1 +
 src/features/gen_RtcRtpTransceiverInit.rs     |    1 +
 src/features/gen_RtcRtxParameters.rs          |    1 +
 src/features/gen_RtcSdpType.rs                |    1 +
 src/features/gen_RtcSessionDescription.rs     |    1 +
 src/features/gen_RtcSessionDescriptionInit.rs |    1 +
 src/features/gen_RtcSignalingState.rs         |    1 +
 src/features/gen_RtcStats.rs                  |    1 +
 .../gen_RtcStatsIceCandidatePairState.rs      |    1 +
 src/features/gen_RtcStatsIceCandidateType.rs  |    1 +
 src/features/gen_RtcStatsReport.rs            |   50 +
 src/features/gen_RtcStatsReportInternal.rs    |    1 +
 src/features/gen_RtcStatsType.rs              |    1 +
 src/features/gen_RtcTrackEvent.rs             |    1 +
 src/features/gen_RtcTrackEventInit.rs         |    1 +
 src/features/gen_RtcTransportStats.rs         |    1 +
 src/features/gen_RtcdtmfSender.rs             |    1 +
 src/features/gen_RtcdtmfToneChangeEvent.rs    |    1 +
 .../gen_RtcdtmfToneChangeEventInit.rs         |    1 +
 .../gen_RtcrtpContributingSourceStats.rs      |    1 +
 src/features/gen_RtcrtpStreamStats.rs         |    1 +
 src/features/gen_Screen.rs                    |    1 +
 src/features/gen_ScreenColorGamut.rs          |    1 +
 src/features/gen_ScreenLuminance.rs           |    1 +
 src/features/gen_ScreenOrientation.rs         |    1 +
 src/features/gen_ScriptProcessorNode.rs       |    1 +
 src/features/gen_ScrollAreaEvent.rs           |    1 +
 src/features/gen_ScrollBehavior.rs            |    1 +
 src/features/gen_ScrollBoxObject.rs           |    1 +
 src/features/gen_ScrollIntoViewOptions.rs     |    1 +
 src/features/gen_ScrollLogicalPosition.rs     |    1 +
 src/features/gen_ScrollOptions.rs             |    1 +
 src/features/gen_ScrollRestoration.rs         |    1 +
 src/features/gen_ScrollSetting.rs             |    1 +
 src/features/gen_ScrollState.rs               |    1 +
 src/features/gen_ScrollToOptions.rs           |    1 +
 src/features/gen_ScrollViewChangeEventInit.rs |    1 +
 .../gen_SecurityPolicyViolationEvent.rs       |    1 +
 ...SecurityPolicyViolationEventDisposition.rs |    1 +
 .../gen_SecurityPolicyViolationEventInit.rs   |    1 +
 src/features/gen_Selection.rs                 |    1 +
 src/features/gen_SelectionMode.rs             |   14 +
 src/features/gen_Serial.rs                    |  100 ++
 src/features/gen_SerialInputSignals.rs        |  124 ++
 src/features/gen_SerialOptions.rs             |  157 ++
 src/features/gen_SerialOutputSignals.rs       |   96 ++
 src/features/gen_SerialPort.rs                |  170 ++
 src/features/gen_SerialPortFilter.rs          |   79 +
 src/features/gen_SerialPortInfo.rs            |   79 +
 src/features/gen_SerialPortRequestOptions.rs  |   58 +
 src/features/gen_ServerSocketOptions.rs       |    1 +
 src/features/gen_ServiceWorker.rs             |    1 +
 src/features/gen_ServiceWorkerContainer.rs    |    1 +
 src/features/gen_ServiceWorkerGlobalScope.rs  |    1 +
 src/features/gen_ServiceWorkerRegistration.rs |    1 +
 src/features/gen_ServiceWorkerState.rs        |    1 +
 .../gen_ServiceWorkerUpdateViaCache.rs        |    1 +
 src/features/gen_ShadowRoot.rs                |    1 +
 src/features/gen_ShadowRootInit.rs            |    1 +
 src/features/gen_ShadowRootMode.rs            |    1 +
 src/features/gen_ShareData.rs                 |    1 +
 src/features/gen_SharedWorker.rs              |    1 +
 src/features/gen_SharedWorkerGlobalScope.rs   |    1 +
 src/features/gen_SignResponse.rs              |    1 +
 src/features/gen_SocketElement.rs             |    1 +
 src/features/gen_SocketOptions.rs             |    1 +
 src/features/gen_SocketReadyState.rs          |    1 +
 src/features/gen_SocketsDict.rs               |    1 +
 src/features/gen_SourceBuffer.rs              |    1 +
 src/features/gen_SourceBufferAppendMode.rs    |    1 +
 src/features/gen_SourceBufferList.rs          |    1 +
 src/features/gen_SpeechGrammar.rs             |    1 +
 src/features/gen_SpeechGrammarList.rs         |    1 +
 src/features/gen_SpeechRecognition.rs         |    1 +
 .../gen_SpeechRecognitionAlternative.rs       |    1 +
 src/features/gen_SpeechRecognitionError.rs    |    1 +
 .../gen_SpeechRecognitionErrorCode.rs         |    1 +
 .../gen_SpeechRecognitionErrorInit.rs         |    1 +
 src/features/gen_SpeechRecognitionEvent.rs    |    1 +
 .../gen_SpeechRecognitionEventInit.rs         |    1 +
 src/features/gen_SpeechRecognitionResult.rs   |    1 +
 .../gen_SpeechRecognitionResultList.rs        |    1 +
 src/features/gen_SpeechSynthesis.rs           |    1 +
 src/features/gen_SpeechSynthesisErrorCode.rs  |    1 +
 src/features/gen_SpeechSynthesisErrorEvent.rs |    1 +
 .../gen_SpeechSynthesisErrorEventInit.rs      |    1 +
 src/features/gen_SpeechSynthesisEvent.rs      |    1 +
 src/features/gen_SpeechSynthesisEventInit.rs  |    1 +
 src/features/gen_SpeechSynthesisUtterance.rs  |    1 +
 src/features/gen_SpeechSynthesisVoice.rs      |    1 +
 src/features/gen_StereoPannerNode.rs          |    1 +
 src/features/gen_StereoPannerOptions.rs       |    1 +
 src/features/gen_Storage.rs                   |    1 +
 src/features/gen_StorageEstimate.rs           |    1 +
 src/features/gen_StorageEvent.rs              |    1 +
 src/features/gen_StorageEventInit.rs          |    1 +
 src/features/gen_StorageManager.rs            |   12 +
 src/features/gen_StorageType.rs               |    1 +
 src/features/gen_StreamPipeOptions.rs         |    1 +
 src/features/gen_StyleRuleChangeEventInit.rs  |    1 +
 src/features/gen_StyleSheet.rs                |    1 +
 ...tyleSheetApplicableStateChangeEventInit.rs |    1 +
 src/features/gen_StyleSheetChangeEventInit.rs |    1 +
 src/features/gen_StyleSheetList.rs            |    1 +
 src/features/gen_SubmitEvent.rs               |    1 +
 src/features/gen_SubmitEventInit.rs           |    1 +
 src/features/gen_SubtleCrypto.rs              |    1 +
 src/features/gen_SupportedType.rs             |    1 +
 src/features/gen_SvcOutputMetadata.rs         |    1 +
 src/features/gen_SvgAngle.rs                  |    1 +
 src/features/gen_SvgAnimateElement.rs         |    1 +
 src/features/gen_SvgAnimateMotionElement.rs   |    1 +
 .../gen_SvgAnimateTransformElement.rs         |    1 +
 src/features/gen_SvgAnimatedAngle.rs          |    1 +
 src/features/gen_SvgAnimatedBoolean.rs        |    1 +
 src/features/gen_SvgAnimatedEnumeration.rs    |    1 +
 src/features/gen_SvgAnimatedInteger.rs        |    1 +
 src/features/gen_SvgAnimatedLength.rs         |    1 +
 src/features/gen_SvgAnimatedLengthList.rs     |    1 +
 src/features/gen_SvgAnimatedNumber.rs         |    1 +
 src/features/gen_SvgAnimatedNumberList.rs     |    1 +
 .../gen_SvgAnimatedPreserveAspectRatio.rs     |    1 +
 src/features/gen_SvgAnimatedRect.rs           |    1 +
 src/features/gen_SvgAnimatedString.rs         |    1 +
 src/features/gen_SvgAnimatedTransformList.rs  |    1 +
 src/features/gen_SvgAnimationElement.rs       |    1 +
 src/features/gen_SvgBoundingBoxOptions.rs     |    1 +
 src/features/gen_SvgCircleElement.rs          |    1 +
 src/features/gen_SvgClipPathElement.rs        |    1 +
 ...gen_SvgComponentTransferFunctionElement.rs |    1 +
 src/features/gen_SvgDefsElement.rs            |    1 +
 src/features/gen_SvgDescElement.rs            |    1 +
 src/features/gen_SvgElement.rs                |    1 +
 src/features/gen_SvgEllipseElement.rs         |    1 +
 src/features/gen_SvgFilterElement.rs          |    1 +
 src/features/gen_SvgForeignObjectElement.rs   |    1 +
 src/features/gen_SvgGeometryElement.rs        |    1 +
 src/features/gen_SvgGradientElement.rs        |    1 +
 src/features/gen_SvgGraphicsElement.rs        |    1 +
 src/features/gen_SvgImageElement.rs           |    1 +
 src/features/gen_SvgLength.rs                 |    1 +
 src/features/gen_SvgLengthList.rs             |    1 +
 src/features/gen_SvgLineElement.rs            |    1 +
 src/features/gen_SvgLinearGradientElement.rs  |    1 +
 src/features/gen_SvgMarkerElement.rs          |    1 +
 src/features/gen_SvgMaskElement.rs            |    1 +
 src/features/gen_SvgMatrix.rs                 |    1 +
 src/features/gen_SvgMetadataElement.rs        |    1 +
 src/features/gen_SvgNumber.rs                 |    1 +
 src/features/gen_SvgNumberList.rs             |    1 +
 src/features/gen_SvgPathElement.rs            |    1 +
 src/features/gen_SvgPathSeg.rs                |    1 +
 src/features/gen_SvgPathSegArcAbs.rs          |    1 +
 src/features/gen_SvgPathSegArcRel.rs          |    1 +
 src/features/gen_SvgPathSegClosePath.rs       |    1 +
 src/features/gen_SvgPathSegCurvetoCubicAbs.rs |    1 +
 src/features/gen_SvgPathSegCurvetoCubicRel.rs |    1 +
 .../gen_SvgPathSegCurvetoCubicSmoothAbs.rs    |    1 +
 .../gen_SvgPathSegCurvetoCubicSmoothRel.rs    |    1 +
 .../gen_SvgPathSegCurvetoQuadraticAbs.rs      |    1 +
 .../gen_SvgPathSegCurvetoQuadraticRel.rs      |    1 +
 ...gen_SvgPathSegCurvetoQuadraticSmoothAbs.rs |    1 +
 ...gen_SvgPathSegCurvetoQuadraticSmoothRel.rs |    1 +
 src/features/gen_SvgPathSegLinetoAbs.rs       |    1 +
 .../gen_SvgPathSegLinetoHorizontalAbs.rs      |    1 +
 .../gen_SvgPathSegLinetoHorizontalRel.rs      |    1 +
 src/features/gen_SvgPathSegLinetoRel.rs       |    1 +
 .../gen_SvgPathSegLinetoVerticalAbs.rs        |    1 +
 .../gen_SvgPathSegLinetoVerticalRel.rs        |    1 +
 src/features/gen_SvgPathSegList.rs            |    1 +
 src/features/gen_SvgPathSegMovetoAbs.rs       |    1 +
 src/features/gen_SvgPathSegMovetoRel.rs       |    1 +
 src/features/gen_SvgPatternElement.rs         |    1 +
 src/features/gen_SvgPoint.rs                  |    1 +
 src/features/gen_SvgPointList.rs              |    1 +
 src/features/gen_SvgPolygonElement.rs         |    1 +
 src/features/gen_SvgPolylineElement.rs        |    1 +
 src/features/gen_SvgPreserveAspectRatio.rs    |    1 +
 src/features/gen_SvgRadialGradientElement.rs  |    1 +
 src/features/gen_SvgRect.rs                   |    1 +
 src/features/gen_SvgRectElement.rs            |    1 +
 src/features/gen_SvgScriptElement.rs          |    1 +
 src/features/gen_SvgSetElement.rs             |    1 +
 src/features/gen_SvgStopElement.rs            |    1 +
 src/features/gen_SvgStringList.rs             |    1 +
 src/features/gen_SvgStyleElement.rs           |    1 +
 src/features/gen_SvgSwitchElement.rs          |    1 +
 src/features/gen_SvgSymbolElement.rs          |    1 +
 src/features/gen_SvgTextContentElement.rs     |    1 +
 src/features/gen_SvgTextElement.rs            |    1 +
 src/features/gen_SvgTextPathElement.rs        |    1 +
 src/features/gen_SvgTextPositioningElement.rs |    1 +
 src/features/gen_SvgTitleElement.rs           |    1 +
 src/features/gen_SvgTransform.rs              |    1 +
 src/features/gen_SvgTransformList.rs          |    1 +
 src/features/gen_SvgUnitTypes.rs              |    1 +
 src/features/gen_SvgUseElement.rs             |    1 +
 src/features/gen_SvgViewElement.rs            |    1 +
 src/features/gen_SvgZoomAndPan.rs             |    1 +
 src/features/gen_SvgaElement.rs               |    1 +
 src/features/gen_SvgfeBlendElement.rs         |    1 +
 src/features/gen_SvgfeColorMatrixElement.rs   |    1 +
 .../gen_SvgfeComponentTransferElement.rs      |    1 +
 src/features/gen_SvgfeCompositeElement.rs     |    1 +
 .../gen_SvgfeConvolveMatrixElement.rs         |    1 +
 .../gen_SvgfeDiffuseLightingElement.rs        |    1 +
 .../gen_SvgfeDisplacementMapElement.rs        |    1 +
 src/features/gen_SvgfeDistantLightElement.rs  |    1 +
 src/features/gen_SvgfeDropShadowElement.rs    |    1 +
 src/features/gen_SvgfeFloodElement.rs         |    1 +
 src/features/gen_SvgfeFuncAElement.rs         |    1 +
 src/features/gen_SvgfeFuncBElement.rs         |    1 +
 src/features/gen_SvgfeFuncGElement.rs         |    1 +
 src/features/gen_SvgfeFuncRElement.rs         |    1 +
 src/features/gen_SvgfeGaussianBlurElement.rs  |    1 +
 src/features/gen_SvgfeImageElement.rs         |    1 +
 src/features/gen_SvgfeMergeElement.rs         |    1 +
 src/features/gen_SvgfeMergeNodeElement.rs     |    1 +
 src/features/gen_SvgfeMorphologyElement.rs    |    1 +
 src/features/gen_SvgfeOffsetElement.rs        |    1 +
 src/features/gen_SvgfePointLightElement.rs    |    1 +
 .../gen_SvgfeSpecularLightingElement.rs       |    1 +
 src/features/gen_SvgfeSpotLightElement.rs     |    1 +
 src/features/gen_SvgfeTileElement.rs          |    1 +
 src/features/gen_SvgfeTurbulenceElement.rs    |    1 +
 src/features/gen_SvggElement.rs               |    1 +
 src/features/gen_SvgmPathElement.rs           |    1 +
 src/features/gen_SvgsvgElement.rs             |    1 +
 src/features/gen_SvgtSpanElement.rs           |    1 +
 src/features/gen_TcpReadyState.rs             |    1 +
 src/features/gen_TcpServerSocket.rs           |    1 +
 src/features/gen_TcpServerSocketEvent.rs      |    1 +
 src/features/gen_TcpServerSocketEventInit.rs  |    1 +
 src/features/gen_TcpSocket.rs                 |    1 +
 src/features/gen_TcpSocketBinaryType.rs       |    1 +
 src/features/gen_TcpSocketErrorEvent.rs       |    1 +
 src/features/gen_TcpSocketErrorEventInit.rs   |    1 +
 src/features/gen_TcpSocketEvent.rs            |    1 +
 src/features/gen_TcpSocketEventInit.rs        |    1 +
 src/features/gen_Text.rs                      |    1 +
 src/features/gen_TextDecodeOptions.rs         |    1 +
 src/features/gen_TextDecoder.rs               |    1 +
 src/features/gen_TextDecoderOptions.rs        |    1 +
 src/features/gen_TextEncoder.rs               |    1 +
 src/features/gen_TextMetrics.rs               |    1 +
 src/features/gen_TextTrack.rs                 |    1 +
 src/features/gen_TextTrackCue.rs              |    1 +
 src/features/gen_TextTrackCueList.rs          |    1 +
 src/features/gen_TextTrackKind.rs             |    1 +
 src/features/gen_TextTrackList.rs             |    1 +
 src/features/gen_TextTrackMode.rs             |    1 +
 src/features/gen_TimeEvent.rs                 |    1 +
 src/features/gen_TimeRanges.rs                |    1 +
 src/features/gen_Touch.rs                     |    1 +
 src/features/gen_TouchEvent.rs                |    1 +
 src/features/gen_TouchEventInit.rs            |    1 +
 src/features/gen_TouchInit.rs                 |    1 +
 src/features/gen_TouchList.rs                 |    1 +
 src/features/gen_TrackEvent.rs                |    1 +
 src/features/gen_TrackEventInit.rs            |    1 +
 src/features/gen_TransformStream.rs           |    1 +
 .../gen_TransformStreamDefaultController.rs   |    1 +
 src/features/gen_Transformer.rs               |    1 +
 src/features/gen_TransitionEvent.rs           |    1 +
 src/features/gen_TransitionEventInit.rs       |    1 +
 src/features/gen_Transport.rs                 |    1 +
 src/features/gen_TreeBoxObject.rs             |    1 +
 src/features/gen_TreeCellInfo.rs              |    1 +
 src/features/gen_TreeView.rs                  |    1 +
 src/features/gen_TreeWalker.rs                |    1 +
 src/features/gen_U2f.rs                       |    1 +
 src/features/gen_U2fClientData.rs             |    1 +
 src/features/gen_UdpMessageEventInit.rs       |    1 +
 src/features/gen_UdpOptions.rs                |    1 +
 src/features/gen_UiEvent.rs                   |    1 +
 src/features/gen_UiEventInit.rs               |    1 +
 src/features/gen_UnderlyingSink.rs            |    1 +
 src/features/gen_UnderlyingSource.rs          |    1 +
 src/features/gen_Url.rs                       |    1 +
 src/features/gen_UrlSearchParams.rs           |    1 +
 src/features/gen_Usb.rs                       |    1 +
 src/features/gen_UsbAlternateInterface.rs     |    1 +
 src/features/gen_UsbConfiguration.rs          |    1 +
 src/features/gen_UsbConnectionEvent.rs        |    1 +
 src/features/gen_UsbConnectionEventInit.rs    |    1 +
 .../gen_UsbControlTransferParameters.rs       |    1 +
 src/features/gen_UsbDevice.rs                 |    1 +
 src/features/gen_UsbDeviceFilter.rs           |    1 +
 src/features/gen_UsbDeviceRequestOptions.rs   |    1 +
 src/features/gen_UsbDirection.rs              |    1 +
 src/features/gen_UsbEndpoint.rs               |    1 +
 src/features/gen_UsbEndpointType.rs           |    1 +
 src/features/gen_UsbInTransferResult.rs       |    1 +
 src/features/gen_UsbInterface.rs              |    1 +
 .../gen_UsbIsochronousInTransferPacket.rs     |    1 +
 .../gen_UsbIsochronousInTransferResult.rs     |    1 +
 .../gen_UsbIsochronousOutTransferPacket.rs    |    1 +
 .../gen_UsbIsochronousOutTransferResult.rs    |    1 +
 src/features/gen_UsbOutTransferResult.rs      |    1 +
 src/features/gen_UsbPermissionDescriptor.rs   |    1 +
 src/features/gen_UsbPermissionResult.rs       |    1 +
 src/features/gen_UsbPermissionStorage.rs      |    1 +
 src/features/gen_UsbRecipient.rs              |    1 +
 src/features/gen_UsbRequestType.rs            |    1 +
 src/features/gen_UsbTransferStatus.rs         |    1 +
 src/features/gen_UserProximityEvent.rs        |    1 +
 src/features/gen_UserProximityEventInit.rs    |    1 +
 .../gen_UserVerificationRequirement.rs        |    1 +
 src/features/gen_ValidityState.rs             |    1 +
 src/features/gen_ValueEvent.rs                |    1 +
 src/features/gen_ValueEventInit.rs            |    1 +
 src/features/gen_VideoColorPrimaries.rs       |    1 +
 src/features/gen_VideoColorSpace.rs           |    1 +
 src/features/gen_VideoColorSpaceInit.rs       |    1 +
 src/features/gen_VideoConfiguration.rs        |    1 +
 src/features/gen_VideoDecoder.rs              |    1 +
 src/features/gen_VideoDecoderConfig.rs        |    1 +
 src/features/gen_VideoDecoderInit.rs          |    1 +
 src/features/gen_VideoDecoderSupport.rs       |    1 +
 src/features/gen_VideoEncoder.rs              |    1 +
 src/features/gen_VideoEncoderConfig.rs        |    1 +
 src/features/gen_VideoEncoderEncodeOptions.rs |    1 +
 src/features/gen_VideoEncoderInit.rs          |    1 +
 src/features/gen_VideoEncoderSupport.rs       |    1 +
 src/features/gen_VideoFacingModeEnum.rs       |    1 +
 src/features/gen_VideoFrame.rs                |   54 +
 src/features/gen_VideoFrameBufferInit.rs      |    1 +
 src/features/gen_VideoFrameCopyToOptions.rs   |    1 +
 src/features/gen_VideoFrameInit.rs            |    1 +
 src/features/gen_VideoMatrixCoefficients.rs   |    1 +
 src/features/gen_VideoPixelFormat.rs          |    1 +
 src/features/gen_VideoPlaybackQuality.rs      |    1 +
 src/features/gen_VideoStreamTrack.rs          |    1 +
 src/features/gen_VideoTrack.rs                |    1 +
 src/features/gen_VideoTrackList.rs            |    1 +
 .../gen_VideoTransferCharacteristics.rs       |    1 +
 src/features/gen_VisibilityState.rs           |    1 +
 src/features/gen_VoidCallback.rs              |    1 +
 src/features/gen_VrDisplay.rs                 |    1 +
 src/features/gen_VrDisplayCapabilities.rs     |    1 +
 src/features/gen_VrEye.rs                     |    1 +
 src/features/gen_VrEyeParameters.rs           |    1 +
 src/features/gen_VrFieldOfView.rs             |    1 +
 src/features/gen_VrFrameData.rs               |    1 +
 src/features/gen_VrLayer.rs                   |    1 +
 src/features/gen_VrMockController.rs          |    1 +
 src/features/gen_VrMockDisplay.rs             |    1 +
 src/features/gen_VrPose.rs                    |    1 +
 src/features/gen_VrServiceTest.rs             |    1 +
 src/features/gen_VrStageParameters.rs         |    1 +
 src/features/gen_VrSubmitFrameResult.rs       |    1 +
 src/features/gen_VttCue.rs                    |    1 +
 src/features/gen_VttRegion.rs                 |    1 +
 src/features/gen_WakeLock.rs                  |    1 +
 src/features/gen_WakeLockSentinel.rs          |    1 +
 src/features/gen_WakeLockType.rs              |    1 +
 .../gen_WatchAdvertisementsOptions.rs         |    1 +
 src/features/gen_WaveShaperNode.rs            |    1 +
 src/features/gen_WaveShaperOptions.rs         |    1 +
 src/features/gen_WebGl2RenderingContext.rs    |    5 +
 src/features/gen_WebGlActiveInfo.rs           |    1 +
 src/features/gen_WebGlBuffer.rs               |    1 +
 src/features/gen_WebGlContextAttributes.rs    |    5 +
 src/features/gen_WebGlContextEvent.rs         |    1 +
 src/features/gen_WebGlContextEventInit.rs     |    1 +
 src/features/gen_WebGlFramebuffer.rs          |    1 +
 src/features/gen_WebGlPowerPreference.rs      |    1 +
 src/features/gen_WebGlProgram.rs              |    1 +
 src/features/gen_WebGlQuery.rs                |    1 +
 src/features/gen_WebGlRenderbuffer.rs         |    1 +
 src/features/gen_WebGlRenderingContext.rs     |    5 +
 src/features/gen_WebGlSampler.rs              |    1 +
 src/features/gen_WebGlShader.rs               |    1 +
 .../gen_WebGlShaderPrecisionFormat.rs         |    1 +
 src/features/gen_WebGlSync.rs                 |    1 +
 src/features/gen_WebGlTexture.rs              |    1 +
 src/features/gen_WebGlTransformFeedback.rs    |    1 +
 src/features/gen_WebGlUniformLocation.rs      |    1 +
 src/features/gen_WebGlVertexArrayObject.rs    |    1 +
 src/features/gen_WebKitCssMatrix.rs           |    1 +
 src/features/gen_WebSocket.rs                 |    1 +
 src/features/gen_WebSocketDict.rs             |    1 +
 src/features/gen_WebSocketElement.rs          |    1 +
 src/features/gen_WebTransport.rs              |  224 +++
 .../gen_WebTransportBidirectionalStream.rs    |   43 +
 src/features/gen_WebTransportCloseInfo.rs     |   76 +
 .../gen_WebTransportCongestionControl.rs      |   17 +
 .../gen_WebTransportDatagramDuplexStream.rs   |  142 ++
 src/features/gen_WebTransportDatagramStats.rs |  121 ++
 src/features/gen_WebTransportError.rs         |   79 +
 src/features/gen_WebTransportErrorOptions.rs  |   77 +
 src/features/gen_WebTransportErrorSource.rs   |   16 +
 src/features/gen_WebTransportHash.rs          |   75 +
 src/features/gen_WebTransportOptions.rs       |  122 ++
 src/features/gen_WebTransportReceiveStream.rs |   30 +
 .../gen_WebTransportReceiveStreamStats.rs     |  100 ++
 .../gen_WebTransportReliabilityMode.rs        |   17 +
 src/features/gen_WebTransportSendStream.rs    |   30 +
 .../gen_WebTransportSendStreamOptions.rs      |   58 +
 .../gen_WebTransportSendStreamStats.rs        |  121 ++
 src/features/gen_WebTransportStats.rs         |  287 ++++
 src/features/gen_WebglColorBufferFloat.rs     |    1 +
 .../gen_WebglCompressedTextureAstc.rs         |    1 +
 src/features/gen_WebglCompressedTextureAtc.rs |    1 +
 src/features/gen_WebglCompressedTextureEtc.rs |    1 +
 .../gen_WebglCompressedTextureEtc1.rs         |    1 +
 .../gen_WebglCompressedTexturePvrtc.rs        |    1 +
 .../gen_WebglCompressedTextureS3tc.rs         |    1 +
 .../gen_WebglCompressedTextureS3tcSrgb.rs     |    1 +
 src/features/gen_WebglDebugRendererInfo.rs    |    1 +
 src/features/gen_WebglDebugShaders.rs         |    1 +
 src/features/gen_WebglDepthTexture.rs         |    1 +
 src/features/gen_WebglDrawBuffers.rs          |    1 +
 src/features/gen_WebglLoseContext.rs          |    1 +
 src/features/gen_WebglMultiDraw.rs            |    1 +
 .../gen_WebrtcGlobalStatisticsReport.rs       |    1 +
 src/features/gen_WheelEvent.rs                |    1 +
 src/features/gen_WheelEventInit.rs            |    1 +
 src/features/gen_WidevineCdmManifest.rs       |    1 +
 src/features/gen_Window.rs                    |  401 ++++-
 src/features/gen_WindowClient.rs              |    1 +
 src/features/gen_Worker.rs                    |    1 +
 src/features/gen_WorkerDebuggerGlobalScope.rs |    1 +
 src/features/gen_WorkerGlobalScope.rs         |  341 +++-
 src/features/gen_WorkerLocation.rs            |    1 +
 src/features/gen_WorkerNavigator.rs           |   13 +
 src/features/gen_WorkerOptions.rs             |    1 +
 src/features/gen_WorkerType.rs                |    1 +
 src/features/gen_Worklet.rs                   |    1 +
 src/features/gen_WorkletGlobalScope.rs        |    1 +
 src/features/gen_WorkletOptions.rs            |    1 +
 src/features/gen_WritableStream.rs            |    1 +
 .../gen_WritableStreamDefaultController.rs    |    1 +
 .../gen_WritableStreamDefaultWriter.rs        |    1 +
 src/features/gen_WriteCommandType.rs          |   17 +
 src/features/gen_WriteParams.rs               |  106 ++
 src/features/gen_XPathExpression.rs           |    1 +
 src/features/gen_XPathNsResolver.rs           |    1 +
 src/features/gen_XPathResult.rs               |    1 +
 src/features/gen_XmlDocument.rs               |    1 +
 src/features/gen_XmlHttpRequest.rs            |    1 +
 src/features/gen_XmlHttpRequestEventTarget.rs |    1 +
 .../gen_XmlHttpRequestResponseType.rs         |    1 +
 src/features/gen_XmlHttpRequestUpload.rs      |    1 +
 src/features/gen_XmlSerializer.rs             |    1 +
 src/features/gen_XrBoundedReferenceSpace.rs   |    1 +
 src/features/gen_XrEye.rs                     |    1 +
 src/features/gen_XrFrame.rs                   |   49 +
 src/features/gen_XrHand.rs                    |   42 +
 src/features/gen_XrHandJoint.rs               |   39 +
 src/features/gen_XrHandedness.rs              |    1 +
 src/features/gen_XrInputSource.rs             |   13 +
 src/features/gen_XrInputSourceArray.rs        |    1 +
 src/features/gen_XrInputSourceEvent.rs        |    1 +
 src/features/gen_XrInputSourceEventInit.rs    |    1 +
 src/features/gen_XrInputSourcesChangeEvent.rs |    1 +
 .../gen_XrInputSourcesChangeEventInit.rs      |    1 +
 src/features/gen_XrJointPose.rs               |   30 +
 src/features/gen_XrJointSpace.rs              |   31 +
 src/features/gen_XrLayer.rs                   |    1 +
 src/features/gen_XrPermissionDescriptor.rs    |    1 +
 src/features/gen_XrPermissionStatus.rs        |    1 +
 src/features/gen_XrPose.rs                    |    1 +
 src/features/gen_XrReferenceSpace.rs          |    1 +
 src/features/gen_XrReferenceSpaceEvent.rs     |    1 +
 src/features/gen_XrReferenceSpaceEventInit.rs |    1 +
 src/features/gen_XrReferenceSpaceType.rs      |    1 +
 src/features/gen_XrRenderState.rs             |    1 +
 src/features/gen_XrRenderStateInit.rs         |    1 +
 src/features/gen_XrRigidTransform.rs          |    1 +
 src/features/gen_XrSession.rs                 |    1 +
 src/features/gen_XrSessionEvent.rs            |    1 +
 src/features/gen_XrSessionEventInit.rs        |    1 +
 src/features/gen_XrSessionInit.rs             |    1 +
 src/features/gen_XrSessionMode.rs             |    1 +
 ..._XrSessionSupportedPermissionDescriptor.rs |    1 +
 src/features/gen_XrSpace.rs                   |    1 +
 src/features/gen_XrSystem.rs                  |    1 +
 src/features/gen_XrTargetRayMode.rs           |    1 +
 src/features/gen_XrView.rs                    |    1 +
 src/features/gen_XrViewerPose.rs              |    1 +
 src/features/gen_XrViewport.rs                |    1 +
 src/features/gen_XrVisibilityState.rs         |    1 +
 src/features/gen_XrWebGlLayer.rs              |    1 +
 src/features/gen_XrWebGlLayerInit.rs          |    1 +
 src/features/gen_XsltProcessor.rs             |    1 +
 src/features/gen_console.rs                   |    1 +
 src/features/gen_css.rs                       |    1 +
 src/features/gen_gpu_buffer_usage.rs          |    1 +
 src/features/gen_gpu_color_write.rs           |    1 +
 src/features/gen_gpu_map_mode.rs              |    1 +
 src/features/gen_gpu_shader_stage.rs          |    1 +
 src/features/gen_gpu_texture_usage.rs         |    1 +
 src/features/mod.rs                           |  398 ++++-
 tests/wasm/blob.rs                            |    1 -
 tests/wasm/button_element.rs                  |   14 +-
 tests/wasm/element.js                         |    1 +
 tests/wasm/element.rs                         |   40 +-
 tests/wasm/event.rs                           |    1 -
 tests/wasm/html_element.rs                    |   15 +-
 tests/wasm/input_element.rs                   |   46 +-
 tests/wasm/main.rs                            |    8 +-
 tests/wasm/menu_element.rs                    |   20 +-
 tests/wasm/menu_item_element.rs               |   43 -
 tests/wasm/output_element.rs                  |    6 +-
 tests/wasm/response.rs                        |    1 -
 tests/wasm/rtc_rtp_transceiver_direction.rs   |    2 +-
 tests/wasm/select_element.rs                  |   23 +-
 tests/wasm/slot_element.rs                    |   11 +-
 webidls/enabled/AnimationFrame.webidl         |   10 +
 .../enabled/AudioScheduledSourceNode.webidl   |    1 -
 webidls/enabled/BaseAudioContext.webidl       |    1 -
 .../enabled/CanvasCaptureMediaStream.webidl   |    2 +-
 .../CanvasCaptureMediaStreamTrack.webidl      |   17 +
 .../enabled/CanvasRenderingContext2D.webidl   |   47 +-
 webidls/enabled/DOMException.webidl           |    2 +-
 webidls/enabled/Document.webidl               |    2 +-
 webidls/enabled/Element.webidl                |    2 +-
 webidls/enabled/HTMLCanvasElement.webidl      |    9 +-
 webidls/enabled/HTMLInputElement.webidl       |    5 +-
 webidls/enabled/HTMLMenuElement.webidl        |   18 +-
 webidls/enabled/HTMLMenuItemElement.webidl    |    6 +-
 webidls/enabled/HTMLTextAreaElement.webidl    |    2 +-
 webidls/enabled/ImageBitmap.webidl            |  394 +----
 .../ImageBitmapRenderingContext.webidl        |    2 +-
 webidls/enabled/OffscreenCanvas.webidl        |    8 +-
 .../OffscreenCanvasRenderingContext2D.webidl  |   22 +
 webidls/enabled/ParentNode.webidl             |    2 +
 webidls/enabled/PresentationConnection.webidl |    2 +-
 webidls/enabled/RTCPeerConnection.webidl      |   11 +
 webidls/enabled/RTCRtpSender.webidl           |    2 +-
 .../ResizeObserver.webidl                     |    0
 webidls/enabled/ScrollBoxObject.webidl        |    2 +-
 webidls/enabled/ServiceWorkerContainer.webidl |    1 +
 webidls/enabled/TreeView.webidl               |    2 +-
 webidls/enabled/WebGL2RenderingContext.webidl |   13 +
 webidls/enabled/Window.webidl                 |    8 -
 .../enabled/WindowOrWorkerGlobalScope.webidl  |    7 +-
 webidls/unstable/Animatable.webidl            |   14 +
 webidls/unstable/FileSystemAccess.webidl      |  101 ++
 webidls/unstable/LocalFontAccess.webidl       |   20 +
 webidls/unstable/MeasureMemory.webidl         |   27 +
 webidls/unstable/WebSerial.webidl             |   80 +
 webidls/unstable/WebTransport.webidl          |  150 ++
 webidls/unstable/WebXRHandInputModule.webidl  |   69 +
 1624 files changed, 11404 insertions(+), 1074 deletions(-)
 create mode 100644 src/features/gen_CanvasCaptureMediaStreamTrack.rs
 delete mode 100644 src/features/gen_ChannelPixelLayout.rs
 delete mode 100644 src/features/gen_ChannelPixelLayoutDataType.rs
 create mode 100644 src/features/gen_ColorSpaceConversion.rs
 create mode 100644 src/features/gen_ExtTextureNorm16.rs
 create mode 100644 src/features/gen_FileSystemCreateWritableOptions.rs
 create mode 100644 src/features/gen_FileSystemDirectoryHandle.rs
 create mode 100644 src/features/gen_FileSystemFileHandle.rs
 create mode 100644 src/features/gen_FileSystemGetDirectoryOptions.rs
 create mode 100644 src/features/gen_FileSystemGetFileOptions.rs
 create mode 100644 src/features/gen_FileSystemHandle.rs
 create mode 100644 src/features/gen_FileSystemHandleKind.rs
 create mode 100644 src/features/gen_FileSystemReadWriteOptions.rs
 create mode 100644 src/features/gen_FileSystemRemoveOptions.rs
 create mode 100644 src/features/gen_FileSystemSyncAccessHandle.rs
 create mode 100644 src/features/gen_FileSystemWritableFileStream.rs
 create mode 100644 src/features/gen_FlowControlType.rs
 create mode 100644 src/features/gen_FontData.rs
 create mode 100644 src/features/gen_GetAnimationsOptions.rs
 delete mode 100644 src/features/gen_ImageBitmapFormat.rs
 create mode 100644 src/features/gen_ImageBitmapOptions.rs
 create mode 100644 src/features/gen_ImageEncodeOptions.rs
 create mode 100644 src/features/gen_ImageOrientation.rs
 create mode 100644 src/features/gen_KeyframeAnimationOptions.rs
 create mode 100644 src/features/gen_MemoryAttribution.rs
 create mode 100644 src/features/gen_MemoryAttributionContainer.rs
 create mode 100644 src/features/gen_MemoryBreakdownEntry.rs
 create mode 100644 src/features/gen_MemoryMeasurement.rs
 create mode 100644 src/features/gen_OffscreenCanvasRenderingContext2d.rs
 create mode 100644 src/features/gen_ParityType.rs
 create mode 100644 src/features/gen_PremultiplyAlpha.rs
 create mode 100644 src/features/gen_QueryOptions.rs
 create mode 100644 src/features/gen_ResizeQuality.rs
 create mode 100644 src/features/gen_RtcPeerConnectionState.rs
 create mode 100644 src/features/gen_SelectionMode.rs
 create mode 100644 src/features/gen_Serial.rs
 create mode 100644 src/features/gen_SerialInputSignals.rs
 create mode 100644 src/features/gen_SerialOptions.rs
 create mode 100644 src/features/gen_SerialOutputSignals.rs
 create mode 100644 src/features/gen_SerialPort.rs
 create mode 100644 src/features/gen_SerialPortFilter.rs
 create mode 100644 src/features/gen_SerialPortInfo.rs
 create mode 100644 src/features/gen_SerialPortRequestOptions.rs
 create mode 100644 src/features/gen_WebTransport.rs
 create mode 100644 src/features/gen_WebTransportBidirectionalStream.rs
 create mode 100644 src/features/gen_WebTransportCloseInfo.rs
 create mode 100644 src/features/gen_WebTransportCongestionControl.rs
 create mode 100644 src/features/gen_WebTransportDatagramDuplexStream.rs
 create mode 100644 src/features/gen_WebTransportDatagramStats.rs
 create mode 100644 src/features/gen_WebTransportError.rs
 create mode 100644 src/features/gen_WebTransportErrorOptions.rs
 create mode 100644 src/features/gen_WebTransportErrorSource.rs
 create mode 100644 src/features/gen_WebTransportHash.rs
 create mode 100644 src/features/gen_WebTransportOptions.rs
 create mode 100644 src/features/gen_WebTransportReceiveStream.rs
 create mode 100644 src/features/gen_WebTransportReceiveStreamStats.rs
 create mode 100644 src/features/gen_WebTransportReliabilityMode.rs
 create mode 100644 src/features/gen_WebTransportSendStream.rs
 create mode 100644 src/features/gen_WebTransportSendStreamOptions.rs
 create mode 100644 src/features/gen_WebTransportSendStreamStats.rs
 create mode 100644 src/features/gen_WebTransportStats.rs
 create mode 100644 src/features/gen_WriteCommandType.rs
 create mode 100644 src/features/gen_WriteParams.rs
 create mode 100644 src/features/gen_XrHand.rs
 create mode 100644 src/features/gen_XrHandJoint.rs
 create mode 100644 src/features/gen_XrJointPose.rs
 create mode 100644 src/features/gen_XrJointSpace.rs
 delete mode 100644 tests/wasm/menu_item_element.rs
 create mode 100644 webidls/enabled/AnimationFrame.webidl
 create mode 100644 webidls/enabled/CanvasCaptureMediaStreamTrack.webidl
 create mode 100644 webidls/enabled/OffscreenCanvasRenderingContext2D.webidl
 rename webidls/{unstable => enabled}/ResizeObserver.webidl (100%)
 create mode 100644 webidls/unstable/Animatable.webidl
 create mode 100644 webidls/unstable/FileSystemAccess.webidl
 create mode 100644 webidls/unstable/LocalFontAccess.webidl
 create mode 100644 webidls/unstable/MeasureMemory.webidl
 create mode 100644 webidls/unstable/WebSerial.webidl
 create mode 100644 webidls/unstable/WebTransport.webidl
 create mode 100644 webidls/unstable/WebXRHandInputModule.webidl

diff --git a/Cargo.toml b/Cargo.toml
index 64da5da..d2d8c06 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -11,8 +11,9 @@
 
 [package]
 edition = "2018"
+rust-version = "1.56"
 name = "web-sys"
-version = "0.3.60"
+version = "0.3.64"
 authors = ["The wasm-bindgen Developers"]
 description = """
 Bindings for all Web APIs, a procedurally generated crate from WebIDL
@@ -22,6 +23,7 @@ documentation = "https://rustwasm.github.io/wasm-bindgen/api/web_sys/"
 readme = "./README.md"
 license = "MIT/Apache-2.0"
 repository = "https://github.com/rustwasm/wasm-bindgen/tree/master/crates/web-sys"
+resolver = "2"
 
 [package.metadata.docs.rs]
 all-features = true
@@ -32,10 +34,10 @@ test = false
 doctest = false
 
 [dependencies.js-sys]
-version = "0.3.60"
+version = "0.3.64"
 
 [dependencies.wasm-bindgen]
-version = "0.2.83"
+version = "0.2.87"
 
 [features]
 AbortController = []
@@ -199,6 +201,10 @@ CanvasCaptureMediaStream = [
     "EventTarget",
     "MediaStream",
 ]
+CanvasCaptureMediaStreamTrack = [
+    "EventTarget",
+    "MediaStreamTrack",
+]
 CanvasGradient = []
 CanvasPattern = []
 CanvasRenderingContext2d = []
@@ -219,8 +225,6 @@ ChannelMergerNode = [
     "EventTarget",
 ]
 ChannelMergerOptions = []
-ChannelPixelLayout = []
-ChannelPixelLayoutDataType = []
 ChannelSplitterNode = [
     "AudioNode",
     "EventTarget",
@@ -253,6 +257,7 @@ CloseEvent = ["Event"]
 CloseEventInit = []
 CodecState = []
 CollectedClientData = []
+ColorSpaceConversion = []
 Comment = [
     "CharacterData",
     "EventTarget",
@@ -476,6 +481,7 @@ ExtFragDepth = []
 ExtSRgb = []
 ExtShaderTextureLod = []
 ExtTextureFilterAnisotropic = []
+ExtTextureNorm16 = []
 ExtendableEvent = ["Event"]
 ExtendableEventInit = []
 ExtendableMessageEvent = [
@@ -502,21 +508,34 @@ FilePropertyBag = []
 FileReader = ["EventTarget"]
 FileReaderSync = []
 FileSystem = []
+FileSystemCreateWritableOptions = []
 FileSystemDirectoryEntry = ["FileSystemEntry"]
+FileSystemDirectoryHandle = ["FileSystemHandle"]
 FileSystemDirectoryReader = []
 FileSystemEntriesCallback = []
 FileSystemEntry = []
 FileSystemEntryCallback = []
 FileSystemFileEntry = ["FileSystemEntry"]
+FileSystemFileHandle = ["FileSystemHandle"]
 FileSystemFlags = []
+FileSystemGetDirectoryOptions = []
+FileSystemGetFileOptions = []
+FileSystemHandle = []
+FileSystemHandleKind = []
+FileSystemReadWriteOptions = []
+FileSystemRemoveOptions = []
+FileSystemSyncAccessHandle = []
+FileSystemWritableFileStream = ["WritableStream"]
 FillMode = []
 FlashClassification = []
 FlexLineGrowthState = []
+FlowControlType = []
 FocusEvent = [
     "Event",
     "UiEvent",
 ]
 FocusEventInit = []
+FontData = []
 FontFace = []
 FontFaceDescriptors = []
 FontFaceLoadStatus = []
@@ -555,6 +574,7 @@ GamepadMappingType = []
 GamepadPose = []
 GamepadServiceTest = []
 Geolocation = []
+GetAnimationsOptions = []
 GetNotificationOptions = []
 GetRootNodeOptions = []
 GetUserMediaRequest = []
@@ -578,6 +598,7 @@ GpuBufferBinding = []
 GpuBufferBindingLayout = []
 GpuBufferBindingType = []
 GpuBufferDescriptor = []
+GpuBufferMapState = []
 GpuCanvasAlphaMode = []
 GpuCanvasConfiguration = []
 GpuCanvasContext = []
@@ -619,6 +640,7 @@ GpuImageCopyTexture = []
 GpuImageCopyTextureTagged = []
 GpuImageDataLayout = []
 GpuIndexFormat = []
+GpuInternalError = ["GpuError"]
 GpuLoadOp = []
 GpuMipmapFilterMode = []
 GpuMultisampleState = []
@@ -1189,7 +1211,7 @@ IirFilterNode = [
 ]
 IirFilterOptions = []
 ImageBitmap = []
-ImageBitmapFormat = []
+ImageBitmapOptions = []
 ImageBitmapRenderingContext = []
 ImageCapture = []
 ImageCaptureError = []
@@ -1200,6 +1222,8 @@ ImageDecodeOptions = []
 ImageDecodeResult = []
 ImageDecoder = []
 ImageDecoderInit = []
+ImageEncodeOptions = []
+ImageOrientation = []
 ImageTrack = ["EventTarget"]
 ImageTrackList = []
 InputEvent = [
@@ -1225,6 +1249,7 @@ KeyboardEvent = [
     "UiEvent",
 ]
 KeyboardEventInit = []
+KeyframeAnimationOptions = []
 KeyframeEffect = ["AnimationEffect"]
 KeyframeEffectOptions = []
 L10nElement = []
@@ -1321,6 +1346,10 @@ MediaTrackConstraintSet = []
 MediaTrackConstraints = []
 MediaTrackSettings = []
 MediaTrackSupportedConstraints = []
+MemoryAttribution = []
+MemoryAttributionContainer = []
+MemoryBreakdownEntry = []
+MemoryMeasurement = []
 MessageChannel = []
 MessageEvent = ["Event"]
 MessageEventInit = []
@@ -1403,6 +1432,7 @@ OfflineAudioContext = [
 OfflineAudioContextOptions = []
 OfflineResourceList = ["EventTarget"]
 OffscreenCanvas = ["EventTarget"]
+OffscreenCanvasRenderingContext2d = []
 OpenWindowEventDetail = []
 OptionalEffectTiming = []
 OrientationLockType = []
@@ -1427,6 +1457,7 @@ PannerNode = [
 ]
 PannerOptions = []
 PanningModelType = []
+ParityType = []
 Path2d = []
 PaymentAddress = []
 PaymentComplete = []
@@ -1487,6 +1518,7 @@ Position = []
 PositionAlignSetting = []
 PositionError = []
 PositionOptions = []
+PremultiplyAlpha = []
 Presentation = []
 PresentationAvailability = ["EventTarget"]
 PresentationConnection = ["EventTarget"]
@@ -1540,6 +1572,7 @@ PushSubscriptionJson = []
 PushSubscriptionKeys = []
 PushSubscriptionOptions = []
 PushSubscriptionOptionsInit = []
+QueryOptions = []
 QueuingStrategy = []
 QueuingStrategyInit = []
 RadioNodeList = ["NodeList"]
@@ -1578,6 +1611,7 @@ ResizeObserverBoxOptions = []
 ResizeObserverEntry = []
 ResizeObserverOptions = []
 ResizeObserverSize = []
+ResizeQuality = []
 Response = []
 ResponseInit = []
 ResponseType = []
@@ -1626,6 +1660,7 @@ RtcOutboundRtpStreamStats = []
 RtcPeerConnection = ["EventTarget"]
 RtcPeerConnectionIceEvent = ["Event"]
 RtcPeerConnectionIceEventInit = []
+RtcPeerConnectionState = []
 RtcPriorityType = []
 RtcRtcpParameters = []
 RtcRtpCodecParameters = []
@@ -1686,6 +1721,15 @@ SecurityPolicyViolationEvent = ["Event"]
 SecurityPolicyViolationEventDisposition = []
 SecurityPolicyViolationEventInit = []
 Selection = []
+SelectionMode = []
+Serial = ["EventTarget"]
+SerialInputSignals = []
+SerialOptions = []
+SerialOutputSignals = []
+SerialPort = ["EventTarget"]
+SerialPortFilter = []
+SerialPortInfo = []
+SerialPortRequestOptions = []
 ServerSocketOptions = []
 ServiceWorker = ["EventTarget"]
 ServiceWorkerContainer = ["EventTarget"]
@@ -2455,6 +2499,24 @@ WebKitCssMatrix = [
 WebSocket = ["EventTarget"]
 WebSocketDict = []
 WebSocketElement = []
+WebTransport = []
+WebTransportBidirectionalStream = []
+WebTransportCloseInfo = []
+WebTransportCongestionControl = []
+WebTransportDatagramDuplexStream = []
+WebTransportDatagramStats = []
+WebTransportError = ["DomException"]
+WebTransportErrorOptions = []
+WebTransportErrorSource = []
+WebTransportHash = []
+WebTransportOptions = []
+WebTransportReceiveStream = ["ReadableStream"]
+WebTransportReceiveStreamStats = []
+WebTransportReliabilityMode = []
+WebTransportSendStream = ["WritableStream"]
+WebTransportSendStreamOptions = []
+WebTransportSendStreamStats = []
+WebTransportStats = []
 WebglColorBufferFloat = []
 WebglCompressedTextureAstc = []
 WebglCompressedTextureAtc = []
@@ -2492,6 +2554,8 @@ WorkletOptions = []
 WritableStream = []
 WritableStreamDefaultController = []
 WritableStreamDefaultWriter = []
+WriteCommandType = []
+WriteParams = []
 XPathExpression = []
 XPathNsResolver = []
 XPathResult = []
@@ -2518,6 +2582,8 @@ XrBoundedReferenceSpace = [
 ]
 XrEye = []
 XrFrame = []
+XrHand = []
+XrHandJoint = []
 XrHandedness = []
 XrInputSource = []
 XrInputSourceArray = []
@@ -2525,6 +2591,11 @@ XrInputSourceEvent = ["Event"]
 XrInputSourceEventInit = []
 XrInputSourcesChangeEvent = ["Event"]
 XrInputSourcesChangeEventInit = []
+XrJointPose = ["XrPose"]
+XrJointSpace = [
+    "EventTarget",
+    "XrSpace",
+]
 XrLayer = ["EventTarget"]
 XrPermissionDescriptor = []
 XrPermissionStatus = [
@@ -2570,7 +2641,7 @@ gpu_shader_stage = []
 gpu_texture_usage = []
 
 [target."cfg(target_arch = \"wasm32\")".dev-dependencies.wasm-bindgen-futures]
-version = "0.4.33"
+version = "0.4.37"
 
 [target."cfg(target_arch = \"wasm32\")".dev-dependencies.wasm-bindgen-test]
-version = "0.3.33"
+version = "0.3.37"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index d37f6fb..05b2166 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
 [package]
 name = "web-sys"
-version = "0.3.60"
+version = "0.3.64"
 authors = ["The wasm-bindgen Developers"]
 readme = "./README.md"
 homepage = "https://rustwasm.github.io/wasm-bindgen/web-sys/index.html"
@@ -11,6 +11,7 @@ Bindings for all Web APIs, a procedurally generated crate from WebIDL
 """
 license = "MIT/Apache-2.0"
 edition = "2018"
+rust-version = "1.56"
 
 [package.metadata.docs.rs]
 all-features = true
@@ -21,12 +22,12 @@ doctest = false
 test = false
 
 [dependencies]
-wasm-bindgen = { path = "../..", version = "0.2.83" }
-js-sys = { path = '../js-sys', version = '0.3.60' }
+wasm-bindgen = { path = "../..", version = "0.2.87" }
+js-sys = { path = '../js-sys', version = '0.3.64' }
 
 [target.'cfg(target_arch = "wasm32")'.dev-dependencies]
-wasm-bindgen-test = { path = '../test', version = '0.3.33' }
-wasm-bindgen-futures = { path = '../futures', version = '0.4.33' }
+wasm-bindgen-test = { path = '../test', version = '0.3.37' }
+wasm-bindgen-futures = { path = '../futures', version = '0.4.37' }
 
 # This list is auto-generated by the wasm-bindgen-webidl program
 [features]
@@ -157,6 +158,7 @@ CacheQueryOptions = []
 CacheStorage = []
 CacheStorageNamespace = []
 CanvasCaptureMediaStream = ["EventTarget", "MediaStream"]
+CanvasCaptureMediaStreamTrack = ["EventTarget", "MediaStreamTrack"]
 CanvasGradient = []
 CanvasPattern = []
 CanvasRenderingContext2d = []
@@ -169,8 +171,6 @@ ChannelCountMode = []
 ChannelInterpretation = []
 ChannelMergerNode = ["AudioNode", "EventTarget"]
 ChannelMergerOptions = []
-ChannelPixelLayout = []
-ChannelPixelLayoutDataType = []
 ChannelSplitterNode = ["AudioNode", "EventTarget"]
 ChannelSplitterOptions = []
 CharacterData = ["EventTarget", "Node"]
@@ -194,6 +194,7 @@ CloseEvent = ["Event"]
 CloseEventInit = []
 CodecState = []
 CollectedClientData = []
+ColorSpaceConversion = []
 Comment = ["CharacterData", "EventTarget", "Node"]
 CompositeOperation = []
 CompositionEvent = ["Event", "UiEvent"]
@@ -361,6 +362,7 @@ ExtFragDepth = []
 ExtSRgb = []
 ExtShaderTextureLod = []
 ExtTextureFilterAnisotropic = []
+ExtTextureNorm16 = []
 ExtendableEvent = ["Event"]
 ExtendableEventInit = []
 ExtendableMessageEvent = ["Event", "ExtendableEvent"]
@@ -381,18 +383,31 @@ FilePropertyBag = []
 FileReader = ["EventTarget"]
 FileReaderSync = []
 FileSystem = []
+FileSystemCreateWritableOptions = []
 FileSystemDirectoryEntry = ["FileSystemEntry"]
+FileSystemDirectoryHandle = ["FileSystemHandle"]
 FileSystemDirectoryReader = []
 FileSystemEntriesCallback = []
 FileSystemEntry = []
 FileSystemEntryCallback = []
 FileSystemFileEntry = ["FileSystemEntry"]
+FileSystemFileHandle = ["FileSystemHandle"]
 FileSystemFlags = []
+FileSystemGetDirectoryOptions = []
+FileSystemGetFileOptions = []
+FileSystemHandle = []
+FileSystemHandleKind = []
+FileSystemReadWriteOptions = []
+FileSystemRemoveOptions = []
+FileSystemSyncAccessHandle = []
+FileSystemWritableFileStream = ["WritableStream"]
 FillMode = []
 FlashClassification = []
 FlexLineGrowthState = []
+FlowControlType = []
 FocusEvent = ["Event", "UiEvent"]
 FocusEventInit = []
+FontData = []
 FontFace = []
 FontFaceDescriptors = []
 FontFaceLoadStatus = []
@@ -422,6 +437,7 @@ GamepadMappingType = []
 GamepadPose = []
 GamepadServiceTest = []
 Geolocation = []
+GetAnimationsOptions = []
 GetNotificationOptions = []
 GetRootNodeOptions = []
 GetUserMediaRequest = []
@@ -445,6 +461,7 @@ GpuBufferBinding = []
 GpuBufferBindingLayout = []
 GpuBufferBindingType = []
 GpuBufferDescriptor = []
+GpuBufferMapState = []
 GpuCanvasAlphaMode = []
 GpuCanvasConfiguration = []
 GpuCanvasContext = []
@@ -486,6 +503,7 @@ GpuImageCopyTexture = []
 GpuImageCopyTextureTagged = []
 GpuImageDataLayout = []
 GpuIndexFormat = []
+GpuInternalError = ["GpuError"]
 GpuLoadOp = []
 GpuMipmapFilterMode = []
 GpuMultisampleState = []
@@ -687,7 +705,7 @@ IdleRequestOptions = []
 IirFilterNode = ["AudioNode", "EventTarget"]
 IirFilterOptions = []
 ImageBitmap = []
-ImageBitmapFormat = []
+ImageBitmapOptions = []
 ImageBitmapRenderingContext = []
 ImageCapture = []
 ImageCaptureError = []
@@ -698,6 +716,8 @@ ImageDecodeOptions = []
 ImageDecodeResult = []
 ImageDecoder = []
 ImageDecoderInit = []
+ImageEncodeOptions = []
+ImageOrientation = []
 ImageTrack = ["EventTarget"]
 ImageTrackList = []
 InputEvent = ["Event", "UiEvent"]
@@ -717,6 +737,7 @@ KeyEvent = []
 KeyIdsInitData = []
 KeyboardEvent = ["Event", "UiEvent"]
 KeyboardEventInit = []
+KeyframeAnimationOptions = []
 KeyframeEffect = ["AnimationEffect"]
 KeyframeEffectOptions = []
 L10nElement = []
@@ -798,6 +819,10 @@ MediaTrackConstraintSet = []
 MediaTrackConstraints = []
 MediaTrackSettings = []
 MediaTrackSupportedConstraints = []
+MemoryAttribution = []
+MemoryAttributionContainer = []
+MemoryBreakdownEntry = []
+MemoryMeasurement = []
 MessageChannel = []
 MessageEvent = ["Event"]
 MessageEventInit = []
@@ -861,6 +886,7 @@ OfflineAudioContext = ["BaseAudioContext", "EventTarget"]
 OfflineAudioContextOptions = []
 OfflineResourceList = ["EventTarget"]
 OffscreenCanvas = ["EventTarget"]
+OffscreenCanvasRenderingContext2d = []
 OpenWindowEventDetail = []
 OptionalEffectTiming = []
 OrientationLockType = []
@@ -878,6 +904,7 @@ PaintWorkletGlobalScope = ["WorkletGlobalScope"]
 PannerNode = ["AudioNode", "EventTarget"]
 PannerOptions = []
 PanningModelType = []
+ParityType = []
 Path2d = []
 PaymentAddress = []
 PaymentComplete = []
@@ -928,6 +955,7 @@ Position = []
 PositionAlignSetting = []
 PositionError = []
 PositionOptions = []
+PremultiplyAlpha = []
 Presentation = []
 PresentationAvailability = ["EventTarget"]
 PresentationConnection = ["EventTarget"]
@@ -974,6 +1002,7 @@ PushSubscriptionJson = []
 PushSubscriptionKeys = []
 PushSubscriptionOptions = []
 PushSubscriptionOptionsInit = []
+QueryOptions = []
 QueuingStrategy = []
 QueuingStrategyInit = []
 RadioNodeList = ["NodeList"]
@@ -1012,6 +1041,7 @@ ResizeObserverBoxOptions = []
 ResizeObserverEntry = []
 ResizeObserverOptions = []
 ResizeObserverSize = []
+ResizeQuality = []
 Response = []
 ResponseInit = []
 ResponseType = []
@@ -1060,6 +1090,7 @@ RtcOutboundRtpStreamStats = []
 RtcPeerConnection = ["EventTarget"]
 RtcPeerConnectionIceEvent = ["Event"]
 RtcPeerConnectionIceEventInit = []
+RtcPeerConnectionState = []
 RtcPriorityType = []
 RtcRtcpParameters = []
 RtcRtpCodecParameters = []
@@ -1114,6 +1145,15 @@ SecurityPolicyViolationEvent = ["Event"]
 SecurityPolicyViolationEventDisposition = []
 SecurityPolicyViolationEventInit = []
 Selection = []
+SelectionMode = []
+Serial = ["EventTarget"]
+SerialInputSignals = []
+SerialOptions = []
+SerialOutputSignals = []
+SerialPort = ["EventTarget"]
+SerialPortFilter = []
+SerialPortInfo = []
+SerialPortRequestOptions = []
 ServerSocketOptions = []
 ServiceWorker = ["EventTarget"]
 ServiceWorkerContainer = ["EventTarget"]
@@ -1447,6 +1487,24 @@ WebKitCssMatrix = ["DomMatrix", "DomMatrixReadOnly"]
 WebSocket = ["EventTarget"]
 WebSocketDict = []
 WebSocketElement = []
+WebTransport = []
+WebTransportBidirectionalStream = []
+WebTransportCloseInfo = []
+WebTransportCongestionControl = []
+WebTransportDatagramDuplexStream = []
+WebTransportDatagramStats = []
+WebTransportError = ["DomException"]
+WebTransportErrorOptions = []
+WebTransportErrorSource = []
+WebTransportHash = []
+WebTransportOptions = []
+WebTransportReceiveStream = ["ReadableStream"]
+WebTransportReceiveStreamStats = []
+WebTransportReliabilityMode = []
+WebTransportSendStream = ["WritableStream"]
+WebTransportSendStreamOptions = []
+WebTransportSendStreamStats = []
+WebTransportStats = []
 WebglColorBufferFloat = []
 WebglCompressedTextureAstc = []
 WebglCompressedTextureAtc = []
@@ -1480,6 +1538,8 @@ WorkletOptions = []
 WritableStream = []
 WritableStreamDefaultController = []
 WritableStreamDefaultWriter = []
+WriteCommandType = []
+WriteParams = []
 XPathExpression = []
 XPathNsResolver = []
 XPathResult = []
@@ -1492,6 +1552,8 @@ XmlSerializer = []
 XrBoundedReferenceSpace = ["EventTarget", "XrReferenceSpace", "XrSpace"]
 XrEye = []
 XrFrame = []
+XrHand = []
+XrHandJoint = []
 XrHandedness = []
 XrInputSource = []
 XrInputSourceArray = []
@@ -1499,6 +1561,8 @@ XrInputSourceEvent = ["Event"]
 XrInputSourceEventInit = []
 XrInputSourcesChangeEvent = ["Event"]
 XrInputSourcesChangeEventInit = []
+XrJointPose = ["XrPose"]
+XrJointSpace = ["EventTarget", "XrSpace"]
 XrLayer = ["EventTarget"]
 XrPermissionDescriptor = []
 XrPermissionStatus = ["EventTarget", "PermissionStatus"]
diff --git a/README.md b/README.md
index cfbb351..965f41e 100644
--- a/README.md
+++ b/README.md
@@ -29,6 +29,6 @@ If you don't see a particular web API in `web-sys`, here is how to add it.
    [spec](https://w3c.github.io/mediasession/#the-mediasession-interface). The
    [very bottom](https://w3c.github.io/mediasession/#idl-index) of _that_ page
    is the IDL.
-2. Run `cargo run --release --package wasm-bindgen-webidl -- webidls src/features`
-3. Copy the contents of `features` into the `[features]` section of `Cargo.toml`
+2. Annotate the functions that can throw with `[Throws]`
+3. Run `cargo run --release --package wasm-bindgen-webidl -- webidls src/features ./Cargo.toml`
 4. Run `git add .` to add all the generated files into git.
diff --git a/src/features/gen_AbortController.rs b/src/features/gen_AbortController.rs
index 95776f7..ff01ba3 100644
--- a/src/features/gen_AbortController.rs
+++ b/src/features/gen_AbortController.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AbortSignal.rs b/src/features/gen_AbortSignal.rs
index 081fa5c..ecf05a7 100644
--- a/src/features/gen_AbortSignal.rs
+++ b/src/features/gen_AbortSignal.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AddEventListenerOptions.rs b/src/features/gen_AddEventListenerOptions.rs
index c2de0ca..11041cb 100644
--- a/src/features/gen_AddEventListenerOptions.rs
+++ b/src/features/gen_AddEventListenerOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AesCbcParams.rs b/src/features/gen_AesCbcParams.rs
index 475d949..9fba20f 100644
--- a/src/features/gen_AesCbcParams.rs
+++ b/src/features/gen_AesCbcParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AesCtrParams.rs b/src/features/gen_AesCtrParams.rs
index ec60d3f..0dbaad9 100644
--- a/src/features/gen_AesCtrParams.rs
+++ b/src/features/gen_AesCtrParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AesDerivedKeyParams.rs b/src/features/gen_AesDerivedKeyParams.rs
index 46bcc59..7212fc6 100644
--- a/src/features/gen_AesDerivedKeyParams.rs
+++ b/src/features/gen_AesDerivedKeyParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AesGcmParams.rs b/src/features/gen_AesGcmParams.rs
index 8f361d1..55199b0 100644
--- a/src/features/gen_AesGcmParams.rs
+++ b/src/features/gen_AesGcmParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AesKeyAlgorithm.rs b/src/features/gen_AesKeyAlgorithm.rs
index 380782f..fd55a3a 100644
--- a/src/features/gen_AesKeyAlgorithm.rs
+++ b/src/features/gen_AesKeyAlgorithm.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AesKeyGenParams.rs b/src/features/gen_AesKeyGenParams.rs
index 016d2b8..829e6f5 100644
--- a/src/features/gen_AesKeyGenParams.rs
+++ b/src/features/gen_AesKeyGenParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Algorithm.rs b/src/features/gen_Algorithm.rs
index d0263e7..93efed8 100644
--- a/src/features/gen_Algorithm.rs
+++ b/src/features/gen_Algorithm.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AlignSetting.rs b/src/features/gen_AlignSetting.rs
index b800709..e47fce5 100644
--- a/src/features/gen_AlignSetting.rs
+++ b/src/features/gen_AlignSetting.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `AlignSetting` enum."]
diff --git a/src/features/gen_AllowedBluetoothDevice.rs b/src/features/gen_AllowedBluetoothDevice.rs
index 82f734e..c5d7681 100644
--- a/src/features/gen_AllowedBluetoothDevice.rs
+++ b/src/features/gen_AllowedBluetoothDevice.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AllowedUsbDevice.rs b/src/features/gen_AllowedUsbDevice.rs
index b4b082f..bb47031 100644
--- a/src/features/gen_AllowedUsbDevice.rs
+++ b/src/features/gen_AllowedUsbDevice.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AlphaOption.rs b/src/features/gen_AlphaOption.rs
index 1984e55..82dbef2 100644
--- a/src/features/gen_AlphaOption.rs
+++ b/src/features/gen_AlphaOption.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_AnalyserNode.rs b/src/features/gen_AnalyserNode.rs
index a659b62..32c74db 100644
--- a/src/features/gen_AnalyserNode.rs
+++ b/src/features/gen_AnalyserNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AnalyserOptions.rs b/src/features/gen_AnalyserOptions.rs
index a5a73c2..48a2bf1 100644
--- a/src/features/gen_AnalyserOptions.rs
+++ b/src/features/gen_AnalyserOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AngleInstancedArrays.rs b/src/features/gen_AngleInstancedArrays.rs
index 2fd99e7..930bdaa 100644
--- a/src/features/gen_AngleInstancedArrays.rs
+++ b/src/features/gen_AngleInstancedArrays.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Animation.rs b/src/features/gen_Animation.rs
index 9862eab..fa09447 100644
--- a/src/features/gen_Animation.rs
+++ b/src/features/gen_Animation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AnimationEffect.rs b/src/features/gen_AnimationEffect.rs
index b57dc8b..d631907 100644
--- a/src/features/gen_AnimationEffect.rs
+++ b/src/features/gen_AnimationEffect.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AnimationEvent.rs b/src/features/gen_AnimationEvent.rs
index b18d8f9..78a3d97 100644
--- a/src/features/gen_AnimationEvent.rs
+++ b/src/features/gen_AnimationEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AnimationEventInit.rs b/src/features/gen_AnimationEventInit.rs
index 163a55b..2d83b6e 100644
--- a/src/features/gen_AnimationEventInit.rs
+++ b/src/features/gen_AnimationEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AnimationPlayState.rs b/src/features/gen_AnimationPlayState.rs
index 690e5ee..70fc25c 100644
--- a/src/features/gen_AnimationPlayState.rs
+++ b/src/features/gen_AnimationPlayState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `AnimationPlayState` enum."]
diff --git a/src/features/gen_AnimationPlaybackEvent.rs b/src/features/gen_AnimationPlaybackEvent.rs
index 336e49a..4aa31d1 100644
--- a/src/features/gen_AnimationPlaybackEvent.rs
+++ b/src/features/gen_AnimationPlaybackEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AnimationPlaybackEventInit.rs b/src/features/gen_AnimationPlaybackEventInit.rs
index 2cdaf07..4b6b8f9 100644
--- a/src/features/gen_AnimationPlaybackEventInit.rs
+++ b/src/features/gen_AnimationPlaybackEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AnimationPropertyDetails.rs b/src/features/gen_AnimationPropertyDetails.rs
index 7cf81ed..05280ee 100644
--- a/src/features/gen_AnimationPropertyDetails.rs
+++ b/src/features/gen_AnimationPropertyDetails.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AnimationPropertyValueDetails.rs b/src/features/gen_AnimationPropertyValueDetails.rs
index 71b218c..6d96f62 100644
--- a/src/features/gen_AnimationPropertyValueDetails.rs
+++ b/src/features/gen_AnimationPropertyValueDetails.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AnimationTimeline.rs b/src/features/gen_AnimationTimeline.rs
index 33c3fed..3393334 100644
--- a/src/features/gen_AnimationTimeline.rs
+++ b/src/features/gen_AnimationTimeline.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AssignedNodesOptions.rs b/src/features/gen_AssignedNodesOptions.rs
index 69471ff..6c2b66d 100644
--- a/src/features/gen_AssignedNodesOptions.rs
+++ b/src/features/gen_AssignedNodesOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AttestationConveyancePreference.rs b/src/features/gen_AttestationConveyancePreference.rs
index 28ea13c..268fd4a 100644
--- a/src/features/gen_AttestationConveyancePreference.rs
+++ b/src/features/gen_AttestationConveyancePreference.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `AttestationConveyancePreference` enum."]
diff --git a/src/features/gen_Attr.rs b/src/features/gen_Attr.rs
index 6948e24..5ca6305 100644
--- a/src/features/gen_Attr.rs
+++ b/src/features/gen_Attr.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AttributeNameValue.rs b/src/features/gen_AttributeNameValue.rs
index d2088a9..1f614d1 100644
--- a/src/features/gen_AttributeNameValue.rs
+++ b/src/features/gen_AttributeNameValue.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioBuffer.rs b/src/features/gen_AudioBuffer.rs
index 5f350bc..d609a16 100644
--- a/src/features/gen_AudioBuffer.rs
+++ b/src/features/gen_AudioBuffer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioBufferOptions.rs b/src/features/gen_AudioBufferOptions.rs
index dfa7f46..7cb8132 100644
--- a/src/features/gen_AudioBufferOptions.rs
+++ b/src/features/gen_AudioBufferOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioBufferSourceNode.rs b/src/features/gen_AudioBufferSourceNode.rs
index e6cd32e..4ca1070 100644
--- a/src/features/gen_AudioBufferSourceNode.rs
+++ b/src/features/gen_AudioBufferSourceNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioBufferSourceOptions.rs b/src/features/gen_AudioBufferSourceOptions.rs
index e8a0f2f..ff42b50 100644
--- a/src/features/gen_AudioBufferSourceOptions.rs
+++ b/src/features/gen_AudioBufferSourceOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioConfiguration.rs b/src/features/gen_AudioConfiguration.rs
index 600464d..9d6347d 100644
--- a/src/features/gen_AudioConfiguration.rs
+++ b/src/features/gen_AudioConfiguration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioContext.rs b/src/features/gen_AudioContext.rs
index 2fc3509..313a03d 100644
--- a/src/features/gen_AudioContext.rs
+++ b/src/features/gen_AudioContext.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioContextOptions.rs b/src/features/gen_AudioContextOptions.rs
index 6583853..514973d 100644
--- a/src/features/gen_AudioContextOptions.rs
+++ b/src/features/gen_AudioContextOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioContextState.rs b/src/features/gen_AudioContextState.rs
index 95ab2ca..4d15fd8 100644
--- a/src/features/gen_AudioContextState.rs
+++ b/src/features/gen_AudioContextState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `AudioContextState` enum."]
diff --git a/src/features/gen_AudioData.rs b/src/features/gen_AudioData.rs
index 0bd91f4..08875c7 100644
--- a/src/features/gen_AudioData.rs
+++ b/src/features/gen_AudioData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioDataCopyToOptions.rs b/src/features/gen_AudioDataCopyToOptions.rs
index b1d3d8f..2d3132c 100644
--- a/src/features/gen_AudioDataCopyToOptions.rs
+++ b/src/features/gen_AudioDataCopyToOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioDataInit.rs b/src/features/gen_AudioDataInit.rs
index 8a7dc94..de51e83 100644
--- a/src/features/gen_AudioDataInit.rs
+++ b/src/features/gen_AudioDataInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioDecoder.rs b/src/features/gen_AudioDecoder.rs
index b448dc2..709d0d1 100644
--- a/src/features/gen_AudioDecoder.rs
+++ b/src/features/gen_AudioDecoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioDecoderConfig.rs b/src/features/gen_AudioDecoderConfig.rs
index 2ba3096..8341417 100644
--- a/src/features/gen_AudioDecoderConfig.rs
+++ b/src/features/gen_AudioDecoderConfig.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioDecoderInit.rs b/src/features/gen_AudioDecoderInit.rs
index d5149ef..f1ee1a6 100644
--- a/src/features/gen_AudioDecoderInit.rs
+++ b/src/features/gen_AudioDecoderInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioDecoderSupport.rs b/src/features/gen_AudioDecoderSupport.rs
index 3640403..2f4b969 100644
--- a/src/features/gen_AudioDecoderSupport.rs
+++ b/src/features/gen_AudioDecoderSupport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioDestinationNode.rs b/src/features/gen_AudioDestinationNode.rs
index a6f79cf..ad06d3e 100644
--- a/src/features/gen_AudioDestinationNode.rs
+++ b/src/features/gen_AudioDestinationNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioEncoder.rs b/src/features/gen_AudioEncoder.rs
index 244e997..9bd9031 100644
--- a/src/features/gen_AudioEncoder.rs
+++ b/src/features/gen_AudioEncoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioEncoderConfig.rs b/src/features/gen_AudioEncoderConfig.rs
index 4919467..5cc3655 100644
--- a/src/features/gen_AudioEncoderConfig.rs
+++ b/src/features/gen_AudioEncoderConfig.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioEncoderInit.rs b/src/features/gen_AudioEncoderInit.rs
index dba313b..0745122 100644
--- a/src/features/gen_AudioEncoderInit.rs
+++ b/src/features/gen_AudioEncoderInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioEncoderSupport.rs b/src/features/gen_AudioEncoderSupport.rs
index 0c7987b..1ca54d1 100644
--- a/src/features/gen_AudioEncoderSupport.rs
+++ b/src/features/gen_AudioEncoderSupport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_AudioListener.rs b/src/features/gen_AudioListener.rs
index 1dfdfbe..baaa72c 100644
--- a/src/features/gen_AudioListener.rs
+++ b/src/features/gen_AudioListener.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioNode.rs b/src/features/gen_AudioNode.rs
index bec7aa9..9d1ee99 100644
--- a/src/features/gen_AudioNode.rs
+++ b/src/features/gen_AudioNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioNodeOptions.rs b/src/features/gen_AudioNodeOptions.rs
index b898ea3..369aba7 100644
--- a/src/features/gen_AudioNodeOptions.rs
+++ b/src/features/gen_AudioNodeOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioParam.rs b/src/features/gen_AudioParam.rs
index 6cd0e1c..3cc533d 100644
--- a/src/features/gen_AudioParam.rs
+++ b/src/features/gen_AudioParam.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioParamMap.rs b/src/features/gen_AudioParamMap.rs
index 02c3953..9b71198 100644
--- a/src/features/gen_AudioParamMap.rs
+++ b/src/features/gen_AudioParamMap.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -11,4 +12,54 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioParamMap`*"]
     pub type AudioParamMap;
+    # [wasm_bindgen (structural , method , getter , js_class = "AudioParamMap" , js_name = size)]
+    #[doc = "Getter for the `size` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/AudioParamMap/size)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `AudioParamMap`*"]
+    pub fn size(this: &AudioParamMap) -> u32;
+    # [wasm_bindgen (method , structural , js_class = "AudioParamMap" , js_name = entries)]
+    #[doc = "The `entries()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/AudioParamMap/entries)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `AudioParamMap`*"]
+    pub fn entries(this: &AudioParamMap) -> ::js_sys::Iterator;
+    # [wasm_bindgen (catch , method , structural , js_class = "AudioParamMap" , js_name = forEach)]
+    #[doc = "The `forEach()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/AudioParamMap/forEach)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `AudioParamMap`*"]
+    pub fn for_each(this: &AudioParamMap, callback: &::js_sys::Function) -> Result<(), JsValue>;
+    #[cfg(feature = "AudioParam")]
+    # [wasm_bindgen (method , structural , js_class = "AudioParamMap" , js_name = get)]
+    #[doc = "The `get()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/AudioParamMap/get)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `AudioParam`, `AudioParamMap`*"]
+    pub fn get(this: &AudioParamMap, key: &str) -> Option<AudioParam>;
+    # [wasm_bindgen (method , structural , js_class = "AudioParamMap" , js_name = has)]
+    #[doc = "The `has()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/AudioParamMap/has)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `AudioParamMap`*"]
+    pub fn has(this: &AudioParamMap, key: &str) -> bool;
+    # [wasm_bindgen (method , structural , js_class = "AudioParamMap" , js_name = keys)]
+    #[doc = "The `keys()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/AudioParamMap/keys)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `AudioParamMap`*"]
+    pub fn keys(this: &AudioParamMap) -> ::js_sys::Iterator;
+    # [wasm_bindgen (method , structural , js_class = "AudioParamMap" , js_name = values)]
+    #[doc = "The `values()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/AudioParamMap/values)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `AudioParamMap`*"]
+    pub fn values(this: &AudioParamMap) -> ::js_sys::Iterator;
 }
diff --git a/src/features/gen_AudioProcessingEvent.rs b/src/features/gen_AudioProcessingEvent.rs
index e1ed4bb..d9492d2 100644
--- a/src/features/gen_AudioProcessingEvent.rs
+++ b/src/features/gen_AudioProcessingEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioSampleFormat.rs b/src/features/gen_AudioSampleFormat.rs
index 5449989..6c9c0d3 100644
--- a/src/features/gen_AudioSampleFormat.rs
+++ b/src/features/gen_AudioSampleFormat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioScheduledSourceNode.rs b/src/features/gen_AudioScheduledSourceNode.rs
index 5c18efe..949c585 100644
--- a/src/features/gen_AudioScheduledSourceNode.rs
+++ b/src/features/gen_AudioScheduledSourceNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -10,9 +11,7 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/AudioScheduledSourceNode)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioScheduledSourceNode`*"]
-    #[deprecated(note = "doesn't exist in Safari, use parent class methods instead")]
     pub type AudioScheduledSourceNode;
-    #[deprecated(note = "doesn't exist in Safari, use parent class methods instead")]
     # [wasm_bindgen (structural , method , getter , js_class = "AudioScheduledSourceNode" , js_name = onended)]
     #[doc = "Getter for the `onended` field of this object."]
     #[doc = ""]
@@ -20,7 +19,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioScheduledSourceNode`*"]
     pub fn onended(this: &AudioScheduledSourceNode) -> Option<::js_sys::Function>;
-    #[deprecated(note = "doesn't exist in Safari, use parent class methods instead")]
     # [wasm_bindgen (structural , method , setter , js_class = "AudioScheduledSourceNode" , js_name = onended)]
     #[doc = "Setter for the `onended` field of this object."]
     #[doc = ""]
@@ -28,7 +26,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioScheduledSourceNode`*"]
     pub fn set_onended(this: &AudioScheduledSourceNode, value: Option<&::js_sys::Function>);
-    #[deprecated(note = "doesn't exist in Safari, use parent class methods instead")]
     # [wasm_bindgen (catch , method , structural , js_class = "AudioScheduledSourceNode" , js_name = start)]
     #[doc = "The `start()` method."]
     #[doc = ""]
@@ -36,7 +33,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioScheduledSourceNode`*"]
     pub fn start(this: &AudioScheduledSourceNode) -> Result<(), JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use parent class methods instead")]
     # [wasm_bindgen (catch , method , structural , js_class = "AudioScheduledSourceNode" , js_name = start)]
     #[doc = "The `start()` method."]
     #[doc = ""]
@@ -44,7 +40,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioScheduledSourceNode`*"]
     pub fn start_with_when(this: &AudioScheduledSourceNode, when: f64) -> Result<(), JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use parent class methods instead")]
     # [wasm_bindgen (catch , method , structural , js_class = "AudioScheduledSourceNode" , js_name = stop)]
     #[doc = "The `stop()` method."]
     #[doc = ""]
@@ -52,7 +47,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioScheduledSourceNode`*"]
     pub fn stop(this: &AudioScheduledSourceNode) -> Result<(), JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use parent class methods instead")]
     # [wasm_bindgen (catch , method , structural , js_class = "AudioScheduledSourceNode" , js_name = stop)]
     #[doc = "The `stop()` method."]
     #[doc = ""]
diff --git a/src/features/gen_AudioStreamTrack.rs b/src/features/gen_AudioStreamTrack.rs
index 3c6eed6..20308c8 100644
--- a/src/features/gen_AudioStreamTrack.rs
+++ b/src/features/gen_AudioStreamTrack.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioTrack.rs b/src/features/gen_AudioTrack.rs
index 7e1c960..7b04ddd 100644
--- a/src/features/gen_AudioTrack.rs
+++ b/src/features/gen_AudioTrack.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioTrackList.rs b/src/features/gen_AudioTrackList.rs
index 4463243..fa75bfb 100644
--- a/src/features/gen_AudioTrackList.rs
+++ b/src/features/gen_AudioTrackList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioWorklet.rs b/src/features/gen_AudioWorklet.rs
index c160c50..42816b3 100644
--- a/src/features/gen_AudioWorklet.rs
+++ b/src/features/gen_AudioWorklet.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioWorkletGlobalScope.rs b/src/features/gen_AudioWorkletGlobalScope.rs
index 4057aea..4e899fd 100644
--- a/src/features/gen_AudioWorkletGlobalScope.rs
+++ b/src/features/gen_AudioWorkletGlobalScope.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioWorkletNode.rs b/src/features/gen_AudioWorkletNode.rs
index 989bab5..4818289 100644
--- a/src/features/gen_AudioWorkletNode.rs
+++ b/src/features/gen_AudioWorkletNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioWorkletNodeOptions.rs b/src/features/gen_AudioWorkletNodeOptions.rs
index e97330a..99db4aa 100644
--- a/src/features/gen_AudioWorkletNodeOptions.rs
+++ b/src/features/gen_AudioWorkletNodeOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AudioWorkletProcessor.rs b/src/features/gen_AudioWorkletProcessor.rs
index 8a537cd..eb5d971 100644
--- a/src/features/gen_AudioWorkletProcessor.rs
+++ b/src/features/gen_AudioWorkletProcessor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AuthenticationExtensionsClientInputs.rs b/src/features/gen_AuthenticationExtensionsClientInputs.rs
index cde43d2..24237c5 100644
--- a/src/features/gen_AuthenticationExtensionsClientInputs.rs
+++ b/src/features/gen_AuthenticationExtensionsClientInputs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AuthenticationExtensionsClientOutputs.rs b/src/features/gen_AuthenticationExtensionsClientOutputs.rs
index 4b59b32..e2e0386 100644
--- a/src/features/gen_AuthenticationExtensionsClientOutputs.rs
+++ b/src/features/gen_AuthenticationExtensionsClientOutputs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AuthenticatorAssertionResponse.rs b/src/features/gen_AuthenticatorAssertionResponse.rs
index dd6e10e..0969f46 100644
--- a/src/features/gen_AuthenticatorAssertionResponse.rs
+++ b/src/features/gen_AuthenticatorAssertionResponse.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AuthenticatorAttachment.rs b/src/features/gen_AuthenticatorAttachment.rs
index f077641..1ba3625 100644
--- a/src/features/gen_AuthenticatorAttachment.rs
+++ b/src/features/gen_AuthenticatorAttachment.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `AuthenticatorAttachment` enum."]
diff --git a/src/features/gen_AuthenticatorAttestationResponse.rs b/src/features/gen_AuthenticatorAttestationResponse.rs
index 364ebc2..97a8261 100644
--- a/src/features/gen_AuthenticatorAttestationResponse.rs
+++ b/src/features/gen_AuthenticatorAttestationResponse.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AuthenticatorResponse.rs b/src/features/gen_AuthenticatorResponse.rs
index 2aa5468..0144e6d 100644
--- a/src/features/gen_AuthenticatorResponse.rs
+++ b/src/features/gen_AuthenticatorResponse.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AuthenticatorSelectionCriteria.rs b/src/features/gen_AuthenticatorSelectionCriteria.rs
index 1e4b5e9..a7bc5c5 100644
--- a/src/features/gen_AuthenticatorSelectionCriteria.rs
+++ b/src/features/gen_AuthenticatorSelectionCriteria.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_AuthenticatorTransport.rs b/src/features/gen_AuthenticatorTransport.rs
index edafe5e..2e1b257 100644
--- a/src/features/gen_AuthenticatorTransport.rs
+++ b/src/features/gen_AuthenticatorTransport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `AuthenticatorTransport` enum."]
diff --git a/src/features/gen_AutoKeyword.rs b/src/features/gen_AutoKeyword.rs
index d45de7a..3ee39ad 100644
--- a/src/features/gen_AutoKeyword.rs
+++ b/src/features/gen_AutoKeyword.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `AutoKeyword` enum."]
diff --git a/src/features/gen_AutocompleteInfo.rs b/src/features/gen_AutocompleteInfo.rs
index 42150b5..a87e521 100644
--- a/src/features/gen_AutocompleteInfo.rs
+++ b/src/features/gen_AutocompleteInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BarProp.rs b/src/features/gen_BarProp.rs
index de029dc..4917e7e 100644
--- a/src/features/gen_BarProp.rs
+++ b/src/features/gen_BarProp.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BaseAudioContext.rs b/src/features/gen_BaseAudioContext.rs
index 4fa9021..73fbefa 100644
--- a/src/features/gen_BaseAudioContext.rs
+++ b/src/features/gen_BaseAudioContext.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -10,9 +11,7 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`*"]
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     pub type BaseAudioContext;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "AudioDestinationNode")]
     # [wasm_bindgen (structural , method , getter , js_class = "BaseAudioContext" , js_name = destination)]
     #[doc = "Getter for the `destination` field of this object."]
@@ -21,7 +20,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioDestinationNode`, `BaseAudioContext`*"]
     pub fn destination(this: &BaseAudioContext) -> AudioDestinationNode;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     # [wasm_bindgen (structural , method , getter , js_class = "BaseAudioContext" , js_name = sampleRate)]
     #[doc = "Getter for the `sampleRate` field of this object."]
     #[doc = ""]
@@ -29,7 +27,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`*"]
     pub fn sample_rate(this: &BaseAudioContext) -> f32;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     # [wasm_bindgen (structural , method , getter , js_class = "BaseAudioContext" , js_name = currentTime)]
     #[doc = "Getter for the `currentTime` field of this object."]
     #[doc = ""]
@@ -37,7 +34,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`*"]
     pub fn current_time(this: &BaseAudioContext) -> f64;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "AudioListener")]
     # [wasm_bindgen (structural , method , getter , js_class = "BaseAudioContext" , js_name = listener)]
     #[doc = "Getter for the `listener` field of this object."]
@@ -46,7 +42,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioListener`, `BaseAudioContext`*"]
     pub fn listener(this: &BaseAudioContext) -> AudioListener;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "AudioContextState")]
     # [wasm_bindgen (structural , method , getter , js_class = "BaseAudioContext" , js_name = state)]
     #[doc = "Getter for the `state` field of this object."]
@@ -55,7 +50,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioContextState`, `BaseAudioContext`*"]
     pub fn state(this: &BaseAudioContext) -> AudioContextState;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "AudioWorklet")]
     # [wasm_bindgen (structural , catch , method , getter , js_class = "BaseAudioContext" , js_name = audioWorklet)]
     #[doc = "Getter for the `audioWorklet` field of this object."]
@@ -64,7 +58,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioWorklet`, `BaseAudioContext`*"]
     pub fn audio_worklet(this: &BaseAudioContext) -> Result<AudioWorklet, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     # [wasm_bindgen (structural , method , getter , js_class = "BaseAudioContext" , js_name = onstatechange)]
     #[doc = "Getter for the `onstatechange` field of this object."]
     #[doc = ""]
@@ -72,7 +65,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`*"]
     pub fn onstatechange(this: &BaseAudioContext) -> Option<::js_sys::Function>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     # [wasm_bindgen (structural , method , setter , js_class = "BaseAudioContext" , js_name = onstatechange)]
     #[doc = "Setter for the `onstatechange` field of this object."]
     #[doc = ""]
@@ -80,7 +72,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`*"]
     pub fn set_onstatechange(this: &BaseAudioContext, value: Option<&::js_sys::Function>);
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "AnalyserNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createAnalyser)]
     #[doc = "The `createAnalyser()` method."]
@@ -89,7 +80,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AnalyserNode`, `BaseAudioContext`*"]
     pub fn create_analyser(this: &BaseAudioContext) -> Result<AnalyserNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "BiquadFilterNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createBiquadFilter)]
     #[doc = "The `createBiquadFilter()` method."]
@@ -98,7 +88,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `BiquadFilterNode`*"]
     pub fn create_biquad_filter(this: &BaseAudioContext) -> Result<BiquadFilterNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "AudioBuffer")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createBuffer)]
     #[doc = "The `createBuffer()` method."]
@@ -112,7 +101,6 @@ extern "C" {
         length: u32,
         sample_rate: f32,
     ) -> Result<AudioBuffer, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "AudioBufferSourceNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createBufferSource)]
     #[doc = "The `createBufferSource()` method."]
@@ -121,7 +109,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `AudioBufferSourceNode`, `BaseAudioContext`*"]
     pub fn create_buffer_source(this: &BaseAudioContext) -> Result<AudioBufferSourceNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "ChannelMergerNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createChannelMerger)]
     #[doc = "The `createChannelMerger()` method."]
@@ -130,7 +117,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `ChannelMergerNode`*"]
     pub fn create_channel_merger(this: &BaseAudioContext) -> Result<ChannelMergerNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "ChannelMergerNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createChannelMerger)]
     #[doc = "The `createChannelMerger()` method."]
@@ -142,7 +128,6 @@ extern "C" {
         this: &BaseAudioContext,
         number_of_inputs: u32,
     ) -> Result<ChannelMergerNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "ChannelSplitterNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createChannelSplitter)]
     #[doc = "The `createChannelSplitter()` method."]
@@ -152,7 +137,6 @@ extern "C" {
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `ChannelSplitterNode`*"]
     pub fn create_channel_splitter(this: &BaseAudioContext)
         -> Result<ChannelSplitterNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "ChannelSplitterNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createChannelSplitter)]
     #[doc = "The `createChannelSplitter()` method."]
@@ -164,7 +148,6 @@ extern "C" {
         this: &BaseAudioContext,
         number_of_outputs: u32,
     ) -> Result<ChannelSplitterNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "ConstantSourceNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createConstantSource)]
     #[doc = "The `createConstantSource()` method."]
@@ -173,7 +156,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `ConstantSourceNode`*"]
     pub fn create_constant_source(this: &BaseAudioContext) -> Result<ConstantSourceNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "ConvolverNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createConvolver)]
     #[doc = "The `createConvolver()` method."]
@@ -182,7 +164,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `ConvolverNode`*"]
     pub fn create_convolver(this: &BaseAudioContext) -> Result<ConvolverNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "DelayNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createDelay)]
     #[doc = "The `createDelay()` method."]
@@ -191,7 +172,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `DelayNode`*"]
     pub fn create_delay(this: &BaseAudioContext) -> Result<DelayNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "DelayNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createDelay)]
     #[doc = "The `createDelay()` method."]
@@ -203,7 +183,6 @@ extern "C" {
         this: &BaseAudioContext,
         max_delay_time: f64,
     ) -> Result<DelayNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "DynamicsCompressorNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createDynamicsCompressor)]
     #[doc = "The `createDynamicsCompressor()` method."]
@@ -214,7 +193,6 @@ extern "C" {
     pub fn create_dynamics_compressor(
         this: &BaseAudioContext,
     ) -> Result<DynamicsCompressorNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "GainNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createGain)]
     #[doc = "The `createGain()` method."]
@@ -223,7 +201,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `GainNode`*"]
     pub fn create_gain(this: &BaseAudioContext) -> Result<GainNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "IirFilterNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createIIRFilter)]
     #[doc = "The `createIIRFilter()` method."]
@@ -236,7 +213,6 @@ extern "C" {
         feedforward: &::wasm_bindgen::JsValue,
         feedback: &::wasm_bindgen::JsValue,
     ) -> Result<IirFilterNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "OscillatorNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createOscillator)]
     #[doc = "The `createOscillator()` method."]
@@ -245,7 +221,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `OscillatorNode`*"]
     pub fn create_oscillator(this: &BaseAudioContext) -> Result<OscillatorNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "PannerNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createPanner)]
     #[doc = "The `createPanner()` method."]
@@ -254,7 +229,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `PannerNode`*"]
     pub fn create_panner(this: &BaseAudioContext) -> Result<PannerNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "PeriodicWave")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createPeriodicWave)]
     #[doc = "The `createPeriodicWave()` method."]
@@ -267,7 +241,6 @@ extern "C" {
         real: &mut [f32],
         imag: &mut [f32],
     ) -> Result<PeriodicWave, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(all(feature = "PeriodicWave", feature = "PeriodicWaveConstraints",))]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createPeriodicWave)]
     #[doc = "The `createPeriodicWave()` method."]
@@ -281,7 +254,6 @@ extern "C" {
         imag: &mut [f32],
         constraints: &PeriodicWaveConstraints,
     ) -> Result<PeriodicWave, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "ScriptProcessorNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createScriptProcessor)]
     #[doc = "The `createScriptProcessor()` method."]
@@ -291,7 +263,6 @@ extern "C" {
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `ScriptProcessorNode`*"]
     pub fn create_script_processor(this: &BaseAudioContext)
         -> Result<ScriptProcessorNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "ScriptProcessorNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createScriptProcessor)]
     #[doc = "The `createScriptProcessor()` method."]
@@ -303,7 +274,6 @@ extern "C" {
         this: &BaseAudioContext,
         buffer_size: u32,
     ) -> Result<ScriptProcessorNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "ScriptProcessorNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createScriptProcessor)]
     #[doc = "The `createScriptProcessor()` method."]
@@ -316,7 +286,6 @@ extern "C" {
         buffer_size: u32,
         number_of_input_channels: u32,
     ) -> Result<ScriptProcessorNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "ScriptProcessorNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createScriptProcessor)]
     #[doc = "The `createScriptProcessor()` method."]
@@ -330,7 +299,6 @@ extern "C" {
         number_of_input_channels: u32,
         number_of_output_channels: u32,
     ) -> Result<ScriptProcessorNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "StereoPannerNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createStereoPanner)]
     #[doc = "The `createStereoPanner()` method."]
@@ -339,7 +307,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `StereoPannerNode`*"]
     pub fn create_stereo_panner(this: &BaseAudioContext) -> Result<StereoPannerNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     #[cfg(feature = "WaveShaperNode")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = createWaveShaper)]
     #[doc = "The `createWaveShaper()` method."]
@@ -348,7 +315,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `BaseAudioContext`, `WaveShaperNode`*"]
     pub fn create_wave_shaper(this: &BaseAudioContext) -> Result<WaveShaperNode, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = decodeAudioData)]
     #[doc = "The `decodeAudioData()` method."]
     #[doc = ""]
@@ -359,7 +325,6 @@ extern "C" {
         this: &BaseAudioContext,
         audio_data: &::js_sys::ArrayBuffer,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = decodeAudioData)]
     #[doc = "The `decodeAudioData()` method."]
     #[doc = ""]
@@ -371,7 +336,6 @@ extern "C" {
         audio_data: &::js_sys::ArrayBuffer,
         success_callback: &::js_sys::Function,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = decodeAudioData)]
     #[doc = "The `decodeAudioData()` method."]
     #[doc = ""]
@@ -384,7 +348,6 @@ extern "C" {
         success_callback: &::js_sys::Function,
         error_callback: &::js_sys::Function,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[deprecated(note = "doesn't exist in Safari, use `AudioContext` instead now")]
     # [wasm_bindgen (catch , method , structural , js_class = "BaseAudioContext" , js_name = resume)]
     #[doc = "The `resume()` method."]
     #[doc = ""]
diff --git a/src/features/gen_BaseComputedKeyframe.rs b/src/features/gen_BaseComputedKeyframe.rs
index eba64ee..8a91e92 100644
--- a/src/features/gen_BaseComputedKeyframe.rs
+++ b/src/features/gen_BaseComputedKeyframe.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BaseKeyframe.rs b/src/features/gen_BaseKeyframe.rs
index aef9012..692a8fc 100644
--- a/src/features/gen_BaseKeyframe.rs
+++ b/src/features/gen_BaseKeyframe.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BasePropertyIndexedKeyframe.rs b/src/features/gen_BasePropertyIndexedKeyframe.rs
index b6dbdf0..38eebc9 100644
--- a/src/features/gen_BasePropertyIndexedKeyframe.rs
+++ b/src/features/gen_BasePropertyIndexedKeyframe.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BasicCardRequest.rs b/src/features/gen_BasicCardRequest.rs
index a0e60aa..6b029a4 100644
--- a/src/features/gen_BasicCardRequest.rs
+++ b/src/features/gen_BasicCardRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BasicCardResponse.rs b/src/features/gen_BasicCardResponse.rs
index b005d71..1341341 100644
--- a/src/features/gen_BasicCardResponse.rs
+++ b/src/features/gen_BasicCardResponse.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BasicCardType.rs b/src/features/gen_BasicCardType.rs
index 2a7b1c7..87d4522 100644
--- a/src/features/gen_BasicCardType.rs
+++ b/src/features/gen_BasicCardType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `BasicCardType` enum."]
diff --git a/src/features/gen_BatteryManager.rs b/src/features/gen_BatteryManager.rs
index 1098d5c..2185efb 100644
--- a/src/features/gen_BatteryManager.rs
+++ b/src/features/gen_BatteryManager.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BeforeUnloadEvent.rs b/src/features/gen_BeforeUnloadEvent.rs
index 981323e..c5392a6 100644
--- a/src/features/gen_BeforeUnloadEvent.rs
+++ b/src/features/gen_BeforeUnloadEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BinaryType.rs b/src/features/gen_BinaryType.rs
index d7ee13b..aa7ab23 100644
--- a/src/features/gen_BinaryType.rs
+++ b/src/features/gen_BinaryType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `BinaryType` enum."]
diff --git a/src/features/gen_BiquadFilterNode.rs b/src/features/gen_BiquadFilterNode.rs
index 5c0dd01..a83d827 100644
--- a/src/features/gen_BiquadFilterNode.rs
+++ b/src/features/gen_BiquadFilterNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BiquadFilterOptions.rs b/src/features/gen_BiquadFilterOptions.rs
index af051cb..d8a4af2 100644
--- a/src/features/gen_BiquadFilterOptions.rs
+++ b/src/features/gen_BiquadFilterOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BiquadFilterType.rs b/src/features/gen_BiquadFilterType.rs
index 21743d5..fbd455d 100644
--- a/src/features/gen_BiquadFilterType.rs
+++ b/src/features/gen_BiquadFilterType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `BiquadFilterType` enum."]
diff --git a/src/features/gen_Blob.rs b/src/features/gen_Blob.rs
index 3300b57..681bd08 100644
--- a/src/features/gen_Blob.rs
+++ b/src/features/gen_Blob.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BlobEvent.rs b/src/features/gen_BlobEvent.rs
index 2274dde..5fc56d5 100644
--- a/src/features/gen_BlobEvent.rs
+++ b/src/features/gen_BlobEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BlobEventInit.rs b/src/features/gen_BlobEventInit.rs
index 10d3810..5abb9a6 100644
--- a/src/features/gen_BlobEventInit.rs
+++ b/src/features/gen_BlobEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BlobPropertyBag.rs b/src/features/gen_BlobPropertyBag.rs
index e7d1f6f..80cf07e 100644
--- a/src/features/gen_BlobPropertyBag.rs
+++ b/src/features/gen_BlobPropertyBag.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BlockParsingOptions.rs b/src/features/gen_BlockParsingOptions.rs
index 9e0e4db..f12f036 100644
--- a/src/features/gen_BlockParsingOptions.rs
+++ b/src/features/gen_BlockParsingOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Bluetooth.rs b/src/features/gen_Bluetooth.rs
index 826ee01..4bd36b2 100644
--- a/src/features/gen_Bluetooth.rs
+++ b/src/features/gen_Bluetooth.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothAdvertisingEvent.rs b/src/features/gen_BluetoothAdvertisingEvent.rs
index 5919467..1bb43d7 100644
--- a/src/features/gen_BluetoothAdvertisingEvent.rs
+++ b/src/features/gen_BluetoothAdvertisingEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothAdvertisingEventInit.rs b/src/features/gen_BluetoothAdvertisingEventInit.rs
index cee141a..4a1bf8b 100644
--- a/src/features/gen_BluetoothAdvertisingEventInit.rs
+++ b/src/features/gen_BluetoothAdvertisingEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothCharacteristicProperties.rs b/src/features/gen_BluetoothCharacteristicProperties.rs
index 0c301b0..3105c43 100644
--- a/src/features/gen_BluetoothCharacteristicProperties.rs
+++ b/src/features/gen_BluetoothCharacteristicProperties.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothDataFilterInit.rs b/src/features/gen_BluetoothDataFilterInit.rs
index e8908b1..d986724 100644
--- a/src/features/gen_BluetoothDataFilterInit.rs
+++ b/src/features/gen_BluetoothDataFilterInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothDevice.rs b/src/features/gen_BluetoothDevice.rs
index 95dfae1..290effe 100644
--- a/src/features/gen_BluetoothDevice.rs
+++ b/src/features/gen_BluetoothDevice.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothLeScanFilterInit.rs b/src/features/gen_BluetoothLeScanFilterInit.rs
index 4e8a4cb..7c75bbc 100644
--- a/src/features/gen_BluetoothLeScanFilterInit.rs
+++ b/src/features/gen_BluetoothLeScanFilterInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothManufacturerDataMap.rs b/src/features/gen_BluetoothManufacturerDataMap.rs
index db317c7..4019b01 100644
--- a/src/features/gen_BluetoothManufacturerDataMap.rs
+++ b/src/features/gen_BluetoothManufacturerDataMap.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
@@ -15,4 +16,84 @@ extern "C" {
     #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
     #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub type BluetoothManufacturerDataMap;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "BluetoothManufacturerDataMap" , js_name = size)]
+    #[doc = "Getter for the `size` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothManufacturerDataMap/size)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothManufacturerDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn size(this: &BluetoothManufacturerDataMap) -> u32;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "BluetoothManufacturerDataMap" , js_name = entries)]
+    #[doc = "The `entries()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothManufacturerDataMap/entries)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothManufacturerDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn entries(this: &BluetoothManufacturerDataMap) -> ::js_sys::Iterator;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "BluetoothManufacturerDataMap" , js_name = forEach)]
+    #[doc = "The `forEach()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothManufacturerDataMap/forEach)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothManufacturerDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn for_each(
+        this: &BluetoothManufacturerDataMap,
+        callback: &::js_sys::Function,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "BluetoothManufacturerDataMap" , js_name = get)]
+    #[doc = "The `get()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothManufacturerDataMap/get)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothManufacturerDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get(this: &BluetoothManufacturerDataMap, key: u16) -> Option<::js_sys::DataView>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "BluetoothManufacturerDataMap" , js_name = has)]
+    #[doc = "The `has()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothManufacturerDataMap/has)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothManufacturerDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn has(this: &BluetoothManufacturerDataMap, key: u16) -> bool;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "BluetoothManufacturerDataMap" , js_name = keys)]
+    #[doc = "The `keys()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothManufacturerDataMap/keys)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothManufacturerDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn keys(this: &BluetoothManufacturerDataMap) -> ::js_sys::Iterator;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "BluetoothManufacturerDataMap" , js_name = values)]
+    #[doc = "The `values()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothManufacturerDataMap/values)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothManufacturerDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn values(this: &BluetoothManufacturerDataMap) -> ::js_sys::Iterator;
 }
diff --git a/src/features/gen_BluetoothPermissionDescriptor.rs b/src/features/gen_BluetoothPermissionDescriptor.rs
index 9f5f22a..9ac1d17 100644
--- a/src/features/gen_BluetoothPermissionDescriptor.rs
+++ b/src/features/gen_BluetoothPermissionDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothPermissionResult.rs b/src/features/gen_BluetoothPermissionResult.rs
index 68bc1a2..036735a 100644
--- a/src/features/gen_BluetoothPermissionResult.rs
+++ b/src/features/gen_BluetoothPermissionResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothPermissionStorage.rs b/src/features/gen_BluetoothPermissionStorage.rs
index 28aab60..57190d3 100644
--- a/src/features/gen_BluetoothPermissionStorage.rs
+++ b/src/features/gen_BluetoothPermissionStorage.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothRemoteGattCharacteristic.rs b/src/features/gen_BluetoothRemoteGattCharacteristic.rs
index 7858ac3..bc61649 100644
--- a/src/features/gen_BluetoothRemoteGattCharacteristic.rs
+++ b/src/features/gen_BluetoothRemoteGattCharacteristic.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothRemoteGattDescriptor.rs b/src/features/gen_BluetoothRemoteGattDescriptor.rs
index 1437552..0b26445 100644
--- a/src/features/gen_BluetoothRemoteGattDescriptor.rs
+++ b/src/features/gen_BluetoothRemoteGattDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothRemoteGattServer.rs b/src/features/gen_BluetoothRemoteGattServer.rs
index 76e8d83..20c8dd6 100644
--- a/src/features/gen_BluetoothRemoteGattServer.rs
+++ b/src/features/gen_BluetoothRemoteGattServer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothRemoteGattService.rs b/src/features/gen_BluetoothRemoteGattService.rs
index 852c88b..15dbccb 100644
--- a/src/features/gen_BluetoothRemoteGattService.rs
+++ b/src/features/gen_BluetoothRemoteGattService.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BluetoothServiceDataMap.rs b/src/features/gen_BluetoothServiceDataMap.rs
index cb089ef..ebb9187 100644
--- a/src/features/gen_BluetoothServiceDataMap.rs
+++ b/src/features/gen_BluetoothServiceDataMap.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
@@ -15,4 +16,84 @@ extern "C" {
     #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
     #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub type BluetoothServiceDataMap;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "BluetoothServiceDataMap" , js_name = size)]
+    #[doc = "Getter for the `size` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothServiceDataMap/size)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothServiceDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn size(this: &BluetoothServiceDataMap) -> u32;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "BluetoothServiceDataMap" , js_name = entries)]
+    #[doc = "The `entries()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothServiceDataMap/entries)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothServiceDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn entries(this: &BluetoothServiceDataMap) -> ::js_sys::Iterator;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "BluetoothServiceDataMap" , js_name = forEach)]
+    #[doc = "The `forEach()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothServiceDataMap/forEach)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothServiceDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn for_each(
+        this: &BluetoothServiceDataMap,
+        callback: &::js_sys::Function,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "BluetoothServiceDataMap" , js_name = get)]
+    #[doc = "The `get()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothServiceDataMap/get)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothServiceDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get(this: &BluetoothServiceDataMap, key: &str) -> Option<::js_sys::DataView>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "BluetoothServiceDataMap" , js_name = has)]
+    #[doc = "The `has()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothServiceDataMap/has)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothServiceDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn has(this: &BluetoothServiceDataMap, key: &str) -> bool;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "BluetoothServiceDataMap" , js_name = keys)]
+    #[doc = "The `keys()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothServiceDataMap/keys)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothServiceDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn keys(this: &BluetoothServiceDataMap) -> ::js_sys::Iterator;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "BluetoothServiceDataMap" , js_name = values)]
+    #[doc = "The `values()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothServiceDataMap/values)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `BluetoothServiceDataMap`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn values(this: &BluetoothServiceDataMap) -> ::js_sys::Iterator;
 }
diff --git a/src/features/gen_BluetoothUuid.rs b/src/features/gen_BluetoothUuid.rs
index 65e1505..49e4501 100644
--- a/src/features/gen_BluetoothUuid.rs
+++ b/src/features/gen_BluetoothUuid.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_BoxQuadOptions.rs b/src/features/gen_BoxQuadOptions.rs
index ce23e22..3b54ddb 100644
--- a/src/features/gen_BoxQuadOptions.rs
+++ b/src/features/gen_BoxQuadOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BroadcastChannel.rs b/src/features/gen_BroadcastChannel.rs
index 1706b65..5f607d0 100644
--- a/src/features/gen_BroadcastChannel.rs
+++ b/src/features/gen_BroadcastChannel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BrowserElementDownloadOptions.rs b/src/features/gen_BrowserElementDownloadOptions.rs
index 7388291..6f91e51 100644
--- a/src/features/gen_BrowserElementDownloadOptions.rs
+++ b/src/features/gen_BrowserElementDownloadOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BrowserElementExecuteScriptOptions.rs b/src/features/gen_BrowserElementExecuteScriptOptions.rs
index 358360c..065a954 100644
--- a/src/features/gen_BrowserElementExecuteScriptOptions.rs
+++ b/src/features/gen_BrowserElementExecuteScriptOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BrowserFeedWriter.rs b/src/features/gen_BrowserFeedWriter.rs
index 8e0ad36..e1fb9ec 100644
--- a/src/features/gen_BrowserFeedWriter.rs
+++ b/src/features/gen_BrowserFeedWriter.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_BrowserFindCaseSensitivity.rs b/src/features/gen_BrowserFindCaseSensitivity.rs
index 8191347..7e5ad4f 100644
--- a/src/features/gen_BrowserFindCaseSensitivity.rs
+++ b/src/features/gen_BrowserFindCaseSensitivity.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `BrowserFindCaseSensitivity` enum."]
diff --git a/src/features/gen_BrowserFindDirection.rs b/src/features/gen_BrowserFindDirection.rs
index d5b8b46..a45e63c 100644
--- a/src/features/gen_BrowserFindDirection.rs
+++ b/src/features/gen_BrowserFindDirection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `BrowserFindDirection` enum."]
diff --git a/src/features/gen_ByteLengthQueuingStrategy.rs b/src/features/gen_ByteLengthQueuingStrategy.rs
index c29737f..a35ddad 100644
--- a/src/features/gen_ByteLengthQueuingStrategy.rs
+++ b/src/features/gen_ByteLengthQueuingStrategy.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Cache.rs b/src/features/gen_Cache.rs
index 3526097..b28809a 100644
--- a/src/features/gen_Cache.rs
+++ b/src/features/gen_Cache.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CacheBatchOperation.rs b/src/features/gen_CacheBatchOperation.rs
index 8caf881..8f5a31d 100644
--- a/src/features/gen_CacheBatchOperation.rs
+++ b/src/features/gen_CacheBatchOperation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CacheQueryOptions.rs b/src/features/gen_CacheQueryOptions.rs
index 061fc49..527080e 100644
--- a/src/features/gen_CacheQueryOptions.rs
+++ b/src/features/gen_CacheQueryOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CacheStorage.rs b/src/features/gen_CacheStorage.rs
index 46e9a8b..14a04d0 100644
--- a/src/features/gen_CacheStorage.rs
+++ b/src/features/gen_CacheStorage.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CacheStorageNamespace.rs b/src/features/gen_CacheStorageNamespace.rs
index ace039c..fd3ee28 100644
--- a/src/features/gen_CacheStorageNamespace.rs
+++ b/src/features/gen_CacheStorageNamespace.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `CacheStorageNamespace` enum."]
diff --git a/src/features/gen_CanvasCaptureMediaStream.rs b/src/features/gen_CanvasCaptureMediaStream.rs
index 050555c..73d0406 100644
--- a/src/features/gen_CanvasCaptureMediaStream.rs
+++ b/src/features/gen_CanvasCaptureMediaStream.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CanvasCaptureMediaStreamTrack.rs b/src/features/gen_CanvasCaptureMediaStreamTrack.rs
new file mode 100644
index 0000000..55eb165
--- /dev/null
+++ b/src/features/gen_CanvasCaptureMediaStreamTrack.rs
@@ -0,0 +1,30 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = MediaStreamTrack , extends = EventTarget , extends = :: js_sys :: Object , js_name = CanvasCaptureMediaStreamTrack , typescript_type = "CanvasCaptureMediaStreamTrack")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `CanvasCaptureMediaStreamTrack` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasCaptureMediaStreamTrack)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasCaptureMediaStreamTrack`*"]
+    pub type CanvasCaptureMediaStreamTrack;
+    #[cfg(feature = "HtmlCanvasElement")]
+    # [wasm_bindgen (structural , method , getter , js_class = "CanvasCaptureMediaStreamTrack" , js_name = canvas)]
+    #[doc = "Getter for the `canvas` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasCaptureMediaStreamTrack/canvas)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasCaptureMediaStreamTrack`, `HtmlCanvasElement`*"]
+    pub fn canvas(this: &CanvasCaptureMediaStreamTrack) -> HtmlCanvasElement;
+    # [wasm_bindgen (method , structural , js_class = "CanvasCaptureMediaStreamTrack" , js_name = requestFrame)]
+    #[doc = "The `requestFrame()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasCaptureMediaStreamTrack/requestFrame)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasCaptureMediaStreamTrack`*"]
+    pub fn request_frame(this: &CanvasCaptureMediaStreamTrack);
+}
diff --git a/src/features/gen_CanvasGradient.rs b/src/features/gen_CanvasGradient.rs
index 007a39b..0450067 100644
--- a/src/features/gen_CanvasGradient.rs
+++ b/src/features/gen_CanvasGradient.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CanvasPattern.rs b/src/features/gen_CanvasPattern.rs
index 5ff06e2..bc939b0 100644
--- a/src/features/gen_CanvasPattern.rs
+++ b/src/features/gen_CanvasPattern.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CanvasRenderingContext2d.rs b/src/features/gen_CanvasRenderingContext2d.rs
index 3f353b9..3355768 100644
--- a/src/features/gen_CanvasRenderingContext2d.rs
+++ b/src/features/gen_CanvasRenderingContext2d.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -372,6 +373,36 @@ extern "C" {
         dx: f64,
         dy: f64,
     ) -> Result<(), JsValue>;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `OffscreenCanvas`*"]
+    pub fn draw_image_with_offscreen_canvas(
+        this: &CanvasRenderingContext2d,
+        image: &OffscreenCanvas,
+        dx: f64,
+        dy: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrame")]
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `VideoFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn draw_image_with_video_frame(
+        this: &CanvasRenderingContext2d,
+        image: &VideoFrame,
+        dx: f64,
+        dy: f64,
+    ) -> Result<(), JsValue>;
     #[cfg(feature = "HtmlImageElement")]
     # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = drawImage)]
     #[doc = "The `drawImage()` method."]
@@ -447,6 +478,40 @@ extern "C" {
         dw: f64,
         dh: f64,
     ) -> Result<(), JsValue>;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `OffscreenCanvas`*"]
+    pub fn draw_image_with_offscreen_canvas_and_dw_and_dh(
+        this: &CanvasRenderingContext2d,
+        image: &OffscreenCanvas,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrame")]
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `VideoFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn draw_image_with_video_frame_and_dw_and_dh(
+        this: &CanvasRenderingContext2d,
+        image: &VideoFrame,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
     #[cfg(feature = "HtmlImageElement")]
     # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = drawImage)]
     #[doc = "The `drawImage()` method."]
@@ -542,6 +607,48 @@ extern "C" {
         dw: f64,
         dh: f64,
     ) -> Result<(), JsValue>;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `OffscreenCanvas`*"]
+    pub fn draw_image_with_offscreen_canvas_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh(
+        this: &CanvasRenderingContext2d,
+        image: &OffscreenCanvas,
+        sx: f64,
+        sy: f64,
+        sw: f64,
+        sh: f64,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrame")]
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `VideoFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn draw_image_with_video_frame_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh(
+        this: &CanvasRenderingContext2d,
+        image: &VideoFrame,
+        sx: f64,
+        sy: f64,
+        sw: f64,
+        sh: f64,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
     # [wasm_bindgen (method , structural , js_class = "CanvasRenderingContext2D" , js_name = beginPath)]
     #[doc = "The `beginPath()` method."]
     #[doc = ""]
@@ -782,6 +889,34 @@ extern "C" {
         image: &ImageBitmap,
         repetition: &str,
     ) -> Result<Option<CanvasPattern>, JsValue>;
+    #[cfg(all(feature = "CanvasPattern", feature = "OffscreenCanvas",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = createPattern)]
+    #[doc = "The `createPattern()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createPattern)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasPattern`, `CanvasRenderingContext2d`, `OffscreenCanvas`*"]
+    pub fn create_pattern_with_offscreen_canvas(
+        this: &CanvasRenderingContext2d,
+        image: &OffscreenCanvas,
+        repetition: &str,
+    ) -> Result<Option<CanvasPattern>, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "CanvasPattern", feature = "VideoFrame",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = createPattern)]
+    #[doc = "The `createPattern()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createPattern)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasPattern`, `CanvasRenderingContext2d`, `VideoFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_pattern_with_video_frame(
+        this: &CanvasRenderingContext2d,
+        image: &VideoFrame,
+        repetition: &str,
+    ) -> Result<Option<CanvasPattern>, JsValue>;
     #[cfg(feature = "CanvasGradient")]
     # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = createRadialGradient)]
     #[doc = "The `createRadialGradient()` method."]
@@ -897,23 +1032,6 @@ extern "C" {
         dirty_width: f64,
         dirty_height: f64,
     ) -> Result<(), JsValue>;
-    # [wasm_bindgen (method , structural , js_class = "CanvasRenderingContext2D" , js_name = getLineDash)]
-    #[doc = "The `getLineDash()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`*"]
-    pub fn get_line_dash(this: &CanvasRenderingContext2d) -> ::js_sys::Array;
-    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = setLineDash)]
-    #[doc = "The `setLineDash()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`*"]
-    pub fn set_line_dash(
-        this: &CanvasRenderingContext2d,
-        segments: &::wasm_bindgen::JsValue,
-    ) -> Result<(), JsValue>;
     # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = arc)]
     #[doc = "The `arc()` method."]
     #[doc = ""]
@@ -1040,6 +1158,93 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`*"]
     pub fn rect(this: &CanvasRenderingContext2d, x: f64, y: f64, w: f64, h: f64);
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`*"]
+    pub fn round_rect(
+        this: &CanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`*"]
+    pub fn round_rect_with_f64(
+        this: &CanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "DomPointInit")]
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `DomPointInit`*"]
+    pub fn round_rect_with_dom_point_init(
+        this: &CanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: &DomPointInit,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`*"]
+    pub fn round_rect_with_f64_sequence(
+        this: &CanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: &::wasm_bindgen::JsValue,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`*"]
+    pub fn round_rect_with_dom_point_init_sequence(
+        this: &CanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: &::wasm_bindgen::JsValue,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (method , structural , js_class = "CanvasRenderingContext2D" , js_name = getLineDash)]
+    #[doc = "The `getLineDash()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`*"]
+    pub fn get_line_dash(this: &CanvasRenderingContext2d) -> ::js_sys::Array;
+    # [wasm_bindgen (catch , method , structural , js_class = "CanvasRenderingContext2D" , js_name = setLineDash)]
+    #[doc = "The `setLineDash()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`*"]
+    pub fn set_line_dash(
+        this: &CanvasRenderingContext2d,
+        segments: &::wasm_bindgen::JsValue,
+    ) -> Result<(), JsValue>;
     # [wasm_bindgen (method , structural , js_class = "CanvasRenderingContext2D" , js_name = clearRect)]
     #[doc = "The `clearRect()` method."]
     #[doc = ""]
diff --git a/src/features/gen_CanvasWindingRule.rs b/src/features/gen_CanvasWindingRule.rs
index 35493d4..1ee94c1 100644
--- a/src/features/gen_CanvasWindingRule.rs
+++ b/src/features/gen_CanvasWindingRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `CanvasWindingRule` enum."]
diff --git a/src/features/gen_CaretChangedReason.rs b/src/features/gen_CaretChangedReason.rs
index 60d24f0..1782320 100644
--- a/src/features/gen_CaretChangedReason.rs
+++ b/src/features/gen_CaretChangedReason.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `CaretChangedReason` enum."]
diff --git a/src/features/gen_CaretPosition.rs b/src/features/gen_CaretPosition.rs
index c6cfba2..f9e558b 100644
--- a/src/features/gen_CaretPosition.rs
+++ b/src/features/gen_CaretPosition.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CaretStateChangedEventInit.rs b/src/features/gen_CaretStateChangedEventInit.rs
index 7a8015b..cea0ebc 100644
--- a/src/features/gen_CaretStateChangedEventInit.rs
+++ b/src/features/gen_CaretStateChangedEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CdataSection.rs b/src/features/gen_CdataSection.rs
index c472746..a9b04ea 100644
--- a/src/features/gen_CdataSection.rs
+++ b/src/features/gen_CdataSection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ChannelCountMode.rs b/src/features/gen_ChannelCountMode.rs
index f464634..d801074 100644
--- a/src/features/gen_ChannelCountMode.rs
+++ b/src/features/gen_ChannelCountMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ChannelCountMode` enum."]
diff --git a/src/features/gen_ChannelInterpretation.rs b/src/features/gen_ChannelInterpretation.rs
index 2fe8463..a45eeca 100644
--- a/src/features/gen_ChannelInterpretation.rs
+++ b/src/features/gen_ChannelInterpretation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ChannelInterpretation` enum."]
diff --git a/src/features/gen_ChannelMergerNode.rs b/src/features/gen_ChannelMergerNode.rs
index 0ce61ce..3d53cc5 100644
--- a/src/features/gen_ChannelMergerNode.rs
+++ b/src/features/gen_ChannelMergerNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ChannelMergerOptions.rs b/src/features/gen_ChannelMergerOptions.rs
index c259c8a..314a2c2 100644
--- a/src/features/gen_ChannelMergerOptions.rs
+++ b/src/features/gen_ChannelMergerOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ChannelPixelLayout.rs b/src/features/gen_ChannelPixelLayout.rs
deleted file mode 100644
index ac56236..0000000
--- a/src/features/gen_ChannelPixelLayout.rs
+++ /dev/null
@@ -1,122 +0,0 @@
-#![allow(unused_imports)]
-use super::*;
-use wasm_bindgen::prelude::*;
-#[wasm_bindgen]
-extern "C" {
-    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = ChannelPixelLayout)]
-    #[derive(Debug, Clone, PartialEq, Eq)]
-    #[doc = "The `ChannelPixelLayout` dictionary."]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ChannelPixelLayout`*"]
-    pub type ChannelPixelLayout;
-}
-impl ChannelPixelLayout {
-    #[cfg(feature = "ChannelPixelLayoutDataType")]
-    #[doc = "Construct a new `ChannelPixelLayout`."]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ChannelPixelLayout`, `ChannelPixelLayoutDataType`*"]
-    pub fn new(
-        data_type: ChannelPixelLayoutDataType,
-        height: u32,
-        offset: u32,
-        skip: u32,
-        stride: u32,
-        width: u32,
-    ) -> Self {
-        #[allow(unused_mut)]
-        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
-        ret.data_type(data_type);
-        ret.height(height);
-        ret.offset(offset);
-        ret.skip(skip);
-        ret.stride(stride);
-        ret.width(width);
-        ret
-    }
-    #[cfg(feature = "ChannelPixelLayoutDataType")]
-    #[doc = "Change the `dataType` field of this object."]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ChannelPixelLayout`, `ChannelPixelLayoutDataType`*"]
-    pub fn data_type(&mut self, val: ChannelPixelLayoutDataType) -> &mut Self {
-        use wasm_bindgen::JsValue;
-        let r = ::js_sys::Reflect::set(
-            self.as_ref(),
-            &JsValue::from("dataType"),
-            &JsValue::from(val),
-        );
-        debug_assert!(
-            r.is_ok(),
-            "setting properties should never fail on our dictionary objects"
-        );
-        let _ = r;
-        self
-    }
-    #[doc = "Change the `height` field of this object."]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ChannelPixelLayout`*"]
-    pub fn height(&mut self, val: u32) -> &mut Self {
-        use wasm_bindgen::JsValue;
-        let r =
-            ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("height"), &JsValue::from(val));
-        debug_assert!(
-            r.is_ok(),
-            "setting properties should never fail on our dictionary objects"
-        );
-        let _ = r;
-        self
-    }
-    #[doc = "Change the `offset` field of this object."]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ChannelPixelLayout`*"]
-    pub fn offset(&mut self, val: u32) -> &mut Self {
-        use wasm_bindgen::JsValue;
-        let r =
-            ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("offset"), &JsValue::from(val));
-        debug_assert!(
-            r.is_ok(),
-            "setting properties should never fail on our dictionary objects"
-        );
-        let _ = r;
-        self
-    }
-    #[doc = "Change the `skip` field of this object."]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ChannelPixelLayout`*"]
-    pub fn skip(&mut self, val: u32) -> &mut Self {
-        use wasm_bindgen::JsValue;
-        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("skip"), &JsValue::from(val));
-        debug_assert!(
-            r.is_ok(),
-            "setting properties should never fail on our dictionary objects"
-        );
-        let _ = r;
-        self
-    }
-    #[doc = "Change the `stride` field of this object."]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ChannelPixelLayout`*"]
-    pub fn stride(&mut self, val: u32) -> &mut Self {
-        use wasm_bindgen::JsValue;
-        let r =
-            ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("stride"), &JsValue::from(val));
-        debug_assert!(
-            r.is_ok(),
-            "setting properties should never fail on our dictionary objects"
-        );
-        let _ = r;
-        self
-    }
-    #[doc = "Change the `width` field of this object."]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ChannelPixelLayout`*"]
-    pub fn width(&mut self, val: u32) -> &mut Self {
-        use wasm_bindgen::JsValue;
-        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("width"), &JsValue::from(val));
-        debug_assert!(
-            r.is_ok(),
-            "setting properties should never fail on our dictionary objects"
-        );
-        let _ = r;
-        self
-    }
-}
diff --git a/src/features/gen_ChannelPixelLayoutDataType.rs b/src/features/gen_ChannelPixelLayoutDataType.rs
deleted file mode 100644
index d9ddd58..0000000
--- a/src/features/gen_ChannelPixelLayoutDataType.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-#![allow(unused_imports)]
-use wasm_bindgen::prelude::*;
-#[wasm_bindgen]
-#[doc = "The `ChannelPixelLayoutDataType` enum."]
-#[doc = ""]
-#[doc = "*This API requires the following crate features to be activated: `ChannelPixelLayoutDataType`*"]
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
-pub enum ChannelPixelLayoutDataType {
-    Uint8 = "uint8",
-    Int8 = "int8",
-    Uint16 = "uint16",
-    Int16 = "int16",
-    Uint32 = "uint32",
-    Int32 = "int32",
-    Float32 = "float32",
-    Float64 = "float64",
-}
diff --git a/src/features/gen_ChannelSplitterNode.rs b/src/features/gen_ChannelSplitterNode.rs
index c094aac..21b52d4 100644
--- a/src/features/gen_ChannelSplitterNode.rs
+++ b/src/features/gen_ChannelSplitterNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ChannelSplitterOptions.rs b/src/features/gen_ChannelSplitterOptions.rs
index 2c045ef..2dc8884 100644
--- a/src/features/gen_ChannelSplitterOptions.rs
+++ b/src/features/gen_ChannelSplitterOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CharacterData.rs b/src/features/gen_CharacterData.rs
index 1331630..7882008 100644
--- a/src/features/gen_CharacterData.rs
+++ b/src/features/gen_CharacterData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CheckerboardReason.rs b/src/features/gen_CheckerboardReason.rs
index a978a6c..d8cbc53 100644
--- a/src/features/gen_CheckerboardReason.rs
+++ b/src/features/gen_CheckerboardReason.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `CheckerboardReason` enum."]
diff --git a/src/features/gen_CheckerboardReport.rs b/src/features/gen_CheckerboardReport.rs
index a79c8d1..0e2f5c3 100644
--- a/src/features/gen_CheckerboardReport.rs
+++ b/src/features/gen_CheckerboardReport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CheckerboardReportService.rs b/src/features/gen_CheckerboardReportService.rs
index d5abcf8..984b099 100644
--- a/src/features/gen_CheckerboardReportService.rs
+++ b/src/features/gen_CheckerboardReportService.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ChromeFilePropertyBag.rs b/src/features/gen_ChromeFilePropertyBag.rs
index 0461954..234090c 100644
--- a/src/features/gen_ChromeFilePropertyBag.rs
+++ b/src/features/gen_ChromeFilePropertyBag.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ChromeWorker.rs b/src/features/gen_ChromeWorker.rs
index 736f225..f92cebb 100644
--- a/src/features/gen_ChromeWorker.rs
+++ b/src/features/gen_ChromeWorker.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Client.rs b/src/features/gen_Client.rs
index ecf6a2a..28af0c1 100644
--- a/src/features/gen_Client.rs
+++ b/src/features/gen_Client.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ClientQueryOptions.rs b/src/features/gen_ClientQueryOptions.rs
index 84dbc07..fdbb30d 100644
--- a/src/features/gen_ClientQueryOptions.rs
+++ b/src/features/gen_ClientQueryOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ClientRectsAndTexts.rs b/src/features/gen_ClientRectsAndTexts.rs
index e8a8fec..a063f0a 100644
--- a/src/features/gen_ClientRectsAndTexts.rs
+++ b/src/features/gen_ClientRectsAndTexts.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ClientType.rs b/src/features/gen_ClientType.rs
index fa617a5..43ea6b9 100644
--- a/src/features/gen_ClientType.rs
+++ b/src/features/gen_ClientType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ClientType` enum."]
diff --git a/src/features/gen_Clients.rs b/src/features/gen_Clients.rs
index a33c001..30c05f4 100644
--- a/src/features/gen_Clients.rs
+++ b/src/features/gen_Clients.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Clipboard.rs b/src/features/gen_Clipboard.rs
index b9029e3..66c456d 100644
--- a/src/features/gen_Clipboard.rs
+++ b/src/features/gen_Clipboard.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ClipboardEvent.rs b/src/features/gen_ClipboardEvent.rs
index 38410d8..18b46f6 100644
--- a/src/features/gen_ClipboardEvent.rs
+++ b/src/features/gen_ClipboardEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ClipboardEventInit.rs b/src/features/gen_ClipboardEventInit.rs
index 74290a8..6bb0d8a 100644
--- a/src/features/gen_ClipboardEventInit.rs
+++ b/src/features/gen_ClipboardEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ClipboardItem.rs b/src/features/gen_ClipboardItem.rs
index ba37612..435f1a4 100644
--- a/src/features/gen_ClipboardItem.rs
+++ b/src/features/gen_ClipboardItem.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ClipboardItemOptions.rs b/src/features/gen_ClipboardItemOptions.rs
index 00056db..c83e7ae 100644
--- a/src/features/gen_ClipboardItemOptions.rs
+++ b/src/features/gen_ClipboardItemOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ClipboardPermissionDescriptor.rs b/src/features/gen_ClipboardPermissionDescriptor.rs
index 32568bb..8028a26 100644
--- a/src/features/gen_ClipboardPermissionDescriptor.rs
+++ b/src/features/gen_ClipboardPermissionDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_CloseEvent.rs b/src/features/gen_CloseEvent.rs
index 0af95b5..5a4d403 100644
--- a/src/features/gen_CloseEvent.rs
+++ b/src/features/gen_CloseEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CloseEventInit.rs b/src/features/gen_CloseEventInit.rs
index c912597..f32e46a 100644
--- a/src/features/gen_CloseEventInit.rs
+++ b/src/features/gen_CloseEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CodecState.rs b/src/features/gen_CodecState.rs
index 76b60e2..7648d53 100644
--- a/src/features/gen_CodecState.rs
+++ b/src/features/gen_CodecState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_CollectedClientData.rs b/src/features/gen_CollectedClientData.rs
index 6c06dfa..1998591 100644
--- a/src/features/gen_CollectedClientData.rs
+++ b/src/features/gen_CollectedClientData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ColorSpaceConversion.rs b/src/features/gen_ColorSpaceConversion.rs
new file mode 100644
index 0000000..91409cd
--- /dev/null
+++ b/src/features/gen_ColorSpaceConversion.rs
@@ -0,0 +1,12 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+#[doc = "The `ColorSpaceConversion` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `ColorSpaceConversion`*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum ColorSpaceConversion {
+    None = "none",
+    Default = "default",
+}
diff --git a/src/features/gen_Comment.rs b/src/features/gen_Comment.rs
index d061d99..405c23f 100644
--- a/src/features/gen_Comment.rs
+++ b/src/features/gen_Comment.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CompositeOperation.rs b/src/features/gen_CompositeOperation.rs
index 97f603f..246fc95 100644
--- a/src/features/gen_CompositeOperation.rs
+++ b/src/features/gen_CompositeOperation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `CompositeOperation` enum."]
diff --git a/src/features/gen_CompositionEvent.rs b/src/features/gen_CompositionEvent.rs
index 550211e..b68af4e 100644
--- a/src/features/gen_CompositionEvent.rs
+++ b/src/features/gen_CompositionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CompositionEventInit.rs b/src/features/gen_CompositionEventInit.rs
index 2c45e5f..d912089 100644
--- a/src/features/gen_CompositionEventInit.rs
+++ b/src/features/gen_CompositionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ComputedEffectTiming.rs b/src/features/gen_ComputedEffectTiming.rs
index 4135405..85ab85a 100644
--- a/src/features/gen_ComputedEffectTiming.rs
+++ b/src/features/gen_ComputedEffectTiming.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConnStatusDict.rs b/src/features/gen_ConnStatusDict.rs
index 64f8522..0a488eb 100644
--- a/src/features/gen_ConnStatusDict.rs
+++ b/src/features/gen_ConnStatusDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConnectionType.rs b/src/features/gen_ConnectionType.rs
index 910915f..5597349 100644
--- a/src/features/gen_ConnectionType.rs
+++ b/src/features/gen_ConnectionType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ConnectionType` enum."]
diff --git a/src/features/gen_ConsoleCounter.rs b/src/features/gen_ConsoleCounter.rs
index 84afd5d..e3a80a9 100644
--- a/src/features/gen_ConsoleCounter.rs
+++ b/src/features/gen_ConsoleCounter.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConsoleCounterError.rs b/src/features/gen_ConsoleCounterError.rs
index bfa25ad..91da438 100644
--- a/src/features/gen_ConsoleCounterError.rs
+++ b/src/features/gen_ConsoleCounterError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConsoleEvent.rs b/src/features/gen_ConsoleEvent.rs
index a30cd37..3f56778 100644
--- a/src/features/gen_ConsoleEvent.rs
+++ b/src/features/gen_ConsoleEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConsoleInstance.rs b/src/features/gen_ConsoleInstance.rs
index c27a311..d50e1af 100644
--- a/src/features/gen_ConsoleInstance.rs
+++ b/src/features/gen_ConsoleInstance.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConsoleInstanceOptions.rs b/src/features/gen_ConsoleInstanceOptions.rs
index 6a4f129..80bdfc5 100644
--- a/src/features/gen_ConsoleInstanceOptions.rs
+++ b/src/features/gen_ConsoleInstanceOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConsoleLevel.rs b/src/features/gen_ConsoleLevel.rs
index a60bbd0..fb7f697 100644
--- a/src/features/gen_ConsoleLevel.rs
+++ b/src/features/gen_ConsoleLevel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ConsoleLevel` enum."]
diff --git a/src/features/gen_ConsoleLogLevel.rs b/src/features/gen_ConsoleLogLevel.rs
index 6d396e0..6946606 100644
--- a/src/features/gen_ConsoleLogLevel.rs
+++ b/src/features/gen_ConsoleLogLevel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ConsoleLogLevel` enum."]
diff --git a/src/features/gen_ConsoleProfileEvent.rs b/src/features/gen_ConsoleProfileEvent.rs
index d1e2674..684c2de 100644
--- a/src/features/gen_ConsoleProfileEvent.rs
+++ b/src/features/gen_ConsoleProfileEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConsoleStackEntry.rs b/src/features/gen_ConsoleStackEntry.rs
index b63d60b..65fef9e 100644
--- a/src/features/gen_ConsoleStackEntry.rs
+++ b/src/features/gen_ConsoleStackEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConsoleTimerError.rs b/src/features/gen_ConsoleTimerError.rs
index dacab00..2ad058b 100644
--- a/src/features/gen_ConsoleTimerError.rs
+++ b/src/features/gen_ConsoleTimerError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConsoleTimerLogOrEnd.rs b/src/features/gen_ConsoleTimerLogOrEnd.rs
index 3784b67..471a92f 100644
--- a/src/features/gen_ConsoleTimerLogOrEnd.rs
+++ b/src/features/gen_ConsoleTimerLogOrEnd.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConsoleTimerStart.rs b/src/features/gen_ConsoleTimerStart.rs
index 4e500e4..f418961 100644
--- a/src/features/gen_ConsoleTimerStart.rs
+++ b/src/features/gen_ConsoleTimerStart.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConstantSourceNode.rs b/src/features/gen_ConstantSourceNode.rs
index 5649d04..d4e25d9 100644
--- a/src/features/gen_ConstantSourceNode.rs
+++ b/src/features/gen_ConstantSourceNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConstantSourceOptions.rs b/src/features/gen_ConstantSourceOptions.rs
index f93dcb8..852e2da 100644
--- a/src/features/gen_ConstantSourceOptions.rs
+++ b/src/features/gen_ConstantSourceOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConstrainBooleanParameters.rs b/src/features/gen_ConstrainBooleanParameters.rs
index 17901cf..8bffa14 100644
--- a/src/features/gen_ConstrainBooleanParameters.rs
+++ b/src/features/gen_ConstrainBooleanParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConstrainDomStringParameters.rs b/src/features/gen_ConstrainDomStringParameters.rs
index 13b7a17..e43df47 100644
--- a/src/features/gen_ConstrainDomStringParameters.rs
+++ b/src/features/gen_ConstrainDomStringParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConstrainDoubleRange.rs b/src/features/gen_ConstrainDoubleRange.rs
index 446be61..777a981 100644
--- a/src/features/gen_ConstrainDoubleRange.rs
+++ b/src/features/gen_ConstrainDoubleRange.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConstrainLongRange.rs b/src/features/gen_ConstrainLongRange.rs
index 668dbe3..c3a7985 100644
--- a/src/features/gen_ConstrainLongRange.rs
+++ b/src/features/gen_ConstrainLongRange.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ContextAttributes2d.rs b/src/features/gen_ContextAttributes2d.rs
index fd32226..9bb0cf1 100644
--- a/src/features/gen_ContextAttributes2d.rs
+++ b/src/features/gen_ContextAttributes2d.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConvertCoordinateOptions.rs b/src/features/gen_ConvertCoordinateOptions.rs
index 9578f2b..8020dba 100644
--- a/src/features/gen_ConvertCoordinateOptions.rs
+++ b/src/features/gen_ConvertCoordinateOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConvolverNode.rs b/src/features/gen_ConvolverNode.rs
index 0974b8a..69e25a4 100644
--- a/src/features/gen_ConvolverNode.rs
+++ b/src/features/gen_ConvolverNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ConvolverOptions.rs b/src/features/gen_ConvolverOptions.rs
index dc895ba..7709040 100644
--- a/src/features/gen_ConvolverOptions.rs
+++ b/src/features/gen_ConvolverOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Coordinates.rs b/src/features/gen_Coordinates.rs
index 10850a2..ef92e0b 100644
--- a/src/features/gen_Coordinates.rs
+++ b/src/features/gen_Coordinates.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CountQueuingStrategy.rs b/src/features/gen_CountQueuingStrategy.rs
index 779ba5b..2f3373e 100644
--- a/src/features/gen_CountQueuingStrategy.rs
+++ b/src/features/gen_CountQueuingStrategy.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Credential.rs b/src/features/gen_Credential.rs
index 699f5ee..3df07ad 100644
--- a/src/features/gen_Credential.rs
+++ b/src/features/gen_Credential.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CredentialCreationOptions.rs b/src/features/gen_CredentialCreationOptions.rs
index 8c9958c..d57ebd3 100644
--- a/src/features/gen_CredentialCreationOptions.rs
+++ b/src/features/gen_CredentialCreationOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CredentialRequestOptions.rs b/src/features/gen_CredentialRequestOptions.rs
index 61537f7..cf44865 100644
--- a/src/features/gen_CredentialRequestOptions.rs
+++ b/src/features/gen_CredentialRequestOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CredentialsContainer.rs b/src/features/gen_CredentialsContainer.rs
index fb008e9..13d70de 100644
--- a/src/features/gen_CredentialsContainer.rs
+++ b/src/features/gen_CredentialsContainer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Crypto.rs b/src/features/gen_Crypto.rs
index 4c46bfd..723636f 100644
--- a/src/features/gen_Crypto.rs
+++ b/src/features/gen_Crypto.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CryptoKey.rs b/src/features/gen_CryptoKey.rs
index 7e8773e..d040b14 100644
--- a/src/features/gen_CryptoKey.rs
+++ b/src/features/gen_CryptoKey.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CryptoKeyPair.rs b/src/features/gen_CryptoKeyPair.rs
index 5026e63..9f04bd1 100644
--- a/src/features/gen_CryptoKeyPair.rs
+++ b/src/features/gen_CryptoKeyPair.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Csp.rs b/src/features/gen_Csp.rs
index 0fbea97..5fb46ed 100644
--- a/src/features/gen_Csp.rs
+++ b/src/features/gen_Csp.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CspPolicies.rs b/src/features/gen_CspPolicies.rs
index 96d4ad5..2ee8221 100644
--- a/src/features/gen_CspPolicies.rs
+++ b/src/features/gen_CspPolicies.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CspReport.rs b/src/features/gen_CspReport.rs
index 6938a2d..77ef67e 100644
--- a/src/features/gen_CspReport.rs
+++ b/src/features/gen_CspReport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CspReportProperties.rs b/src/features/gen_CspReportProperties.rs
index c20edf2..8b7cb00 100644
--- a/src/features/gen_CspReportProperties.rs
+++ b/src/features/gen_CspReportProperties.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssAnimation.rs b/src/features/gen_CssAnimation.rs
index ea0df7c..8ea8661 100644
--- a/src/features/gen_CssAnimation.rs
+++ b/src/features/gen_CssAnimation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssBoxType.rs b/src/features/gen_CssBoxType.rs
index c72b966..68b285f 100644
--- a/src/features/gen_CssBoxType.rs
+++ b/src/features/gen_CssBoxType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `CssBoxType` enum."]
diff --git a/src/features/gen_CssConditionRule.rs b/src/features/gen_CssConditionRule.rs
index a08a051..caf51a6 100644
--- a/src/features/gen_CssConditionRule.rs
+++ b/src/features/gen_CssConditionRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssCounterStyleRule.rs b/src/features/gen_CssCounterStyleRule.rs
index 99a4e12..905e57b 100644
--- a/src/features/gen_CssCounterStyleRule.rs
+++ b/src/features/gen_CssCounterStyleRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssFontFaceRule.rs b/src/features/gen_CssFontFaceRule.rs
index b920011..0492381 100644
--- a/src/features/gen_CssFontFaceRule.rs
+++ b/src/features/gen_CssFontFaceRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssFontFeatureValuesRule.rs b/src/features/gen_CssFontFeatureValuesRule.rs
index 976e147..fdbdebb 100644
--- a/src/features/gen_CssFontFeatureValuesRule.rs
+++ b/src/features/gen_CssFontFeatureValuesRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssGroupingRule.rs b/src/features/gen_CssGroupingRule.rs
index 9c0fe85..c9a97ca 100644
--- a/src/features/gen_CssGroupingRule.rs
+++ b/src/features/gen_CssGroupingRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssImportRule.rs b/src/features/gen_CssImportRule.rs
index 11ad601..729cbde 100644
--- a/src/features/gen_CssImportRule.rs
+++ b/src/features/gen_CssImportRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssKeyframeRule.rs b/src/features/gen_CssKeyframeRule.rs
index 547d97b..3b9039e 100644
--- a/src/features/gen_CssKeyframeRule.rs
+++ b/src/features/gen_CssKeyframeRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssKeyframesRule.rs b/src/features/gen_CssKeyframesRule.rs
index 27c636c..f71fbc6 100644
--- a/src/features/gen_CssKeyframesRule.rs
+++ b/src/features/gen_CssKeyframesRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssMediaRule.rs b/src/features/gen_CssMediaRule.rs
index fa3b215..adbab8f 100644
--- a/src/features/gen_CssMediaRule.rs
+++ b/src/features/gen_CssMediaRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssNamespaceRule.rs b/src/features/gen_CssNamespaceRule.rs
index 3fce676..b3b14b2 100644
--- a/src/features/gen_CssNamespaceRule.rs
+++ b/src/features/gen_CssNamespaceRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssPageRule.rs b/src/features/gen_CssPageRule.rs
index d9441f5..eb3a7b5 100644
--- a/src/features/gen_CssPageRule.rs
+++ b/src/features/gen_CssPageRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssPseudoElement.rs b/src/features/gen_CssPseudoElement.rs
index 63b3f54..ccd8c3a 100644
--- a/src/features/gen_CssPseudoElement.rs
+++ b/src/features/gen_CssPseudoElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -26,4 +27,74 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `CssPseudoElement`, `Element`*"]
     pub fn parent_element(this: &CssPseudoElement) -> Element;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "Animation")]
+    # [wasm_bindgen (method , structural , js_class = "CSSPseudoElement" , js_name = animate)]
+    #[doc = "The `animate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSPseudoElement/animate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Animation`, `CssPseudoElement`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn animate(this: &CssPseudoElement, keyframes: Option<&::js_sys::Object>) -> Animation;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "Animation")]
+    # [wasm_bindgen (method , structural , js_class = "CSSPseudoElement" , js_name = animate)]
+    #[doc = "The `animate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSPseudoElement/animate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Animation`, `CssPseudoElement`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn animate_with_f64(
+        this: &CssPseudoElement,
+        keyframes: Option<&::js_sys::Object>,
+        options: f64,
+    ) -> Animation;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "Animation", feature = "KeyframeAnimationOptions",))]
+    # [wasm_bindgen (method , structural , js_class = "CSSPseudoElement" , js_name = animate)]
+    #[doc = "The `animate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSPseudoElement/animate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Animation`, `CssPseudoElement`, `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn animate_with_keyframe_animation_options(
+        this: &CssPseudoElement,
+        keyframes: Option<&::js_sys::Object>,
+        options: &KeyframeAnimationOptions,
+    ) -> Animation;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "CSSPseudoElement" , js_name = getAnimations)]
+    #[doc = "The `getAnimations()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSPseudoElement/getAnimations)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CssPseudoElement`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_animations(this: &CssPseudoElement) -> ::js_sys::Array;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "GetAnimationsOptions")]
+    # [wasm_bindgen (method , structural , js_class = "CSSPseudoElement" , js_name = getAnimations)]
+    #[doc = "The `getAnimations()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSPseudoElement/getAnimations)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CssPseudoElement`, `GetAnimationsOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_animations_with_options(
+        this: &CssPseudoElement,
+        options: &GetAnimationsOptions,
+    ) -> ::js_sys::Array;
 }
diff --git a/src/features/gen_CssRule.rs b/src/features/gen_CssRule.rs
index 801667e..07c5ac7 100644
--- a/src/features/gen_CssRule.rs
+++ b/src/features/gen_CssRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssRuleList.rs b/src/features/gen_CssRuleList.rs
index 1dd778f..30c75ca 100644
--- a/src/features/gen_CssRuleList.rs
+++ b/src/features/gen_CssRuleList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssStyleDeclaration.rs b/src/features/gen_CssStyleDeclaration.rs
index c22016a..a951f06 100644
--- a/src/features/gen_CssStyleDeclaration.rs
+++ b/src/features/gen_CssStyleDeclaration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssStyleRule.rs b/src/features/gen_CssStyleRule.rs
index c244a2a..09caa51 100644
--- a/src/features/gen_CssStyleRule.rs
+++ b/src/features/gen_CssStyleRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssStyleSheet.rs b/src/features/gen_CssStyleSheet.rs
index 9ffbb61..b8a1044 100644
--- a/src/features/gen_CssStyleSheet.rs
+++ b/src/features/gen_CssStyleSheet.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssStyleSheetParsingMode.rs b/src/features/gen_CssStyleSheetParsingMode.rs
index 9db3f60..8c72165 100644
--- a/src/features/gen_CssStyleSheetParsingMode.rs
+++ b/src/features/gen_CssStyleSheetParsingMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `CssStyleSheetParsingMode` enum."]
diff --git a/src/features/gen_CssSupportsRule.rs b/src/features/gen_CssSupportsRule.rs
index 13c879b..91fad02 100644
--- a/src/features/gen_CssSupportsRule.rs
+++ b/src/features/gen_CssSupportsRule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CssTransition.rs b/src/features/gen_CssTransition.rs
index 6a222ec..65844e9 100644
--- a/src/features/gen_CssTransition.rs
+++ b/src/features/gen_CssTransition.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CustomElementRegistry.rs b/src/features/gen_CustomElementRegistry.rs
index 651968f..d811e6a 100644
--- a/src/features/gen_CustomElementRegistry.rs
+++ b/src/features/gen_CustomElementRegistry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CustomEvent.rs b/src/features/gen_CustomEvent.rs
index 4c0c671..b30a095 100644
--- a/src/features/gen_CustomEvent.rs
+++ b/src/features/gen_CustomEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_CustomEventInit.rs b/src/features/gen_CustomEventInit.rs
index b0bbf76..ced880c 100644
--- a/src/features/gen_CustomEventInit.rs
+++ b/src/features/gen_CustomEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DataTransfer.rs b/src/features/gen_DataTransfer.rs
index 9b6b794..131bba6 100644
--- a/src/features/gen_DataTransfer.rs
+++ b/src/features/gen_DataTransfer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DataTransferItem.rs b/src/features/gen_DataTransferItem.rs
index 0ea1826..4dec773 100644
--- a/src/features/gen_DataTransferItem.rs
+++ b/src/features/gen_DataTransferItem.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DataTransferItemList.rs b/src/features/gen_DataTransferItemList.rs
index c2f2efc..28710af 100644
--- a/src/features/gen_DataTransferItemList.rs
+++ b/src/features/gen_DataTransferItemList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DateTimeValue.rs b/src/features/gen_DateTimeValue.rs
index 23a3208..861d469 100644
--- a/src/features/gen_DateTimeValue.rs
+++ b/src/features/gen_DateTimeValue.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DecoderDoctorNotification.rs b/src/features/gen_DecoderDoctorNotification.rs
index 59f4340..c051c23 100644
--- a/src/features/gen_DecoderDoctorNotification.rs
+++ b/src/features/gen_DecoderDoctorNotification.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DecoderDoctorNotificationType.rs b/src/features/gen_DecoderDoctorNotificationType.rs
index adec72f..2c742b0 100644
--- a/src/features/gen_DecoderDoctorNotificationType.rs
+++ b/src/features/gen_DecoderDoctorNotificationType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `DecoderDoctorNotificationType` enum."]
diff --git a/src/features/gen_DedicatedWorkerGlobalScope.rs b/src/features/gen_DedicatedWorkerGlobalScope.rs
index c16c369..59deb0b 100644
--- a/src/features/gen_DedicatedWorkerGlobalScope.rs
+++ b/src/features/gen_DedicatedWorkerGlobalScope.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -77,4 +78,24 @@ extern "C" {
         message: &::wasm_bindgen::JsValue,
         transfer: &::wasm_bindgen::JsValue,
     ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "DedicatedWorkerGlobalScope" , js_name = cancelAnimationFrame)]
+    #[doc = "The `cancelAnimationFrame()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope/cancelAnimationFrame)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DedicatedWorkerGlobalScope`*"]
+    pub fn cancel_animation_frame(
+        this: &DedicatedWorkerGlobalScope,
+        handle: i32,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "DedicatedWorkerGlobalScope" , js_name = requestAnimationFrame)]
+    #[doc = "The `requestAnimationFrame()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DedicatedWorkerGlobalScope/requestAnimationFrame)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DedicatedWorkerGlobalScope`*"]
+    pub fn request_animation_frame(
+        this: &DedicatedWorkerGlobalScope,
+        callback: &::js_sys::Function,
+    ) -> Result<i32, JsValue>;
 }
diff --git a/src/features/gen_DelayNode.rs b/src/features/gen_DelayNode.rs
index 4518ed3..e37d198 100644
--- a/src/features/gen_DelayNode.rs
+++ b/src/features/gen_DelayNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DelayOptions.rs b/src/features/gen_DelayOptions.rs
index 8422b16..a7e31dc 100644
--- a/src/features/gen_DelayOptions.rs
+++ b/src/features/gen_DelayOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceAcceleration.rs b/src/features/gen_DeviceAcceleration.rs
index 8fbfb8b..63f5dab 100644
--- a/src/features/gen_DeviceAcceleration.rs
+++ b/src/features/gen_DeviceAcceleration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceAccelerationInit.rs b/src/features/gen_DeviceAccelerationInit.rs
index 95c7aa2..b28ecb1 100644
--- a/src/features/gen_DeviceAccelerationInit.rs
+++ b/src/features/gen_DeviceAccelerationInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceLightEvent.rs b/src/features/gen_DeviceLightEvent.rs
index 3908764..8afd712 100644
--- a/src/features/gen_DeviceLightEvent.rs
+++ b/src/features/gen_DeviceLightEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceLightEventInit.rs b/src/features/gen_DeviceLightEventInit.rs
index ddb30f6..a72b40d 100644
--- a/src/features/gen_DeviceLightEventInit.rs
+++ b/src/features/gen_DeviceLightEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceMotionEvent.rs b/src/features/gen_DeviceMotionEvent.rs
index 5993f72..a83040d 100644
--- a/src/features/gen_DeviceMotionEvent.rs
+++ b/src/features/gen_DeviceMotionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceMotionEventInit.rs b/src/features/gen_DeviceMotionEventInit.rs
index bec3120..38dc6b7 100644
--- a/src/features/gen_DeviceMotionEventInit.rs
+++ b/src/features/gen_DeviceMotionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceOrientationEvent.rs b/src/features/gen_DeviceOrientationEvent.rs
index d7ec8c7..e1908e0 100644
--- a/src/features/gen_DeviceOrientationEvent.rs
+++ b/src/features/gen_DeviceOrientationEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceOrientationEventInit.rs b/src/features/gen_DeviceOrientationEventInit.rs
index 70445bb..5aec65d 100644
--- a/src/features/gen_DeviceOrientationEventInit.rs
+++ b/src/features/gen_DeviceOrientationEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceProximityEvent.rs b/src/features/gen_DeviceProximityEvent.rs
index c3c92ac..3b38d17 100644
--- a/src/features/gen_DeviceProximityEvent.rs
+++ b/src/features/gen_DeviceProximityEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceProximityEventInit.rs b/src/features/gen_DeviceProximityEventInit.rs
index 9ff3103..ab35b2e 100644
--- a/src/features/gen_DeviceProximityEventInit.rs
+++ b/src/features/gen_DeviceProximityEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceRotationRate.rs b/src/features/gen_DeviceRotationRate.rs
index 73782ab..ee7a2e4 100644
--- a/src/features/gen_DeviceRotationRate.rs
+++ b/src/features/gen_DeviceRotationRate.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DeviceRotationRateInit.rs b/src/features/gen_DeviceRotationRateInit.rs
index fe6dcb0..7df806b 100644
--- a/src/features/gen_DeviceRotationRateInit.rs
+++ b/src/features/gen_DeviceRotationRateInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DhKeyDeriveParams.rs b/src/features/gen_DhKeyDeriveParams.rs
index 3bb1bbc..8a0ba9d 100644
--- a/src/features/gen_DhKeyDeriveParams.rs
+++ b/src/features/gen_DhKeyDeriveParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DirectionSetting.rs b/src/features/gen_DirectionSetting.rs
index 087bac8..d6c9a5d 100644
--- a/src/features/gen_DirectionSetting.rs
+++ b/src/features/gen_DirectionSetting.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `DirectionSetting` enum."]
diff --git a/src/features/gen_Directory.rs b/src/features/gen_Directory.rs
index 6eed320..53d3eb0 100644
--- a/src/features/gen_Directory.rs
+++ b/src/features/gen_Directory.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DisplayMediaStreamConstraints.rs b/src/features/gen_DisplayMediaStreamConstraints.rs
index 16a5bf8..9f80d9a 100644
--- a/src/features/gen_DisplayMediaStreamConstraints.rs
+++ b/src/features/gen_DisplayMediaStreamConstraints.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DisplayNameOptions.rs b/src/features/gen_DisplayNameOptions.rs
index 97d843e..1dec81b 100644
--- a/src/features/gen_DisplayNameOptions.rs
+++ b/src/features/gen_DisplayNameOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DisplayNameResult.rs b/src/features/gen_DisplayNameResult.rs
index 4160474..d132910 100644
--- a/src/features/gen_DisplayNameResult.rs
+++ b/src/features/gen_DisplayNameResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DistanceModelType.rs b/src/features/gen_DistanceModelType.rs
index fd62878..a622e7a 100644
--- a/src/features/gen_DistanceModelType.rs
+++ b/src/features/gen_DistanceModelType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `DistanceModelType` enum."]
diff --git a/src/features/gen_DnsCacheDict.rs b/src/features/gen_DnsCacheDict.rs
index 1233264..32cbbf5 100644
--- a/src/features/gen_DnsCacheDict.rs
+++ b/src/features/gen_DnsCacheDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DnsCacheEntry.rs b/src/features/gen_DnsCacheEntry.rs
index f6da07e..a368929 100644
--- a/src/features/gen_DnsCacheEntry.rs
+++ b/src/features/gen_DnsCacheEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DnsLookupDict.rs b/src/features/gen_DnsLookupDict.rs
index 590f299..c9ecc81 100644
--- a/src/features/gen_DnsLookupDict.rs
+++ b/src/features/gen_DnsLookupDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Document.rs b/src/features/gen_Document.rs
index 6d8cd54..d2ad9eb 100644
--- a/src/features/gen_Document.rs
+++ b/src/features/gen_Document.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -2849,6 +2850,202 @@ extern "C" {
         nodes_6: &str,
         nodes_7: &str,
     ) -> Result<(), JsValue>;
+    # [wasm_bindgen (method , structural , variadic , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_node(this: &Document, nodes: &::js_sys::Array);
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_node_0(this: &Document);
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_node_1(this: &Document, nodes_1: &Node);
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_node_2(this: &Document, nodes_1: &Node, nodes_2: &Node);
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_node_3(
+        this: &Document,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_node_4(
+        this: &Document,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_node_5(
+        this: &Document,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+        nodes_5: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_node_6(
+        this: &Document,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+        nodes_5: &Node,
+        nodes_6: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_node_7(
+        this: &Document,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+        nodes_5: &Node,
+        nodes_6: &Node,
+        nodes_7: &Node,
+    );
+    # [wasm_bindgen (method , structural , variadic , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_str(this: &Document, nodes: &::js_sys::Array);
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_str_0(this: &Document);
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_str_1(this: &Document, nodes_1: &str);
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_str_2(this: &Document, nodes_1: &str, nodes_2: &str);
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_str_3(
+        this: &Document,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_str_4(
+        this: &Document,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_str_5(
+        this: &Document,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+        nodes_5: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_str_6(
+        this: &Document,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+        nodes_5: &str,
+        nodes_6: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Document" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Document`*"]
+    pub fn replace_children_with_str_7(
+        this: &Document,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+        nodes_5: &str,
+        nodes_6: &str,
+        nodes_7: &str,
+    );
     #[cfg(feature = "XPathExpression")]
     # [wasm_bindgen (catch , method , structural , js_class = "Document" , js_name = createExpression)]
     #[doc = "The `createExpression()` method."]
diff --git a/src/features/gen_DocumentFragment.rs b/src/features/gen_DocumentFragment.rs
index fa64d51..d21d7b3 100644
--- a/src/features/gen_DocumentFragment.rs
+++ b/src/features/gen_DocumentFragment.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -497,4 +498,200 @@ extern "C" {
         nodes_6: &str,
         nodes_7: &str,
     ) -> Result<(), JsValue>;
+    # [wasm_bindgen (method , structural , variadic , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_node(this: &DocumentFragment, nodes: &::js_sys::Array);
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_node_0(this: &DocumentFragment);
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_node_1(this: &DocumentFragment, nodes_1: &Node);
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_node_2(this: &DocumentFragment, nodes_1: &Node, nodes_2: &Node);
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_node_3(
+        this: &DocumentFragment,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_node_4(
+        this: &DocumentFragment,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_node_5(
+        this: &DocumentFragment,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+        nodes_5: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_node_6(
+        this: &DocumentFragment,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+        nodes_5: &Node,
+        nodes_6: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_node_7(
+        this: &DocumentFragment,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+        nodes_5: &Node,
+        nodes_6: &Node,
+        nodes_7: &Node,
+    );
+    # [wasm_bindgen (method , structural , variadic , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_str(this: &DocumentFragment, nodes: &::js_sys::Array);
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_str_0(this: &DocumentFragment);
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_str_1(this: &DocumentFragment, nodes_1: &str);
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_str_2(this: &DocumentFragment, nodes_1: &str, nodes_2: &str);
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_str_3(
+        this: &DocumentFragment,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_str_4(
+        this: &DocumentFragment,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_str_5(
+        this: &DocumentFragment,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+        nodes_5: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_str_6(
+        this: &DocumentFragment,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+        nodes_5: &str,
+        nodes_6: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "DocumentFragment" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DocumentFragment`*"]
+    pub fn replace_children_with_str_7(
+        this: &DocumentFragment,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+        nodes_5: &str,
+        nodes_6: &str,
+        nodes_7: &str,
+    );
 }
diff --git a/src/features/gen_DocumentTimeline.rs b/src/features/gen_DocumentTimeline.rs
index 57247e8..e5c862f 100644
--- a/src/features/gen_DocumentTimeline.rs
+++ b/src/features/gen_DocumentTimeline.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DocumentTimelineOptions.rs b/src/features/gen_DocumentTimelineOptions.rs
index 33ee6fa..7fa2ded 100644
--- a/src/features/gen_DocumentTimelineOptions.rs
+++ b/src/features/gen_DocumentTimelineOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DocumentType.rs b/src/features/gen_DocumentType.rs
index 2b6280c..f77d3ce 100644
--- a/src/features/gen_DocumentType.rs
+++ b/src/features/gen_DocumentType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomError.rs b/src/features/gen_DomError.rs
index 33e4f49..ba94c8d 100644
--- a/src/features/gen_DomError.rs
+++ b/src/features/gen_DomError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomException.rs b/src/features/gen_DomException.rs
index d7035a1..760f113 100644
--- a/src/features/gen_DomException.rs
+++ b/src/features/gen_DomException.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomImplementation.rs b/src/features/gen_DomImplementation.rs
index 3f09acc..cb74029 100644
--- a/src/features/gen_DomImplementation.rs
+++ b/src/features/gen_DomImplementation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomMatrix.rs b/src/features/gen_DomMatrix.rs
index 3212e04..db541f0 100644
--- a/src/features/gen_DomMatrix.rs
+++ b/src/features/gen_DomMatrix.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomMatrixReadOnly.rs b/src/features/gen_DomMatrixReadOnly.rs
index a31e554..90bf25e 100644
--- a/src/features/gen_DomMatrixReadOnly.rs
+++ b/src/features/gen_DomMatrixReadOnly.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomParser.rs b/src/features/gen_DomParser.rs
index 97385cc..5a926bf 100644
--- a/src/features/gen_DomParser.rs
+++ b/src/features/gen_DomParser.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomPoint.rs b/src/features/gen_DomPoint.rs
index 5a563cd..7e2bde1 100644
--- a/src/features/gen_DomPoint.rs
+++ b/src/features/gen_DomPoint.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomPointInit.rs b/src/features/gen_DomPointInit.rs
index 51be45c..b909aaf 100644
--- a/src/features/gen_DomPointInit.rs
+++ b/src/features/gen_DomPointInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomPointReadOnly.rs b/src/features/gen_DomPointReadOnly.rs
index 2601722..1e3e76f 100644
--- a/src/features/gen_DomPointReadOnly.rs
+++ b/src/features/gen_DomPointReadOnly.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomQuad.rs b/src/features/gen_DomQuad.rs
index 26b8753..679786d 100644
--- a/src/features/gen_DomQuad.rs
+++ b/src/features/gen_DomQuad.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomQuadInit.rs b/src/features/gen_DomQuadInit.rs
index 3bd7d90..b85560d 100644
--- a/src/features/gen_DomQuadInit.rs
+++ b/src/features/gen_DomQuadInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomQuadJson.rs b/src/features/gen_DomQuadJson.rs
index d3316d9..95189b2 100644
--- a/src/features/gen_DomQuadJson.rs
+++ b/src/features/gen_DomQuadJson.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomRect.rs b/src/features/gen_DomRect.rs
index 0d3a029..6e17735 100644
--- a/src/features/gen_DomRect.rs
+++ b/src/features/gen_DomRect.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomRectInit.rs b/src/features/gen_DomRectInit.rs
index ab4a54a..ec514d0 100644
--- a/src/features/gen_DomRectInit.rs
+++ b/src/features/gen_DomRectInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomRectList.rs b/src/features/gen_DomRectList.rs
index e668a84..ebb1df2 100644
--- a/src/features/gen_DomRectList.rs
+++ b/src/features/gen_DomRectList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomRectReadOnly.rs b/src/features/gen_DomRectReadOnly.rs
index 1b48f02..2ce9892 100644
--- a/src/features/gen_DomRectReadOnly.rs
+++ b/src/features/gen_DomRectReadOnly.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomRequest.rs b/src/features/gen_DomRequest.rs
index 05e6785..ac375ff 100644
--- a/src/features/gen_DomRequest.rs
+++ b/src/features/gen_DomRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomRequestReadyState.rs b/src/features/gen_DomRequestReadyState.rs
index 179f947..c8a8ac4 100644
--- a/src/features/gen_DomRequestReadyState.rs
+++ b/src/features/gen_DomRequestReadyState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `DomRequestReadyState` enum."]
diff --git a/src/features/gen_DomStringList.rs b/src/features/gen_DomStringList.rs
index 1b932f2..9b32ed7 100644
--- a/src/features/gen_DomStringList.rs
+++ b/src/features/gen_DomStringList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomStringMap.rs b/src/features/gen_DomStringMap.rs
index c102f10..533c224 100644
--- a/src/features/gen_DomStringMap.rs
+++ b/src/features/gen_DomStringMap.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomTokenList.rs b/src/features/gen_DomTokenList.rs
index a097863..6277b5c 100644
--- a/src/features/gen_DomTokenList.rs
+++ b/src/features/gen_DomTokenList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DomWindowResizeEventDetail.rs b/src/features/gen_DomWindowResizeEventDetail.rs
index 7bf972f..6e3ca63 100644
--- a/src/features/gen_DomWindowResizeEventDetail.rs
+++ b/src/features/gen_DomWindowResizeEventDetail.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DragEvent.rs b/src/features/gen_DragEvent.rs
index fc18b1e..8be938e 100644
--- a/src/features/gen_DragEvent.rs
+++ b/src/features/gen_DragEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DragEventInit.rs b/src/features/gen_DragEventInit.rs
index d28d127..821a5f5 100644
--- a/src/features/gen_DragEventInit.rs
+++ b/src/features/gen_DragEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DynamicsCompressorNode.rs b/src/features/gen_DynamicsCompressorNode.rs
index 3a7c7d5..90454ea 100644
--- a/src/features/gen_DynamicsCompressorNode.rs
+++ b/src/features/gen_DynamicsCompressorNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_DynamicsCompressorOptions.rs b/src/features/gen_DynamicsCompressorOptions.rs
index ff59482..788f593 100644
--- a/src/features/gen_DynamicsCompressorOptions.rs
+++ b/src/features/gen_DynamicsCompressorOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EcKeyAlgorithm.rs b/src/features/gen_EcKeyAlgorithm.rs
index 3d7aec6..42aad21 100644
--- a/src/features/gen_EcKeyAlgorithm.rs
+++ b/src/features/gen_EcKeyAlgorithm.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EcKeyGenParams.rs b/src/features/gen_EcKeyGenParams.rs
index 8b1df40..05c7d23 100644
--- a/src/features/gen_EcKeyGenParams.rs
+++ b/src/features/gen_EcKeyGenParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EcKeyImportParams.rs b/src/features/gen_EcKeyImportParams.rs
index b6ff16b..13615f0 100644
--- a/src/features/gen_EcKeyImportParams.rs
+++ b/src/features/gen_EcKeyImportParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EcdhKeyDeriveParams.rs b/src/features/gen_EcdhKeyDeriveParams.rs
index 0303bb3..2f6c4d6 100644
--- a/src/features/gen_EcdhKeyDeriveParams.rs
+++ b/src/features/gen_EcdhKeyDeriveParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EcdsaParams.rs b/src/features/gen_EcdsaParams.rs
index a54f84b..918c405 100644
--- a/src/features/gen_EcdsaParams.rs
+++ b/src/features/gen_EcdsaParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EffectTiming.rs b/src/features/gen_EffectTiming.rs
index 07e8dee..4af14f8 100644
--- a/src/features/gen_EffectTiming.rs
+++ b/src/features/gen_EffectTiming.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Element.rs b/src/features/gen_Element.rs
index 011b65d..4f8180e 100644
--- a/src/features/gen_Element.rs
+++ b/src/features/gen_Element.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -662,6 +663,76 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `Element`*"]
     pub fn webkit_matches_selector(this: &Element, selector: &str) -> Result<bool, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "Animation")]
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = animate)]
+    #[doc = "The `animate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/animate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Animation`, `Element`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn animate(this: &Element, keyframes: Option<&::js_sys::Object>) -> Animation;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "Animation")]
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = animate)]
+    #[doc = "The `animate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/animate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Animation`, `Element`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn animate_with_f64(
+        this: &Element,
+        keyframes: Option<&::js_sys::Object>,
+        options: f64,
+    ) -> Animation;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "Animation", feature = "KeyframeAnimationOptions",))]
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = animate)]
+    #[doc = "The `animate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/animate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Animation`, `Element`, `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn animate_with_keyframe_animation_options(
+        this: &Element,
+        keyframes: Option<&::js_sys::Object>,
+        options: &KeyframeAnimationOptions,
+    ) -> Animation;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = getAnimations)]
+    #[doc = "The `getAnimations()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/getAnimations)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_animations(this: &Element) -> ::js_sys::Array;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "GetAnimationsOptions")]
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = getAnimations)]
+    #[doc = "The `getAnimations()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/getAnimations)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`, `GetAnimationsOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_animations_with_options(
+        this: &Element,
+        options: &GetAnimationsOptions,
+    ) -> ::js_sys::Array;
     # [wasm_bindgen (catch , method , structural , variadic , js_class = "Element" , js_name = after)]
     #[doc = "The `after()` method."]
     #[doc = ""]
@@ -1949,4 +2020,195 @@ extern "C" {
         nodes_6: &str,
         nodes_7: &str,
     ) -> Result<(), JsValue>;
+    # [wasm_bindgen (method , structural , variadic , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_node(this: &Element, nodes: &::js_sys::Array);
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_node_0(this: &Element);
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_node_1(this: &Element, nodes_1: &Node);
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_node_2(this: &Element, nodes_1: &Node, nodes_2: &Node);
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_node_3(
+        this: &Element,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_node_4(
+        this: &Element,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_node_5(
+        this: &Element,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+        nodes_5: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_node_6(
+        this: &Element,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+        nodes_5: &Node,
+        nodes_6: &Node,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_node_7(
+        this: &Element,
+        nodes_1: &Node,
+        nodes_2: &Node,
+        nodes_3: &Node,
+        nodes_4: &Node,
+        nodes_5: &Node,
+        nodes_6: &Node,
+        nodes_7: &Node,
+    );
+    # [wasm_bindgen (method , structural , variadic , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_str(this: &Element, nodes: &::js_sys::Array);
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_str_0(this: &Element);
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_str_1(this: &Element, nodes_1: &str);
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_str_2(this: &Element, nodes_1: &str, nodes_2: &str);
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_str_3(this: &Element, nodes_1: &str, nodes_2: &str, nodes_3: &str);
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_str_4(
+        this: &Element,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_str_5(
+        this: &Element,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+        nodes_5: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_str_6(
+        this: &Element,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+        nodes_5: &str,
+        nodes_6: &str,
+    );
+    # [wasm_bindgen (method , structural , js_class = "Element" , js_name = replaceChildren)]
+    #[doc = "The `replaceChildren()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Element/replaceChildren)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Element`*"]
+    pub fn replace_children_with_str_7(
+        this: &Element,
+        nodes_1: &str,
+        nodes_2: &str,
+        nodes_3: &str,
+        nodes_4: &str,
+        nodes_5: &str,
+        nodes_6: &str,
+        nodes_7: &str,
+    );
 }
diff --git a/src/features/gen_ElementCreationOptions.rs b/src/features/gen_ElementCreationOptions.rs
index d12dd04..b5a76b5 100644
--- a/src/features/gen_ElementCreationOptions.rs
+++ b/src/features/gen_ElementCreationOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ElementDefinitionOptions.rs b/src/features/gen_ElementDefinitionOptions.rs
index 4b9492b..e53766d 100644
--- a/src/features/gen_ElementDefinitionOptions.rs
+++ b/src/features/gen_ElementDefinitionOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EncodedAudioChunk.rs b/src/features/gen_EncodedAudioChunk.rs
index 93a9cd7..17aed5a 100644
--- a/src/features/gen_EncodedAudioChunk.rs
+++ b/src/features/gen_EncodedAudioChunk.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_EncodedAudioChunkInit.rs b/src/features/gen_EncodedAudioChunkInit.rs
index c95daf5..d5496c3 100644
--- a/src/features/gen_EncodedAudioChunkInit.rs
+++ b/src/features/gen_EncodedAudioChunkInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_EncodedAudioChunkMetadata.rs b/src/features/gen_EncodedAudioChunkMetadata.rs
index 6a43b98..aeb9cd5 100644
--- a/src/features/gen_EncodedAudioChunkMetadata.rs
+++ b/src/features/gen_EncodedAudioChunkMetadata.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_EncodedAudioChunkType.rs b/src/features/gen_EncodedAudioChunkType.rs
index 5a977ae..42f4dcc 100644
--- a/src/features/gen_EncodedAudioChunkType.rs
+++ b/src/features/gen_EncodedAudioChunkType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_EncodedVideoChunk.rs b/src/features/gen_EncodedVideoChunk.rs
index a6590c8..808af2c 100644
--- a/src/features/gen_EncodedVideoChunk.rs
+++ b/src/features/gen_EncodedVideoChunk.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_EncodedVideoChunkInit.rs b/src/features/gen_EncodedVideoChunkInit.rs
index 6491aef..1699fbf 100644
--- a/src/features/gen_EncodedVideoChunkInit.rs
+++ b/src/features/gen_EncodedVideoChunkInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_EncodedVideoChunkMetadata.rs b/src/features/gen_EncodedVideoChunkMetadata.rs
index 9d0e141..6b81fe2 100644
--- a/src/features/gen_EncodedVideoChunkMetadata.rs
+++ b/src/features/gen_EncodedVideoChunkMetadata.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_EncodedVideoChunkType.rs b/src/features/gen_EncodedVideoChunkType.rs
index 63537be..64ce2b8 100644
--- a/src/features/gen_EncodedVideoChunkType.rs
+++ b/src/features/gen_EncodedVideoChunkType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_EndingTypes.rs b/src/features/gen_EndingTypes.rs
index 476f229..0898d8f 100644
--- a/src/features/gen_EndingTypes.rs
+++ b/src/features/gen_EndingTypes.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `EndingTypes` enum."]
diff --git a/src/features/gen_ErrorCallback.rs b/src/features/gen_ErrorCallback.rs
index 067bd08..4351dfc 100644
--- a/src/features/gen_ErrorCallback.rs
+++ b/src/features/gen_ErrorCallback.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ErrorEvent.rs b/src/features/gen_ErrorEvent.rs
index b3bd7fb..e9288b4 100644
--- a/src/features/gen_ErrorEvent.rs
+++ b/src/features/gen_ErrorEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ErrorEventInit.rs b/src/features/gen_ErrorEventInit.rs
index cc2d881..c483439 100644
--- a/src/features/gen_ErrorEventInit.rs
+++ b/src/features/gen_ErrorEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Event.rs b/src/features/gen_Event.rs
index bb3c3cf..d2e29c9 100644
--- a/src/features/gen_Event.rs
+++ b/src/features/gen_Event.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EventInit.rs b/src/features/gen_EventInit.rs
index 6b44b16..0a6e9eb 100644
--- a/src/features/gen_EventInit.rs
+++ b/src/features/gen_EventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EventListener.rs b/src/features/gen_EventListener.rs
index af46e7a..ab47a42 100644
--- a/src/features/gen_EventListener.rs
+++ b/src/features/gen_EventListener.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EventListenerOptions.rs b/src/features/gen_EventListenerOptions.rs
index 9162ee8..4ac4ff6 100644
--- a/src/features/gen_EventListenerOptions.rs
+++ b/src/features/gen_EventListenerOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EventModifierInit.rs b/src/features/gen_EventModifierInit.rs
index 02c06ad..21f7c2c 100644
--- a/src/features/gen_EventModifierInit.rs
+++ b/src/features/gen_EventModifierInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EventSource.rs b/src/features/gen_EventSource.rs
index 816817f..3a1ecfa 100644
--- a/src/features/gen_EventSource.rs
+++ b/src/features/gen_EventSource.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EventSourceInit.rs b/src/features/gen_EventSourceInit.rs
index f8e5f4a..7c0f3bc 100644
--- a/src/features/gen_EventSourceInit.rs
+++ b/src/features/gen_EventSourceInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_EventTarget.rs b/src/features/gen_EventTarget.rs
index 431b5a6..a87f6d4 100644
--- a/src/features/gen_EventTarget.rs
+++ b/src/features/gen_EventTarget.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Exception.rs b/src/features/gen_Exception.rs
index d38c6f6..d8a046b 100644
--- a/src/features/gen_Exception.rs
+++ b/src/features/gen_Exception.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtBlendMinmax.rs b/src/features/gen_ExtBlendMinmax.rs
index 9e274a3..e352522 100644
--- a/src/features/gen_ExtBlendMinmax.rs
+++ b/src/features/gen_ExtBlendMinmax.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtColorBufferFloat.rs b/src/features/gen_ExtColorBufferFloat.rs
index 884e06c..f5ddf43 100644
--- a/src/features/gen_ExtColorBufferFloat.rs
+++ b/src/features/gen_ExtColorBufferFloat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtColorBufferHalfFloat.rs b/src/features/gen_ExtColorBufferHalfFloat.rs
index 26ffa3c..c50dd77 100644
--- a/src/features/gen_ExtColorBufferHalfFloat.rs
+++ b/src/features/gen_ExtColorBufferHalfFloat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtDisjointTimerQuery.rs b/src/features/gen_ExtDisjointTimerQuery.rs
index 1df18d7..f1be27d 100644
--- a/src/features/gen_ExtDisjointTimerQuery.rs
+++ b/src/features/gen_ExtDisjointTimerQuery.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtFragDepth.rs b/src/features/gen_ExtFragDepth.rs
index fd2f30f..53a284f 100644
--- a/src/features/gen_ExtFragDepth.rs
+++ b/src/features/gen_ExtFragDepth.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtSRgb.rs b/src/features/gen_ExtSRgb.rs
index c97cde6..2cf4e65 100644
--- a/src/features/gen_ExtSRgb.rs
+++ b/src/features/gen_ExtSRgb.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtShaderTextureLod.rs b/src/features/gen_ExtShaderTextureLod.rs
index daa45ad..52e5635 100644
--- a/src/features/gen_ExtShaderTextureLod.rs
+++ b/src/features/gen_ExtShaderTextureLod.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtTextureFilterAnisotropic.rs b/src/features/gen_ExtTextureFilterAnisotropic.rs
index 905b2d2..e5d1da5 100644
--- a/src/features/gen_ExtTextureFilterAnisotropic.rs
+++ b/src/features/gen_ExtTextureFilterAnisotropic.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtTextureNorm16.rs b/src/features/gen_ExtTextureNorm16.rs
new file mode 100644
index 0000000..125e340
--- /dev/null
+++ b/src/features/gen_ExtTextureNorm16.rs
@@ -0,0 +1,49 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (is_type_of = | _ | false , extends = :: js_sys :: Object , js_name = EXT_texture_norm16 , typescript_type = "EXT_texture_norm16")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `ExtTextureNorm16` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/EXT_texture_norm16)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"]
+    pub type ExtTextureNorm16;
+}
+impl ExtTextureNorm16 {
+    #[doc = "The `EXT_texture_norm16.R16_EXT` const."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"]
+    pub const R16_EXT: u32 = 33322u64 as u32;
+    #[doc = "The `EXT_texture_norm16.RG16_EXT` const."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"]
+    pub const RG16_EXT: u32 = 33324u64 as u32;
+    #[doc = "The `EXT_texture_norm16.RGB16_EXT` const."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"]
+    pub const RGB16_EXT: u32 = 32852u64 as u32;
+    #[doc = "The `EXT_texture_norm16.RGBA16_EXT` const."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"]
+    pub const RGBA16_EXT: u32 = 32859u64 as u32;
+    #[doc = "The `EXT_texture_norm16.R16_SNORM_EXT` const."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"]
+    pub const R16_SNORM_EXT: u32 = 36760u64 as u32;
+    #[doc = "The `EXT_texture_norm16.RG16_SNORM_EXT` const."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"]
+    pub const RG16_SNORM_EXT: u32 = 36761u64 as u32;
+    #[doc = "The `EXT_texture_norm16.RGB16_SNORM_EXT` const."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"]
+    pub const RGB16_SNORM_EXT: u32 = 36762u64 as u32;
+    #[doc = "The `EXT_texture_norm16.RGBA16_SNORM_EXT` const."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ExtTextureNorm16`*"]
+    pub const RGBA16_SNORM_EXT: u32 = 36763u64 as u32;
+}
diff --git a/src/features/gen_ExtendableEvent.rs b/src/features/gen_ExtendableEvent.rs
index d3c1423..5b9b540 100644
--- a/src/features/gen_ExtendableEvent.rs
+++ b/src/features/gen_ExtendableEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtendableEventInit.rs b/src/features/gen_ExtendableEventInit.rs
index 6bdb395..c990714 100644
--- a/src/features/gen_ExtendableEventInit.rs
+++ b/src/features/gen_ExtendableEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtendableMessageEvent.rs b/src/features/gen_ExtendableMessageEvent.rs
index fdbb3a2..a660231 100644
--- a/src/features/gen_ExtendableMessageEvent.rs
+++ b/src/features/gen_ExtendableMessageEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ExtendableMessageEventInit.rs b/src/features/gen_ExtendableMessageEventInit.rs
index 13577af..9be6c91 100644
--- a/src/features/gen_ExtendableMessageEventInit.rs
+++ b/src/features/gen_ExtendableMessageEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_External.rs b/src/features/gen_External.rs
index bc58c96..66974fd 100644
--- a/src/features/gen_External.rs
+++ b/src/features/gen_External.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FakePluginMimeEntry.rs b/src/features/gen_FakePluginMimeEntry.rs
index 9a02492..fbae627 100644
--- a/src/features/gen_FakePluginMimeEntry.rs
+++ b/src/features/gen_FakePluginMimeEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FakePluginTagInit.rs b/src/features/gen_FakePluginTagInit.rs
index ce81b45..a1b4ac8 100644
--- a/src/features/gen_FakePluginTagInit.rs
+++ b/src/features/gen_FakePluginTagInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FetchEvent.rs b/src/features/gen_FetchEvent.rs
index 70f378f..c3aa140 100644
--- a/src/features/gen_FetchEvent.rs
+++ b/src/features/gen_FetchEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FetchEventInit.rs b/src/features/gen_FetchEventInit.rs
index baeace3..d199cc6 100644
--- a/src/features/gen_FetchEventInit.rs
+++ b/src/features/gen_FetchEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FetchObserver.rs b/src/features/gen_FetchObserver.rs
index e08d934..264c14e 100644
--- a/src/features/gen_FetchObserver.rs
+++ b/src/features/gen_FetchObserver.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FetchReadableStreamReadDataArray.rs b/src/features/gen_FetchReadableStreamReadDataArray.rs
index 8e5fa2c..42499f4 100644
--- a/src/features/gen_FetchReadableStreamReadDataArray.rs
+++ b/src/features/gen_FetchReadableStreamReadDataArray.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FetchReadableStreamReadDataDone.rs b/src/features/gen_FetchReadableStreamReadDataDone.rs
index c3f8192..2bbfebb 100644
--- a/src/features/gen_FetchReadableStreamReadDataDone.rs
+++ b/src/features/gen_FetchReadableStreamReadDataDone.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FetchState.rs b/src/features/gen_FetchState.rs
index 84ff3c6..e3adc4a 100644
--- a/src/features/gen_FetchState.rs
+++ b/src/features/gen_FetchState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `FetchState` enum."]
diff --git a/src/features/gen_File.rs b/src/features/gen_File.rs
index d22c749..bd97907 100644
--- a/src/features/gen_File.rs
+++ b/src/features/gen_File.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileCallback.rs b/src/features/gen_FileCallback.rs
index fd46ab2..46e03df 100644
--- a/src/features/gen_FileCallback.rs
+++ b/src/features/gen_FileCallback.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileList.rs b/src/features/gen_FileList.rs
index 5e6132d..6e59e87 100644
--- a/src/features/gen_FileList.rs
+++ b/src/features/gen_FileList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FilePropertyBag.rs b/src/features/gen_FilePropertyBag.rs
index 594aea9..f98a68c 100644
--- a/src/features/gen_FilePropertyBag.rs
+++ b/src/features/gen_FilePropertyBag.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileReader.rs b/src/features/gen_FileReader.rs
index 5263af6..6ecf116 100644
--- a/src/features/gen_FileReader.rs
+++ b/src/features/gen_FileReader.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileReaderSync.rs b/src/features/gen_FileReaderSync.rs
index c8ec2a6..97987b4 100644
--- a/src/features/gen_FileReaderSync.rs
+++ b/src/features/gen_FileReaderSync.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileSystem.rs b/src/features/gen_FileSystem.rs
index 09f217e..15eb5af 100644
--- a/src/features/gen_FileSystem.rs
+++ b/src/features/gen_FileSystem.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileSystemCreateWritableOptions.rs b/src/features/gen_FileSystemCreateWritableOptions.rs
new file mode 100644
index 0000000..76ebad9
--- /dev/null
+++ b/src/features/gen_FileSystemCreateWritableOptions.rs
@@ -0,0 +1,58 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = FileSystemCreateWritableOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FileSystemCreateWritableOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemCreateWritableOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FileSystemCreateWritableOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl FileSystemCreateWritableOptions {
+    #[doc = "Construct a new `FileSystemCreateWritableOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemCreateWritableOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `keepExistingData` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemCreateWritableOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn keep_existing_data(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("keepExistingData"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for FileSystemCreateWritableOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_FileSystemDirectoryEntry.rs b/src/features/gen_FileSystemDirectoryEntry.rs
index 1a291e4..7e81017 100644
--- a/src/features/gen_FileSystemDirectoryEntry.rs
+++ b/src/features/gen_FileSystemDirectoryEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileSystemDirectoryHandle.rs b/src/features/gen_FileSystemDirectoryHandle.rs
new file mode 100644
index 0000000..9487482
--- /dev/null
+++ b/src/features/gen_FileSystemDirectoryHandle.rs
@@ -0,0 +1,114 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = FileSystemHandle , extends = :: js_sys :: Object , js_name = FileSystemDirectoryHandle , typescript_type = "FileSystemDirectoryHandle")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FileSystemDirectoryHandle` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemDirectoryHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FileSystemDirectoryHandle;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemDirectoryHandle" , js_name = getDirectoryHandle)]
+    #[doc = "The `getDirectoryHandle()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/getDirectoryHandle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemDirectoryHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_directory_handle(this: &FileSystemDirectoryHandle, name: &str) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FileSystemGetDirectoryOptions")]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemDirectoryHandle" , js_name = getDirectoryHandle)]
+    #[doc = "The `getDirectoryHandle()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/getDirectoryHandle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemDirectoryHandle`, `FileSystemGetDirectoryOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_directory_handle_with_options(
+        this: &FileSystemDirectoryHandle,
+        name: &str,
+        options: &FileSystemGetDirectoryOptions,
+    ) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemDirectoryHandle" , js_name = getFileHandle)]
+    #[doc = "The `getFileHandle()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/getFileHandle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemDirectoryHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_file_handle(this: &FileSystemDirectoryHandle, name: &str) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FileSystemGetFileOptions")]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemDirectoryHandle" , js_name = getFileHandle)]
+    #[doc = "The `getFileHandle()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/getFileHandle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemDirectoryHandle`, `FileSystemGetFileOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_file_handle_with_options(
+        this: &FileSystemDirectoryHandle,
+        name: &str,
+        options: &FileSystemGetFileOptions,
+    ) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemDirectoryHandle" , js_name = removeEntry)]
+    #[doc = "The `removeEntry()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/removeEntry)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemDirectoryHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn remove_entry(this: &FileSystemDirectoryHandle, name: &str) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FileSystemRemoveOptions")]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemDirectoryHandle" , js_name = removeEntry)]
+    #[doc = "The `removeEntry()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/removeEntry)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemDirectoryHandle`, `FileSystemRemoveOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn remove_entry_with_options(
+        this: &FileSystemDirectoryHandle,
+        name: &str,
+        options: &FileSystemRemoveOptions,
+    ) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemDirectoryHandle" , js_name = resolve)]
+    #[doc = "The `resolve()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/resolve)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemDirectoryHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn resolve(
+        this: &FileSystemDirectoryHandle,
+        possible_descendant: &FileSystemHandle,
+    ) -> ::js_sys::Promise;
+}
diff --git a/src/features/gen_FileSystemDirectoryReader.rs b/src/features/gen_FileSystemDirectoryReader.rs
index 4d6a922..0723db2 100644
--- a/src/features/gen_FileSystemDirectoryReader.rs
+++ b/src/features/gen_FileSystemDirectoryReader.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileSystemEntriesCallback.rs b/src/features/gen_FileSystemEntriesCallback.rs
index f8ef269..1909296 100644
--- a/src/features/gen_FileSystemEntriesCallback.rs
+++ b/src/features/gen_FileSystemEntriesCallback.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileSystemEntry.rs b/src/features/gen_FileSystemEntry.rs
index 7834d68..885bf59 100644
--- a/src/features/gen_FileSystemEntry.rs
+++ b/src/features/gen_FileSystemEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileSystemEntryCallback.rs b/src/features/gen_FileSystemEntryCallback.rs
index 38f4306..c9162d9 100644
--- a/src/features/gen_FileSystemEntryCallback.rs
+++ b/src/features/gen_FileSystemEntryCallback.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileSystemFileEntry.rs b/src/features/gen_FileSystemFileEntry.rs
index 84dc290..8e40118 100644
--- a/src/features/gen_FileSystemFileEntry.rs
+++ b/src/features/gen_FileSystemFileEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileSystemFileHandle.rs b/src/features/gen_FileSystemFileHandle.rs
new file mode 100644
index 0000000..c11c88e
--- /dev/null
+++ b/src/features/gen_FileSystemFileHandle.rs
@@ -0,0 +1,67 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = FileSystemHandle , extends = :: js_sys :: Object , js_name = FileSystemFileHandle , typescript_type = "FileSystemFileHandle")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FileSystemFileHandle` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemFileHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FileSystemFileHandle;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemFileHandle" , js_name = createSyncAccessHandle)]
+    #[doc = "The `createSyncAccessHandle()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle/createSyncAccessHandle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemFileHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_sync_access_handle(this: &FileSystemFileHandle) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemFileHandle" , js_name = createWritable)]
+    #[doc = "The `createWritable()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle/createWritable)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemFileHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_writable(this: &FileSystemFileHandle) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FileSystemCreateWritableOptions")]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemFileHandle" , js_name = createWritable)]
+    #[doc = "The `createWritable()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle/createWritable)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemCreateWritableOptions`, `FileSystemFileHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_writable_with_options(
+        this: &FileSystemFileHandle,
+        options: &FileSystemCreateWritableOptions,
+    ) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemFileHandle" , js_name = getFile)]
+    #[doc = "The `getFile()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle/getFile)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemFileHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_file(this: &FileSystemFileHandle) -> ::js_sys::Promise;
+}
diff --git a/src/features/gen_FileSystemFlags.rs b/src/features/gen_FileSystemFlags.rs
index 3faa152..d71c573 100644
--- a/src/features/gen_FileSystemFlags.rs
+++ b/src/features/gen_FileSystemFlags.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FileSystemGetDirectoryOptions.rs b/src/features/gen_FileSystemGetDirectoryOptions.rs
new file mode 100644
index 0000000..a26ba73
--- /dev/null
+++ b/src/features/gen_FileSystemGetDirectoryOptions.rs
@@ -0,0 +1,55 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = FileSystemGetDirectoryOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FileSystemGetDirectoryOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemGetDirectoryOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FileSystemGetDirectoryOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl FileSystemGetDirectoryOptions {
+    #[doc = "Construct a new `FileSystemGetDirectoryOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemGetDirectoryOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `create` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemGetDirectoryOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r =
+            ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("create"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for FileSystemGetDirectoryOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_FileSystemGetFileOptions.rs b/src/features/gen_FileSystemGetFileOptions.rs
new file mode 100644
index 0000000..08dbf37
--- /dev/null
+++ b/src/features/gen_FileSystemGetFileOptions.rs
@@ -0,0 +1,55 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = FileSystemGetFileOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FileSystemGetFileOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemGetFileOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FileSystemGetFileOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl FileSystemGetFileOptions {
+    #[doc = "Construct a new `FileSystemGetFileOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemGetFileOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `create` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemGetFileOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r =
+            ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("create"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for FileSystemGetFileOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_FileSystemHandle.rs b/src/features/gen_FileSystemHandle.rs
new file mode 100644
index 0000000..35e9b66
--- /dev/null
+++ b/src/features/gen_FileSystemHandle.rs
@@ -0,0 +1,53 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = FileSystemHandle , typescript_type = "FileSystemHandle")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FileSystemHandle` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FileSystemHandle;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FileSystemHandleKind")]
+    # [wasm_bindgen (structural , method , getter , js_class = "FileSystemHandle" , js_name = kind)]
+    #[doc = "Getter for the `kind` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/kind)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemHandle`, `FileSystemHandleKind`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn kind(this: &FileSystemHandle) -> FileSystemHandleKind;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "FileSystemHandle" , js_name = name)]
+    #[doc = "Getter for the `name` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/name)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn name(this: &FileSystemHandle) -> String;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemHandle" , js_name = isSameEntry)]
+    #[doc = "The `isSameEntry()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/isSameEntry)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn is_same_entry(this: &FileSystemHandle, other: &FileSystemHandle) -> ::js_sys::Promise;
+}
diff --git a/src/features/gen_FileSystemHandleKind.rs b/src/features/gen_FileSystemHandleKind.rs
new file mode 100644
index 0000000..8dfa38a
--- /dev/null
+++ b/src/features/gen_FileSystemHandleKind.rs
@@ -0,0 +1,16 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+#[doc = "The `FileSystemHandleKind` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `FileSystemHandleKind`*"]
+#[doc = ""]
+#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum FileSystemHandleKind {
+    File = "file",
+    Directory = "directory",
+}
diff --git a/src/features/gen_FileSystemReadWriteOptions.rs b/src/features/gen_FileSystemReadWriteOptions.rs
new file mode 100644
index 0000000..1188a94
--- /dev/null
+++ b/src/features/gen_FileSystemReadWriteOptions.rs
@@ -0,0 +1,54 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = FileSystemReadWriteOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FileSystemReadWriteOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemReadWriteOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FileSystemReadWriteOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl FileSystemReadWriteOptions {
+    #[doc = "Construct a new `FileSystemReadWriteOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemReadWriteOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `at` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemReadWriteOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn at(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("at"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for FileSystemReadWriteOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_FileSystemRemoveOptions.rs b/src/features/gen_FileSystemRemoveOptions.rs
new file mode 100644
index 0000000..a0e895d
--- /dev/null
+++ b/src/features/gen_FileSystemRemoveOptions.rs
@@ -0,0 +1,58 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = FileSystemRemoveOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FileSystemRemoveOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemRemoveOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FileSystemRemoveOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl FileSystemRemoveOptions {
+    #[doc = "Construct a new `FileSystemRemoveOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemRemoveOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `recursive` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemRemoveOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn recursive(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("recursive"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for FileSystemRemoveOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_FileSystemSyncAccessHandle.rs b/src/features/gen_FileSystemSyncAccessHandle.rs
new file mode 100644
index 0000000..30d81b4
--- /dev/null
+++ b/src/features/gen_FileSystemSyncAccessHandle.rs
@@ -0,0 +1,200 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = FileSystemSyncAccessHandle , typescript_type = "FileSystemSyncAccessHandle")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FileSystemSyncAccessHandle` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FileSystemSyncAccessHandle;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = close)]
+    #[doc = "The `close()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/close)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn close(this: &FileSystemSyncAccessHandle);
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = flush)]
+    #[doc = "The `flush()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/flush)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn flush(this: &FileSystemSyncAccessHandle) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = getSize)]
+    #[doc = "The `getSize()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/getSize)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_size(this: &FileSystemSyncAccessHandle) -> Result<f64, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = read)]
+    #[doc = "The `read()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/read)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn read_with_buffer_source(
+        this: &FileSystemSyncAccessHandle,
+        buffer: &::js_sys::Object,
+    ) -> Result<f64, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = read)]
+    #[doc = "The `read()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/read)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn read_with_u8_array(
+        this: &FileSystemSyncAccessHandle,
+        buffer: &mut [u8],
+    ) -> Result<f64, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FileSystemReadWriteOptions")]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = read)]
+    #[doc = "The `read()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/read)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemReadWriteOptions`, `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn read_with_buffer_source_and_options(
+        this: &FileSystemSyncAccessHandle,
+        buffer: &::js_sys::Object,
+        options: &FileSystemReadWriteOptions,
+    ) -> Result<f64, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FileSystemReadWriteOptions")]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = read)]
+    #[doc = "The `read()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/read)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemReadWriteOptions`, `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn read_with_u8_array_and_options(
+        this: &FileSystemSyncAccessHandle,
+        buffer: &mut [u8],
+        options: &FileSystemReadWriteOptions,
+    ) -> Result<f64, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = truncate)]
+    #[doc = "The `truncate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/truncate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn truncate_with_u32(
+        this: &FileSystemSyncAccessHandle,
+        new_size: u32,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = truncate)]
+    #[doc = "The `truncate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/truncate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn truncate_with_f64(
+        this: &FileSystemSyncAccessHandle,
+        new_size: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = write)]
+    #[doc = "The `write()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/write)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn write_with_buffer_source(
+        this: &FileSystemSyncAccessHandle,
+        buffer: &::js_sys::Object,
+    ) -> Result<f64, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = write)]
+    #[doc = "The `write()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/write)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn write_with_u8_array(
+        this: &FileSystemSyncAccessHandle,
+        buffer: &mut [u8],
+    ) -> Result<f64, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FileSystemReadWriteOptions")]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = write)]
+    #[doc = "The `write()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/write)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemReadWriteOptions`, `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn write_with_buffer_source_and_options(
+        this: &FileSystemSyncAccessHandle,
+        buffer: &::js_sys::Object,
+        options: &FileSystemReadWriteOptions,
+    ) -> Result<f64, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FileSystemReadWriteOptions")]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemSyncAccessHandle" , js_name = write)]
+    #[doc = "The `write()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/write)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemReadWriteOptions`, `FileSystemSyncAccessHandle`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn write_with_u8_array_and_options(
+        this: &FileSystemSyncAccessHandle,
+        buffer: &mut [u8],
+        options: &FileSystemReadWriteOptions,
+    ) -> Result<f64, JsValue>;
+}
diff --git a/src/features/gen_FileSystemWritableFileStream.rs b/src/features/gen_FileSystemWritableFileStream.rs
new file mode 100644
index 0000000..c369822
--- /dev/null
+++ b/src/features/gen_FileSystemWritableFileStream.rs
@@ -0,0 +1,147 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = WritableStream , extends = :: js_sys :: Object , js_name = FileSystemWritableFileStream , typescript_type = "FileSystemWritableFileStream")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FileSystemWritableFileStream` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemWritableFileStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FileSystemWritableFileStream;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemWritableFileStream" , js_name = seek)]
+    #[doc = "The `seek()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/seek)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemWritableFileStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn seek_with_u32(
+        this: &FileSystemWritableFileStream,
+        position: u32,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemWritableFileStream" , js_name = seek)]
+    #[doc = "The `seek()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/seek)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemWritableFileStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn seek_with_f64(
+        this: &FileSystemWritableFileStream,
+        position: f64,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemWritableFileStream" , js_name = truncate)]
+    #[doc = "The `truncate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/truncate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemWritableFileStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn truncate_with_u32(
+        this: &FileSystemWritableFileStream,
+        size: u32,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemWritableFileStream" , js_name = truncate)]
+    #[doc = "The `truncate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/truncate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemWritableFileStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn truncate_with_f64(
+        this: &FileSystemWritableFileStream,
+        size: f64,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemWritableFileStream" , js_name = write)]
+    #[doc = "The `write()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/write)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemWritableFileStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn write_with_buffer_source(
+        this: &FileSystemWritableFileStream,
+        data: &::js_sys::Object,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemWritableFileStream" , js_name = write)]
+    #[doc = "The `write()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/write)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemWritableFileStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn write_with_u8_array(
+        this: &FileSystemWritableFileStream,
+        data: &mut [u8],
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "Blob")]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemWritableFileStream" , js_name = write)]
+    #[doc = "The `write()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/write)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Blob`, `FileSystemWritableFileStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn write_with_blob(
+        this: &FileSystemWritableFileStream,
+        data: &Blob,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemWritableFileStream" , js_name = write)]
+    #[doc = "The `write()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/write)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemWritableFileStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn write_with_str(
+        this: &FileSystemWritableFileStream,
+        data: &str,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WriteParams")]
+    # [wasm_bindgen (catch , method , structural , js_class = "FileSystemWritableFileStream" , js_name = write)]
+    #[doc = "The `write()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/write)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FileSystemWritableFileStream`, `WriteParams`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn write_with_write_params(
+        this: &FileSystemWritableFileStream,
+        data: &WriteParams,
+    ) -> Result<::js_sys::Promise, JsValue>;
+}
diff --git a/src/features/gen_FillMode.rs b/src/features/gen_FillMode.rs
index 1e1001a..8897bde 100644
--- a/src/features/gen_FillMode.rs
+++ b/src/features/gen_FillMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `FillMode` enum."]
diff --git a/src/features/gen_FlashClassification.rs b/src/features/gen_FlashClassification.rs
index eecf9f8..08e5269 100644
--- a/src/features/gen_FlashClassification.rs
+++ b/src/features/gen_FlashClassification.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `FlashClassification` enum."]
diff --git a/src/features/gen_FlexLineGrowthState.rs b/src/features/gen_FlexLineGrowthState.rs
index ee93753..8b4bd3f 100644
--- a/src/features/gen_FlexLineGrowthState.rs
+++ b/src/features/gen_FlexLineGrowthState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `FlexLineGrowthState` enum."]
diff --git a/src/features/gen_FlowControlType.rs b/src/features/gen_FlowControlType.rs
new file mode 100644
index 0000000..0b9f4c5
--- /dev/null
+++ b/src/features/gen_FlowControlType.rs
@@ -0,0 +1,16 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+#[doc = "The `FlowControlType` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `FlowControlType`*"]
+#[doc = ""]
+#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum FlowControlType {
+    None = "none",
+    Hardware = "hardware",
+}
diff --git a/src/features/gen_FocusEvent.rs b/src/features/gen_FocusEvent.rs
index d50c0dc..90f7c67 100644
--- a/src/features/gen_FocusEvent.rs
+++ b/src/features/gen_FocusEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FocusEventInit.rs b/src/features/gen_FocusEventInit.rs
index b58db20..0407740 100644
--- a/src/features/gen_FocusEventInit.rs
+++ b/src/features/gen_FocusEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FontData.rs b/src/features/gen_FontData.rs
new file mode 100644
index 0000000..c1bebfa
--- /dev/null
+++ b/src/features/gen_FontData.rs
@@ -0,0 +1,74 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = FontData , typescript_type = "FontData")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `FontData` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FontData)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FontData`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type FontData;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "FontData" , js_name = postscriptName)]
+    #[doc = "Getter for the `postscriptName` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FontData/postscriptName)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FontData`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn postscript_name(this: &FontData) -> String;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "FontData" , js_name = fullName)]
+    #[doc = "Getter for the `fullName` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FontData/fullName)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FontData`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn full_name(this: &FontData) -> String;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "FontData" , js_name = family)]
+    #[doc = "Getter for the `family` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FontData/family)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FontData`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn family(this: &FontData) -> String;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "FontData" , js_name = style)]
+    #[doc = "Getter for the `style` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FontData/style)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FontData`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn style(this: &FontData) -> String;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "FontData" , js_name = blob)]
+    #[doc = "The `blob()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FontData/blob)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FontData`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn blob(this: &FontData) -> ::js_sys::Promise;
+}
diff --git a/src/features/gen_FontFace.rs b/src/features/gen_FontFace.rs
index b1c9318..529713b 100644
--- a/src/features/gen_FontFace.rs
+++ b/src/features/gen_FontFace.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FontFaceDescriptors.rs b/src/features/gen_FontFaceDescriptors.rs
index 080792f..d83466e 100644
--- a/src/features/gen_FontFaceDescriptors.rs
+++ b/src/features/gen_FontFaceDescriptors.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FontFaceLoadStatus.rs b/src/features/gen_FontFaceLoadStatus.rs
index f029f8c..2d86cda 100644
--- a/src/features/gen_FontFaceLoadStatus.rs
+++ b/src/features/gen_FontFaceLoadStatus.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `FontFaceLoadStatus` enum."]
diff --git a/src/features/gen_FontFaceSet.rs b/src/features/gen_FontFaceSet.rs
index 99c8a1f..75a23e3 100644
--- a/src/features/gen_FontFaceSet.rs
+++ b/src/features/gen_FontFaceSet.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FontFaceSetIterator.rs b/src/features/gen_FontFaceSetIterator.rs
index 8191f5d..fe0d806 100644
--- a/src/features/gen_FontFaceSetIterator.rs
+++ b/src/features/gen_FontFaceSetIterator.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FontFaceSetIteratorResult.rs b/src/features/gen_FontFaceSetIteratorResult.rs
index 5b9bcf3..6046ac0 100644
--- a/src/features/gen_FontFaceSetIteratorResult.rs
+++ b/src/features/gen_FontFaceSetIteratorResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FontFaceSetLoadEvent.rs b/src/features/gen_FontFaceSetLoadEvent.rs
index 800102f..a8bd6a6 100644
--- a/src/features/gen_FontFaceSetLoadEvent.rs
+++ b/src/features/gen_FontFaceSetLoadEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FontFaceSetLoadEventInit.rs b/src/features/gen_FontFaceSetLoadEventInit.rs
index 34570f4..154e3a3 100644
--- a/src/features/gen_FontFaceSetLoadEventInit.rs
+++ b/src/features/gen_FontFaceSetLoadEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FontFaceSetLoadStatus.rs b/src/features/gen_FontFaceSetLoadStatus.rs
index a97a1ce..ab61481 100644
--- a/src/features/gen_FontFaceSetLoadStatus.rs
+++ b/src/features/gen_FontFaceSetLoadStatus.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `FontFaceSetLoadStatus` enum."]
diff --git a/src/features/gen_FormData.rs b/src/features/gen_FormData.rs
index e605285..a75c95b 100644
--- a/src/features/gen_FormData.rs
+++ b/src/features/gen_FormData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_FrameType.rs b/src/features/gen_FrameType.rs
index 2e37534..fd18cac 100644
--- a/src/features/gen_FrameType.rs
+++ b/src/features/gen_FrameType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `FrameType` enum."]
diff --git a/src/features/gen_FuzzingFunctions.rs b/src/features/gen_FuzzingFunctions.rs
index f3a6d7f..76505ea 100644
--- a/src/features/gen_FuzzingFunctions.rs
+++ b/src/features/gen_FuzzingFunctions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GainNode.rs b/src/features/gen_GainNode.rs
index fe5d28d..fc96a09 100644
--- a/src/features/gen_GainNode.rs
+++ b/src/features/gen_GainNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GainOptions.rs b/src/features/gen_GainOptions.rs
index 9fc6b76..fdafdf8 100644
--- a/src/features/gen_GainOptions.rs
+++ b/src/features/gen_GainOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Gamepad.rs b/src/features/gen_Gamepad.rs
index 7545cec..c9cd0e7 100644
--- a/src/features/gen_Gamepad.rs
+++ b/src/features/gen_Gamepad.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GamepadAxisMoveEvent.rs b/src/features/gen_GamepadAxisMoveEvent.rs
index 479cf3e..4ab18a1 100644
--- a/src/features/gen_GamepadAxisMoveEvent.rs
+++ b/src/features/gen_GamepadAxisMoveEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GamepadAxisMoveEventInit.rs b/src/features/gen_GamepadAxisMoveEventInit.rs
index 4118c3e..6f9b999 100644
--- a/src/features/gen_GamepadAxisMoveEventInit.rs
+++ b/src/features/gen_GamepadAxisMoveEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GamepadButton.rs b/src/features/gen_GamepadButton.rs
index f06e3ec..93dacc1 100644
--- a/src/features/gen_GamepadButton.rs
+++ b/src/features/gen_GamepadButton.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GamepadButtonEvent.rs b/src/features/gen_GamepadButtonEvent.rs
index c04f724..4226214 100644
--- a/src/features/gen_GamepadButtonEvent.rs
+++ b/src/features/gen_GamepadButtonEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GamepadButtonEventInit.rs b/src/features/gen_GamepadButtonEventInit.rs
index 3882908..5714242 100644
--- a/src/features/gen_GamepadButtonEventInit.rs
+++ b/src/features/gen_GamepadButtonEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GamepadEvent.rs b/src/features/gen_GamepadEvent.rs
index 22988fe..aee274f 100644
--- a/src/features/gen_GamepadEvent.rs
+++ b/src/features/gen_GamepadEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GamepadEventInit.rs b/src/features/gen_GamepadEventInit.rs
index 67d67ad..8ffd292 100644
--- a/src/features/gen_GamepadEventInit.rs
+++ b/src/features/gen_GamepadEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GamepadHand.rs b/src/features/gen_GamepadHand.rs
index 88650f3..191aff8 100644
--- a/src/features/gen_GamepadHand.rs
+++ b/src/features/gen_GamepadHand.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `GamepadHand` enum."]
diff --git a/src/features/gen_GamepadHapticActuator.rs b/src/features/gen_GamepadHapticActuator.rs
index 98c0191..8a67375 100644
--- a/src/features/gen_GamepadHapticActuator.rs
+++ b/src/features/gen_GamepadHapticActuator.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GamepadHapticActuatorType.rs b/src/features/gen_GamepadHapticActuatorType.rs
index cc6bf04..7fb9239 100644
--- a/src/features/gen_GamepadHapticActuatorType.rs
+++ b/src/features/gen_GamepadHapticActuatorType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `GamepadHapticActuatorType` enum."]
diff --git a/src/features/gen_GamepadMappingType.rs b/src/features/gen_GamepadMappingType.rs
index 14b69f2..00873cf 100644
--- a/src/features/gen_GamepadMappingType.rs
+++ b/src/features/gen_GamepadMappingType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `GamepadMappingType` enum."]
diff --git a/src/features/gen_GamepadPose.rs b/src/features/gen_GamepadPose.rs
index a8980c3..923f1b4 100644
--- a/src/features/gen_GamepadPose.rs
+++ b/src/features/gen_GamepadPose.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GamepadServiceTest.rs b/src/features/gen_GamepadServiceTest.rs
index 93db833..a8cd86a 100644
--- a/src/features/gen_GamepadServiceTest.rs
+++ b/src/features/gen_GamepadServiceTest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Geolocation.rs b/src/features/gen_Geolocation.rs
index 896b7ff..26b3d62 100644
--- a/src/features/gen_Geolocation.rs
+++ b/src/features/gen_Geolocation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GetAnimationsOptions.rs b/src/features/gen_GetAnimationsOptions.rs
new file mode 100644
index 0000000..ec5f365
--- /dev/null
+++ b/src/features/gen_GetAnimationsOptions.rs
@@ -0,0 +1,58 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = GetAnimationsOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `GetAnimationsOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `GetAnimationsOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type GetAnimationsOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl GetAnimationsOptions {
+    #[doc = "Construct a new `GetAnimationsOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `GetAnimationsOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `subtree` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `GetAnimationsOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn subtree(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("subtree"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for GetAnimationsOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_GetNotificationOptions.rs b/src/features/gen_GetNotificationOptions.rs
index 3dc3788..ac6589d 100644
--- a/src/features/gen_GetNotificationOptions.rs
+++ b/src/features/gen_GetNotificationOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GetRootNodeOptions.rs b/src/features/gen_GetRootNodeOptions.rs
index 41a8cc3..9539c52 100644
--- a/src/features/gen_GetRootNodeOptions.rs
+++ b/src/features/gen_GetRootNodeOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_GetUserMediaRequest.rs b/src/features/gen_GetUserMediaRequest.rs
index da4a744..6471890 100644
--- a/src/features/gen_GetUserMediaRequest.rs
+++ b/src/features/gen_GetUserMediaRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Gpu.rs b/src/features/gen_Gpu.rs
index 6515bda..1001f2a 100644
--- a/src/features/gen_Gpu.rs
+++ b/src/features/gen_Gpu.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuAdapter.rs b/src/features/gen_GpuAdapter.rs
index ee64df5..47d9b96 100644
--- a/src/features/gen_GpuAdapter.rs
+++ b/src/features/gen_GpuAdapter.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuAdapterInfo.rs b/src/features/gen_GpuAdapterInfo.rs
index 2e5609c..b2f4151 100644
--- a/src/features/gen_GpuAdapterInfo.rs
+++ b/src/features/gen_GpuAdapterInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuAddressMode.rs b/src/features/gen_GpuAddressMode.rs
index b607dc0..c0710da 100644
--- a/src/features/gen_GpuAddressMode.rs
+++ b/src/features/gen_GpuAddressMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuAutoLayoutMode.rs b/src/features/gen_GpuAutoLayoutMode.rs
index 95258c4..8b56987 100644
--- a/src/features/gen_GpuAutoLayoutMode.rs
+++ b/src/features/gen_GpuAutoLayoutMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuBindGroup.rs b/src/features/gen_GpuBindGroup.rs
index 1bef047..149b519 100644
--- a/src/features/gen_GpuBindGroup.rs
+++ b/src/features/gen_GpuBindGroup.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBindGroupDescriptor.rs b/src/features/gen_GpuBindGroupDescriptor.rs
index 528a40a..fa5a21d 100644
--- a/src/features/gen_GpuBindGroupDescriptor.rs
+++ b/src/features/gen_GpuBindGroupDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBindGroupEntry.rs b/src/features/gen_GpuBindGroupEntry.rs
index 72c7de2..e4dce4d 100644
--- a/src/features/gen_GpuBindGroupEntry.rs
+++ b/src/features/gen_GpuBindGroupEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBindGroupLayout.rs b/src/features/gen_GpuBindGroupLayout.rs
index 0e4604f..40e00c0 100644
--- a/src/features/gen_GpuBindGroupLayout.rs
+++ b/src/features/gen_GpuBindGroupLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBindGroupLayoutDescriptor.rs b/src/features/gen_GpuBindGroupLayoutDescriptor.rs
index 0a67dc1..5faf64d 100644
--- a/src/features/gen_GpuBindGroupLayoutDescriptor.rs
+++ b/src/features/gen_GpuBindGroupLayoutDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBindGroupLayoutEntry.rs b/src/features/gen_GpuBindGroupLayoutEntry.rs
index 94e04dc..b072d01 100644
--- a/src/features/gen_GpuBindGroupLayoutEntry.rs
+++ b/src/features/gen_GpuBindGroupLayoutEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBlendComponent.rs b/src/features/gen_GpuBlendComponent.rs
index ed62e7d..6449482 100644
--- a/src/features/gen_GpuBlendComponent.rs
+++ b/src/features/gen_GpuBlendComponent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBlendFactor.rs b/src/features/gen_GpuBlendFactor.rs
index 77aed0f..a8de869 100644
--- a/src/features/gen_GpuBlendFactor.rs
+++ b/src/features/gen_GpuBlendFactor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuBlendOperation.rs b/src/features/gen_GpuBlendOperation.rs
index 69ae1f0..ad66d0a 100644
--- a/src/features/gen_GpuBlendOperation.rs
+++ b/src/features/gen_GpuBlendOperation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuBlendState.rs b/src/features/gen_GpuBlendState.rs
index 3d9204a..70b2833 100644
--- a/src/features/gen_GpuBlendState.rs
+++ b/src/features/gen_GpuBlendState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBuffer.rs b/src/features/gen_GpuBuffer.rs
index ce58b85..436ba80 100644
--- a/src/features/gen_GpuBuffer.rs
+++ b/src/features/gen_GpuBuffer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBufferBinding.rs b/src/features/gen_GpuBufferBinding.rs
index 0e0c890..9181923 100644
--- a/src/features/gen_GpuBufferBinding.rs
+++ b/src/features/gen_GpuBufferBinding.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBufferBindingLayout.rs b/src/features/gen_GpuBufferBindingLayout.rs
index e722860..3ce28b4 100644
--- a/src/features/gen_GpuBufferBindingLayout.rs
+++ b/src/features/gen_GpuBufferBindingLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBufferBindingType.rs b/src/features/gen_GpuBufferBindingType.rs
index 8be5d8f..d297f54 100644
--- a/src/features/gen_GpuBufferBindingType.rs
+++ b/src/features/gen_GpuBufferBindingType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuBufferDescriptor.rs b/src/features/gen_GpuBufferDescriptor.rs
index cc677ec..adb1ae3 100644
--- a/src/features/gen_GpuBufferDescriptor.rs
+++ b/src/features/gen_GpuBufferDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuBufferMapState.rs b/src/features/gen_GpuBufferMapState.rs
index 26bb64a..3e6049f 100644
--- a/src/features/gen_GpuBufferMapState.rs
+++ b/src/features/gen_GpuBufferMapState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuCanvasAlphaMode.rs b/src/features/gen_GpuCanvasAlphaMode.rs
index d823caa..96d11c7 100644
--- a/src/features/gen_GpuCanvasAlphaMode.rs
+++ b/src/features/gen_GpuCanvasAlphaMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuCanvasConfiguration.rs b/src/features/gen_GpuCanvasConfiguration.rs
index 883efb4..84c5ca4 100644
--- a/src/features/gen_GpuCanvasConfiguration.rs
+++ b/src/features/gen_GpuCanvasConfiguration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuCanvasContext.rs b/src/features/gen_GpuCanvasContext.rs
index 797cfe0..c5f50dd 100644
--- a/src/features/gen_GpuCanvasContext.rs
+++ b/src/features/gen_GpuCanvasContext.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuColorDict.rs b/src/features/gen_GpuColorDict.rs
index de5420e..51d4be5 100644
--- a/src/features/gen_GpuColorDict.rs
+++ b/src/features/gen_GpuColorDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuColorTargetState.rs b/src/features/gen_GpuColorTargetState.rs
index 2e910d7..d239a26 100644
--- a/src/features/gen_GpuColorTargetState.rs
+++ b/src/features/gen_GpuColorTargetState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuCommandBuffer.rs b/src/features/gen_GpuCommandBuffer.rs
index 445d05b..d7054ce 100644
--- a/src/features/gen_GpuCommandBuffer.rs
+++ b/src/features/gen_GpuCommandBuffer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuCommandBufferDescriptor.rs b/src/features/gen_GpuCommandBufferDescriptor.rs
index c5fec9f..34036b2 100644
--- a/src/features/gen_GpuCommandBufferDescriptor.rs
+++ b/src/features/gen_GpuCommandBufferDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuCommandEncoder.rs b/src/features/gen_GpuCommandEncoder.rs
index c4ae2dc..bc9e586 100644
--- a/src/features/gen_GpuCommandEncoder.rs
+++ b/src/features/gen_GpuCommandEncoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuCommandEncoderDescriptor.rs b/src/features/gen_GpuCommandEncoderDescriptor.rs
index 2a858a2..08a08d4 100644
--- a/src/features/gen_GpuCommandEncoderDescriptor.rs
+++ b/src/features/gen_GpuCommandEncoderDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuCompareFunction.rs b/src/features/gen_GpuCompareFunction.rs
index cdbeaae..8e01e19 100644
--- a/src/features/gen_GpuCompareFunction.rs
+++ b/src/features/gen_GpuCompareFunction.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuCompilationInfo.rs b/src/features/gen_GpuCompilationInfo.rs
index 02974b6..c878593 100644
--- a/src/features/gen_GpuCompilationInfo.rs
+++ b/src/features/gen_GpuCompilationInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuCompilationMessage.rs b/src/features/gen_GpuCompilationMessage.rs
index 927a3c5..227fa23 100644
--- a/src/features/gen_GpuCompilationMessage.rs
+++ b/src/features/gen_GpuCompilationMessage.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuCompilationMessageType.rs b/src/features/gen_GpuCompilationMessageType.rs
index 6f11081..74780e3 100644
--- a/src/features/gen_GpuCompilationMessageType.rs
+++ b/src/features/gen_GpuCompilationMessageType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuComputePassDescriptor.rs b/src/features/gen_GpuComputePassDescriptor.rs
index b708dc6..475c0ac 100644
--- a/src/features/gen_GpuComputePassDescriptor.rs
+++ b/src/features/gen_GpuComputePassDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuComputePassEncoder.rs b/src/features/gen_GpuComputePassEncoder.rs
index a4b9e29..6314116 100644
--- a/src/features/gen_GpuComputePassEncoder.rs
+++ b/src/features/gen_GpuComputePassEncoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuComputePassTimestampLocation.rs b/src/features/gen_GpuComputePassTimestampLocation.rs
index 72142d1..4889915 100644
--- a/src/features/gen_GpuComputePassTimestampLocation.rs
+++ b/src/features/gen_GpuComputePassTimestampLocation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuComputePassTimestampWrite.rs b/src/features/gen_GpuComputePassTimestampWrite.rs
index 0d6c36d..189b759 100644
--- a/src/features/gen_GpuComputePassTimestampWrite.rs
+++ b/src/features/gen_GpuComputePassTimestampWrite.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuComputePipeline.rs b/src/features/gen_GpuComputePipeline.rs
index e47a232..cb6d172 100644
--- a/src/features/gen_GpuComputePipeline.rs
+++ b/src/features/gen_GpuComputePipeline.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuComputePipelineDescriptor.rs b/src/features/gen_GpuComputePipelineDescriptor.rs
index 33ff02f..22a2838 100644
--- a/src/features/gen_GpuComputePipelineDescriptor.rs
+++ b/src/features/gen_GpuComputePipelineDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuCullMode.rs b/src/features/gen_GpuCullMode.rs
index 4c53e8e..f17ba15 100644
--- a/src/features/gen_GpuCullMode.rs
+++ b/src/features/gen_GpuCullMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuDepthStencilState.rs b/src/features/gen_GpuDepthStencilState.rs
index cad23ea..8869e1c 100644
--- a/src/features/gen_GpuDepthStencilState.rs
+++ b/src/features/gen_GpuDepthStencilState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuDevice.rs b/src/features/gen_GpuDevice.rs
index 0538220..4ee8647 100644
--- a/src/features/gen_GpuDevice.rs
+++ b/src/features/gen_GpuDevice.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuDeviceDescriptor.rs b/src/features/gen_GpuDeviceDescriptor.rs
index d29661f..e414b2d 100644
--- a/src/features/gen_GpuDeviceDescriptor.rs
+++ b/src/features/gen_GpuDeviceDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuDeviceLostInfo.rs b/src/features/gen_GpuDeviceLostInfo.rs
index bcc59f5..00d88cd 100644
--- a/src/features/gen_GpuDeviceLostInfo.rs
+++ b/src/features/gen_GpuDeviceLostInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuDeviceLostReason.rs b/src/features/gen_GpuDeviceLostReason.rs
index 1317793..3a8f6d8 100644
--- a/src/features/gen_GpuDeviceLostReason.rs
+++ b/src/features/gen_GpuDeviceLostReason.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuError.rs b/src/features/gen_GpuError.rs
index dd91c87..1d08942 100644
--- a/src/features/gen_GpuError.rs
+++ b/src/features/gen_GpuError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuErrorFilter.rs b/src/features/gen_GpuErrorFilter.rs
index 36244a0..070f8e9 100644
--- a/src/features/gen_GpuErrorFilter.rs
+++ b/src/features/gen_GpuErrorFilter.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuExtent3dDict.rs b/src/features/gen_GpuExtent3dDict.rs
index 5d0c8aa..b99cac1 100644
--- a/src/features/gen_GpuExtent3dDict.rs
+++ b/src/features/gen_GpuExtent3dDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuExternalTexture.rs b/src/features/gen_GpuExternalTexture.rs
index e04f477..f3fb9ac 100644
--- a/src/features/gen_GpuExternalTexture.rs
+++ b/src/features/gen_GpuExternalTexture.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuExternalTextureBindingLayout.rs b/src/features/gen_GpuExternalTextureBindingLayout.rs
index d9d6071..334427d 100644
--- a/src/features/gen_GpuExternalTextureBindingLayout.rs
+++ b/src/features/gen_GpuExternalTextureBindingLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuExternalTextureDescriptor.rs b/src/features/gen_GpuExternalTextureDescriptor.rs
index 623b064..f6a11bc 100644
--- a/src/features/gen_GpuExternalTextureDescriptor.rs
+++ b/src/features/gen_GpuExternalTextureDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuFeatureName.rs b/src/features/gen_GpuFeatureName.rs
index 9a34268..4bb8a43 100644
--- a/src/features/gen_GpuFeatureName.rs
+++ b/src/features/gen_GpuFeatureName.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuFilterMode.rs b/src/features/gen_GpuFilterMode.rs
index b1a7f1d..7edd76b 100644
--- a/src/features/gen_GpuFilterMode.rs
+++ b/src/features/gen_GpuFilterMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuFragmentState.rs b/src/features/gen_GpuFragmentState.rs
index 395df4f..0104569 100644
--- a/src/features/gen_GpuFragmentState.rs
+++ b/src/features/gen_GpuFragmentState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuFrontFace.rs b/src/features/gen_GpuFrontFace.rs
index 04eac27..af1f79c 100644
--- a/src/features/gen_GpuFrontFace.rs
+++ b/src/features/gen_GpuFrontFace.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuImageCopyBuffer.rs b/src/features/gen_GpuImageCopyBuffer.rs
index 150bc9d..20ca5f3 100644
--- a/src/features/gen_GpuImageCopyBuffer.rs
+++ b/src/features/gen_GpuImageCopyBuffer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuImageCopyExternalImage.rs b/src/features/gen_GpuImageCopyExternalImage.rs
index 03d1f9c..acd0d53 100644
--- a/src/features/gen_GpuImageCopyExternalImage.rs
+++ b/src/features/gen_GpuImageCopyExternalImage.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuImageCopyTexture.rs b/src/features/gen_GpuImageCopyTexture.rs
index 0e55fc2..4b727ef 100644
--- a/src/features/gen_GpuImageCopyTexture.rs
+++ b/src/features/gen_GpuImageCopyTexture.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuImageCopyTextureTagged.rs b/src/features/gen_GpuImageCopyTextureTagged.rs
index 8d69dbe..64d38a7 100644
--- a/src/features/gen_GpuImageCopyTextureTagged.rs
+++ b/src/features/gen_GpuImageCopyTextureTagged.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuImageDataLayout.rs b/src/features/gen_GpuImageDataLayout.rs
index 80be6b0..25895ed 100644
--- a/src/features/gen_GpuImageDataLayout.rs
+++ b/src/features/gen_GpuImageDataLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuIndexFormat.rs b/src/features/gen_GpuIndexFormat.rs
index ffc65c1..6812c5c 100644
--- a/src/features/gen_GpuIndexFormat.rs
+++ b/src/features/gen_GpuIndexFormat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuInternalError.rs b/src/features/gen_GpuInternalError.rs
index 3625b54..ed26c9a 100644
--- a/src/features/gen_GpuInternalError.rs
+++ b/src/features/gen_GpuInternalError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuLoadOp.rs b/src/features/gen_GpuLoadOp.rs
index 7812306..e7baab6 100644
--- a/src/features/gen_GpuLoadOp.rs
+++ b/src/features/gen_GpuLoadOp.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuMipmapFilterMode.rs b/src/features/gen_GpuMipmapFilterMode.rs
index 65718e9..ec34e9a 100644
--- a/src/features/gen_GpuMipmapFilterMode.rs
+++ b/src/features/gen_GpuMipmapFilterMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuMultisampleState.rs b/src/features/gen_GpuMultisampleState.rs
index 1cb538d..e9bf783 100644
--- a/src/features/gen_GpuMultisampleState.rs
+++ b/src/features/gen_GpuMultisampleState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuObjectDescriptorBase.rs b/src/features/gen_GpuObjectDescriptorBase.rs
index a8fe684..5757b09 100644
--- a/src/features/gen_GpuObjectDescriptorBase.rs
+++ b/src/features/gen_GpuObjectDescriptorBase.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuOrigin2dDict.rs b/src/features/gen_GpuOrigin2dDict.rs
index 7e608ca..17076b5 100644
--- a/src/features/gen_GpuOrigin2dDict.rs
+++ b/src/features/gen_GpuOrigin2dDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuOrigin3dDict.rs b/src/features/gen_GpuOrigin3dDict.rs
index 6bc5fb6..0469911 100644
--- a/src/features/gen_GpuOrigin3dDict.rs
+++ b/src/features/gen_GpuOrigin3dDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuOutOfMemoryError.rs b/src/features/gen_GpuOutOfMemoryError.rs
index 91a6059..039b393 100644
--- a/src/features/gen_GpuOutOfMemoryError.rs
+++ b/src/features/gen_GpuOutOfMemoryError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuPipelineDescriptorBase.rs b/src/features/gen_GpuPipelineDescriptorBase.rs
index f88b58b..6b09d65 100644
--- a/src/features/gen_GpuPipelineDescriptorBase.rs
+++ b/src/features/gen_GpuPipelineDescriptorBase.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuPipelineLayout.rs b/src/features/gen_GpuPipelineLayout.rs
index 8597824..b2ca2d9 100644
--- a/src/features/gen_GpuPipelineLayout.rs
+++ b/src/features/gen_GpuPipelineLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuPipelineLayoutDescriptor.rs b/src/features/gen_GpuPipelineLayoutDescriptor.rs
index 4e9b55e..40fd2d3 100644
--- a/src/features/gen_GpuPipelineLayoutDescriptor.rs
+++ b/src/features/gen_GpuPipelineLayoutDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuPowerPreference.rs b/src/features/gen_GpuPowerPreference.rs
index 1bf7015..41c15a8 100644
--- a/src/features/gen_GpuPowerPreference.rs
+++ b/src/features/gen_GpuPowerPreference.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuPrimitiveState.rs b/src/features/gen_GpuPrimitiveState.rs
index ff82fb1..a7e63b3 100644
--- a/src/features/gen_GpuPrimitiveState.rs
+++ b/src/features/gen_GpuPrimitiveState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuPrimitiveTopology.rs b/src/features/gen_GpuPrimitiveTopology.rs
index 341611a..848b4c3 100644
--- a/src/features/gen_GpuPrimitiveTopology.rs
+++ b/src/features/gen_GpuPrimitiveTopology.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuProgrammableStage.rs b/src/features/gen_GpuProgrammableStage.rs
index cf569c1..c36ee59 100644
--- a/src/features/gen_GpuProgrammableStage.rs
+++ b/src/features/gen_GpuProgrammableStage.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuQuerySet.rs b/src/features/gen_GpuQuerySet.rs
index 8020579..6bce084 100644
--- a/src/features/gen_GpuQuerySet.rs
+++ b/src/features/gen_GpuQuerySet.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuQuerySetDescriptor.rs b/src/features/gen_GpuQuerySetDescriptor.rs
index be7fbda..7dcddb1 100644
--- a/src/features/gen_GpuQuerySetDescriptor.rs
+++ b/src/features/gen_GpuQuerySetDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuQueryType.rs b/src/features/gen_GpuQueryType.rs
index 5fa437b..4e115a9 100644
--- a/src/features/gen_GpuQueryType.rs
+++ b/src/features/gen_GpuQueryType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuQueue.rs b/src/features/gen_GpuQueue.rs
index 45b0bfe..f1c0232 100644
--- a/src/features/gen_GpuQueue.rs
+++ b/src/features/gen_GpuQueue.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuQueueDescriptor.rs b/src/features/gen_GpuQueueDescriptor.rs
index 26f6e28..8f4412c 100644
--- a/src/features/gen_GpuQueueDescriptor.rs
+++ b/src/features/gen_GpuQueueDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderBundle.rs b/src/features/gen_GpuRenderBundle.rs
index 2fba3c3..ff40728 100644
--- a/src/features/gen_GpuRenderBundle.rs
+++ b/src/features/gen_GpuRenderBundle.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderBundleDescriptor.rs b/src/features/gen_GpuRenderBundleDescriptor.rs
index 22ef82c..df29fda 100644
--- a/src/features/gen_GpuRenderBundleDescriptor.rs
+++ b/src/features/gen_GpuRenderBundleDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderBundleEncoder.rs b/src/features/gen_GpuRenderBundleEncoder.rs
index c2222f6..7c3728c 100644
--- a/src/features/gen_GpuRenderBundleEncoder.rs
+++ b/src/features/gen_GpuRenderBundleEncoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderBundleEncoderDescriptor.rs b/src/features/gen_GpuRenderBundleEncoderDescriptor.rs
index d120bec..c7857f8 100644
--- a/src/features/gen_GpuRenderBundleEncoderDescriptor.rs
+++ b/src/features/gen_GpuRenderBundleEncoderDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderPassColorAttachment.rs b/src/features/gen_GpuRenderPassColorAttachment.rs
index 9945950..e02f53a 100644
--- a/src/features/gen_GpuRenderPassColorAttachment.rs
+++ b/src/features/gen_GpuRenderPassColorAttachment.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderPassDepthStencilAttachment.rs b/src/features/gen_GpuRenderPassDepthStencilAttachment.rs
index 8611785..f08e15e 100644
--- a/src/features/gen_GpuRenderPassDepthStencilAttachment.rs
+++ b/src/features/gen_GpuRenderPassDepthStencilAttachment.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderPassDescriptor.rs b/src/features/gen_GpuRenderPassDescriptor.rs
index bb75929..d7ef54d 100644
--- a/src/features/gen_GpuRenderPassDescriptor.rs
+++ b/src/features/gen_GpuRenderPassDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderPassEncoder.rs b/src/features/gen_GpuRenderPassEncoder.rs
index ba680df..57ab7b2 100644
--- a/src/features/gen_GpuRenderPassEncoder.rs
+++ b/src/features/gen_GpuRenderPassEncoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderPassLayout.rs b/src/features/gen_GpuRenderPassLayout.rs
index f583d10..b056eb5 100644
--- a/src/features/gen_GpuRenderPassLayout.rs
+++ b/src/features/gen_GpuRenderPassLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderPassTimestampLocation.rs b/src/features/gen_GpuRenderPassTimestampLocation.rs
index 449d126..23e531b 100644
--- a/src/features/gen_GpuRenderPassTimestampLocation.rs
+++ b/src/features/gen_GpuRenderPassTimestampLocation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuRenderPassTimestampWrite.rs b/src/features/gen_GpuRenderPassTimestampWrite.rs
index fa35942..f1aa587 100644
--- a/src/features/gen_GpuRenderPassTimestampWrite.rs
+++ b/src/features/gen_GpuRenderPassTimestampWrite.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderPipeline.rs b/src/features/gen_GpuRenderPipeline.rs
index 5655855..b4f94c5 100644
--- a/src/features/gen_GpuRenderPipeline.rs
+++ b/src/features/gen_GpuRenderPipeline.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRenderPipelineDescriptor.rs b/src/features/gen_GpuRenderPipelineDescriptor.rs
index b7ede7f..13f705a 100644
--- a/src/features/gen_GpuRenderPipelineDescriptor.rs
+++ b/src/features/gen_GpuRenderPipelineDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuRequestAdapterOptions.rs b/src/features/gen_GpuRequestAdapterOptions.rs
index 4301964..8431225 100644
--- a/src/features/gen_GpuRequestAdapterOptions.rs
+++ b/src/features/gen_GpuRequestAdapterOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuSampler.rs b/src/features/gen_GpuSampler.rs
index e98b386..c332f4d 100644
--- a/src/features/gen_GpuSampler.rs
+++ b/src/features/gen_GpuSampler.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuSamplerBindingLayout.rs b/src/features/gen_GpuSamplerBindingLayout.rs
index aba8ea6..3112b75 100644
--- a/src/features/gen_GpuSamplerBindingLayout.rs
+++ b/src/features/gen_GpuSamplerBindingLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuSamplerBindingType.rs b/src/features/gen_GpuSamplerBindingType.rs
index ea4a3c4..0b406c0 100644
--- a/src/features/gen_GpuSamplerBindingType.rs
+++ b/src/features/gen_GpuSamplerBindingType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuSamplerDescriptor.rs b/src/features/gen_GpuSamplerDescriptor.rs
index 431414b..5ac008a 100644
--- a/src/features/gen_GpuSamplerDescriptor.rs
+++ b/src/features/gen_GpuSamplerDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuShaderModule.rs b/src/features/gen_GpuShaderModule.rs
index 18b78c1..082c3af 100644
--- a/src/features/gen_GpuShaderModule.rs
+++ b/src/features/gen_GpuShaderModule.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuShaderModuleCompilationHint.rs b/src/features/gen_GpuShaderModuleCompilationHint.rs
index 729bf0b..f33ce1b 100644
--- a/src/features/gen_GpuShaderModuleCompilationHint.rs
+++ b/src/features/gen_GpuShaderModuleCompilationHint.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuShaderModuleDescriptor.rs b/src/features/gen_GpuShaderModuleDescriptor.rs
index fcf1c97..73fe9f0 100644
--- a/src/features/gen_GpuShaderModuleDescriptor.rs
+++ b/src/features/gen_GpuShaderModuleDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuStencilFaceState.rs b/src/features/gen_GpuStencilFaceState.rs
index 80b4e52..4c4eebc 100644
--- a/src/features/gen_GpuStencilFaceState.rs
+++ b/src/features/gen_GpuStencilFaceState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuStencilOperation.rs b/src/features/gen_GpuStencilOperation.rs
index 6b9573f..6206b66 100644
--- a/src/features/gen_GpuStencilOperation.rs
+++ b/src/features/gen_GpuStencilOperation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuStorageTextureAccess.rs b/src/features/gen_GpuStorageTextureAccess.rs
index e5dd0af..e68ce7b 100644
--- a/src/features/gen_GpuStorageTextureAccess.rs
+++ b/src/features/gen_GpuStorageTextureAccess.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuStorageTextureBindingLayout.rs b/src/features/gen_GpuStorageTextureBindingLayout.rs
index 90555a0..1d3f5ff 100644
--- a/src/features/gen_GpuStorageTextureBindingLayout.rs
+++ b/src/features/gen_GpuStorageTextureBindingLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuStoreOp.rs b/src/features/gen_GpuStoreOp.rs
index d1e1784..fc01989 100644
--- a/src/features/gen_GpuStoreOp.rs
+++ b/src/features/gen_GpuStoreOp.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuSupportedFeatures.rs b/src/features/gen_GpuSupportedFeatures.rs
index da11a61..0f14c56 100644
--- a/src/features/gen_GpuSupportedFeatures.rs
+++ b/src/features/gen_GpuSupportedFeatures.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
@@ -15,4 +16,73 @@ extern "C" {
     #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
     #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub type GpuSupportedFeatures;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "GPUSupportedFeatures" , js_name = size)]
+    #[doc = "Getter for the `size` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/GPUSupportedFeatures/size)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `GpuSupportedFeatures`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn size(this: &GpuSupportedFeatures) -> u32;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "GPUSupportedFeatures" , js_name = entries)]
+    #[doc = "The `entries()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/GPUSupportedFeatures/entries)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `GpuSupportedFeatures`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn entries(this: &GpuSupportedFeatures) -> ::js_sys::Iterator;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "GPUSupportedFeatures" , js_name = forEach)]
+    #[doc = "The `forEach()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/GPUSupportedFeatures/forEach)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `GpuSupportedFeatures`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn for_each(
+        this: &GpuSupportedFeatures,
+        callback: &::js_sys::Function,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "GPUSupportedFeatures" , js_name = has)]
+    #[doc = "The `has()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/GPUSupportedFeatures/has)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `GpuSupportedFeatures`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn has(this: &GpuSupportedFeatures, value: &str) -> bool;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "GPUSupportedFeatures" , js_name = keys)]
+    #[doc = "The `keys()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/GPUSupportedFeatures/keys)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `GpuSupportedFeatures`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn keys(this: &GpuSupportedFeatures) -> ::js_sys::Iterator;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "GPUSupportedFeatures" , js_name = values)]
+    #[doc = "The `values()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/GPUSupportedFeatures/values)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `GpuSupportedFeatures`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn values(this: &GpuSupportedFeatures) -> ::js_sys::Iterator;
 }
diff --git a/src/features/gen_GpuSupportedLimits.rs b/src/features/gen_GpuSupportedLimits.rs
index 4751a20..4abf9d9 100644
--- a/src/features/gen_GpuSupportedLimits.rs
+++ b/src/features/gen_GpuSupportedLimits.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuTexture.rs b/src/features/gen_GpuTexture.rs
index acd4ffb..0e7fc68 100644
--- a/src/features/gen_GpuTexture.rs
+++ b/src/features/gen_GpuTexture.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuTextureAspect.rs b/src/features/gen_GpuTextureAspect.rs
index 0a0742d..21216c3 100644
--- a/src/features/gen_GpuTextureAspect.rs
+++ b/src/features/gen_GpuTextureAspect.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuTextureBindingLayout.rs b/src/features/gen_GpuTextureBindingLayout.rs
index 621e6d2..65551e9 100644
--- a/src/features/gen_GpuTextureBindingLayout.rs
+++ b/src/features/gen_GpuTextureBindingLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuTextureDescriptor.rs b/src/features/gen_GpuTextureDescriptor.rs
index d4087b3..f7cb4f6 100644
--- a/src/features/gen_GpuTextureDescriptor.rs
+++ b/src/features/gen_GpuTextureDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuTextureDimension.rs b/src/features/gen_GpuTextureDimension.rs
index 3636751..a9676ac 100644
--- a/src/features/gen_GpuTextureDimension.rs
+++ b/src/features/gen_GpuTextureDimension.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuTextureFormat.rs b/src/features/gen_GpuTextureFormat.rs
index 7f2772b..cc2be60 100644
--- a/src/features/gen_GpuTextureFormat.rs
+++ b/src/features/gen_GpuTextureFormat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuTextureSampleType.rs b/src/features/gen_GpuTextureSampleType.rs
index 6007e61..8c5a8f9 100644
--- a/src/features/gen_GpuTextureSampleType.rs
+++ b/src/features/gen_GpuTextureSampleType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuTextureView.rs b/src/features/gen_GpuTextureView.rs
index 4ab5247..c15f965 100644
--- a/src/features/gen_GpuTextureView.rs
+++ b/src/features/gen_GpuTextureView.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuTextureViewDescriptor.rs b/src/features/gen_GpuTextureViewDescriptor.rs
index acc8216..30b8fc3 100644
--- a/src/features/gen_GpuTextureViewDescriptor.rs
+++ b/src/features/gen_GpuTextureViewDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuTextureViewDimension.rs b/src/features/gen_GpuTextureViewDimension.rs
index 77d8e5d..8e34163 100644
--- a/src/features/gen_GpuTextureViewDimension.rs
+++ b/src/features/gen_GpuTextureViewDimension.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuUncapturedErrorEvent.rs b/src/features/gen_GpuUncapturedErrorEvent.rs
index 07f10da..37c29a0 100644
--- a/src/features/gen_GpuUncapturedErrorEvent.rs
+++ b/src/features/gen_GpuUncapturedErrorEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuUncapturedErrorEventInit.rs b/src/features/gen_GpuUncapturedErrorEventInit.rs
index 986dd50..8674ca8 100644
--- a/src/features/gen_GpuUncapturedErrorEventInit.rs
+++ b/src/features/gen_GpuUncapturedErrorEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuValidationError.rs b/src/features/gen_GpuValidationError.rs
index 7b6b0d7..596f96d 100644
--- a/src/features/gen_GpuValidationError.rs
+++ b/src/features/gen_GpuValidationError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuVertexAttribute.rs b/src/features/gen_GpuVertexAttribute.rs
index 2fde6d1..f707616 100644
--- a/src/features/gen_GpuVertexAttribute.rs
+++ b/src/features/gen_GpuVertexAttribute.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuVertexBufferLayout.rs b/src/features/gen_GpuVertexBufferLayout.rs
index e884302..18a3dc0 100644
--- a/src/features/gen_GpuVertexBufferLayout.rs
+++ b/src/features/gen_GpuVertexBufferLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuVertexFormat.rs b/src/features/gen_GpuVertexFormat.rs
index 07e4d22..509357f 100644
--- a/src/features/gen_GpuVertexFormat.rs
+++ b/src/features/gen_GpuVertexFormat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GpuVertexState.rs b/src/features/gen_GpuVertexState.rs
index 4086fe4..a551e1c 100644
--- a/src/features/gen_GpuVertexState.rs
+++ b/src/features/gen_GpuVertexState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_GpuVertexStepMode.rs b/src/features/gen_GpuVertexStepMode.rs
index 49140a4..16552bb 100644
--- a/src/features/gen_GpuVertexStepMode.rs
+++ b/src/features/gen_GpuVertexStepMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_GridDeclaration.rs b/src/features/gen_GridDeclaration.rs
index 325ac2b..c01e2ad 100644
--- a/src/features/gen_GridDeclaration.rs
+++ b/src/features/gen_GridDeclaration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `GridDeclaration` enum."]
diff --git a/src/features/gen_GridTrackState.rs b/src/features/gen_GridTrackState.rs
index 0ff0ee2..c3c43cf 100644
--- a/src/features/gen_GridTrackState.rs
+++ b/src/features/gen_GridTrackState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `GridTrackState` enum."]
diff --git a/src/features/gen_GroupedHistoryEventInit.rs b/src/features/gen_GroupedHistoryEventInit.rs
index c0e2441..b543871 100644
--- a/src/features/gen_GroupedHistoryEventInit.rs
+++ b/src/features/gen_GroupedHistoryEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HalfOpenInfoDict.rs b/src/features/gen_HalfOpenInfoDict.rs
index 6cef66f..e3c566c 100644
--- a/src/features/gen_HalfOpenInfoDict.rs
+++ b/src/features/gen_HalfOpenInfoDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HardwareAcceleration.rs b/src/features/gen_HardwareAcceleration.rs
index 6ca41d5..35320b3 100644
--- a/src/features/gen_HardwareAcceleration.rs
+++ b/src/features/gen_HardwareAcceleration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_HashChangeEvent.rs b/src/features/gen_HashChangeEvent.rs
index 9623ed3..a697b2b 100644
--- a/src/features/gen_HashChangeEvent.rs
+++ b/src/features/gen_HashChangeEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HashChangeEventInit.rs b/src/features/gen_HashChangeEventInit.rs
index 75e3f7f..879339a 100644
--- a/src/features/gen_HashChangeEventInit.rs
+++ b/src/features/gen_HashChangeEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Headers.rs b/src/features/gen_Headers.rs
index 47e0261..143f68a 100644
--- a/src/features/gen_Headers.rs
+++ b/src/features/gen_Headers.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HeadersGuardEnum.rs b/src/features/gen_HeadersGuardEnum.rs
index 0f5c714..1301189 100644
--- a/src/features/gen_HeadersGuardEnum.rs
+++ b/src/features/gen_HeadersGuardEnum.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `HeadersGuardEnum` enum."]
diff --git a/src/features/gen_Hid.rs b/src/features/gen_Hid.rs
index 1980c6d..0b9e97c 100644
--- a/src/features/gen_Hid.rs
+++ b/src/features/gen_Hid.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidCollectionInfo.rs b/src/features/gen_HidCollectionInfo.rs
index 41af4f1..5bf395a 100644
--- a/src/features/gen_HidCollectionInfo.rs
+++ b/src/features/gen_HidCollectionInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidConnectionEvent.rs b/src/features/gen_HidConnectionEvent.rs
index 87dae4e..f6fd894 100644
--- a/src/features/gen_HidConnectionEvent.rs
+++ b/src/features/gen_HidConnectionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidConnectionEventInit.rs b/src/features/gen_HidConnectionEventInit.rs
index 09e6261..5b01844 100644
--- a/src/features/gen_HidConnectionEventInit.rs
+++ b/src/features/gen_HidConnectionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidDevice.rs b/src/features/gen_HidDevice.rs
index 5416e54..3a24d5d 100644
--- a/src/features/gen_HidDevice.rs
+++ b/src/features/gen_HidDevice.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidDeviceFilter.rs b/src/features/gen_HidDeviceFilter.rs
index 48b7564..f82a205 100644
--- a/src/features/gen_HidDeviceFilter.rs
+++ b/src/features/gen_HidDeviceFilter.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidDeviceRequestOptions.rs b/src/features/gen_HidDeviceRequestOptions.rs
index 0dfe599..2193db4 100644
--- a/src/features/gen_HidDeviceRequestOptions.rs
+++ b/src/features/gen_HidDeviceRequestOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidInputReportEvent.rs b/src/features/gen_HidInputReportEvent.rs
index 95e57da..43119f8 100644
--- a/src/features/gen_HidInputReportEvent.rs
+++ b/src/features/gen_HidInputReportEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidInputReportEventInit.rs b/src/features/gen_HidInputReportEventInit.rs
index 7b0c9b5..c31c868 100644
--- a/src/features/gen_HidInputReportEventInit.rs
+++ b/src/features/gen_HidInputReportEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidReportInfo.rs b/src/features/gen_HidReportInfo.rs
index 660093a..d68a9a0 100644
--- a/src/features/gen_HidReportInfo.rs
+++ b/src/features/gen_HidReportInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidReportItem.rs b/src/features/gen_HidReportItem.rs
index 51af520..72c07ab 100644
--- a/src/features/gen_HidReportItem.rs
+++ b/src/features/gen_HidReportItem.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_HidUnitSystem.rs b/src/features/gen_HidUnitSystem.rs
index 866d305..4f9e39c 100644
--- a/src/features/gen_HidUnitSystem.rs
+++ b/src/features/gen_HidUnitSystem.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_HiddenPluginEventInit.rs b/src/features/gen_HiddenPluginEventInit.rs
index 5ed75ad..c7f692f 100644
--- a/src/features/gen_HiddenPluginEventInit.rs
+++ b/src/features/gen_HiddenPluginEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_History.rs b/src/features/gen_History.rs
index 50d9b9a..5a950c1 100644
--- a/src/features/gen_History.rs
+++ b/src/features/gen_History.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HitRegionOptions.rs b/src/features/gen_HitRegionOptions.rs
index a065409..8a3a3aa 100644
--- a/src/features/gen_HitRegionOptions.rs
+++ b/src/features/gen_HitRegionOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HkdfParams.rs b/src/features/gen_HkdfParams.rs
index 059bbe3..3354ef7 100644
--- a/src/features/gen_HkdfParams.rs
+++ b/src/features/gen_HkdfParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HmacDerivedKeyParams.rs b/src/features/gen_HmacDerivedKeyParams.rs
index b1708bc..49e33e0 100644
--- a/src/features/gen_HmacDerivedKeyParams.rs
+++ b/src/features/gen_HmacDerivedKeyParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HmacImportParams.rs b/src/features/gen_HmacImportParams.rs
index eb9489c..750c2ae 100644
--- a/src/features/gen_HmacImportParams.rs
+++ b/src/features/gen_HmacImportParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HmacKeyAlgorithm.rs b/src/features/gen_HmacKeyAlgorithm.rs
index 5910552..86dcaec 100644
--- a/src/features/gen_HmacKeyAlgorithm.rs
+++ b/src/features/gen_HmacKeyAlgorithm.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HmacKeyGenParams.rs b/src/features/gen_HmacKeyGenParams.rs
index 3903d71..a443aa3 100644
--- a/src/features/gen_HmacKeyGenParams.rs
+++ b/src/features/gen_HmacKeyGenParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlAllCollection.rs b/src/features/gen_HtmlAllCollection.rs
index 8510f7f..264f7ee 100644
--- a/src/features/gen_HtmlAllCollection.rs
+++ b/src/features/gen_HtmlAllCollection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlAnchorElement.rs b/src/features/gen_HtmlAnchorElement.rs
index 0b95310..03fb3e5 100644
--- a/src/features/gen_HtmlAnchorElement.rs
+++ b/src/features/gen_HtmlAnchorElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlAreaElement.rs b/src/features/gen_HtmlAreaElement.rs
index 23a9ae2..4b8560f 100644
--- a/src/features/gen_HtmlAreaElement.rs
+++ b/src/features/gen_HtmlAreaElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlAudioElement.rs b/src/features/gen_HtmlAudioElement.rs
index 03ea58c..0c8f44a 100644
--- a/src/features/gen_HtmlAudioElement.rs
+++ b/src/features/gen_HtmlAudioElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlBaseElement.rs b/src/features/gen_HtmlBaseElement.rs
index d521cab..7c495bd 100644
--- a/src/features/gen_HtmlBaseElement.rs
+++ b/src/features/gen_HtmlBaseElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlBodyElement.rs b/src/features/gen_HtmlBodyElement.rs
index f7355c4..c7870c9 100644
--- a/src/features/gen_HtmlBodyElement.rs
+++ b/src/features/gen_HtmlBodyElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlBrElement.rs b/src/features/gen_HtmlBrElement.rs
index aa332a9..0c239d0 100644
--- a/src/features/gen_HtmlBrElement.rs
+++ b/src/features/gen_HtmlBrElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlButtonElement.rs b/src/features/gen_HtmlButtonElement.rs
index e8958b1..08d5fb9 100644
--- a/src/features/gen_HtmlButtonElement.rs
+++ b/src/features/gen_HtmlButtonElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlCanvasElement.rs b/src/features/gen_HtmlCanvasElement.rs
index ff8ab7e..5b35060 100644
--- a/src/features/gen_HtmlCanvasElement.rs
+++ b/src/features/gen_HtmlCanvasElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -39,6 +40,25 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`*"]
     pub fn set_height(this: &HtmlCanvasElement, value: u32);
+    #[cfg(feature = "MediaStream")]
+    # [wasm_bindgen (catch , method , structural , js_class = "HTMLCanvasElement" , js_name = captureStream)]
+    #[doc = "The `captureStream()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/captureStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `MediaStream`*"]
+    pub fn capture_stream(this: &HtmlCanvasElement) -> Result<MediaStream, JsValue>;
+    #[cfg(feature = "MediaStream")]
+    # [wasm_bindgen (catch , method , structural , js_class = "HTMLCanvasElement" , js_name = captureStream)]
+    #[doc = "The `captureStream()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/captureStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `MediaStream`*"]
+    pub fn capture_stream_with_frame_request_rate(
+        this: &HtmlCanvasElement,
+        frame_request_rate: f64,
+    ) -> Result<MediaStream, JsValue>;
     # [wasm_bindgen (catch , method , structural , js_class = "HTMLCanvasElement" , js_name = getContext)]
     #[doc = "The `getContext()` method."]
     #[doc = ""]
diff --git a/src/features/gen_HtmlCollection.rs b/src/features/gen_HtmlCollection.rs
index cf3ff4f..63589be 100644
--- a/src/features/gen_HtmlCollection.rs
+++ b/src/features/gen_HtmlCollection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlDListElement.rs b/src/features/gen_HtmlDListElement.rs
index 74fab30..6b54efd 100644
--- a/src/features/gen_HtmlDListElement.rs
+++ b/src/features/gen_HtmlDListElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlDataElement.rs b/src/features/gen_HtmlDataElement.rs
index f43586a..07d7b8b 100644
--- a/src/features/gen_HtmlDataElement.rs
+++ b/src/features/gen_HtmlDataElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlDataListElement.rs b/src/features/gen_HtmlDataListElement.rs
index b19b0c1..6b7ce7a 100644
--- a/src/features/gen_HtmlDataListElement.rs
+++ b/src/features/gen_HtmlDataListElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlDetailsElement.rs b/src/features/gen_HtmlDetailsElement.rs
index a816f04..80f5eef 100644
--- a/src/features/gen_HtmlDetailsElement.rs
+++ b/src/features/gen_HtmlDetailsElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlDialogElement.rs b/src/features/gen_HtmlDialogElement.rs
index 9fda1ac..3df7370 100644
--- a/src/features/gen_HtmlDialogElement.rs
+++ b/src/features/gen_HtmlDialogElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlDirectoryElement.rs b/src/features/gen_HtmlDirectoryElement.rs
index 5302969..66ec50f 100644
--- a/src/features/gen_HtmlDirectoryElement.rs
+++ b/src/features/gen_HtmlDirectoryElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlDivElement.rs b/src/features/gen_HtmlDivElement.rs
index eadb4fb..e293b01 100644
--- a/src/features/gen_HtmlDivElement.rs
+++ b/src/features/gen_HtmlDivElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlDocument.rs b/src/features/gen_HtmlDocument.rs
index 94c2d0c..5dce0e0 100644
--- a/src/features/gen_HtmlDocument.rs
+++ b/src/features/gen_HtmlDocument.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlElement.rs b/src/features/gen_HtmlElement.rs
index b7850a6..91b0277 100644
--- a/src/features/gen_HtmlElement.rs
+++ b/src/features/gen_HtmlElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlEmbedElement.rs b/src/features/gen_HtmlEmbedElement.rs
index 704b7d1..ab89c6e 100644
--- a/src/features/gen_HtmlEmbedElement.rs
+++ b/src/features/gen_HtmlEmbedElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlFieldSetElement.rs b/src/features/gen_HtmlFieldSetElement.rs
index 8c32c01..45ca9d2 100644
--- a/src/features/gen_HtmlFieldSetElement.rs
+++ b/src/features/gen_HtmlFieldSetElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlFontElement.rs b/src/features/gen_HtmlFontElement.rs
index d12ce40..bd7fe71 100644
--- a/src/features/gen_HtmlFontElement.rs
+++ b/src/features/gen_HtmlFontElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlFormControlsCollection.rs b/src/features/gen_HtmlFormControlsCollection.rs
index 1972cc5..1f5c8cf 100644
--- a/src/features/gen_HtmlFormControlsCollection.rs
+++ b/src/features/gen_HtmlFormControlsCollection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlFormElement.rs b/src/features/gen_HtmlFormElement.rs
index 0b8e497..d9381ab 100644
--- a/src/features/gen_HtmlFormElement.rs
+++ b/src/features/gen_HtmlFormElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlFrameElement.rs b/src/features/gen_HtmlFrameElement.rs
index 6f7b5af..2fc4d2e 100644
--- a/src/features/gen_HtmlFrameElement.rs
+++ b/src/features/gen_HtmlFrameElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlFrameSetElement.rs b/src/features/gen_HtmlFrameSetElement.rs
index eeda63c..85458a0 100644
--- a/src/features/gen_HtmlFrameSetElement.rs
+++ b/src/features/gen_HtmlFrameSetElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlHeadElement.rs b/src/features/gen_HtmlHeadElement.rs
index 23fbca7..c0557b0 100644
--- a/src/features/gen_HtmlHeadElement.rs
+++ b/src/features/gen_HtmlHeadElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlHeadingElement.rs b/src/features/gen_HtmlHeadingElement.rs
index 0819e7d..2890078 100644
--- a/src/features/gen_HtmlHeadingElement.rs
+++ b/src/features/gen_HtmlHeadingElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlHrElement.rs b/src/features/gen_HtmlHrElement.rs
index 90b7b9b..911e385 100644
--- a/src/features/gen_HtmlHrElement.rs
+++ b/src/features/gen_HtmlHrElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlHtmlElement.rs b/src/features/gen_HtmlHtmlElement.rs
index f3f8c63..57a0f68 100644
--- a/src/features/gen_HtmlHtmlElement.rs
+++ b/src/features/gen_HtmlHtmlElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlIFrameElement.rs b/src/features/gen_HtmlIFrameElement.rs
index 5a28452..8d0eab9 100644
--- a/src/features/gen_HtmlIFrameElement.rs
+++ b/src/features/gen_HtmlIFrameElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlImageElement.rs b/src/features/gen_HtmlImageElement.rs
index 692dc64..ca48627 100644
--- a/src/features/gen_HtmlImageElement.rs
+++ b/src/features/gen_HtmlImageElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlInputElement.rs b/src/features/gen_HtmlInputElement.rs
index 4c51bf2..bb78065 100644
--- a/src/features/gen_HtmlInputElement.rs
+++ b/src/features/gen_HtmlInputElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -675,6 +676,20 @@ extern "C" {
         start: u32,
         end: u32,
     ) -> Result<(), JsValue>;
+    #[cfg(feature = "SelectionMode")]
+    # [wasm_bindgen (catch , method , structural , js_class = "HTMLInputElement" , js_name = setRangeText)]
+    #[doc = "The `setRangeText()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setRangeText)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlInputElement`, `SelectionMode`*"]
+    pub fn set_range_text_with_start_and_end_and_selection_mode(
+        this: &HtmlInputElement,
+        replacement: &str,
+        start: u32,
+        end: u32,
+        selection_mode: SelectionMode,
+    ) -> Result<(), JsValue>;
     # [wasm_bindgen (catch , method , structural , js_class = "HTMLInputElement" , js_name = setSelectionRange)]
     #[doc = "The `setSelectionRange()` method."]
     #[doc = ""]
@@ -698,4 +713,11 @@ extern "C" {
         end: u32,
         direction: &str,
     ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "HTMLInputElement" , js_name = showPicker)]
+    #[doc = "The `showPicker()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/showPicker)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlInputElement`*"]
+    pub fn show_picker(this: &HtmlInputElement) -> Result<(), JsValue>;
 }
diff --git a/src/features/gen_HtmlLabelElement.rs b/src/features/gen_HtmlLabelElement.rs
index 184ce64..bde3c7f 100644
--- a/src/features/gen_HtmlLabelElement.rs
+++ b/src/features/gen_HtmlLabelElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlLegendElement.rs b/src/features/gen_HtmlLegendElement.rs
index 36ce3bd..76b9bb7 100644
--- a/src/features/gen_HtmlLegendElement.rs
+++ b/src/features/gen_HtmlLegendElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlLiElement.rs b/src/features/gen_HtmlLiElement.rs
index 3a5db06..0705691 100644
--- a/src/features/gen_HtmlLiElement.rs
+++ b/src/features/gen_HtmlLiElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlLinkElement.rs b/src/features/gen_HtmlLinkElement.rs
index c947f16..8e3ab52 100644
--- a/src/features/gen_HtmlLinkElement.rs
+++ b/src/features/gen_HtmlLinkElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlMapElement.rs b/src/features/gen_HtmlMapElement.rs
index f7dcc17..f1bf095 100644
--- a/src/features/gen_HtmlMapElement.rs
+++ b/src/features/gen_HtmlMapElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlMediaElement.rs b/src/features/gen_HtmlMediaElement.rs
index 8fba170..51746c4 100644
--- a/src/features/gen_HtmlMediaElement.rs
+++ b/src/features/gen_HtmlMediaElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlMenuElement.rs b/src/features/gen_HtmlMenuElement.rs
index a271be1..083cdf4 100644
--- a/src/features/gen_HtmlMenuElement.rs
+++ b/src/features/gen_HtmlMenuElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlMenuItemElement.rs b/src/features/gen_HtmlMenuItemElement.rs
index 87a7753..dd1f4d8 100644
--- a/src/features/gen_HtmlMenuItemElement.rs
+++ b/src/features/gen_HtmlMenuItemElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -10,7 +11,9 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMenuItemElement)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
+    #[deprecated(note = "Absent in all major browsers")]
     pub type HtmlMenuItemElement;
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , getter , js_class = "HTMLMenuItemElement" , js_name = type)]
     #[doc = "Getter for the `type` field of this object."]
     #[doc = ""]
@@ -18,6 +21,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn type_(this: &HtmlMenuItemElement) -> String;
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , setter , js_class = "HTMLMenuItemElement" , js_name = type)]
     #[doc = "Setter for the `type` field of this object."]
     #[doc = ""]
@@ -25,6 +29,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn set_type(this: &HtmlMenuItemElement, value: &str);
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , getter , js_class = "HTMLMenuItemElement" , js_name = label)]
     #[doc = "Getter for the `label` field of this object."]
     #[doc = ""]
@@ -32,6 +37,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn label(this: &HtmlMenuItemElement) -> String;
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , setter , js_class = "HTMLMenuItemElement" , js_name = label)]
     #[doc = "Setter for the `label` field of this object."]
     #[doc = ""]
@@ -39,6 +45,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn set_label(this: &HtmlMenuItemElement, value: &str);
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , getter , js_class = "HTMLMenuItemElement" , js_name = icon)]
     #[doc = "Getter for the `icon` field of this object."]
     #[doc = ""]
@@ -46,6 +53,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn icon(this: &HtmlMenuItemElement) -> String;
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , setter , js_class = "HTMLMenuItemElement" , js_name = icon)]
     #[doc = "Setter for the `icon` field of this object."]
     #[doc = ""]
@@ -53,6 +61,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn set_icon(this: &HtmlMenuItemElement, value: &str);
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , getter , js_class = "HTMLMenuItemElement" , js_name = disabled)]
     #[doc = "Getter for the `disabled` field of this object."]
     #[doc = ""]
@@ -60,6 +69,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn disabled(this: &HtmlMenuItemElement) -> bool;
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , setter , js_class = "HTMLMenuItemElement" , js_name = disabled)]
     #[doc = "Setter for the `disabled` field of this object."]
     #[doc = ""]
@@ -67,6 +77,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn set_disabled(this: &HtmlMenuItemElement, value: bool);
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , getter , js_class = "HTMLMenuItemElement" , js_name = checked)]
     #[doc = "Getter for the `checked` field of this object."]
     #[doc = ""]
@@ -74,6 +85,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn checked(this: &HtmlMenuItemElement) -> bool;
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , setter , js_class = "HTMLMenuItemElement" , js_name = checked)]
     #[doc = "Setter for the `checked` field of this object."]
     #[doc = ""]
@@ -81,6 +93,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn set_checked(this: &HtmlMenuItemElement, value: bool);
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , getter , js_class = "HTMLMenuItemElement" , js_name = radiogroup)]
     #[doc = "Getter for the `radiogroup` field of this object."]
     #[doc = ""]
@@ -88,6 +101,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn radiogroup(this: &HtmlMenuItemElement) -> String;
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , setter , js_class = "HTMLMenuItemElement" , js_name = radiogroup)]
     #[doc = "Setter for the `radiogroup` field of this object."]
     #[doc = ""]
@@ -95,6 +109,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn set_radiogroup(this: &HtmlMenuItemElement, value: &str);
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , getter , js_class = "HTMLMenuItemElement" , js_name = defaultChecked)]
     #[doc = "Getter for the `defaultChecked` field of this object."]
     #[doc = ""]
@@ -102,6 +117,7 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `HtmlMenuItemElement`*"]
     pub fn default_checked(this: &HtmlMenuItemElement) -> bool;
+    #[deprecated(note = "Absent in all major browsers")]
     # [wasm_bindgen (structural , method , setter , js_class = "HTMLMenuItemElement" , js_name = defaultChecked)]
     #[doc = "Setter for the `defaultChecked` field of this object."]
     #[doc = ""]
diff --git a/src/features/gen_HtmlMetaElement.rs b/src/features/gen_HtmlMetaElement.rs
index 5a1d570..db16bee 100644
--- a/src/features/gen_HtmlMetaElement.rs
+++ b/src/features/gen_HtmlMetaElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlMeterElement.rs b/src/features/gen_HtmlMeterElement.rs
index 9972456..0ec35cc 100644
--- a/src/features/gen_HtmlMeterElement.rs
+++ b/src/features/gen_HtmlMeterElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlModElement.rs b/src/features/gen_HtmlModElement.rs
index 7ce1087..e47d87a 100644
--- a/src/features/gen_HtmlModElement.rs
+++ b/src/features/gen_HtmlModElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlOListElement.rs b/src/features/gen_HtmlOListElement.rs
index d57eb9a..380f753 100644
--- a/src/features/gen_HtmlOListElement.rs
+++ b/src/features/gen_HtmlOListElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlObjectElement.rs b/src/features/gen_HtmlObjectElement.rs
index 8ef2219..bc5dfbd 100644
--- a/src/features/gen_HtmlObjectElement.rs
+++ b/src/features/gen_HtmlObjectElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlOptGroupElement.rs b/src/features/gen_HtmlOptGroupElement.rs
index a6510ff..0f90bd3 100644
--- a/src/features/gen_HtmlOptGroupElement.rs
+++ b/src/features/gen_HtmlOptGroupElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlOptionElement.rs b/src/features/gen_HtmlOptionElement.rs
index 5d34d0d..d87adc2 100644
--- a/src/features/gen_HtmlOptionElement.rs
+++ b/src/features/gen_HtmlOptionElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlOptionsCollection.rs b/src/features/gen_HtmlOptionsCollection.rs
index 2dca063..ac40077 100644
--- a/src/features/gen_HtmlOptionsCollection.rs
+++ b/src/features/gen_HtmlOptionsCollection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlOutputElement.rs b/src/features/gen_HtmlOutputElement.rs
index 8cb8980..90f1629 100644
--- a/src/features/gen_HtmlOutputElement.rs
+++ b/src/features/gen_HtmlOutputElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlParagraphElement.rs b/src/features/gen_HtmlParagraphElement.rs
index 51e139c..25f7c05 100644
--- a/src/features/gen_HtmlParagraphElement.rs
+++ b/src/features/gen_HtmlParagraphElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlParamElement.rs b/src/features/gen_HtmlParamElement.rs
index a6ea0d4..00cee24 100644
--- a/src/features/gen_HtmlParamElement.rs
+++ b/src/features/gen_HtmlParamElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlPictureElement.rs b/src/features/gen_HtmlPictureElement.rs
index 26112ae..f3ae3e0 100644
--- a/src/features/gen_HtmlPictureElement.rs
+++ b/src/features/gen_HtmlPictureElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlPreElement.rs b/src/features/gen_HtmlPreElement.rs
index 5ce97ef..74f8f0d 100644
--- a/src/features/gen_HtmlPreElement.rs
+++ b/src/features/gen_HtmlPreElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlProgressElement.rs b/src/features/gen_HtmlProgressElement.rs
index ba5c6a7..a6fdc91 100644
--- a/src/features/gen_HtmlProgressElement.rs
+++ b/src/features/gen_HtmlProgressElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlQuoteElement.rs b/src/features/gen_HtmlQuoteElement.rs
index 9d18e13..723bc25 100644
--- a/src/features/gen_HtmlQuoteElement.rs
+++ b/src/features/gen_HtmlQuoteElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlScriptElement.rs b/src/features/gen_HtmlScriptElement.rs
index 21198eb..ce910c2 100644
--- a/src/features/gen_HtmlScriptElement.rs
+++ b/src/features/gen_HtmlScriptElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlSelectElement.rs b/src/features/gen_HtmlSelectElement.rs
index 87f3ddd..f15b034 100644
--- a/src/features/gen_HtmlSelectElement.rs
+++ b/src/features/gen_HtmlSelectElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlSlotElement.rs b/src/features/gen_HtmlSlotElement.rs
index c822a2e..04b96da 100644
--- a/src/features/gen_HtmlSlotElement.rs
+++ b/src/features/gen_HtmlSlotElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlSourceElement.rs b/src/features/gen_HtmlSourceElement.rs
index fd01150..8fb7dee 100644
--- a/src/features/gen_HtmlSourceElement.rs
+++ b/src/features/gen_HtmlSourceElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlSpanElement.rs b/src/features/gen_HtmlSpanElement.rs
index fee20cc..e050b62 100644
--- a/src/features/gen_HtmlSpanElement.rs
+++ b/src/features/gen_HtmlSpanElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlStyleElement.rs b/src/features/gen_HtmlStyleElement.rs
index a8082b1..e7ca11f 100644
--- a/src/features/gen_HtmlStyleElement.rs
+++ b/src/features/gen_HtmlStyleElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlTableCaptionElement.rs b/src/features/gen_HtmlTableCaptionElement.rs
index a3051b7..7a19986 100644
--- a/src/features/gen_HtmlTableCaptionElement.rs
+++ b/src/features/gen_HtmlTableCaptionElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlTableCellElement.rs b/src/features/gen_HtmlTableCellElement.rs
index 343b943..0398abf 100644
--- a/src/features/gen_HtmlTableCellElement.rs
+++ b/src/features/gen_HtmlTableCellElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlTableColElement.rs b/src/features/gen_HtmlTableColElement.rs
index d2e4e77..91febc5 100644
--- a/src/features/gen_HtmlTableColElement.rs
+++ b/src/features/gen_HtmlTableColElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlTableElement.rs b/src/features/gen_HtmlTableElement.rs
index 036e2ab..2a63f76 100644
--- a/src/features/gen_HtmlTableElement.rs
+++ b/src/features/gen_HtmlTableElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlTableRowElement.rs b/src/features/gen_HtmlTableRowElement.rs
index 222d7b0..287cdcc 100644
--- a/src/features/gen_HtmlTableRowElement.rs
+++ b/src/features/gen_HtmlTableRowElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlTableSectionElement.rs b/src/features/gen_HtmlTableSectionElement.rs
index 503f224..ee7cfa1 100644
--- a/src/features/gen_HtmlTableSectionElement.rs
+++ b/src/features/gen_HtmlTableSectionElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlTemplateElement.rs b/src/features/gen_HtmlTemplateElement.rs
index dba10b0..b8b153e 100644
--- a/src/features/gen_HtmlTemplateElement.rs
+++ b/src/features/gen_HtmlTemplateElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlTextAreaElement.rs b/src/features/gen_HtmlTextAreaElement.rs
index b21d475..343281e 100644
--- a/src/features/gen_HtmlTextAreaElement.rs
+++ b/src/features/gen_HtmlTextAreaElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -355,6 +356,19 @@ extern "C" {
         start: u32,
         end: u32,
     ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "HTMLTextAreaElement" , js_name = setRangeText)]
+    #[doc = "The `setRangeText()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement/setRangeText)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlTextAreaElement`*"]
+    pub fn set_range_text_with_start_and_end_and_mode(
+        this: &HtmlTextAreaElement,
+        replacement: &str,
+        start: u32,
+        end: u32,
+        mode: &str,
+    ) -> Result<(), JsValue>;
     # [wasm_bindgen (catch , method , structural , js_class = "HTMLTextAreaElement" , js_name = setSelectionRange)]
     #[doc = "The `setSelectionRange()` method."]
     #[doc = ""]
diff --git a/src/features/gen_HtmlTimeElement.rs b/src/features/gen_HtmlTimeElement.rs
index 58b916f..bb83d28 100644
--- a/src/features/gen_HtmlTimeElement.rs
+++ b/src/features/gen_HtmlTimeElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlTitleElement.rs b/src/features/gen_HtmlTitleElement.rs
index 7c3f6e7..5d51507 100644
--- a/src/features/gen_HtmlTitleElement.rs
+++ b/src/features/gen_HtmlTitleElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlTrackElement.rs b/src/features/gen_HtmlTrackElement.rs
index e1dbf4b..0d388db 100644
--- a/src/features/gen_HtmlTrackElement.rs
+++ b/src/features/gen_HtmlTrackElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlUListElement.rs b/src/features/gen_HtmlUListElement.rs
index 484925a..aae4b94 100644
--- a/src/features/gen_HtmlUListElement.rs
+++ b/src/features/gen_HtmlUListElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlUnknownElement.rs b/src/features/gen_HtmlUnknownElement.rs
index 63a86e4..2405844 100644
--- a/src/features/gen_HtmlUnknownElement.rs
+++ b/src/features/gen_HtmlUnknownElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HtmlVideoElement.rs b/src/features/gen_HtmlVideoElement.rs
index 3301d64..c76989a 100644
--- a/src/features/gen_HtmlVideoElement.rs
+++ b/src/features/gen_HtmlVideoElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HttpConnDict.rs b/src/features/gen_HttpConnDict.rs
index 87eea9e..213a86c 100644
--- a/src/features/gen_HttpConnDict.rs
+++ b/src/features/gen_HttpConnDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HttpConnInfo.rs b/src/features/gen_HttpConnInfo.rs
index 987420e..d914956 100644
--- a/src/features/gen_HttpConnInfo.rs
+++ b/src/features/gen_HttpConnInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_HttpConnectionElement.rs b/src/features/gen_HttpConnectionElement.rs
index 5fef133..ecb934d 100644
--- a/src/features/gen_HttpConnectionElement.rs
+++ b/src/features/gen_HttpConnectionElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbCursor.rs b/src/features/gen_IdbCursor.rs
index f7d124d..bf8d235 100644
--- a/src/features/gen_IdbCursor.rs
+++ b/src/features/gen_IdbCursor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbCursorDirection.rs b/src/features/gen_IdbCursorDirection.rs
index c01fef4..1013cf5 100644
--- a/src/features/gen_IdbCursorDirection.rs
+++ b/src/features/gen_IdbCursorDirection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `IdbCursorDirection` enum."]
diff --git a/src/features/gen_IdbCursorWithValue.rs b/src/features/gen_IdbCursorWithValue.rs
index 2f66c5a..b337692 100644
--- a/src/features/gen_IdbCursorWithValue.rs
+++ b/src/features/gen_IdbCursorWithValue.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbDatabase.rs b/src/features/gen_IdbDatabase.rs
index ebcb2f6..0773882 100644
--- a/src/features/gen_IdbDatabase.rs
+++ b/src/features/gen_IdbDatabase.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbFactory.rs b/src/features/gen_IdbFactory.rs
index 30fac16..5734939 100644
--- a/src/features/gen_IdbFactory.rs
+++ b/src/features/gen_IdbFactory.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbFileHandle.rs b/src/features/gen_IdbFileHandle.rs
index 0e39530..91ce76a 100644
--- a/src/features/gen_IdbFileHandle.rs
+++ b/src/features/gen_IdbFileHandle.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbFileMetadataParameters.rs b/src/features/gen_IdbFileMetadataParameters.rs
index 48e322c..bbaeb94 100644
--- a/src/features/gen_IdbFileMetadataParameters.rs
+++ b/src/features/gen_IdbFileMetadataParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbFileRequest.rs b/src/features/gen_IdbFileRequest.rs
index e228c1a..67d8a4c 100644
--- a/src/features/gen_IdbFileRequest.rs
+++ b/src/features/gen_IdbFileRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbIndex.rs b/src/features/gen_IdbIndex.rs
index 98a76e6..675da44 100644
--- a/src/features/gen_IdbIndex.rs
+++ b/src/features/gen_IdbIndex.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbIndexParameters.rs b/src/features/gen_IdbIndexParameters.rs
index 7da00bc..2162121 100644
--- a/src/features/gen_IdbIndexParameters.rs
+++ b/src/features/gen_IdbIndexParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbKeyRange.rs b/src/features/gen_IdbKeyRange.rs
index 6a98416..c24650b 100644
--- a/src/features/gen_IdbKeyRange.rs
+++ b/src/features/gen_IdbKeyRange.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbLocaleAwareKeyRange.rs b/src/features/gen_IdbLocaleAwareKeyRange.rs
index 09420bd..6e23edb 100644
--- a/src/features/gen_IdbLocaleAwareKeyRange.rs
+++ b/src/features/gen_IdbLocaleAwareKeyRange.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbMutableFile.rs b/src/features/gen_IdbMutableFile.rs
index 47284d1..6b44144 100644
--- a/src/features/gen_IdbMutableFile.rs
+++ b/src/features/gen_IdbMutableFile.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbObjectStore.rs b/src/features/gen_IdbObjectStore.rs
index b662f01..7916454 100644
--- a/src/features/gen_IdbObjectStore.rs
+++ b/src/features/gen_IdbObjectStore.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbObjectStoreParameters.rs b/src/features/gen_IdbObjectStoreParameters.rs
index d151ccc..71689ac 100644
--- a/src/features/gen_IdbObjectStoreParameters.rs
+++ b/src/features/gen_IdbObjectStoreParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbOpenDbOptions.rs b/src/features/gen_IdbOpenDbOptions.rs
index 57ded3a..0a7caec 100644
--- a/src/features/gen_IdbOpenDbOptions.rs
+++ b/src/features/gen_IdbOpenDbOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbOpenDbRequest.rs b/src/features/gen_IdbOpenDbRequest.rs
index 2810085..5be55d7 100644
--- a/src/features/gen_IdbOpenDbRequest.rs
+++ b/src/features/gen_IdbOpenDbRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbRequest.rs b/src/features/gen_IdbRequest.rs
index e6f54e2..3400738 100644
--- a/src/features/gen_IdbRequest.rs
+++ b/src/features/gen_IdbRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbRequestReadyState.rs b/src/features/gen_IdbRequestReadyState.rs
index bd5a50e..49644e6 100644
--- a/src/features/gen_IdbRequestReadyState.rs
+++ b/src/features/gen_IdbRequestReadyState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `IdbRequestReadyState` enum."]
diff --git a/src/features/gen_IdbTransaction.rs b/src/features/gen_IdbTransaction.rs
index 9e10c92..70a8620 100644
--- a/src/features/gen_IdbTransaction.rs
+++ b/src/features/gen_IdbTransaction.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbTransactionMode.rs b/src/features/gen_IdbTransactionMode.rs
index 8f0eb76..8115b39 100644
--- a/src/features/gen_IdbTransactionMode.rs
+++ b/src/features/gen_IdbTransactionMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `IdbTransactionMode` enum."]
diff --git a/src/features/gen_IdbVersionChangeEvent.rs b/src/features/gen_IdbVersionChangeEvent.rs
index 32348fc..7e6892a 100644
--- a/src/features/gen_IdbVersionChangeEvent.rs
+++ b/src/features/gen_IdbVersionChangeEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdbVersionChangeEventInit.rs b/src/features/gen_IdbVersionChangeEventInit.rs
index 5ec7d76..8e2cdd7 100644
--- a/src/features/gen_IdbVersionChangeEventInit.rs
+++ b/src/features/gen_IdbVersionChangeEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdleDeadline.rs b/src/features/gen_IdleDeadline.rs
index d79f9ae..6776e6b 100644
--- a/src/features/gen_IdleDeadline.rs
+++ b/src/features/gen_IdleDeadline.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IdleRequestOptions.rs b/src/features/gen_IdleRequestOptions.rs
index 06abc33..61dfe10 100644
--- a/src/features/gen_IdleRequestOptions.rs
+++ b/src/features/gen_IdleRequestOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IirFilterNode.rs b/src/features/gen_IirFilterNode.rs
index 833bd30..b84c9f1 100644
--- a/src/features/gen_IirFilterNode.rs
+++ b/src/features/gen_IirFilterNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IirFilterOptions.rs b/src/features/gen_IirFilterOptions.rs
index 2961ffc..d21e80c 100644
--- a/src/features/gen_IirFilterOptions.rs
+++ b/src/features/gen_IirFilterOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ImageBitmap.rs b/src/features/gen_ImageBitmap.rs
index c400d2f..4a08e98 100644
--- a/src/features/gen_ImageBitmap.rs
+++ b/src/features/gen_ImageBitmap.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -32,60 +33,4 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`*"]
     pub fn close(this: &ImageBitmap);
-    #[cfg(feature = "ImageBitmapFormat")]
-    # [wasm_bindgen (catch , method , structural , js_class = "ImageBitmap" , js_name = findOptimalFormat)]
-    #[doc = "The `findOptimalFormat()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap/findOptimalFormat)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `ImageBitmapFormat`*"]
-    pub fn find_optimal_format(this: &ImageBitmap) -> Result<ImageBitmapFormat, JsValue>;
-    #[cfg(feature = "ImageBitmapFormat")]
-    # [wasm_bindgen (catch , method , structural , js_class = "ImageBitmap" , js_name = findOptimalFormat)]
-    #[doc = "The `findOptimalFormat()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap/findOptimalFormat)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `ImageBitmapFormat`*"]
-    pub fn find_optimal_format_with_a_possible_formats(
-        this: &ImageBitmap,
-        a_possible_formats: &::wasm_bindgen::JsValue,
-    ) -> Result<ImageBitmapFormat, JsValue>;
-    #[cfg(feature = "ImageBitmapFormat")]
-    # [wasm_bindgen (catch , method , structural , js_class = "ImageBitmap" , js_name = mapDataInto)]
-    #[doc = "The `mapDataInto()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap/mapDataInto)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `ImageBitmapFormat`*"]
-    pub fn map_data_into_with_buffer_source(
-        this: &ImageBitmap,
-        a_format: ImageBitmapFormat,
-        a_buffer: &::js_sys::Object,
-        a_offset: i32,
-    ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "ImageBitmapFormat")]
-    # [wasm_bindgen (catch , method , structural , js_class = "ImageBitmap" , js_name = mapDataInto)]
-    #[doc = "The `mapDataInto()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap/mapDataInto)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `ImageBitmapFormat`*"]
-    pub fn map_data_into_with_u8_array(
-        this: &ImageBitmap,
-        a_format: ImageBitmapFormat,
-        a_buffer: &mut [u8],
-        a_offset: i32,
-    ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "ImageBitmapFormat")]
-    # [wasm_bindgen (catch , method , structural , js_class = "ImageBitmap" , js_name = mappedDataLength)]
-    #[doc = "The `mappedDataLength()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap/mappedDataLength)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `ImageBitmapFormat`*"]
-    pub fn mapped_data_length(
-        this: &ImageBitmap,
-        a_format: ImageBitmapFormat,
-    ) -> Result<i32, JsValue>;
 }
diff --git a/src/features/gen_ImageBitmapFormat.rs b/src/features/gen_ImageBitmapFormat.rs
deleted file mode 100644
index e3d63c5..0000000
--- a/src/features/gen_ImageBitmapFormat.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-#![allow(unused_imports)]
-use wasm_bindgen::prelude::*;
-#[wasm_bindgen]
-#[doc = "The `ImageBitmapFormat` enum."]
-#[doc = ""]
-#[doc = "*This API requires the following crate features to be activated: `ImageBitmapFormat`*"]
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
-pub enum ImageBitmapFormat {
-    Rgba32 = "RGBA32",
-    Bgra32 = "BGRA32",
-    Rgb24 = "RGB24",
-    Bgr24 = "BGR24",
-    Gray8 = "GRAY8",
-    Yuv444p = "YUV444P",
-    Yuv422p = "YUV422P",
-    Yuv420p = "YUV420P",
-    Yuv420spNv12 = "YUV420SP_NV12",
-    Yuv420spNv21 = "YUV420SP_NV21",
-    Hsv = "HSV",
-    Lab = "Lab",
-    Depth = "DEPTH",
-}
diff --git a/src/features/gen_ImageBitmapOptions.rs b/src/features/gen_ImageBitmapOptions.rs
new file mode 100644
index 0000000..bda518a
--- /dev/null
+++ b/src/features/gen_ImageBitmapOptions.rs
@@ -0,0 +1,134 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = ImageBitmapOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `ImageBitmapOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`*"]
+    pub type ImageBitmapOptions;
+}
+impl ImageBitmapOptions {
+    #[doc = "Construct a new `ImageBitmapOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(feature = "ColorSpaceConversion")]
+    #[doc = "Change the `colorSpaceConversion` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ColorSpaceConversion`, `ImageBitmapOptions`*"]
+    pub fn color_space_conversion(&mut self, val: ColorSpaceConversion) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("colorSpaceConversion"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(feature = "ImageOrientation")]
+    #[doc = "Change the `imageOrientation` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `ImageOrientation`*"]
+    pub fn image_orientation(&mut self, val: ImageOrientation) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("imageOrientation"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(feature = "PremultiplyAlpha")]
+    #[doc = "Change the `premultiplyAlpha` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `PremultiplyAlpha`*"]
+    pub fn premultiply_alpha(&mut self, val: PremultiplyAlpha) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("premultiplyAlpha"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[doc = "Change the `resizeHeight` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`*"]
+    pub fn resize_height(&mut self, val: u32) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("resizeHeight"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(feature = "ResizeQuality")]
+    #[doc = "Change the `resizeQuality` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `ResizeQuality`*"]
+    pub fn resize_quality(&mut self, val: ResizeQuality) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("resizeQuality"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[doc = "Change the `resizeWidth` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`*"]
+    pub fn resize_width(&mut self, val: u32) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("resizeWidth"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+impl Default for ImageBitmapOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_ImageBitmapRenderingContext.rs b/src/features/gen_ImageBitmapRenderingContext.rs
index 33cc46f..b0aeb61 100644
--- a/src/features/gen_ImageBitmapRenderingContext.rs
+++ b/src/features/gen_ImageBitmapRenderingContext.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ImageCapture.rs b/src/features/gen_ImageCapture.rs
index 4bf2d71..d435c4c 100644
--- a/src/features/gen_ImageCapture.rs
+++ b/src/features/gen_ImageCapture.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ImageCaptureError.rs b/src/features/gen_ImageCaptureError.rs
index e04c915..1147848 100644
--- a/src/features/gen_ImageCaptureError.rs
+++ b/src/features/gen_ImageCaptureError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ImageCaptureErrorEvent.rs b/src/features/gen_ImageCaptureErrorEvent.rs
index d51297a..b873e01 100644
--- a/src/features/gen_ImageCaptureErrorEvent.rs
+++ b/src/features/gen_ImageCaptureErrorEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ImageCaptureErrorEventInit.rs b/src/features/gen_ImageCaptureErrorEventInit.rs
index b628718..b7299dc 100644
--- a/src/features/gen_ImageCaptureErrorEventInit.rs
+++ b/src/features/gen_ImageCaptureErrorEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ImageData.rs b/src/features/gen_ImageData.rs
index 60b9567..a7d624a 100644
--- a/src/features/gen_ImageData.rs
+++ b/src/features/gen_ImageData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ImageDecodeOptions.rs b/src/features/gen_ImageDecodeOptions.rs
index b23963c..b19a2ff 100644
--- a/src/features/gen_ImageDecodeOptions.rs
+++ b/src/features/gen_ImageDecodeOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ImageDecodeResult.rs b/src/features/gen_ImageDecodeResult.rs
index 2af1bf5..deccede 100644
--- a/src/features/gen_ImageDecodeResult.rs
+++ b/src/features/gen_ImageDecodeResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ImageDecoder.rs b/src/features/gen_ImageDecoder.rs
index 2dae3f0..39eab52 100644
--- a/src/features/gen_ImageDecoder.rs
+++ b/src/features/gen_ImageDecoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ImageDecoderInit.rs b/src/features/gen_ImageDecoderInit.rs
index 87bd70c..1654730 100644
--- a/src/features/gen_ImageDecoderInit.rs
+++ b/src/features/gen_ImageDecoderInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
@@ -30,6 +31,28 @@ impl ImageDecoderInit {
         ret
     }
     #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "ColorSpaceConversion")]
+    #[doc = "Change the `colorSpaceConversion` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ColorSpaceConversion`, `ImageDecoderInit`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn color_space_conversion(&mut self, val: ColorSpaceConversion) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("colorSpaceConversion"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
     #[doc = "Change the `data` field of this object."]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ImageDecoderInit`*"]
@@ -110,6 +133,28 @@ impl ImageDecoderInit {
         self
     }
     #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "PremultiplyAlpha")]
+    #[doc = "Change the `premultiplyAlpha` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageDecoderInit`, `PremultiplyAlpha`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn premultiply_alpha(&mut self, val: PremultiplyAlpha) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("premultiplyAlpha"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
     #[doc = "Change the `type` field of this object."]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ImageDecoderInit`*"]
diff --git a/src/features/gen_ImageEncodeOptions.rs b/src/features/gen_ImageEncodeOptions.rs
new file mode 100644
index 0000000..d3b4922
--- /dev/null
+++ b/src/features/gen_ImageEncodeOptions.rs
@@ -0,0 +1,58 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = ImageEncodeOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `ImageEncodeOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageEncodeOptions`*"]
+    pub type ImageEncodeOptions;
+}
+impl ImageEncodeOptions {
+    #[doc = "Construct a new `ImageEncodeOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageEncodeOptions`*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[doc = "Change the `quality` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageEncodeOptions`*"]
+    pub fn quality(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("quality"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[doc = "Change the `type` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageEncodeOptions`*"]
+    pub fn type_(&mut self, val: &str) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("type"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+impl Default for ImageEncodeOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_ImageOrientation.rs b/src/features/gen_ImageOrientation.rs
new file mode 100644
index 0000000..1fe8d73
--- /dev/null
+++ b/src/features/gen_ImageOrientation.rs
@@ -0,0 +1,12 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+#[doc = "The `ImageOrientation` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `ImageOrientation`*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum ImageOrientation {
+    FromImage = "from-image",
+    FlipY = "flipY",
+}
diff --git a/src/features/gen_ImageTrack.rs b/src/features/gen_ImageTrack.rs
index a710c47..66aa5ac 100644
--- a/src/features/gen_ImageTrack.rs
+++ b/src/features/gen_ImageTrack.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ImageTrackList.rs b/src/features/gen_ImageTrackList.rs
index 9ddf49a..b0c3aa8 100644
--- a/src/features/gen_ImageTrackList.rs
+++ b/src/features/gen_ImageTrackList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_InputEvent.rs b/src/features/gen_InputEvent.rs
index cdf501b..dddf6af 100644
--- a/src/features/gen_InputEvent.rs
+++ b/src/features/gen_InputEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_InputEventInit.rs b/src/features/gen_InputEventInit.rs
index 1ddd034..58790f2 100644
--- a/src/features/gen_InputEventInit.rs
+++ b/src/features/gen_InputEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_InstallTriggerData.rs b/src/features/gen_InstallTriggerData.rs
index bb84c53..44c494c 100644
--- a/src/features/gen_InstallTriggerData.rs
+++ b/src/features/gen_InstallTriggerData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IntersectionObserver.rs b/src/features/gen_IntersectionObserver.rs
index bf4a27b..8cd9ae3 100644
--- a/src/features/gen_IntersectionObserver.rs
+++ b/src/features/gen_IntersectionObserver.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IntersectionObserverEntry.rs b/src/features/gen_IntersectionObserverEntry.rs
index 6caedd2..e79c6a1 100644
--- a/src/features/gen_IntersectionObserverEntry.rs
+++ b/src/features/gen_IntersectionObserverEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IntersectionObserverEntryInit.rs b/src/features/gen_IntersectionObserverEntryInit.rs
index cbdd61f..b1f2287 100644
--- a/src/features/gen_IntersectionObserverEntryInit.rs
+++ b/src/features/gen_IntersectionObserverEntryInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IntersectionObserverInit.rs b/src/features/gen_IntersectionObserverInit.rs
index 33115b5..b861cc0 100644
--- a/src/features/gen_IntersectionObserverInit.rs
+++ b/src/features/gen_IntersectionObserverInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IntlUtils.rs b/src/features/gen_IntlUtils.rs
index 751ce53..3d128e7 100644
--- a/src/features/gen_IntlUtils.rs
+++ b/src/features/gen_IntlUtils.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IterableKeyAndValueResult.rs b/src/features/gen_IterableKeyAndValueResult.rs
index c88d7cc..03fb25f 100644
--- a/src/features/gen_IterableKeyAndValueResult.rs
+++ b/src/features/gen_IterableKeyAndValueResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IterableKeyOrValueResult.rs b/src/features/gen_IterableKeyOrValueResult.rs
index 7dd96ba..eb08628 100644
--- a/src/features/gen_IterableKeyOrValueResult.rs
+++ b/src/features/gen_IterableKeyOrValueResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_IterationCompositeOperation.rs b/src/features/gen_IterationCompositeOperation.rs
index b4aa9f6..d87ccf8 100644
--- a/src/features/gen_IterationCompositeOperation.rs
+++ b/src/features/gen_IterationCompositeOperation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `IterationCompositeOperation` enum."]
diff --git a/src/features/gen_JsonWebKey.rs b/src/features/gen_JsonWebKey.rs
index b377c19..ac0a1d1 100644
--- a/src/features/gen_JsonWebKey.rs
+++ b/src/features/gen_JsonWebKey.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_KeyAlgorithm.rs b/src/features/gen_KeyAlgorithm.rs
index 556fdb0..ba180ae 100644
--- a/src/features/gen_KeyAlgorithm.rs
+++ b/src/features/gen_KeyAlgorithm.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_KeyEvent.rs b/src/features/gen_KeyEvent.rs
index 997fa81..6d834cb 100644
--- a/src/features/gen_KeyEvent.rs
+++ b/src/features/gen_KeyEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_KeyIdsInitData.rs b/src/features/gen_KeyIdsInitData.rs
index 02c02c1..5076c68 100644
--- a/src/features/gen_KeyIdsInitData.rs
+++ b/src/features/gen_KeyIdsInitData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_KeyboardEvent.rs b/src/features/gen_KeyboardEvent.rs
index 4bb5b0f..fbd2082 100644
--- a/src/features/gen_KeyboardEvent.rs
+++ b/src/features/gen_KeyboardEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_KeyboardEventInit.rs b/src/features/gen_KeyboardEventInit.rs
index a1ec1ae..f096083 100644
--- a/src/features/gen_KeyboardEventInit.rs
+++ b/src/features/gen_KeyboardEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_KeyframeAnimationOptions.rs b/src/features/gen_KeyframeAnimationOptions.rs
new file mode 100644
index 0000000..430b5e5
--- /dev/null
+++ b/src/features/gen_KeyframeAnimationOptions.rs
@@ -0,0 +1,279 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = KeyframeAnimationOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `KeyframeAnimationOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type KeyframeAnimationOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl KeyframeAnimationOptions {
+    #[doc = "Construct a new `KeyframeAnimationOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `delay` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn delay(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("delay"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "PlaybackDirection")]
+    #[doc = "Change the `direction` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `KeyframeAnimationOptions`, `PlaybackDirection`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn direction(&mut self, val: PlaybackDirection) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("direction"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `duration` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn duration(&mut self, val: &::wasm_bindgen::JsValue) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("duration"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `easing` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn easing(&mut self, val: &str) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r =
+            ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("easing"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `endDelay` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn end_delay(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("endDelay"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FillMode")]
+    #[doc = "Change the `fill` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FillMode`, `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn fill(&mut self, val: FillMode) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("fill"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `iterationStart` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn iteration_start(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("iterationStart"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `iterations` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn iterations(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("iterations"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "CompositeOperation")]
+    #[doc = "Change the `composite` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CompositeOperation`, `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn composite(&mut self, val: CompositeOperation) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("composite"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "IterationCompositeOperation")]
+    #[doc = "Change the `iterationComposite` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `IterationCompositeOperation`, `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn iteration_composite(&mut self, val: IterationCompositeOperation) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("iterationComposite"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `id` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn id(&mut self, val: &str) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("id"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "AnimationTimeline")]
+    #[doc = "Change the `timeline` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `AnimationTimeline`, `KeyframeAnimationOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn timeline(&mut self, val: Option<&AnimationTimeline>) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("timeline"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for KeyframeAnimationOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_KeyframeEffect.rs b/src/features/gen_KeyframeEffect.rs
index 08bdbd7..5492193 100644
--- a/src/features/gen_KeyframeEffect.rs
+++ b/src/features/gen_KeyframeEffect.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_KeyframeEffectOptions.rs b/src/features/gen_KeyframeEffectOptions.rs
index 0aad56b..222ba75 100644
--- a/src/features/gen_KeyframeEffectOptions.rs
+++ b/src/features/gen_KeyframeEffectOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_L10nElement.rs b/src/features/gen_L10nElement.rs
index 7bdb10b..63b3829 100644
--- a/src/features/gen_L10nElement.rs
+++ b/src/features/gen_L10nElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_L10nValue.rs b/src/features/gen_L10nValue.rs
index 964afcc..e5dc9f3 100644
--- a/src/features/gen_L10nValue.rs
+++ b/src/features/gen_L10nValue.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_LatencyMode.rs b/src/features/gen_LatencyMode.rs
index 6179b28..aa53e60 100644
--- a/src/features/gen_LatencyMode.rs
+++ b/src/features/gen_LatencyMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_LifecycleCallbacks.rs b/src/features/gen_LifecycleCallbacks.rs
index bb95ad3..c6ce99e 100644
--- a/src/features/gen_LifecycleCallbacks.rs
+++ b/src/features/gen_LifecycleCallbacks.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_LineAlignSetting.rs b/src/features/gen_LineAlignSetting.rs
index a8c4e01..eb1cf3d 100644
--- a/src/features/gen_LineAlignSetting.rs
+++ b/src/features/gen_LineAlignSetting.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `LineAlignSetting` enum."]
diff --git a/src/features/gen_ListBoxObject.rs b/src/features/gen_ListBoxObject.rs
index 09bc45d..2a13c9f 100644
--- a/src/features/gen_ListBoxObject.rs
+++ b/src/features/gen_ListBoxObject.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_LocalMediaStream.rs b/src/features/gen_LocalMediaStream.rs
index f6eb154..5529e8d 100644
--- a/src/features/gen_LocalMediaStream.rs
+++ b/src/features/gen_LocalMediaStream.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_LocaleInfo.rs b/src/features/gen_LocaleInfo.rs
index 75842e8..f6debf3 100644
--- a/src/features/gen_LocaleInfo.rs
+++ b/src/features/gen_LocaleInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Location.rs b/src/features/gen_Location.rs
index f75f2bd..f33f747 100644
--- a/src/features/gen_Location.rs
+++ b/src/features/gen_Location.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaCapabilities.rs b/src/features/gen_MediaCapabilities.rs
index 1169339..e2fb0ad 100644
--- a/src/features/gen_MediaCapabilities.rs
+++ b/src/features/gen_MediaCapabilities.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaCapabilitiesInfo.rs b/src/features/gen_MediaCapabilitiesInfo.rs
index 2f36d5d..b35b38e 100644
--- a/src/features/gen_MediaCapabilitiesInfo.rs
+++ b/src/features/gen_MediaCapabilitiesInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaConfiguration.rs b/src/features/gen_MediaConfiguration.rs
index d56d370..0f1170f 100644
--- a/src/features/gen_MediaConfiguration.rs
+++ b/src/features/gen_MediaConfiguration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaDecodingConfiguration.rs b/src/features/gen_MediaDecodingConfiguration.rs
index ef23b59..ffa9292 100644
--- a/src/features/gen_MediaDecodingConfiguration.rs
+++ b/src/features/gen_MediaDecodingConfiguration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaDecodingType.rs b/src/features/gen_MediaDecodingType.rs
index 79ae5f8..865462b 100644
--- a/src/features/gen_MediaDecodingType.rs
+++ b/src/features/gen_MediaDecodingType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaDecodingType` enum."]
diff --git a/src/features/gen_MediaDeviceInfo.rs b/src/features/gen_MediaDeviceInfo.rs
index c3f9af2..e108c87 100644
--- a/src/features/gen_MediaDeviceInfo.rs
+++ b/src/features/gen_MediaDeviceInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaDeviceKind.rs b/src/features/gen_MediaDeviceKind.rs
index ff9873c..69c6ed8 100644
--- a/src/features/gen_MediaDeviceKind.rs
+++ b/src/features/gen_MediaDeviceKind.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaDeviceKind` enum."]
diff --git a/src/features/gen_MediaDevices.rs b/src/features/gen_MediaDevices.rs
index d8a76c6..d491e87 100644
--- a/src/features/gen_MediaDevices.rs
+++ b/src/features/gen_MediaDevices.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaElementAudioSourceNode.rs b/src/features/gen_MediaElementAudioSourceNode.rs
index 4b55071..94023c0 100644
--- a/src/features/gen_MediaElementAudioSourceNode.rs
+++ b/src/features/gen_MediaElementAudioSourceNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaElementAudioSourceOptions.rs b/src/features/gen_MediaElementAudioSourceOptions.rs
index 6db428e..8a8bb78 100644
--- a/src/features/gen_MediaElementAudioSourceOptions.rs
+++ b/src/features/gen_MediaElementAudioSourceOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaEncodingConfiguration.rs b/src/features/gen_MediaEncodingConfiguration.rs
index a52fe6a..d08e4ef 100644
--- a/src/features/gen_MediaEncodingConfiguration.rs
+++ b/src/features/gen_MediaEncodingConfiguration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaEncodingType.rs b/src/features/gen_MediaEncodingType.rs
index e478627..84d8bba 100644
--- a/src/features/gen_MediaEncodingType.rs
+++ b/src/features/gen_MediaEncodingType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaEncodingType` enum."]
diff --git a/src/features/gen_MediaEncryptedEvent.rs b/src/features/gen_MediaEncryptedEvent.rs
index 07eab63..296da0e 100644
--- a/src/features/gen_MediaEncryptedEvent.rs
+++ b/src/features/gen_MediaEncryptedEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaError.rs b/src/features/gen_MediaError.rs
index 538ed20..e9427d2 100644
--- a/src/features/gen_MediaError.rs
+++ b/src/features/gen_MediaError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaImage.rs b/src/features/gen_MediaImage.rs
index 5a58a88..2eb3a95 100644
--- a/src/features/gen_MediaImage.rs
+++ b/src/features/gen_MediaImage.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_MediaKeyError.rs b/src/features/gen_MediaKeyError.rs
index 3d9306c..5ceee0e 100644
--- a/src/features/gen_MediaKeyError.rs
+++ b/src/features/gen_MediaKeyError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeyMessageEvent.rs b/src/features/gen_MediaKeyMessageEvent.rs
index bfc16e9..ee33562 100644
--- a/src/features/gen_MediaKeyMessageEvent.rs
+++ b/src/features/gen_MediaKeyMessageEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeyMessageEventInit.rs b/src/features/gen_MediaKeyMessageEventInit.rs
index a741832..9e48fad 100644
--- a/src/features/gen_MediaKeyMessageEventInit.rs
+++ b/src/features/gen_MediaKeyMessageEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeyMessageType.rs b/src/features/gen_MediaKeyMessageType.rs
index b101fb7..c4251b2 100644
--- a/src/features/gen_MediaKeyMessageType.rs
+++ b/src/features/gen_MediaKeyMessageType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaKeyMessageType` enum."]
diff --git a/src/features/gen_MediaKeyNeededEventInit.rs b/src/features/gen_MediaKeyNeededEventInit.rs
index 5dc1067..96041fc 100644
--- a/src/features/gen_MediaKeyNeededEventInit.rs
+++ b/src/features/gen_MediaKeyNeededEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeySession.rs b/src/features/gen_MediaKeySession.rs
index df29983..8f639f8 100644
--- a/src/features/gen_MediaKeySession.rs
+++ b/src/features/gen_MediaKeySession.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeySessionType.rs b/src/features/gen_MediaKeySessionType.rs
index c50b308..0f131bc 100644
--- a/src/features/gen_MediaKeySessionType.rs
+++ b/src/features/gen_MediaKeySessionType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaKeySessionType` enum."]
diff --git a/src/features/gen_MediaKeyStatus.rs b/src/features/gen_MediaKeyStatus.rs
index 7e24d37..8016cde 100644
--- a/src/features/gen_MediaKeyStatus.rs
+++ b/src/features/gen_MediaKeyStatus.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaKeyStatus` enum."]
diff --git a/src/features/gen_MediaKeyStatusMap.rs b/src/features/gen_MediaKeyStatusMap.rs
index ee2b22c..ea2a4ae 100644
--- a/src/features/gen_MediaKeyStatusMap.rs
+++ b/src/features/gen_MediaKeyStatusMap.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeySystemAccess.rs b/src/features/gen_MediaKeySystemAccess.rs
index 544a59a..fd61076 100644
--- a/src/features/gen_MediaKeySystemAccess.rs
+++ b/src/features/gen_MediaKeySystemAccess.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeySystemConfiguration.rs b/src/features/gen_MediaKeySystemConfiguration.rs
index c565cf9..2491b94 100644
--- a/src/features/gen_MediaKeySystemConfiguration.rs
+++ b/src/features/gen_MediaKeySystemConfiguration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeySystemMediaCapability.rs b/src/features/gen_MediaKeySystemMediaCapability.rs
index b3def21..fab9118 100644
--- a/src/features/gen_MediaKeySystemMediaCapability.rs
+++ b/src/features/gen_MediaKeySystemMediaCapability.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeySystemStatus.rs b/src/features/gen_MediaKeySystemStatus.rs
index eaf627d..fee902e 100644
--- a/src/features/gen_MediaKeySystemStatus.rs
+++ b/src/features/gen_MediaKeySystemStatus.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaKeySystemStatus` enum."]
diff --git a/src/features/gen_MediaKeys.rs b/src/features/gen_MediaKeys.rs
index ecf90c1..6386a76 100644
--- a/src/features/gen_MediaKeys.rs
+++ b/src/features/gen_MediaKeys.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeysPolicy.rs b/src/features/gen_MediaKeysPolicy.rs
index df5fefb..079ed45 100644
--- a/src/features/gen_MediaKeysPolicy.rs
+++ b/src/features/gen_MediaKeysPolicy.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaKeysRequirement.rs b/src/features/gen_MediaKeysRequirement.rs
index 8703cbe..e1f3bb0 100644
--- a/src/features/gen_MediaKeysRequirement.rs
+++ b/src/features/gen_MediaKeysRequirement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaKeysRequirement` enum."]
diff --git a/src/features/gen_MediaList.rs b/src/features/gen_MediaList.rs
index 89b8f38..b74a1f6 100644
--- a/src/features/gen_MediaList.rs
+++ b/src/features/gen_MediaList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaMetadata.rs b/src/features/gen_MediaMetadata.rs
index 6911f66..57174ef 100644
--- a/src/features/gen_MediaMetadata.rs
+++ b/src/features/gen_MediaMetadata.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_MediaMetadataInit.rs b/src/features/gen_MediaMetadataInit.rs
index 4551618..7ec33aa 100644
--- a/src/features/gen_MediaMetadataInit.rs
+++ b/src/features/gen_MediaMetadataInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_MediaPositionState.rs b/src/features/gen_MediaPositionState.rs
index 452f445..b8ac6fa 100644
--- a/src/features/gen_MediaPositionState.rs
+++ b/src/features/gen_MediaPositionState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_MediaQueryList.rs b/src/features/gen_MediaQueryList.rs
index 24faf3a..9465c38 100644
--- a/src/features/gen_MediaQueryList.rs
+++ b/src/features/gen_MediaQueryList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaQueryListEvent.rs b/src/features/gen_MediaQueryListEvent.rs
index ceca733..8733d98 100644
--- a/src/features/gen_MediaQueryListEvent.rs
+++ b/src/features/gen_MediaQueryListEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaQueryListEventInit.rs b/src/features/gen_MediaQueryListEventInit.rs
index 5546b6e..b792f8e 100644
--- a/src/features/gen_MediaQueryListEventInit.rs
+++ b/src/features/gen_MediaQueryListEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaRecorder.rs b/src/features/gen_MediaRecorder.rs
index 1153152..acd57cb 100644
--- a/src/features/gen_MediaRecorder.rs
+++ b/src/features/gen_MediaRecorder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaRecorderErrorEvent.rs b/src/features/gen_MediaRecorderErrorEvent.rs
index 5a00bb6..c4bd916 100644
--- a/src/features/gen_MediaRecorderErrorEvent.rs
+++ b/src/features/gen_MediaRecorderErrorEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaRecorderErrorEventInit.rs b/src/features/gen_MediaRecorderErrorEventInit.rs
index 8347858..41ca069 100644
--- a/src/features/gen_MediaRecorderErrorEventInit.rs
+++ b/src/features/gen_MediaRecorderErrorEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaRecorderOptions.rs b/src/features/gen_MediaRecorderOptions.rs
index 756be77..8a5fc95 100644
--- a/src/features/gen_MediaRecorderOptions.rs
+++ b/src/features/gen_MediaRecorderOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaSession.rs b/src/features/gen_MediaSession.rs
index 5f50eec..54f0f3f 100644
--- a/src/features/gen_MediaSession.rs
+++ b/src/features/gen_MediaSession.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_MediaSessionAction.rs b/src/features/gen_MediaSessionAction.rs
index b25bf30..20f74a5 100644
--- a/src/features/gen_MediaSessionAction.rs
+++ b/src/features/gen_MediaSessionAction.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaSessionActionDetails.rs b/src/features/gen_MediaSessionActionDetails.rs
index f530e8f..a9803de 100644
--- a/src/features/gen_MediaSessionActionDetails.rs
+++ b/src/features/gen_MediaSessionActionDetails.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_MediaSessionPlaybackState.rs b/src/features/gen_MediaSessionPlaybackState.rs
index 77ea9df..a1e12dc 100644
--- a/src/features/gen_MediaSessionPlaybackState.rs
+++ b/src/features/gen_MediaSessionPlaybackState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaSource.rs b/src/features/gen_MediaSource.rs
index 1edd2c3..d2eea44 100644
--- a/src/features/gen_MediaSource.rs
+++ b/src/features/gen_MediaSource.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaSourceEndOfStreamError.rs b/src/features/gen_MediaSourceEndOfStreamError.rs
index 76edf0e..ca68272 100644
--- a/src/features/gen_MediaSourceEndOfStreamError.rs
+++ b/src/features/gen_MediaSourceEndOfStreamError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaSourceEndOfStreamError` enum."]
diff --git a/src/features/gen_MediaSourceEnum.rs b/src/features/gen_MediaSourceEnum.rs
index a3d8326..b10fe7e 100644
--- a/src/features/gen_MediaSourceEnum.rs
+++ b/src/features/gen_MediaSourceEnum.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaSourceEnum` enum."]
diff --git a/src/features/gen_MediaSourceReadyState.rs b/src/features/gen_MediaSourceReadyState.rs
index b0033cb..1b8e06a 100644
--- a/src/features/gen_MediaSourceReadyState.rs
+++ b/src/features/gen_MediaSourceReadyState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaSourceReadyState` enum."]
diff --git a/src/features/gen_MediaStream.rs b/src/features/gen_MediaStream.rs
index 75d5f21..9e78ed0 100644
--- a/src/features/gen_MediaStream.rs
+++ b/src/features/gen_MediaStream.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamAudioDestinationNode.rs b/src/features/gen_MediaStreamAudioDestinationNode.rs
index 8446484..5c32916 100644
--- a/src/features/gen_MediaStreamAudioDestinationNode.rs
+++ b/src/features/gen_MediaStreamAudioDestinationNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamAudioSourceNode.rs b/src/features/gen_MediaStreamAudioSourceNode.rs
index 0c206a4..b7f56c6 100644
--- a/src/features/gen_MediaStreamAudioSourceNode.rs
+++ b/src/features/gen_MediaStreamAudioSourceNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamAudioSourceOptions.rs b/src/features/gen_MediaStreamAudioSourceOptions.rs
index 8f72c31..215d5e0 100644
--- a/src/features/gen_MediaStreamAudioSourceOptions.rs
+++ b/src/features/gen_MediaStreamAudioSourceOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamConstraints.rs b/src/features/gen_MediaStreamConstraints.rs
index 9950c18..ef0d435 100644
--- a/src/features/gen_MediaStreamConstraints.rs
+++ b/src/features/gen_MediaStreamConstraints.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamError.rs b/src/features/gen_MediaStreamError.rs
index b18996d..7c4a544 100644
--- a/src/features/gen_MediaStreamError.rs
+++ b/src/features/gen_MediaStreamError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamEvent.rs b/src/features/gen_MediaStreamEvent.rs
index d562649..6099620 100644
--- a/src/features/gen_MediaStreamEvent.rs
+++ b/src/features/gen_MediaStreamEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamEventInit.rs b/src/features/gen_MediaStreamEventInit.rs
index eb3d295..ee27669 100644
--- a/src/features/gen_MediaStreamEventInit.rs
+++ b/src/features/gen_MediaStreamEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamTrack.rs b/src/features/gen_MediaStreamTrack.rs
index 113d028..1e7007f 100644
--- a/src/features/gen_MediaStreamTrack.rs
+++ b/src/features/gen_MediaStreamTrack.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamTrackEvent.rs b/src/features/gen_MediaStreamTrackEvent.rs
index 30884b9..b819e87 100644
--- a/src/features/gen_MediaStreamTrackEvent.rs
+++ b/src/features/gen_MediaStreamTrackEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamTrackEventInit.rs b/src/features/gen_MediaStreamTrackEventInit.rs
index 4657ef5..6f0d79a 100644
--- a/src/features/gen_MediaStreamTrackEventInit.rs
+++ b/src/features/gen_MediaStreamTrackEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaStreamTrackGenerator.rs b/src/features/gen_MediaStreamTrackGenerator.rs
index eed7657..7a83f7e 100644
--- a/src/features/gen_MediaStreamTrackGenerator.rs
+++ b/src/features/gen_MediaStreamTrackGenerator.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_MediaStreamTrackGeneratorInit.rs b/src/features/gen_MediaStreamTrackGeneratorInit.rs
index fc666fd..752f668 100644
--- a/src/features/gen_MediaStreamTrackGeneratorInit.rs
+++ b/src/features/gen_MediaStreamTrackGeneratorInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_MediaStreamTrackProcessor.rs b/src/features/gen_MediaStreamTrackProcessor.rs
index 8f3b049..599afdc 100644
--- a/src/features/gen_MediaStreamTrackProcessor.rs
+++ b/src/features/gen_MediaStreamTrackProcessor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_MediaStreamTrackProcessorInit.rs b/src/features/gen_MediaStreamTrackProcessorInit.rs
index 8ce1dff..bbf2078 100644
--- a/src/features/gen_MediaStreamTrackProcessorInit.rs
+++ b/src/features/gen_MediaStreamTrackProcessorInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_MediaStreamTrackState.rs b/src/features/gen_MediaStreamTrackState.rs
index 66d2390..854efb4 100644
--- a/src/features/gen_MediaStreamTrackState.rs
+++ b/src/features/gen_MediaStreamTrackState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MediaStreamTrackState` enum."]
diff --git a/src/features/gen_MediaTrackConstraintSet.rs b/src/features/gen_MediaTrackConstraintSet.rs
index f89ab83..3c52120 100644
--- a/src/features/gen_MediaTrackConstraintSet.rs
+++ b/src/features/gen_MediaTrackConstraintSet.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaTrackConstraints.rs b/src/features/gen_MediaTrackConstraints.rs
index 8f76b79..dbd4cfd 100644
--- a/src/features/gen_MediaTrackConstraints.rs
+++ b/src/features/gen_MediaTrackConstraints.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaTrackSettings.rs b/src/features/gen_MediaTrackSettings.rs
index e279a55..6a4493d 100644
--- a/src/features/gen_MediaTrackSettings.rs
+++ b/src/features/gen_MediaTrackSettings.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MediaTrackSupportedConstraints.rs b/src/features/gen_MediaTrackSupportedConstraints.rs
index 068ae20..aa47b5f 100644
--- a/src/features/gen_MediaTrackSupportedConstraints.rs
+++ b/src/features/gen_MediaTrackSupportedConstraints.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MemoryAttribution.rs b/src/features/gen_MemoryAttribution.rs
new file mode 100644
index 0000000..16d6c70
--- /dev/null
+++ b/src/features/gen_MemoryAttribution.rs
@@ -0,0 +1,93 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = MemoryAttribution)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `MemoryAttribution` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryAttribution`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type MemoryAttribution;
+}
+#[cfg(web_sys_unstable_apis)]
+impl MemoryAttribution {
+    #[doc = "Construct a new `MemoryAttribution`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryAttribution`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "MemoryAttributionContainer")]
+    #[doc = "Change the `container` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryAttribution`, `MemoryAttributionContainer`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn container(&mut self, val: &MemoryAttributionContainer) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("container"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `scope` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryAttribution`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn scope(&mut self, val: &str) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("scope"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `url` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryAttribution`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn url(&mut self, val: &str) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("url"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for MemoryAttribution {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_MemoryAttributionContainer.rs b/src/features/gen_MemoryAttributionContainer.rs
new file mode 100644
index 0000000..7365be8
--- /dev/null
+++ b/src/features/gen_MemoryAttributionContainer.rs
@@ -0,0 +1,71 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = MemoryAttributionContainer)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `MemoryAttributionContainer` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryAttributionContainer`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type MemoryAttributionContainer;
+}
+#[cfg(web_sys_unstable_apis)]
+impl MemoryAttributionContainer {
+    #[doc = "Construct a new `MemoryAttributionContainer`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryAttributionContainer`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `id` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryAttributionContainer`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn id(&mut self, val: &str) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("id"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `src` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryAttributionContainer`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn src(&mut self, val: &str) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("src"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for MemoryAttributionContainer {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_MemoryBreakdownEntry.rs b/src/features/gen_MemoryBreakdownEntry.rs
new file mode 100644
index 0000000..0588e44
--- /dev/null
+++ b/src/features/gen_MemoryBreakdownEntry.rs
@@ -0,0 +1,92 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = MemoryBreakdownEntry)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `MemoryBreakdownEntry` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryBreakdownEntry`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type MemoryBreakdownEntry;
+}
+#[cfg(web_sys_unstable_apis)]
+impl MemoryBreakdownEntry {
+    #[doc = "Construct a new `MemoryBreakdownEntry`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryBreakdownEntry`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `attribution` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryBreakdownEntry`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn attribution(&mut self, val: &::wasm_bindgen::JsValue) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("attribution"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `bytes` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryBreakdownEntry`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn bytes(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("bytes"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `types` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryBreakdownEntry`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn types(&mut self, val: &::wasm_bindgen::JsValue) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("types"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for MemoryBreakdownEntry {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_MemoryMeasurement.rs b/src/features/gen_MemoryMeasurement.rs
new file mode 100644
index 0000000..db9b2b6
--- /dev/null
+++ b/src/features/gen_MemoryMeasurement.rs
@@ -0,0 +1,75 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = MemoryMeasurement)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `MemoryMeasurement` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryMeasurement`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type MemoryMeasurement;
+}
+#[cfg(web_sys_unstable_apis)]
+impl MemoryMeasurement {
+    #[doc = "Construct a new `MemoryMeasurement`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryMeasurement`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `breakdown` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryMeasurement`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn breakdown(&mut self, val: &::wasm_bindgen::JsValue) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("breakdown"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `bytes` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MemoryMeasurement`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn bytes(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("bytes"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for MemoryMeasurement {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_MessageChannel.rs b/src/features/gen_MessageChannel.rs
index 4422c14..10c6142 100644
--- a/src/features/gen_MessageChannel.rs
+++ b/src/features/gen_MessageChannel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MessageEvent.rs b/src/features/gen_MessageEvent.rs
index 89df399..38843a9 100644
--- a/src/features/gen_MessageEvent.rs
+++ b/src/features/gen_MessageEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MessageEventInit.rs b/src/features/gen_MessageEventInit.rs
index 8609274..2a098be 100644
--- a/src/features/gen_MessageEventInit.rs
+++ b/src/features/gen_MessageEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MessagePort.rs b/src/features/gen_MessagePort.rs
index 2eaf463..3e77303 100644
--- a/src/features/gen_MessagePort.rs
+++ b/src/features/gen_MessagePort.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MidiAccess.rs b/src/features/gen_MidiAccess.rs
index 4c0db75..e6a9c4e 100644
--- a/src/features/gen_MidiAccess.rs
+++ b/src/features/gen_MidiAccess.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MidiConnectionEvent.rs b/src/features/gen_MidiConnectionEvent.rs
index 03adeb7..71503ee 100644
--- a/src/features/gen_MidiConnectionEvent.rs
+++ b/src/features/gen_MidiConnectionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MidiConnectionEventInit.rs b/src/features/gen_MidiConnectionEventInit.rs
index 3b863c8..125b747 100644
--- a/src/features/gen_MidiConnectionEventInit.rs
+++ b/src/features/gen_MidiConnectionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MidiInput.rs b/src/features/gen_MidiInput.rs
index d481aa2..7d57ce9 100644
--- a/src/features/gen_MidiInput.rs
+++ b/src/features/gen_MidiInput.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MidiInputMap.rs b/src/features/gen_MidiInputMap.rs
index 7a682bd..f477f0c 100644
--- a/src/features/gen_MidiInputMap.rs
+++ b/src/features/gen_MidiInputMap.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -11,4 +12,54 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `MidiInputMap`*"]
     pub type MidiInputMap;
+    # [wasm_bindgen (structural , method , getter , js_class = "MIDIInputMap" , js_name = size)]
+    #[doc = "Getter for the `size` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIInputMap/size)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiInputMap`*"]
+    pub fn size(this: &MidiInputMap) -> u32;
+    # [wasm_bindgen (method , structural , js_class = "MIDIInputMap" , js_name = entries)]
+    #[doc = "The `entries()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIInputMap/entries)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiInputMap`*"]
+    pub fn entries(this: &MidiInputMap) -> ::js_sys::Iterator;
+    # [wasm_bindgen (catch , method , structural , js_class = "MIDIInputMap" , js_name = forEach)]
+    #[doc = "The `forEach()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIInputMap/forEach)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiInputMap`*"]
+    pub fn for_each(this: &MidiInputMap, callback: &::js_sys::Function) -> Result<(), JsValue>;
+    #[cfg(feature = "MidiInput")]
+    # [wasm_bindgen (method , structural , js_class = "MIDIInputMap" , js_name = get)]
+    #[doc = "The `get()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIInputMap/get)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiInput`, `MidiInputMap`*"]
+    pub fn get(this: &MidiInputMap, key: &str) -> Option<MidiInput>;
+    # [wasm_bindgen (method , structural , js_class = "MIDIInputMap" , js_name = has)]
+    #[doc = "The `has()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIInputMap/has)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiInputMap`*"]
+    pub fn has(this: &MidiInputMap, key: &str) -> bool;
+    # [wasm_bindgen (method , structural , js_class = "MIDIInputMap" , js_name = keys)]
+    #[doc = "The `keys()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIInputMap/keys)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiInputMap`*"]
+    pub fn keys(this: &MidiInputMap) -> ::js_sys::Iterator;
+    # [wasm_bindgen (method , structural , js_class = "MIDIInputMap" , js_name = values)]
+    #[doc = "The `values()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIInputMap/values)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiInputMap`*"]
+    pub fn values(this: &MidiInputMap) -> ::js_sys::Iterator;
 }
diff --git a/src/features/gen_MidiMessageEvent.rs b/src/features/gen_MidiMessageEvent.rs
index f4462fa..9b19e30 100644
--- a/src/features/gen_MidiMessageEvent.rs
+++ b/src/features/gen_MidiMessageEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MidiMessageEventInit.rs b/src/features/gen_MidiMessageEventInit.rs
index b1c6e94..4002e71 100644
--- a/src/features/gen_MidiMessageEventInit.rs
+++ b/src/features/gen_MidiMessageEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MidiOptions.rs b/src/features/gen_MidiOptions.rs
index d1e320d..482e542 100644
--- a/src/features/gen_MidiOptions.rs
+++ b/src/features/gen_MidiOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MidiOutput.rs b/src/features/gen_MidiOutput.rs
index 8dc8a7a..7f1e806 100644
--- a/src/features/gen_MidiOutput.rs
+++ b/src/features/gen_MidiOutput.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MidiOutputMap.rs b/src/features/gen_MidiOutputMap.rs
index d20f434..872306a 100644
--- a/src/features/gen_MidiOutputMap.rs
+++ b/src/features/gen_MidiOutputMap.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -11,4 +12,54 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `MidiOutputMap`*"]
     pub type MidiOutputMap;
+    # [wasm_bindgen (structural , method , getter , js_class = "MIDIOutputMap" , js_name = size)]
+    #[doc = "Getter for the `size` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIOutputMap/size)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiOutputMap`*"]
+    pub fn size(this: &MidiOutputMap) -> u32;
+    # [wasm_bindgen (method , structural , js_class = "MIDIOutputMap" , js_name = entries)]
+    #[doc = "The `entries()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIOutputMap/entries)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiOutputMap`*"]
+    pub fn entries(this: &MidiOutputMap) -> ::js_sys::Iterator;
+    # [wasm_bindgen (catch , method , structural , js_class = "MIDIOutputMap" , js_name = forEach)]
+    #[doc = "The `forEach()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIOutputMap/forEach)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiOutputMap`*"]
+    pub fn for_each(this: &MidiOutputMap, callback: &::js_sys::Function) -> Result<(), JsValue>;
+    #[cfg(feature = "MidiOutput")]
+    # [wasm_bindgen (method , structural , js_class = "MIDIOutputMap" , js_name = get)]
+    #[doc = "The `get()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIOutputMap/get)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiOutput`, `MidiOutputMap`*"]
+    pub fn get(this: &MidiOutputMap, key: &str) -> Option<MidiOutput>;
+    # [wasm_bindgen (method , structural , js_class = "MIDIOutputMap" , js_name = has)]
+    #[doc = "The `has()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIOutputMap/has)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiOutputMap`*"]
+    pub fn has(this: &MidiOutputMap, key: &str) -> bool;
+    # [wasm_bindgen (method , structural , js_class = "MIDIOutputMap" , js_name = keys)]
+    #[doc = "The `keys()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIOutputMap/keys)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiOutputMap`*"]
+    pub fn keys(this: &MidiOutputMap) -> ::js_sys::Iterator;
+    # [wasm_bindgen (method , structural , js_class = "MIDIOutputMap" , js_name = values)]
+    #[doc = "The `values()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/MIDIOutputMap/values)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `MidiOutputMap`*"]
+    pub fn values(this: &MidiOutputMap) -> ::js_sys::Iterator;
 }
diff --git a/src/features/gen_MidiPort.rs b/src/features/gen_MidiPort.rs
index c69a4ee..e34ef80 100644
--- a/src/features/gen_MidiPort.rs
+++ b/src/features/gen_MidiPort.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MidiPortConnectionState.rs b/src/features/gen_MidiPortConnectionState.rs
index ae25b7e..e038928 100644
--- a/src/features/gen_MidiPortConnectionState.rs
+++ b/src/features/gen_MidiPortConnectionState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MidiPortConnectionState` enum."]
diff --git a/src/features/gen_MidiPortDeviceState.rs b/src/features/gen_MidiPortDeviceState.rs
index c443c64..f1bd843 100644
--- a/src/features/gen_MidiPortDeviceState.rs
+++ b/src/features/gen_MidiPortDeviceState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MidiPortDeviceState` enum."]
diff --git a/src/features/gen_MidiPortType.rs b/src/features/gen_MidiPortType.rs
index d987ea7..507c37d 100644
--- a/src/features/gen_MidiPortType.rs
+++ b/src/features/gen_MidiPortType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `MidiPortType` enum."]
diff --git a/src/features/gen_MimeType.rs b/src/features/gen_MimeType.rs
index 1588cb1..02abadd 100644
--- a/src/features/gen_MimeType.rs
+++ b/src/features/gen_MimeType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MimeTypeArray.rs b/src/features/gen_MimeTypeArray.rs
index 79fe54a..eb6ea2c 100644
--- a/src/features/gen_MimeTypeArray.rs
+++ b/src/features/gen_MimeTypeArray.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MouseEvent.rs b/src/features/gen_MouseEvent.rs
index 3a44e13..ad7826a 100644
--- a/src/features/gen_MouseEvent.rs
+++ b/src/features/gen_MouseEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MouseEventInit.rs b/src/features/gen_MouseEventInit.rs
index def45c9..61c5bb5 100644
--- a/src/features/gen_MouseEventInit.rs
+++ b/src/features/gen_MouseEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MouseScrollEvent.rs b/src/features/gen_MouseScrollEvent.rs
index 01d2970..9bed2d6 100644
--- a/src/features/gen_MouseScrollEvent.rs
+++ b/src/features/gen_MouseScrollEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MozDebug.rs b/src/features/gen_MozDebug.rs
index 6d83c97..7fd1c91 100644
--- a/src/features/gen_MozDebug.rs
+++ b/src/features/gen_MozDebug.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MutationEvent.rs b/src/features/gen_MutationEvent.rs
index 72f7bc9..b21ae79 100644
--- a/src/features/gen_MutationEvent.rs
+++ b/src/features/gen_MutationEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MutationObserver.rs b/src/features/gen_MutationObserver.rs
index c9ce64e..58ba233 100644
--- a/src/features/gen_MutationObserver.rs
+++ b/src/features/gen_MutationObserver.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MutationObserverInit.rs b/src/features/gen_MutationObserverInit.rs
index fb3aac8..736ea70 100644
--- a/src/features/gen_MutationObserverInit.rs
+++ b/src/features/gen_MutationObserverInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MutationObservingInfo.rs b/src/features/gen_MutationObservingInfo.rs
index 96178ea..38d26e3 100644
--- a/src/features/gen_MutationObservingInfo.rs
+++ b/src/features/gen_MutationObservingInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_MutationRecord.rs b/src/features/gen_MutationRecord.rs
index 2a9e4c3..3d6ca83 100644
--- a/src/features/gen_MutationRecord.rs
+++ b/src/features/gen_MutationRecord.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NamedNodeMap.rs b/src/features/gen_NamedNodeMap.rs
index ee2d2e0..d30cb71 100644
--- a/src/features/gen_NamedNodeMap.rs
+++ b/src/features/gen_NamedNodeMap.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NativeOsFileReadOptions.rs b/src/features/gen_NativeOsFileReadOptions.rs
index 1c1354d..d50a70e 100644
--- a/src/features/gen_NativeOsFileReadOptions.rs
+++ b/src/features/gen_NativeOsFileReadOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NativeOsFileWriteAtomicOptions.rs b/src/features/gen_NativeOsFileWriteAtomicOptions.rs
index a06f191..3e3c2fd 100644
--- a/src/features/gen_NativeOsFileWriteAtomicOptions.rs
+++ b/src/features/gen_NativeOsFileWriteAtomicOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NavigationType.rs b/src/features/gen_NavigationType.rs
index 0ec8018..8f82bdd 100644
--- a/src/features/gen_NavigationType.rs
+++ b/src/features/gen_NavigationType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `NavigationType` enum."]
diff --git a/src/features/gen_Navigator.rs b/src/features/gen_Navigator.rs
index 902d881..7bb3067 100644
--- a/src/features/gen_Navigator.rs
+++ b/src/features/gen_Navigator.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -165,6 +166,18 @@ extern "C" {
     #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn hid(this: &Navigator) -> Hid;
     #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "Serial")]
+    # [wasm_bindgen (structural , method , getter , js_class = "Navigator" , js_name = serial)]
+    #[doc = "Getter for the `serial` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/serial)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Navigator`, `Serial`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn serial(this: &Navigator) -> Serial;
+    #[cfg(web_sys_unstable_apis)]
     #[cfg(feature = "Usb")]
     # [wasm_bindgen (structural , method , getter , js_class = "Navigator" , js_name = usb)]
     #[doc = "Getter for the `usb` field of this object."]
diff --git a/src/features/gen_NavigatorAutomationInformation.rs b/src/features/gen_NavigatorAutomationInformation.rs
index c1fbff6..730e712 100644
--- a/src/features/gen_NavigatorAutomationInformation.rs
+++ b/src/features/gen_NavigatorAutomationInformation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NetworkCommandOptions.rs b/src/features/gen_NetworkCommandOptions.rs
index dbf0665..a50203b 100644
--- a/src/features/gen_NetworkCommandOptions.rs
+++ b/src/features/gen_NetworkCommandOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NetworkInformation.rs b/src/features/gen_NetworkInformation.rs
index 3669e4c..f46232b 100644
--- a/src/features/gen_NetworkInformation.rs
+++ b/src/features/gen_NetworkInformation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NetworkResultOptions.rs b/src/features/gen_NetworkResultOptions.rs
index 8e21219..44acd57 100644
--- a/src/features/gen_NetworkResultOptions.rs
+++ b/src/features/gen_NetworkResultOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Node.rs b/src/features/gen_Node.rs
index f9acb1f..32c5b8d 100644
--- a/src/features/gen_Node.rs
+++ b/src/features/gen_Node.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NodeFilter.rs b/src/features/gen_NodeFilter.rs
index 7a1d400..f5838a1 100644
--- a/src/features/gen_NodeFilter.rs
+++ b/src/features/gen_NodeFilter.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NodeIterator.rs b/src/features/gen_NodeIterator.rs
index 1e32cc0..d6f90a5 100644
--- a/src/features/gen_NodeIterator.rs
+++ b/src/features/gen_NodeIterator.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NodeList.rs b/src/features/gen_NodeList.rs
index b3bf91e..bf453d7 100644
--- a/src/features/gen_NodeList.rs
+++ b/src/features/gen_NodeList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Notification.rs b/src/features/gen_Notification.rs
index 2d3c771..857ad00 100644
--- a/src/features/gen_Notification.rs
+++ b/src/features/gen_Notification.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NotificationBehavior.rs b/src/features/gen_NotificationBehavior.rs
index bfd54b2..0f11b7e 100644
--- a/src/features/gen_NotificationBehavior.rs
+++ b/src/features/gen_NotificationBehavior.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NotificationDirection.rs b/src/features/gen_NotificationDirection.rs
index 6af8326..861eadf 100644
--- a/src/features/gen_NotificationDirection.rs
+++ b/src/features/gen_NotificationDirection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `NotificationDirection` enum."]
diff --git a/src/features/gen_NotificationEvent.rs b/src/features/gen_NotificationEvent.rs
index d3c962d..99d8ea1 100644
--- a/src/features/gen_NotificationEvent.rs
+++ b/src/features/gen_NotificationEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NotificationEventInit.rs b/src/features/gen_NotificationEventInit.rs
index 270f9fd..1f0e3f0 100644
--- a/src/features/gen_NotificationEventInit.rs
+++ b/src/features/gen_NotificationEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NotificationOptions.rs b/src/features/gen_NotificationOptions.rs
index 97d49a3..31d504d 100644
--- a/src/features/gen_NotificationOptions.rs
+++ b/src/features/gen_NotificationOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_NotificationPermission.rs b/src/features/gen_NotificationPermission.rs
index 3353056..35a4b8a 100644
--- a/src/features/gen_NotificationPermission.rs
+++ b/src/features/gen_NotificationPermission.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `NotificationPermission` enum."]
diff --git a/src/features/gen_ObserverCallback.rs b/src/features/gen_ObserverCallback.rs
index cdcc82d..6845b0f 100644
--- a/src/features/gen_ObserverCallback.rs
+++ b/src/features/gen_ObserverCallback.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OesElementIndexUint.rs b/src/features/gen_OesElementIndexUint.rs
index aebb731..c7af201 100644
--- a/src/features/gen_OesElementIndexUint.rs
+++ b/src/features/gen_OesElementIndexUint.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OesStandardDerivatives.rs b/src/features/gen_OesStandardDerivatives.rs
index 8b1324e..51beb64 100644
--- a/src/features/gen_OesStandardDerivatives.rs
+++ b/src/features/gen_OesStandardDerivatives.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OesTextureFloat.rs b/src/features/gen_OesTextureFloat.rs
index d30aa42..767a3e3 100644
--- a/src/features/gen_OesTextureFloat.rs
+++ b/src/features/gen_OesTextureFloat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OesTextureFloatLinear.rs b/src/features/gen_OesTextureFloatLinear.rs
index 6176300..ab2fc06 100644
--- a/src/features/gen_OesTextureFloatLinear.rs
+++ b/src/features/gen_OesTextureFloatLinear.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OesTextureHalfFloat.rs b/src/features/gen_OesTextureHalfFloat.rs
index ae24073..13b33fc 100644
--- a/src/features/gen_OesTextureHalfFloat.rs
+++ b/src/features/gen_OesTextureHalfFloat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OesTextureHalfFloatLinear.rs b/src/features/gen_OesTextureHalfFloatLinear.rs
index b96e67e..00b9fb7 100644
--- a/src/features/gen_OesTextureHalfFloatLinear.rs
+++ b/src/features/gen_OesTextureHalfFloatLinear.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OesVertexArrayObject.rs b/src/features/gen_OesVertexArrayObject.rs
index 0aec22f..5713083 100644
--- a/src/features/gen_OesVertexArrayObject.rs
+++ b/src/features/gen_OesVertexArrayObject.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OfflineAudioCompletionEvent.rs b/src/features/gen_OfflineAudioCompletionEvent.rs
index b4a36f3..0da6735 100644
--- a/src/features/gen_OfflineAudioCompletionEvent.rs
+++ b/src/features/gen_OfflineAudioCompletionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OfflineAudioCompletionEventInit.rs b/src/features/gen_OfflineAudioCompletionEventInit.rs
index e3d2021..b69f605 100644
--- a/src/features/gen_OfflineAudioCompletionEventInit.rs
+++ b/src/features/gen_OfflineAudioCompletionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OfflineAudioContext.rs b/src/features/gen_OfflineAudioContext.rs
index ecaba21..52e392a 100644
--- a/src/features/gen_OfflineAudioContext.rs
+++ b/src/features/gen_OfflineAudioContext.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OfflineAudioContextOptions.rs b/src/features/gen_OfflineAudioContextOptions.rs
index ab1cf57..4336595 100644
--- a/src/features/gen_OfflineAudioContextOptions.rs
+++ b/src/features/gen_OfflineAudioContextOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OfflineResourceList.rs b/src/features/gen_OfflineResourceList.rs
index e3ccd37..adf60ce 100644
--- a/src/features/gen_OfflineResourceList.rs
+++ b/src/features/gen_OfflineResourceList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OffscreenCanvas.rs b/src/features/gen_OffscreenCanvas.rs
index bcf8599..e925b0e 100644
--- a/src/features/gen_OffscreenCanvas.rs
+++ b/src/features/gen_OffscreenCanvas.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -46,6 +47,24 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`*"]
     pub fn new(width: u32, height: u32) -> Result<OffscreenCanvas, JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvas" , js_name = convertToBlob)]
+    #[doc = "The `convertToBlob()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/convertToBlob)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`*"]
+    pub fn convert_to_blob(this: &OffscreenCanvas) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "ImageEncodeOptions")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvas" , js_name = convertToBlob)]
+    #[doc = "The `convertToBlob()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/convertToBlob)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageEncodeOptions`, `OffscreenCanvas`*"]
+    pub fn convert_to_blob_with_options(
+        this: &OffscreenCanvas,
+        options: &ImageEncodeOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
     # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvas" , js_name = getContext)]
     #[doc = "The `getContext()` method."]
     #[doc = ""]
@@ -67,34 +86,6 @@ extern "C" {
         context_id: &str,
         context_options: &::wasm_bindgen::JsValue,
     ) -> Result<Option<::js_sys::Object>, JsValue>;
-    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvas" , js_name = toBlob)]
-    #[doc = "The `toBlob()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/toBlob)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`*"]
-    pub fn to_blob(this: &OffscreenCanvas) -> Result<::js_sys::Promise, JsValue>;
-    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvas" , js_name = toBlob)]
-    #[doc = "The `toBlob()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/toBlob)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`*"]
-    pub fn to_blob_with_type(
-        this: &OffscreenCanvas,
-        type_: &str,
-    ) -> Result<::js_sys::Promise, JsValue>;
-    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvas" , js_name = toBlob)]
-    #[doc = "The `toBlob()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas/toBlob)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`*"]
-    pub fn to_blob_with_type_and_encoder_options(
-        this: &OffscreenCanvas,
-        type_: &str,
-        encoder_options: &::wasm_bindgen::JsValue,
-    ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "ImageBitmap")]
     # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvas" , js_name = transferToImageBitmap)]
     #[doc = "The `transferToImageBitmap()` method."]
diff --git a/src/features/gen_OffscreenCanvasRenderingContext2d.rs b/src/features/gen_OffscreenCanvasRenderingContext2d.rs
new file mode 100644
index 0000000..ef40e59
--- /dev/null
+++ b/src/features/gen_OffscreenCanvasRenderingContext2d.rs
@@ -0,0 +1,1370 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = OffscreenCanvasRenderingContext2D , typescript_type = "OffscreenCanvasRenderingContext2D")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `OffscreenCanvasRenderingContext2d` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub type OffscreenCanvasRenderingContext2d;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = canvas)]
+    #[doc = "Getter for the `canvas` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/canvas)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn canvas(this: &OffscreenCanvasRenderingContext2d) -> OffscreenCanvas;
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = globalAlpha)]
+    #[doc = "Getter for the `globalAlpha` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/globalAlpha)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn global_alpha(this: &OffscreenCanvasRenderingContext2d) -> f64;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = globalAlpha)]
+    #[doc = "Setter for the `globalAlpha` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/globalAlpha)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_global_alpha(this: &OffscreenCanvasRenderingContext2d, value: f64);
+    # [wasm_bindgen (structural , catch , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = globalCompositeOperation)]
+    #[doc = "Getter for the `globalCompositeOperation` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/globalCompositeOperation)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn global_composite_operation(
+        this: &OffscreenCanvasRenderingContext2d,
+    ) -> Result<String, JsValue>;
+    # [wasm_bindgen (structural , catch , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = globalCompositeOperation)]
+    #[doc = "Setter for the `globalCompositeOperation` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/globalCompositeOperation)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_global_composite_operation(
+        this: &OffscreenCanvasRenderingContext2d,
+        value: &str,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = strokeStyle)]
+    #[doc = "Getter for the `strokeStyle` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/strokeStyle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn stroke_style(this: &OffscreenCanvasRenderingContext2d) -> ::wasm_bindgen::JsValue;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = strokeStyle)]
+    #[doc = "Setter for the `strokeStyle` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/strokeStyle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_stroke_style(
+        this: &OffscreenCanvasRenderingContext2d,
+        value: &::wasm_bindgen::JsValue,
+    );
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = fillStyle)]
+    #[doc = "Getter for the `fillStyle` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/fillStyle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn fill_style(this: &OffscreenCanvasRenderingContext2d) -> ::wasm_bindgen::JsValue;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = fillStyle)]
+    #[doc = "Setter for the `fillStyle` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/fillStyle)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_fill_style(
+        this: &OffscreenCanvasRenderingContext2d,
+        value: &::wasm_bindgen::JsValue,
+    );
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = filter)]
+    #[doc = "Getter for the `filter` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/filter)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn filter(this: &OffscreenCanvasRenderingContext2d) -> String;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = filter)]
+    #[doc = "Setter for the `filter` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/filter)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_filter(this: &OffscreenCanvasRenderingContext2d, value: &str);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = imageSmoothingEnabled)]
+    #[doc = "Getter for the `imageSmoothingEnabled` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/imageSmoothingEnabled)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn image_smoothing_enabled(this: &OffscreenCanvasRenderingContext2d) -> bool;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = imageSmoothingEnabled)]
+    #[doc = "Setter for the `imageSmoothingEnabled` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/imageSmoothingEnabled)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_image_smoothing_enabled(this: &OffscreenCanvasRenderingContext2d, value: bool);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = lineWidth)]
+    #[doc = "Getter for the `lineWidth` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/lineWidth)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn line_width(this: &OffscreenCanvasRenderingContext2d) -> f64;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = lineWidth)]
+    #[doc = "Setter for the `lineWidth` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/lineWidth)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_line_width(this: &OffscreenCanvasRenderingContext2d, value: f64);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = lineCap)]
+    #[doc = "Getter for the `lineCap` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/lineCap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn line_cap(this: &OffscreenCanvasRenderingContext2d) -> String;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = lineCap)]
+    #[doc = "Setter for the `lineCap` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/lineCap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_line_cap(this: &OffscreenCanvasRenderingContext2d, value: &str);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = lineJoin)]
+    #[doc = "Getter for the `lineJoin` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/lineJoin)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn line_join(this: &OffscreenCanvasRenderingContext2d) -> String;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = lineJoin)]
+    #[doc = "Setter for the `lineJoin` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/lineJoin)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_line_join(this: &OffscreenCanvasRenderingContext2d, value: &str);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = miterLimit)]
+    #[doc = "Getter for the `miterLimit` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/miterLimit)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn miter_limit(this: &OffscreenCanvasRenderingContext2d) -> f64;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = miterLimit)]
+    #[doc = "Setter for the `miterLimit` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/miterLimit)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_miter_limit(this: &OffscreenCanvasRenderingContext2d, value: f64);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = lineDashOffset)]
+    #[doc = "Getter for the `lineDashOffset` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/lineDashOffset)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn line_dash_offset(this: &OffscreenCanvasRenderingContext2d) -> f64;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = lineDashOffset)]
+    #[doc = "Setter for the `lineDashOffset` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/lineDashOffset)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_line_dash_offset(this: &OffscreenCanvasRenderingContext2d, value: f64);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = shadowOffsetX)]
+    #[doc = "Getter for the `shadowOffsetX` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/shadowOffsetX)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn shadow_offset_x(this: &OffscreenCanvasRenderingContext2d) -> f64;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = shadowOffsetX)]
+    #[doc = "Setter for the `shadowOffsetX` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/shadowOffsetX)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_shadow_offset_x(this: &OffscreenCanvasRenderingContext2d, value: f64);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = shadowOffsetY)]
+    #[doc = "Getter for the `shadowOffsetY` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/shadowOffsetY)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn shadow_offset_y(this: &OffscreenCanvasRenderingContext2d) -> f64;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = shadowOffsetY)]
+    #[doc = "Setter for the `shadowOffsetY` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/shadowOffsetY)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_shadow_offset_y(this: &OffscreenCanvasRenderingContext2d, value: f64);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = shadowBlur)]
+    #[doc = "Getter for the `shadowBlur` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/shadowBlur)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn shadow_blur(this: &OffscreenCanvasRenderingContext2d) -> f64;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = shadowBlur)]
+    #[doc = "Setter for the `shadowBlur` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/shadowBlur)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_shadow_blur(this: &OffscreenCanvasRenderingContext2d, value: f64);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = shadowColor)]
+    #[doc = "Getter for the `shadowColor` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/shadowColor)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn shadow_color(this: &OffscreenCanvasRenderingContext2d) -> String;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = shadowColor)]
+    #[doc = "Setter for the `shadowColor` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/shadowColor)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_shadow_color(this: &OffscreenCanvasRenderingContext2d, value: &str);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = font)]
+    #[doc = "Getter for the `font` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/font)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn font(this: &OffscreenCanvasRenderingContext2d) -> String;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = font)]
+    #[doc = "Setter for the `font` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/font)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_font(this: &OffscreenCanvasRenderingContext2d, value: &str);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = textAlign)]
+    #[doc = "Getter for the `textAlign` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/textAlign)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn text_align(this: &OffscreenCanvasRenderingContext2d) -> String;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = textAlign)]
+    #[doc = "Setter for the `textAlign` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/textAlign)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_text_align(this: &OffscreenCanvasRenderingContext2d, value: &str);
+    # [wasm_bindgen (structural , method , getter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = textBaseline)]
+    #[doc = "Getter for the `textBaseline` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/textBaseline)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn text_baseline(this: &OffscreenCanvasRenderingContext2d) -> String;
+    # [wasm_bindgen (structural , method , setter , js_class = "OffscreenCanvasRenderingContext2D" , js_name = textBaseline)]
+    #[doc = "Setter for the `textBaseline` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/textBaseline)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_text_baseline(this: &OffscreenCanvasRenderingContext2d, value: &str);
+    #[cfg(feature = "HtmlImageElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlImageElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_html_image_element(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlImageElement,
+        dx: f64,
+        dy: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "SvgImageElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `SvgImageElement`*"]
+    pub fn draw_image_with_svg_image_element(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &SvgImageElement,
+        dx: f64,
+        dy: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "HtmlCanvasElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_html_canvas_element(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlCanvasElement,
+        dx: f64,
+        dy: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "HtmlVideoElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_html_video_element(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlVideoElement,
+        dx: f64,
+        dy: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "ImageBitmap")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_image_bitmap(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &ImageBitmap,
+        dx: f64,
+        dy: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_offscreen_canvas(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &OffscreenCanvas,
+        dx: f64,
+        dy: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrame")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `VideoFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn draw_image_with_video_frame(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &VideoFrame,
+        dx: f64,
+        dy: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "HtmlImageElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlImageElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_html_image_element_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlImageElement,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "SvgImageElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `SvgImageElement`*"]
+    pub fn draw_image_with_svg_image_element_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &SvgImageElement,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "HtmlCanvasElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_html_canvas_element_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlCanvasElement,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "HtmlVideoElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_html_video_element_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlVideoElement,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "ImageBitmap")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_image_bitmap_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &ImageBitmap,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_offscreen_canvas_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &OffscreenCanvas,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrame")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `VideoFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn draw_image_with_video_frame_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &VideoFrame,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "HtmlImageElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlImageElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_html_image_element_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlImageElement,
+        sx: f64,
+        sy: f64,
+        sw: f64,
+        sh: f64,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "SvgImageElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `SvgImageElement`*"]
+    pub fn draw_image_with_svg_image_element_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &SvgImageElement,
+        sx: f64,
+        sy: f64,
+        sw: f64,
+        sh: f64,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "HtmlCanvasElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_html_canvas_element_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlCanvasElement,
+        sx: f64,
+        sy: f64,
+        sw: f64,
+        sh: f64,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "HtmlVideoElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_html_video_element_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlVideoElement,
+        sx: f64,
+        sy: f64,
+        sw: f64,
+        sh: f64,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "ImageBitmap")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_image_bitmap_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &ImageBitmap,
+        sx: f64,
+        sy: f64,
+        sw: f64,
+        sh: f64,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn draw_image_with_offscreen_canvas_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &OffscreenCanvas,
+        sx: f64,
+        sy: f64,
+        sw: f64,
+        sh: f64,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrame")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = drawImage)]
+    #[doc = "The `drawImage()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/drawImage)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `VideoFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn draw_image_with_video_frame_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &VideoFrame,
+        sx: f64,
+        sy: f64,
+        sw: f64,
+        sh: f64,
+        dx: f64,
+        dy: f64,
+        dw: f64,
+        dh: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = beginPath)]
+    #[doc = "The `beginPath()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/beginPath)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn begin_path(this: &OffscreenCanvasRenderingContext2d);
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = clip)]
+    #[doc = "The `clip()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/clip)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn clip(this: &OffscreenCanvasRenderingContext2d);
+    #[cfg(feature = "CanvasWindingRule")]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = clip)]
+    #[doc = "The `clip()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/clip)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasWindingRule`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn clip_with_canvas_winding_rule(
+        this: &OffscreenCanvasRenderingContext2d,
+        winding: CanvasWindingRule,
+    );
+    #[cfg(feature = "Path2d")]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = clip)]
+    #[doc = "The `clip()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/clip)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `Path2d`*"]
+    pub fn clip_with_path_2d(this: &OffscreenCanvasRenderingContext2d, path: &Path2d);
+    #[cfg(all(feature = "CanvasWindingRule", feature = "Path2d",))]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = clip)]
+    #[doc = "The `clip()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/clip)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasWindingRule`, `OffscreenCanvasRenderingContext2d`, `Path2d`*"]
+    pub fn clip_with_path_2d_and_winding(
+        this: &OffscreenCanvasRenderingContext2d,
+        path: &Path2d,
+        winding: CanvasWindingRule,
+    );
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = fill)]
+    #[doc = "The `fill()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/fill)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn fill(this: &OffscreenCanvasRenderingContext2d);
+    #[cfg(feature = "CanvasWindingRule")]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = fill)]
+    #[doc = "The `fill()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/fill)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasWindingRule`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn fill_with_canvas_winding_rule(
+        this: &OffscreenCanvasRenderingContext2d,
+        winding: CanvasWindingRule,
+    );
+    #[cfg(feature = "Path2d")]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = fill)]
+    #[doc = "The `fill()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/fill)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `Path2d`*"]
+    pub fn fill_with_path_2d(this: &OffscreenCanvasRenderingContext2d, path: &Path2d);
+    #[cfg(all(feature = "CanvasWindingRule", feature = "Path2d",))]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = fill)]
+    #[doc = "The `fill()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/fill)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasWindingRule`, `OffscreenCanvasRenderingContext2d`, `Path2d`*"]
+    pub fn fill_with_path_2d_and_winding(
+        this: &OffscreenCanvasRenderingContext2d,
+        path: &Path2d,
+        winding: CanvasWindingRule,
+    );
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = isPointInPath)]
+    #[doc = "The `isPointInPath()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/isPointInPath)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn is_point_in_path_with_f64(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+    ) -> bool;
+    #[cfg(feature = "CanvasWindingRule")]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = isPointInPath)]
+    #[doc = "The `isPointInPath()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/isPointInPath)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasWindingRule`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn is_point_in_path_with_f64_and_canvas_winding_rule(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        winding: CanvasWindingRule,
+    ) -> bool;
+    #[cfg(feature = "Path2d")]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = isPointInPath)]
+    #[doc = "The `isPointInPath()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/isPointInPath)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `Path2d`*"]
+    pub fn is_point_in_path_with_path_2d_and_f64(
+        this: &OffscreenCanvasRenderingContext2d,
+        path: &Path2d,
+        x: f64,
+        y: f64,
+    ) -> bool;
+    #[cfg(all(feature = "CanvasWindingRule", feature = "Path2d",))]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = isPointInPath)]
+    #[doc = "The `isPointInPath()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/isPointInPath)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasWindingRule`, `OffscreenCanvasRenderingContext2d`, `Path2d`*"]
+    pub fn is_point_in_path_with_path_2d_and_f64_and_winding(
+        this: &OffscreenCanvasRenderingContext2d,
+        path: &Path2d,
+        x: f64,
+        y: f64,
+        winding: CanvasWindingRule,
+    ) -> bool;
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = isPointInStroke)]
+    #[doc = "The `isPointInStroke()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/isPointInStroke)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn is_point_in_stroke_with_x_and_y(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+    ) -> bool;
+    #[cfg(feature = "Path2d")]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = isPointInStroke)]
+    #[doc = "The `isPointInStroke()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/isPointInStroke)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `Path2d`*"]
+    pub fn is_point_in_stroke_with_path_and_x_and_y(
+        this: &OffscreenCanvasRenderingContext2d,
+        path: &Path2d,
+        x: f64,
+        y: f64,
+    ) -> bool;
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = stroke)]
+    #[doc = "The `stroke()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/stroke)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn stroke(this: &OffscreenCanvasRenderingContext2d);
+    #[cfg(feature = "Path2d")]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = stroke)]
+    #[doc = "The `stroke()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/stroke)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `Path2d`*"]
+    pub fn stroke_with_path(this: &OffscreenCanvasRenderingContext2d, path: &Path2d);
+    #[cfg(feature = "CanvasGradient")]
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createLinearGradient)]
+    #[doc = "The `createLinearGradient()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createLinearGradient)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasGradient`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn create_linear_gradient(
+        this: &OffscreenCanvasRenderingContext2d,
+        x0: f64,
+        y0: f64,
+        x1: f64,
+        y1: f64,
+    ) -> CanvasGradient;
+    #[cfg(all(feature = "CanvasPattern", feature = "HtmlImageElement",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createPattern)]
+    #[doc = "The `createPattern()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createPattern)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasPattern`, `HtmlImageElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn create_pattern_with_html_image_element(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlImageElement,
+        repetition: &str,
+    ) -> Result<Option<CanvasPattern>, JsValue>;
+    #[cfg(all(feature = "CanvasPattern", feature = "SvgImageElement",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createPattern)]
+    #[doc = "The `createPattern()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createPattern)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasPattern`, `OffscreenCanvasRenderingContext2d`, `SvgImageElement`*"]
+    pub fn create_pattern_with_svg_image_element(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &SvgImageElement,
+        repetition: &str,
+    ) -> Result<Option<CanvasPattern>, JsValue>;
+    #[cfg(all(feature = "CanvasPattern", feature = "HtmlCanvasElement",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createPattern)]
+    #[doc = "The `createPattern()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createPattern)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasPattern`, `HtmlCanvasElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn create_pattern_with_html_canvas_element(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlCanvasElement,
+        repetition: &str,
+    ) -> Result<Option<CanvasPattern>, JsValue>;
+    #[cfg(all(feature = "CanvasPattern", feature = "HtmlVideoElement",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createPattern)]
+    #[doc = "The `createPattern()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createPattern)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasPattern`, `HtmlVideoElement`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn create_pattern_with_html_video_element(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &HtmlVideoElement,
+        repetition: &str,
+    ) -> Result<Option<CanvasPattern>, JsValue>;
+    #[cfg(all(feature = "CanvasPattern", feature = "ImageBitmap",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createPattern)]
+    #[doc = "The `createPattern()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createPattern)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasPattern`, `ImageBitmap`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn create_pattern_with_image_bitmap(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &ImageBitmap,
+        repetition: &str,
+    ) -> Result<Option<CanvasPattern>, JsValue>;
+    #[cfg(all(feature = "CanvasPattern", feature = "OffscreenCanvas",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createPattern)]
+    #[doc = "The `createPattern()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createPattern)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasPattern`, `OffscreenCanvas`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn create_pattern_with_offscreen_canvas(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &OffscreenCanvas,
+        repetition: &str,
+    ) -> Result<Option<CanvasPattern>, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "CanvasPattern", feature = "VideoFrame",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createPattern)]
+    #[doc = "The `createPattern()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createPattern)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasPattern`, `OffscreenCanvasRenderingContext2d`, `VideoFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_pattern_with_video_frame(
+        this: &OffscreenCanvasRenderingContext2d,
+        image: &VideoFrame,
+        repetition: &str,
+    ) -> Result<Option<CanvasPattern>, JsValue>;
+    #[cfg(feature = "CanvasGradient")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createRadialGradient)]
+    #[doc = "The `createRadialGradient()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createRadialGradient)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `CanvasGradient`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn create_radial_gradient(
+        this: &OffscreenCanvasRenderingContext2d,
+        x0: f64,
+        y0: f64,
+        r0: f64,
+        x1: f64,
+        y1: f64,
+        r1: f64,
+    ) -> Result<CanvasGradient, JsValue>;
+    #[cfg(feature = "ImageData")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createImageData)]
+    #[doc = "The `createImageData()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createImageData)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageData`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn create_image_data_with_sw_and_sh(
+        this: &OffscreenCanvasRenderingContext2d,
+        sw: f64,
+        sh: f64,
+    ) -> Result<ImageData, JsValue>;
+    #[cfg(feature = "ImageData")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = createImageData)]
+    #[doc = "The `createImageData()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/createImageData)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageData`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn create_image_data_with_imagedata(
+        this: &OffscreenCanvasRenderingContext2d,
+        imagedata: &ImageData,
+    ) -> Result<ImageData, JsValue>;
+    #[cfg(feature = "ImageData")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = getImageData)]
+    #[doc = "The `getImageData()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/getImageData)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageData`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn get_image_data(
+        this: &OffscreenCanvasRenderingContext2d,
+        sx: f64,
+        sy: f64,
+        sw: f64,
+        sh: f64,
+    ) -> Result<ImageData, JsValue>;
+    #[cfg(feature = "ImageData")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = putImageData)]
+    #[doc = "The `putImageData()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/putImageData)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageData`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn put_image_data(
+        this: &OffscreenCanvasRenderingContext2d,
+        imagedata: &ImageData,
+        dx: f64,
+        dy: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "ImageData")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = putImageData)]
+    #[doc = "The `putImageData()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/putImageData)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageData`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn put_image_data_with_dirty_x_and_dirty_y_and_dirty_width_and_dirty_height(
+        this: &OffscreenCanvasRenderingContext2d,
+        imagedata: &ImageData,
+        dx: f64,
+        dy: f64,
+        dirty_x: f64,
+        dirty_y: f64,
+        dirty_width: f64,
+        dirty_height: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = arc)]
+    #[doc = "The `arc()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/arc)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn arc(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        radius: f64,
+        start_angle: f64,
+        end_angle: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = arc)]
+    #[doc = "The `arc()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/arc)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn arc_with_anticlockwise(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        radius: f64,
+        start_angle: f64,
+        end_angle: f64,
+        anticlockwise: bool,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = arcTo)]
+    #[doc = "The `arcTo()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/arcTo)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn arc_to(
+        this: &OffscreenCanvasRenderingContext2d,
+        x1: f64,
+        y1: f64,
+        x2: f64,
+        y2: f64,
+        radius: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = bezierCurveTo)]
+    #[doc = "The `bezierCurveTo()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/bezierCurveTo)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn bezier_curve_to(
+        this: &OffscreenCanvasRenderingContext2d,
+        cp1x: f64,
+        cp1y: f64,
+        cp2x: f64,
+        cp2y: f64,
+        x: f64,
+        y: f64,
+    );
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = closePath)]
+    #[doc = "The `closePath()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/closePath)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn close_path(this: &OffscreenCanvasRenderingContext2d);
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = ellipse)]
+    #[doc = "The `ellipse()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/ellipse)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn ellipse(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        radius_x: f64,
+        radius_y: f64,
+        rotation: f64,
+        start_angle: f64,
+        end_angle: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = ellipse)]
+    #[doc = "The `ellipse()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/ellipse)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn ellipse_with_anticlockwise(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        radius_x: f64,
+        radius_y: f64,
+        rotation: f64,
+        start_angle: f64,
+        end_angle: f64,
+        anticlockwise: bool,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = lineTo)]
+    #[doc = "The `lineTo()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/lineTo)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn line_to(this: &OffscreenCanvasRenderingContext2d, x: f64, y: f64);
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = moveTo)]
+    #[doc = "The `moveTo()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/moveTo)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn move_to(this: &OffscreenCanvasRenderingContext2d, x: f64, y: f64);
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = quadraticCurveTo)]
+    #[doc = "The `quadraticCurveTo()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/quadraticCurveTo)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn quadratic_curve_to(
+        this: &OffscreenCanvasRenderingContext2d,
+        cpx: f64,
+        cpy: f64,
+        x: f64,
+        y: f64,
+    );
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = rect)]
+    #[doc = "The `rect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/rect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn rect(this: &OffscreenCanvasRenderingContext2d, x: f64, y: f64, w: f64, h: f64);
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn round_rect(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn round_rect_with_f64(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "DomPointInit")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DomPointInit`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn round_rect_with_dom_point_init(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: &DomPointInit,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn round_rect_with_f64_sequence(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: &::wasm_bindgen::JsValue,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn round_rect_with_dom_point_init_sequence(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: &::wasm_bindgen::JsValue,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = getLineDash)]
+    #[doc = "The `getLineDash()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/getLineDash)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn get_line_dash(this: &OffscreenCanvasRenderingContext2d) -> ::js_sys::Array;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = setLineDash)]
+    #[doc = "The `setLineDash()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/setLineDash)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_line_dash(
+        this: &OffscreenCanvasRenderingContext2d,
+        segments: &::wasm_bindgen::JsValue,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = clearRect)]
+    #[doc = "The `clearRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/clearRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn clear_rect(this: &OffscreenCanvasRenderingContext2d, x: f64, y: f64, w: f64, h: f64);
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = fillRect)]
+    #[doc = "The `fillRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/fillRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn fill_rect(this: &OffscreenCanvasRenderingContext2d, x: f64, y: f64, w: f64, h: f64);
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = strokeRect)]
+    #[doc = "The `strokeRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/strokeRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn stroke_rect(this: &OffscreenCanvasRenderingContext2d, x: f64, y: f64, w: f64, h: f64);
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = restore)]
+    #[doc = "The `restore()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/restore)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn restore(this: &OffscreenCanvasRenderingContext2d);
+    # [wasm_bindgen (method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = save)]
+    #[doc = "The `save()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/save)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn save(this: &OffscreenCanvasRenderingContext2d);
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = fillText)]
+    #[doc = "The `fillText()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/fillText)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn fill_text(
+        this: &OffscreenCanvasRenderingContext2d,
+        text: &str,
+        x: f64,
+        y: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = fillText)]
+    #[doc = "The `fillText()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/fillText)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn fill_text_with_max_width(
+        this: &OffscreenCanvasRenderingContext2d,
+        text: &str,
+        x: f64,
+        y: f64,
+        max_width: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "TextMetrics")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = measureText)]
+    #[doc = "The `measureText()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/measureText)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`, `TextMetrics`*"]
+    pub fn measure_text(
+        this: &OffscreenCanvasRenderingContext2d,
+        text: &str,
+    ) -> Result<TextMetrics, JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = strokeText)]
+    #[doc = "The `strokeText()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/strokeText)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn stroke_text(
+        this: &OffscreenCanvasRenderingContext2d,
+        text: &str,
+        x: f64,
+        y: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = strokeText)]
+    #[doc = "The `strokeText()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/strokeText)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn stroke_text_with_max_width(
+        this: &OffscreenCanvasRenderingContext2d,
+        text: &str,
+        x: f64,
+        y: f64,
+        max_width: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "DomMatrix")]
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = getTransform)]
+    #[doc = "The `getTransform()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/getTransform)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DomMatrix`, `OffscreenCanvasRenderingContext2d`*"]
+    pub fn get_transform(this: &OffscreenCanvasRenderingContext2d) -> Result<DomMatrix, JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = resetTransform)]
+    #[doc = "The `resetTransform()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/resetTransform)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn reset_transform(this: &OffscreenCanvasRenderingContext2d) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = rotate)]
+    #[doc = "The `rotate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/rotate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn rotate(this: &OffscreenCanvasRenderingContext2d, angle: f64) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = scale)]
+    #[doc = "The `scale()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/scale)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn scale(this: &OffscreenCanvasRenderingContext2d, x: f64, y: f64) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = setTransform)]
+    #[doc = "The `setTransform()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/setTransform)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn set_transform(
+        this: &OffscreenCanvasRenderingContext2d,
+        a: f64,
+        b: f64,
+        c: f64,
+        d: f64,
+        e: f64,
+        f: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = transform)]
+    #[doc = "The `transform()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/transform)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn transform(
+        this: &OffscreenCanvasRenderingContext2d,
+        a: f64,
+        b: f64,
+        c: f64,
+        d: f64,
+        e: f64,
+        f: f64,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "OffscreenCanvasRenderingContext2D" , js_name = translate)]
+    #[doc = "The `translate()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvasRenderingContext2D/translate)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvasRenderingContext2d`*"]
+    pub fn translate(
+        this: &OffscreenCanvasRenderingContext2d,
+        x: f64,
+        y: f64,
+    ) -> Result<(), JsValue>;
+}
diff --git a/src/features/gen_OpenWindowEventDetail.rs b/src/features/gen_OpenWindowEventDetail.rs
index 278e2f8..2c13e8b 100644
--- a/src/features/gen_OpenWindowEventDetail.rs
+++ b/src/features/gen_OpenWindowEventDetail.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OptionalEffectTiming.rs b/src/features/gen_OptionalEffectTiming.rs
index 5838e32..6f75143 100644
--- a/src/features/gen_OptionalEffectTiming.rs
+++ b/src/features/gen_OptionalEffectTiming.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OrientationLockType.rs b/src/features/gen_OrientationLockType.rs
index fd5c86e..a87f9e7 100644
--- a/src/features/gen_OrientationLockType.rs
+++ b/src/features/gen_OrientationLockType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `OrientationLockType` enum."]
diff --git a/src/features/gen_OrientationType.rs b/src/features/gen_OrientationType.rs
index 15ecbc5..21b9613 100644
--- a/src/features/gen_OrientationType.rs
+++ b/src/features/gen_OrientationType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `OrientationType` enum."]
diff --git a/src/features/gen_OscillatorNode.rs b/src/features/gen_OscillatorNode.rs
index b72525e..2e87a03 100644
--- a/src/features/gen_OscillatorNode.rs
+++ b/src/features/gen_OscillatorNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OscillatorOptions.rs b/src/features/gen_OscillatorOptions.rs
index becbba0..b03f091 100644
--- a/src/features/gen_OscillatorOptions.rs
+++ b/src/features/gen_OscillatorOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_OscillatorType.rs b/src/features/gen_OscillatorType.rs
index 49272cf..af4f431 100644
--- a/src/features/gen_OscillatorType.rs
+++ b/src/features/gen_OscillatorType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `OscillatorType` enum."]
diff --git a/src/features/gen_OverSampleType.rs b/src/features/gen_OverSampleType.rs
index bbedb3d..3f36eea 100644
--- a/src/features/gen_OverSampleType.rs
+++ b/src/features/gen_OverSampleType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `OverSampleType` enum."]
diff --git a/src/features/gen_OvrMultiview2.rs b/src/features/gen_OvrMultiview2.rs
index 5015902..d5ecd0f 100644
--- a/src/features/gen_OvrMultiview2.rs
+++ b/src/features/gen_OvrMultiview2.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PageTransitionEvent.rs b/src/features/gen_PageTransitionEvent.rs
index 2fed4a4..3939c32 100644
--- a/src/features/gen_PageTransitionEvent.rs
+++ b/src/features/gen_PageTransitionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PageTransitionEventInit.rs b/src/features/gen_PageTransitionEventInit.rs
index 460c6fd..bcee3d8 100644
--- a/src/features/gen_PageTransitionEventInit.rs
+++ b/src/features/gen_PageTransitionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PaintRequest.rs b/src/features/gen_PaintRequest.rs
index 393bfe1..e4fa793 100644
--- a/src/features/gen_PaintRequest.rs
+++ b/src/features/gen_PaintRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PaintRequestList.rs b/src/features/gen_PaintRequestList.rs
index 25bf3d5..c62d027 100644
--- a/src/features/gen_PaintRequestList.rs
+++ b/src/features/gen_PaintRequestList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PaintWorkletGlobalScope.rs b/src/features/gen_PaintWorkletGlobalScope.rs
index d022a7e..dccd6d2 100644
--- a/src/features/gen_PaintWorkletGlobalScope.rs
+++ b/src/features/gen_PaintWorkletGlobalScope.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PannerNode.rs b/src/features/gen_PannerNode.rs
index 47787d2..58d1fd2 100644
--- a/src/features/gen_PannerNode.rs
+++ b/src/features/gen_PannerNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PannerOptions.rs b/src/features/gen_PannerOptions.rs
index 343ad89..42aceaa 100644
--- a/src/features/gen_PannerOptions.rs
+++ b/src/features/gen_PannerOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PanningModelType.rs b/src/features/gen_PanningModelType.rs
index bdee90b..e6a7ca2 100644
--- a/src/features/gen_PanningModelType.rs
+++ b/src/features/gen_PanningModelType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PanningModelType` enum."]
diff --git a/src/features/gen_ParityType.rs b/src/features/gen_ParityType.rs
new file mode 100644
index 0000000..f1a4a28
--- /dev/null
+++ b/src/features/gen_ParityType.rs
@@ -0,0 +1,17 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+#[doc = "The `ParityType` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `ParityType`*"]
+#[doc = ""]
+#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum ParityType {
+    None = "none",
+    Even = "even",
+    Odd = "odd",
+}
diff --git a/src/features/gen_Path2d.rs b/src/features/gen_Path2d.rs
index 7cdb3e8..7cd55c1 100644
--- a/src/features/gen_Path2d.rs
+++ b/src/features/gen_Path2d.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -173,4 +174,68 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `Path2d`*"]
     pub fn rect(this: &Path2d, x: f64, y: f64, w: f64, h: f64);
+    # [wasm_bindgen (catch , method , structural , js_class = "Path2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Path2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Path2d`*"]
+    pub fn round_rect(this: &Path2d, x: f64, y: f64, w: f64, h: f64) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "Path2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Path2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Path2d`*"]
+    pub fn round_rect_with_f64(
+        this: &Path2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: f64,
+    ) -> Result<(), JsValue>;
+    #[cfg(feature = "DomPointInit")]
+    # [wasm_bindgen (catch , method , structural , js_class = "Path2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Path2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `DomPointInit`, `Path2d`*"]
+    pub fn round_rect_with_dom_point_init(
+        this: &Path2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: &DomPointInit,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "Path2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Path2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Path2d`*"]
+    pub fn round_rect_with_f64_sequence(
+        this: &Path2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: &::wasm_bindgen::JsValue,
+    ) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "Path2D" , js_name = roundRect)]
+    #[doc = "The `roundRect()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Path2D/roundRect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Path2d`*"]
+    pub fn round_rect_with_dom_point_init_sequence(
+        this: &Path2d,
+        x: f64,
+        y: f64,
+        w: f64,
+        h: f64,
+        radii: &::wasm_bindgen::JsValue,
+    ) -> Result<(), JsValue>;
 }
diff --git a/src/features/gen_PaymentAddress.rs b/src/features/gen_PaymentAddress.rs
index 7402ca5..367f807 100644
--- a/src/features/gen_PaymentAddress.rs
+++ b/src/features/gen_PaymentAddress.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PaymentComplete.rs b/src/features/gen_PaymentComplete.rs
index 77812ac..e090f09 100644
--- a/src/features/gen_PaymentComplete.rs
+++ b/src/features/gen_PaymentComplete.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PaymentComplete` enum."]
diff --git a/src/features/gen_PaymentMethodChangeEvent.rs b/src/features/gen_PaymentMethodChangeEvent.rs
index 68d5868..cfd9aa6 100644
--- a/src/features/gen_PaymentMethodChangeEvent.rs
+++ b/src/features/gen_PaymentMethodChangeEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PaymentMethodChangeEventInit.rs b/src/features/gen_PaymentMethodChangeEventInit.rs
index 0aa0747..0e442cb 100644
--- a/src/features/gen_PaymentMethodChangeEventInit.rs
+++ b/src/features/gen_PaymentMethodChangeEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PaymentRequestUpdateEvent.rs b/src/features/gen_PaymentRequestUpdateEvent.rs
index fa60547..9f3e128 100644
--- a/src/features/gen_PaymentRequestUpdateEvent.rs
+++ b/src/features/gen_PaymentRequestUpdateEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PaymentRequestUpdateEventInit.rs b/src/features/gen_PaymentRequestUpdateEventInit.rs
index c3877bf..5bf0fb7 100644
--- a/src/features/gen_PaymentRequestUpdateEventInit.rs
+++ b/src/features/gen_PaymentRequestUpdateEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PaymentResponse.rs b/src/features/gen_PaymentResponse.rs
index b9007db..7b42557 100644
--- a/src/features/gen_PaymentResponse.rs
+++ b/src/features/gen_PaymentResponse.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Pbkdf2Params.rs b/src/features/gen_Pbkdf2Params.rs
index 4bf39c6..13aafec 100644
--- a/src/features/gen_Pbkdf2Params.rs
+++ b/src/features/gen_Pbkdf2Params.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PcImplIceConnectionState.rs b/src/features/gen_PcImplIceConnectionState.rs
index f79b4ea..a9b2b35 100644
--- a/src/features/gen_PcImplIceConnectionState.rs
+++ b/src/features/gen_PcImplIceConnectionState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PcImplIceConnectionState` enum."]
diff --git a/src/features/gen_PcImplIceGatheringState.rs b/src/features/gen_PcImplIceGatheringState.rs
index dd9fe87..d52a7ea 100644
--- a/src/features/gen_PcImplIceGatheringState.rs
+++ b/src/features/gen_PcImplIceGatheringState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PcImplIceGatheringState` enum."]
diff --git a/src/features/gen_PcImplSignalingState.rs b/src/features/gen_PcImplSignalingState.rs
index bc940be..06cb051 100644
--- a/src/features/gen_PcImplSignalingState.rs
+++ b/src/features/gen_PcImplSignalingState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PcImplSignalingState` enum."]
diff --git a/src/features/gen_PcObserverStateType.rs b/src/features/gen_PcObserverStateType.rs
index 11a74b3..75f4b1b 100644
--- a/src/features/gen_PcObserverStateType.rs
+++ b/src/features/gen_PcObserverStateType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PcObserverStateType` enum."]
diff --git a/src/features/gen_Performance.rs b/src/features/gen_Performance.rs
index 0e42129..1ef04f7 100644
--- a/src/features/gen_Performance.rs
+++ b/src/features/gen_Performance.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -152,6 +153,17 @@ extern "C" {
         start_mark: &str,
         end_mark: &str,
     ) -> Result<(), JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "Performance" , js_name = measureUserAgentSpecificMemory)]
+    #[doc = "The `measureUserAgentSpecificMemory()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Performance/measureUserAgentSpecificMemory)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Performance`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn measure_user_agent_specific_memory(this: &Performance) -> ::js_sys::Promise;
     # [wasm_bindgen (method , structural , js_class = "Performance" , js_name = now)]
     #[doc = "The `now()` method."]
     #[doc = ""]
diff --git a/src/features/gen_PerformanceEntry.rs b/src/features/gen_PerformanceEntry.rs
index 41e22c0..5427e6b 100644
--- a/src/features/gen_PerformanceEntry.rs
+++ b/src/features/gen_PerformanceEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceEntryEventInit.rs b/src/features/gen_PerformanceEntryEventInit.rs
index 8849719..ee66983 100644
--- a/src/features/gen_PerformanceEntryEventInit.rs
+++ b/src/features/gen_PerformanceEntryEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceEntryFilterOptions.rs b/src/features/gen_PerformanceEntryFilterOptions.rs
index abc5c78..052aac4 100644
--- a/src/features/gen_PerformanceEntryFilterOptions.rs
+++ b/src/features/gen_PerformanceEntryFilterOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceMark.rs b/src/features/gen_PerformanceMark.rs
index b74bed7..8002941 100644
--- a/src/features/gen_PerformanceMark.rs
+++ b/src/features/gen_PerformanceMark.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceMeasure.rs b/src/features/gen_PerformanceMeasure.rs
index e7981e7..88c59b6 100644
--- a/src/features/gen_PerformanceMeasure.rs
+++ b/src/features/gen_PerformanceMeasure.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceNavigation.rs b/src/features/gen_PerformanceNavigation.rs
index 339e622..33efbfc 100644
--- a/src/features/gen_PerformanceNavigation.rs
+++ b/src/features/gen_PerformanceNavigation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceNavigationTiming.rs b/src/features/gen_PerformanceNavigationTiming.rs
index 2193b4c..322892b 100644
--- a/src/features/gen_PerformanceNavigationTiming.rs
+++ b/src/features/gen_PerformanceNavigationTiming.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceObserver.rs b/src/features/gen_PerformanceObserver.rs
index 1146a12..893cffb 100644
--- a/src/features/gen_PerformanceObserver.rs
+++ b/src/features/gen_PerformanceObserver.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceObserverEntryList.rs b/src/features/gen_PerformanceObserverEntryList.rs
index 29b5dd6..441cab3 100644
--- a/src/features/gen_PerformanceObserverEntryList.rs
+++ b/src/features/gen_PerformanceObserverEntryList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceObserverInit.rs b/src/features/gen_PerformanceObserverInit.rs
index cdfef4c..e6c559a 100644
--- a/src/features/gen_PerformanceObserverInit.rs
+++ b/src/features/gen_PerformanceObserverInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceResourceTiming.rs b/src/features/gen_PerformanceResourceTiming.rs
index 4aa5d2e..765234d 100644
--- a/src/features/gen_PerformanceResourceTiming.rs
+++ b/src/features/gen_PerformanceResourceTiming.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceServerTiming.rs b/src/features/gen_PerformanceServerTiming.rs
index 2b77307..130c6fe 100644
--- a/src/features/gen_PerformanceServerTiming.rs
+++ b/src/features/gen_PerformanceServerTiming.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PerformanceTiming.rs b/src/features/gen_PerformanceTiming.rs
index f1fc6e2..926a905 100644
--- a/src/features/gen_PerformanceTiming.rs
+++ b/src/features/gen_PerformanceTiming.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PeriodicWave.rs b/src/features/gen_PeriodicWave.rs
index a9ffc38..71f232b 100644
--- a/src/features/gen_PeriodicWave.rs
+++ b/src/features/gen_PeriodicWave.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PeriodicWaveConstraints.rs b/src/features/gen_PeriodicWaveConstraints.rs
index 363337d..5c34222 100644
--- a/src/features/gen_PeriodicWaveConstraints.rs
+++ b/src/features/gen_PeriodicWaveConstraints.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PeriodicWaveOptions.rs b/src/features/gen_PeriodicWaveOptions.rs
index e4db19b..bffe863 100644
--- a/src/features/gen_PeriodicWaveOptions.rs
+++ b/src/features/gen_PeriodicWaveOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PermissionDescriptor.rs b/src/features/gen_PermissionDescriptor.rs
index 4662732..596b50b 100644
--- a/src/features/gen_PermissionDescriptor.rs
+++ b/src/features/gen_PermissionDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PermissionName.rs b/src/features/gen_PermissionName.rs
index f919716..5788706 100644
--- a/src/features/gen_PermissionName.rs
+++ b/src/features/gen_PermissionName.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PermissionName` enum."]
diff --git a/src/features/gen_PermissionState.rs b/src/features/gen_PermissionState.rs
index 0d4de49..ad4dfe7 100644
--- a/src/features/gen_PermissionState.rs
+++ b/src/features/gen_PermissionState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PermissionState` enum."]
diff --git a/src/features/gen_PermissionStatus.rs b/src/features/gen_PermissionStatus.rs
index 7b2cacd..2a9645c 100644
--- a/src/features/gen_PermissionStatus.rs
+++ b/src/features/gen_PermissionStatus.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Permissions.rs b/src/features/gen_Permissions.rs
index 4d57a8d..4170005 100644
--- a/src/features/gen_Permissions.rs
+++ b/src/features/gen_Permissions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PlaneLayout.rs b/src/features/gen_PlaneLayout.rs
index 9b9b4bf..d472a1a 100644
--- a/src/features/gen_PlaneLayout.rs
+++ b/src/features/gen_PlaneLayout.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_PlaybackDirection.rs b/src/features/gen_PlaybackDirection.rs
index 94fe8e0..5e3caab 100644
--- a/src/features/gen_PlaybackDirection.rs
+++ b/src/features/gen_PlaybackDirection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PlaybackDirection` enum."]
diff --git a/src/features/gen_Plugin.rs b/src/features/gen_Plugin.rs
index 5ca731a..dd70afe 100644
--- a/src/features/gen_Plugin.rs
+++ b/src/features/gen_Plugin.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PluginArray.rs b/src/features/gen_PluginArray.rs
index e31d545..73b3624 100644
--- a/src/features/gen_PluginArray.rs
+++ b/src/features/gen_PluginArray.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PluginCrashedEventInit.rs b/src/features/gen_PluginCrashedEventInit.rs
index b400555..ccbf61e 100644
--- a/src/features/gen_PluginCrashedEventInit.rs
+++ b/src/features/gen_PluginCrashedEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PointerEvent.rs b/src/features/gen_PointerEvent.rs
index 7bdd3c9..ddfa8e5 100644
--- a/src/features/gen_PointerEvent.rs
+++ b/src/features/gen_PointerEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PointerEventInit.rs b/src/features/gen_PointerEventInit.rs
index 30655a4..ba1339f 100644
--- a/src/features/gen_PointerEventInit.rs
+++ b/src/features/gen_PointerEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PopStateEvent.rs b/src/features/gen_PopStateEvent.rs
index 5fac869..7cc02cb 100644
--- a/src/features/gen_PopStateEvent.rs
+++ b/src/features/gen_PopStateEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PopStateEventInit.rs b/src/features/gen_PopStateEventInit.rs
index f1a0653..6249561 100644
--- a/src/features/gen_PopStateEventInit.rs
+++ b/src/features/gen_PopStateEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PopupBlockedEvent.rs b/src/features/gen_PopupBlockedEvent.rs
index 22b0088..ee0cf95 100644
--- a/src/features/gen_PopupBlockedEvent.rs
+++ b/src/features/gen_PopupBlockedEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PopupBlockedEventInit.rs b/src/features/gen_PopupBlockedEventInit.rs
index 81494ec..ff9fc12 100644
--- a/src/features/gen_PopupBlockedEventInit.rs
+++ b/src/features/gen_PopupBlockedEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Position.rs b/src/features/gen_Position.rs
index b8e1dfa..a94777d 100644
--- a/src/features/gen_Position.rs
+++ b/src/features/gen_Position.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PositionAlignSetting.rs b/src/features/gen_PositionAlignSetting.rs
index d6db3f1..929f808 100644
--- a/src/features/gen_PositionAlignSetting.rs
+++ b/src/features/gen_PositionAlignSetting.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PositionAlignSetting` enum."]
diff --git a/src/features/gen_PositionError.rs b/src/features/gen_PositionError.rs
index b21b758..c454b74 100644
--- a/src/features/gen_PositionError.rs
+++ b/src/features/gen_PositionError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PositionOptions.rs b/src/features/gen_PositionOptions.rs
index 30c0b10..c5d8789 100644
--- a/src/features/gen_PositionOptions.rs
+++ b/src/features/gen_PositionOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PremultiplyAlpha.rs b/src/features/gen_PremultiplyAlpha.rs
new file mode 100644
index 0000000..603d77a
--- /dev/null
+++ b/src/features/gen_PremultiplyAlpha.rs
@@ -0,0 +1,13 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+#[doc = "The `PremultiplyAlpha` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `PremultiplyAlpha`*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum PremultiplyAlpha {
+    None = "none",
+    Premultiply = "premultiply",
+    Default = "default",
+}
diff --git a/src/features/gen_Presentation.rs b/src/features/gen_Presentation.rs
index 4289755..b1c2da4 100644
--- a/src/features/gen_Presentation.rs
+++ b/src/features/gen_Presentation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PresentationAvailability.rs b/src/features/gen_PresentationAvailability.rs
index 90ea7c5..bd68ff5 100644
--- a/src/features/gen_PresentationAvailability.rs
+++ b/src/features/gen_PresentationAvailability.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PresentationConnection.rs b/src/features/gen_PresentationConnection.rs
index 8c49778..23e950c 100644
--- a/src/features/gen_PresentationConnection.rs
+++ b/src/features/gen_PresentationConnection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PresentationConnectionAvailableEvent.rs b/src/features/gen_PresentationConnectionAvailableEvent.rs
index 203c6b1..b55188d 100644
--- a/src/features/gen_PresentationConnectionAvailableEvent.rs
+++ b/src/features/gen_PresentationConnectionAvailableEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PresentationConnectionAvailableEventInit.rs b/src/features/gen_PresentationConnectionAvailableEventInit.rs
index 8ea8b69..91bc99d 100644
--- a/src/features/gen_PresentationConnectionAvailableEventInit.rs
+++ b/src/features/gen_PresentationConnectionAvailableEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PresentationConnectionBinaryType.rs b/src/features/gen_PresentationConnectionBinaryType.rs
index 927c379..1170ee1 100644
--- a/src/features/gen_PresentationConnectionBinaryType.rs
+++ b/src/features/gen_PresentationConnectionBinaryType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PresentationConnectionBinaryType` enum."]
diff --git a/src/features/gen_PresentationConnectionCloseEvent.rs b/src/features/gen_PresentationConnectionCloseEvent.rs
index 405b2e5..3e1ca52 100644
--- a/src/features/gen_PresentationConnectionCloseEvent.rs
+++ b/src/features/gen_PresentationConnectionCloseEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PresentationConnectionCloseEventInit.rs b/src/features/gen_PresentationConnectionCloseEventInit.rs
index 9a7c221..2fc2a1b 100644
--- a/src/features/gen_PresentationConnectionCloseEventInit.rs
+++ b/src/features/gen_PresentationConnectionCloseEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PresentationConnectionClosedReason.rs b/src/features/gen_PresentationConnectionClosedReason.rs
index d478b09..254175d 100644
--- a/src/features/gen_PresentationConnectionClosedReason.rs
+++ b/src/features/gen_PresentationConnectionClosedReason.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PresentationConnectionClosedReason` enum."]
diff --git a/src/features/gen_PresentationConnectionList.rs b/src/features/gen_PresentationConnectionList.rs
index c1c95cb..c23875b 100644
--- a/src/features/gen_PresentationConnectionList.rs
+++ b/src/features/gen_PresentationConnectionList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PresentationConnectionState.rs b/src/features/gen_PresentationConnectionState.rs
index 68e0905..4aa0594 100644
--- a/src/features/gen_PresentationConnectionState.rs
+++ b/src/features/gen_PresentationConnectionState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PresentationConnectionState` enum."]
diff --git a/src/features/gen_PresentationReceiver.rs b/src/features/gen_PresentationReceiver.rs
index 5e1388a..821ecb9 100644
--- a/src/features/gen_PresentationReceiver.rs
+++ b/src/features/gen_PresentationReceiver.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PresentationRequest.rs b/src/features/gen_PresentationRequest.rs
index 484b4c3..1bf4c2e 100644
--- a/src/features/gen_PresentationRequest.rs
+++ b/src/features/gen_PresentationRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PresentationStyle.rs b/src/features/gen_PresentationStyle.rs
index 3f45b29..1c1b92c 100644
--- a/src/features/gen_PresentationStyle.rs
+++ b/src/features/gen_PresentationStyle.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_ProcessingInstruction.rs b/src/features/gen_ProcessingInstruction.rs
index 158f56b..370b012 100644
--- a/src/features/gen_ProcessingInstruction.rs
+++ b/src/features/gen_ProcessingInstruction.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ProfileTimelineLayerRect.rs b/src/features/gen_ProfileTimelineLayerRect.rs
index b16776e..5d30196 100644
--- a/src/features/gen_ProfileTimelineLayerRect.rs
+++ b/src/features/gen_ProfileTimelineLayerRect.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ProfileTimelineMarker.rs b/src/features/gen_ProfileTimelineMarker.rs
index f12f1a6..18d9da0 100644
--- a/src/features/gen_ProfileTimelineMarker.rs
+++ b/src/features/gen_ProfileTimelineMarker.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ProfileTimelineMessagePortOperationType.rs b/src/features/gen_ProfileTimelineMessagePortOperationType.rs
index ef447a9..95620b0 100644
--- a/src/features/gen_ProfileTimelineMessagePortOperationType.rs
+++ b/src/features/gen_ProfileTimelineMessagePortOperationType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ProfileTimelineMessagePortOperationType` enum."]
diff --git a/src/features/gen_ProfileTimelineStackFrame.rs b/src/features/gen_ProfileTimelineStackFrame.rs
index 79bd3b7..c03a914 100644
--- a/src/features/gen_ProfileTimelineStackFrame.rs
+++ b/src/features/gen_ProfileTimelineStackFrame.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ProfileTimelineWorkerOperationType.rs b/src/features/gen_ProfileTimelineWorkerOperationType.rs
index 9006dda..25a50bf 100644
--- a/src/features/gen_ProfileTimelineWorkerOperationType.rs
+++ b/src/features/gen_ProfileTimelineWorkerOperationType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ProfileTimelineWorkerOperationType` enum."]
diff --git a/src/features/gen_ProgressEvent.rs b/src/features/gen_ProgressEvent.rs
index 8ab6d36..2dd30ee 100644
--- a/src/features/gen_ProgressEvent.rs
+++ b/src/features/gen_ProgressEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ProgressEventInit.rs b/src/features/gen_ProgressEventInit.rs
index ea6a5fe..df10539 100644
--- a/src/features/gen_ProgressEventInit.rs
+++ b/src/features/gen_ProgressEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PromiseNativeHandler.rs b/src/features/gen_PromiseNativeHandler.rs
index 6fbf1ac..f764dd1 100644
--- a/src/features/gen_PromiseNativeHandler.rs
+++ b/src/features/gen_PromiseNativeHandler.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PromiseRejectionEvent.rs b/src/features/gen_PromiseRejectionEvent.rs
index 6d7361f..cd2921a 100644
--- a/src/features/gen_PromiseRejectionEvent.rs
+++ b/src/features/gen_PromiseRejectionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PromiseRejectionEventInit.rs b/src/features/gen_PromiseRejectionEventInit.rs
index 3037576..42aa52a 100644
--- a/src/features/gen_PromiseRejectionEventInit.rs
+++ b/src/features/gen_PromiseRejectionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PublicKeyCredential.rs b/src/features/gen_PublicKeyCredential.rs
index dd7f8cb..dc0ddbc 100644
--- a/src/features/gen_PublicKeyCredential.rs
+++ b/src/features/gen_PublicKeyCredential.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PublicKeyCredentialCreationOptions.rs b/src/features/gen_PublicKeyCredentialCreationOptions.rs
index e1a1ed7..d1f99e0 100644
--- a/src/features/gen_PublicKeyCredentialCreationOptions.rs
+++ b/src/features/gen_PublicKeyCredentialCreationOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PublicKeyCredentialDescriptor.rs b/src/features/gen_PublicKeyCredentialDescriptor.rs
index 907d346..85e7c24 100644
--- a/src/features/gen_PublicKeyCredentialDescriptor.rs
+++ b/src/features/gen_PublicKeyCredentialDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PublicKeyCredentialEntity.rs b/src/features/gen_PublicKeyCredentialEntity.rs
index d5ca9f9..b1caf5c 100644
--- a/src/features/gen_PublicKeyCredentialEntity.rs
+++ b/src/features/gen_PublicKeyCredentialEntity.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PublicKeyCredentialParameters.rs b/src/features/gen_PublicKeyCredentialParameters.rs
index 9eac492..bcf47f7 100644
--- a/src/features/gen_PublicKeyCredentialParameters.rs
+++ b/src/features/gen_PublicKeyCredentialParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PublicKeyCredentialRequestOptions.rs b/src/features/gen_PublicKeyCredentialRequestOptions.rs
index 7db1ffd..2c5fff9 100644
--- a/src/features/gen_PublicKeyCredentialRequestOptions.rs
+++ b/src/features/gen_PublicKeyCredentialRequestOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PublicKeyCredentialRpEntity.rs b/src/features/gen_PublicKeyCredentialRpEntity.rs
index a1152f8..15dba93 100644
--- a/src/features/gen_PublicKeyCredentialRpEntity.rs
+++ b/src/features/gen_PublicKeyCredentialRpEntity.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PublicKeyCredentialType.rs b/src/features/gen_PublicKeyCredentialType.rs
index d75328e..2ba8cff 100644
--- a/src/features/gen_PublicKeyCredentialType.rs
+++ b/src/features/gen_PublicKeyCredentialType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PublicKeyCredentialType` enum."]
diff --git a/src/features/gen_PublicKeyCredentialUserEntity.rs b/src/features/gen_PublicKeyCredentialUserEntity.rs
index d9e369c..fad8c84 100644
--- a/src/features/gen_PublicKeyCredentialUserEntity.rs
+++ b/src/features/gen_PublicKeyCredentialUserEntity.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PushEncryptionKeyName.rs b/src/features/gen_PushEncryptionKeyName.rs
index 426f7db..328a69c 100644
--- a/src/features/gen_PushEncryptionKeyName.rs
+++ b/src/features/gen_PushEncryptionKeyName.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PushEncryptionKeyName` enum."]
diff --git a/src/features/gen_PushEvent.rs b/src/features/gen_PushEvent.rs
index c22f030..3583c2e 100644
--- a/src/features/gen_PushEvent.rs
+++ b/src/features/gen_PushEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PushEventInit.rs b/src/features/gen_PushEventInit.rs
index 35c4122..8d58c82 100644
--- a/src/features/gen_PushEventInit.rs
+++ b/src/features/gen_PushEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PushManager.rs b/src/features/gen_PushManager.rs
index b272c50..cee904a 100644
--- a/src/features/gen_PushManager.rs
+++ b/src/features/gen_PushManager.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PushMessageData.rs b/src/features/gen_PushMessageData.rs
index b641f96..cd92183 100644
--- a/src/features/gen_PushMessageData.rs
+++ b/src/features/gen_PushMessageData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PushPermissionState.rs b/src/features/gen_PushPermissionState.rs
index b86708f..2053fb0 100644
--- a/src/features/gen_PushPermissionState.rs
+++ b/src/features/gen_PushPermissionState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `PushPermissionState` enum."]
diff --git a/src/features/gen_PushSubscription.rs b/src/features/gen_PushSubscription.rs
index 46d4829..38ffea5 100644
--- a/src/features/gen_PushSubscription.rs
+++ b/src/features/gen_PushSubscription.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PushSubscriptionInit.rs b/src/features/gen_PushSubscriptionInit.rs
index 9b7784a..60095c2 100644
--- a/src/features/gen_PushSubscriptionInit.rs
+++ b/src/features/gen_PushSubscriptionInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PushSubscriptionJson.rs b/src/features/gen_PushSubscriptionJson.rs
index 6859af3..834be13 100644
--- a/src/features/gen_PushSubscriptionJson.rs
+++ b/src/features/gen_PushSubscriptionJson.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PushSubscriptionKeys.rs b/src/features/gen_PushSubscriptionKeys.rs
index d42b47e..80df707 100644
--- a/src/features/gen_PushSubscriptionKeys.rs
+++ b/src/features/gen_PushSubscriptionKeys.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PushSubscriptionOptions.rs b/src/features/gen_PushSubscriptionOptions.rs
index de64371..4452a1d 100644
--- a/src/features/gen_PushSubscriptionOptions.rs
+++ b/src/features/gen_PushSubscriptionOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_PushSubscriptionOptionsInit.rs b/src/features/gen_PushSubscriptionOptionsInit.rs
index 1e9ae13..faa185a 100644
--- a/src/features/gen_PushSubscriptionOptionsInit.rs
+++ b/src/features/gen_PushSubscriptionOptionsInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_QueryOptions.rs b/src/features/gen_QueryOptions.rs
new file mode 100644
index 0000000..85967a9
--- /dev/null
+++ b/src/features/gen_QueryOptions.rs
@@ -0,0 +1,58 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = QueryOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `QueryOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `QueryOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type QueryOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl QueryOptions {
+    #[doc = "Construct a new `QueryOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `QueryOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `postscriptNames` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `QueryOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn postscript_names(&mut self, val: &::wasm_bindgen::JsValue) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("postscriptNames"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for QueryOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_QueuingStrategy.rs b/src/features/gen_QueuingStrategy.rs
index d94bdba..a92cca5 100644
--- a/src/features/gen_QueuingStrategy.rs
+++ b/src/features/gen_QueuingStrategy.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_QueuingStrategyInit.rs b/src/features/gen_QueuingStrategyInit.rs
index 8914129..253366c 100644
--- a/src/features/gen_QueuingStrategyInit.rs
+++ b/src/features/gen_QueuingStrategyInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RadioNodeList.rs b/src/features/gen_RadioNodeList.rs
index 91c2398..26ea3fc 100644
--- a/src/features/gen_RadioNodeList.rs
+++ b/src/features/gen_RadioNodeList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Range.rs b/src/features/gen_Range.rs
index 1aa1f93..2d5b99f 100644
--- a/src/features/gen_Range.rs
+++ b/src/features/gen_Range.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RcwnPerfStats.rs b/src/features/gen_RcwnPerfStats.rs
index 251053a..9a39f40 100644
--- a/src/features/gen_RcwnPerfStats.rs
+++ b/src/features/gen_RcwnPerfStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RcwnStatus.rs b/src/features/gen_RcwnStatus.rs
index 17c0101..9994b6a 100644
--- a/src/features/gen_RcwnStatus.rs
+++ b/src/features/gen_RcwnStatus.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ReadableByteStreamController.rs b/src/features/gen_ReadableByteStreamController.rs
index df45094..5ca98c2 100644
--- a/src/features/gen_ReadableByteStreamController.rs
+++ b/src/features/gen_ReadableByteStreamController.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ReadableStream.rs b/src/features/gen_ReadableStream.rs
index c66b913..05e41cd 100644
--- a/src/features/gen_ReadableStream.rs
+++ b/src/features/gen_ReadableStream.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ReadableStreamByobReader.rs b/src/features/gen_ReadableStreamByobReader.rs
index 1f05125..4a12b6e 100644
--- a/src/features/gen_ReadableStreamByobReader.rs
+++ b/src/features/gen_ReadableStreamByobReader.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ReadableStreamByobRequest.rs b/src/features/gen_ReadableStreamByobRequest.rs
index 7638c59..7040254 100644
--- a/src/features/gen_ReadableStreamByobRequest.rs
+++ b/src/features/gen_ReadableStreamByobRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ReadableStreamDefaultController.rs b/src/features/gen_ReadableStreamDefaultController.rs
index d721b20..37f3f09 100644
--- a/src/features/gen_ReadableStreamDefaultController.rs
+++ b/src/features/gen_ReadableStreamDefaultController.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ReadableStreamDefaultReader.rs b/src/features/gen_ReadableStreamDefaultReader.rs
index 6b12a74..ab38d43 100644
--- a/src/features/gen_ReadableStreamDefaultReader.rs
+++ b/src/features/gen_ReadableStreamDefaultReader.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ReadableStreamGetReaderOptions.rs b/src/features/gen_ReadableStreamGetReaderOptions.rs
index 632b826..6636768 100644
--- a/src/features/gen_ReadableStreamGetReaderOptions.rs
+++ b/src/features/gen_ReadableStreamGetReaderOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ReadableStreamIteratorOptions.rs b/src/features/gen_ReadableStreamIteratorOptions.rs
index f1c2d65..6ecfe1e 100644
--- a/src/features/gen_ReadableStreamIteratorOptions.rs
+++ b/src/features/gen_ReadableStreamIteratorOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ReadableStreamReadResult.rs b/src/features/gen_ReadableStreamReadResult.rs
index 794dc0e..7385e00 100644
--- a/src/features/gen_ReadableStreamReadResult.rs
+++ b/src/features/gen_ReadableStreamReadResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ReadableStreamReaderMode.rs b/src/features/gen_ReadableStreamReaderMode.rs
index a01a07d..ed94074 100644
--- a/src/features/gen_ReadableStreamReaderMode.rs
+++ b/src/features/gen_ReadableStreamReaderMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ReadableStreamReaderMode` enum."]
diff --git a/src/features/gen_ReadableStreamType.rs b/src/features/gen_ReadableStreamType.rs
index 5bbe446..298c3ee 100644
--- a/src/features/gen_ReadableStreamType.rs
+++ b/src/features/gen_ReadableStreamType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ReadableStreamType` enum."]
diff --git a/src/features/gen_ReadableWritablePair.rs b/src/features/gen_ReadableWritablePair.rs
index 8a34d98..fc98e0b 100644
--- a/src/features/gen_ReadableWritablePair.rs
+++ b/src/features/gen_ReadableWritablePair.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RecordingState.rs b/src/features/gen_RecordingState.rs
index b652faf..6aee4d1 100644
--- a/src/features/gen_RecordingState.rs
+++ b/src/features/gen_RecordingState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RecordingState` enum."]
diff --git a/src/features/gen_ReferrerPolicy.rs b/src/features/gen_ReferrerPolicy.rs
index 8a04af5..467695b 100644
--- a/src/features/gen_ReferrerPolicy.rs
+++ b/src/features/gen_ReferrerPolicy.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ReferrerPolicy` enum."]
diff --git a/src/features/gen_RegisterRequest.rs b/src/features/gen_RegisterRequest.rs
index c3ef767..457433d 100644
--- a/src/features/gen_RegisterRequest.rs
+++ b/src/features/gen_RegisterRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RegisterResponse.rs b/src/features/gen_RegisterResponse.rs
index 19c324a..ef6ee6d 100644
--- a/src/features/gen_RegisterResponse.rs
+++ b/src/features/gen_RegisterResponse.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RegisteredKey.rs b/src/features/gen_RegisteredKey.rs
index d18b008..9a404b6 100644
--- a/src/features/gen_RegisteredKey.rs
+++ b/src/features/gen_RegisteredKey.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RegistrationOptions.rs b/src/features/gen_RegistrationOptions.rs
index 9c186a6..ebc9aa2 100644
--- a/src/features/gen_RegistrationOptions.rs
+++ b/src/features/gen_RegistrationOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -32,6 +33,19 @@ impl RegistrationOptions {
         let _ = r;
         self
     }
+    #[doc = "Change the `type` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RegistrationOptions`*"]
+    pub fn type_(&mut self, val: &str) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("type"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
     #[cfg(feature = "ServiceWorkerUpdateViaCache")]
     #[doc = "Change the `updateViaCache` field of this object."]
     #[doc = ""]
diff --git a/src/features/gen_Request.rs b/src/features/gen_Request.rs
index d83d86a..3be945f 100644
--- a/src/features/gen_Request.rs
+++ b/src/features/gen_Request.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RequestCache.rs b/src/features/gen_RequestCache.rs
index 411fce6..e464cdf 100644
--- a/src/features/gen_RequestCache.rs
+++ b/src/features/gen_RequestCache.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RequestCache` enum."]
diff --git a/src/features/gen_RequestCredentials.rs b/src/features/gen_RequestCredentials.rs
index 5c61d97..00f7a75 100644
--- a/src/features/gen_RequestCredentials.rs
+++ b/src/features/gen_RequestCredentials.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RequestCredentials` enum."]
diff --git a/src/features/gen_RequestDestination.rs b/src/features/gen_RequestDestination.rs
index e21089d..143fadf 100644
--- a/src/features/gen_RequestDestination.rs
+++ b/src/features/gen_RequestDestination.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RequestDestination` enum."]
diff --git a/src/features/gen_RequestDeviceOptions.rs b/src/features/gen_RequestDeviceOptions.rs
index 02f2302..431ecfd 100644
--- a/src/features/gen_RequestDeviceOptions.rs
+++ b/src/features/gen_RequestDeviceOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_RequestInit.rs b/src/features/gen_RequestInit.rs
index 12ad7bf..8204044 100644
--- a/src/features/gen_RequestInit.rs
+++ b/src/features/gen_RequestInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RequestMediaKeySystemAccessNotification.rs b/src/features/gen_RequestMediaKeySystemAccessNotification.rs
index 2af8ca8..3ddb95e 100644
--- a/src/features/gen_RequestMediaKeySystemAccessNotification.rs
+++ b/src/features/gen_RequestMediaKeySystemAccessNotification.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RequestMode.rs b/src/features/gen_RequestMode.rs
index cd12939..82842b5 100644
--- a/src/features/gen_RequestMode.rs
+++ b/src/features/gen_RequestMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RequestMode` enum."]
diff --git a/src/features/gen_RequestRedirect.rs b/src/features/gen_RequestRedirect.rs
index ae6cc92..528d777 100644
--- a/src/features/gen_RequestRedirect.rs
+++ b/src/features/gen_RequestRedirect.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RequestRedirect` enum."]
diff --git a/src/features/gen_ResizeObserver.rs b/src/features/gen_ResizeObserver.rs
index 8b3ef38..5243b43 100644
--- a/src/features/gen_ResizeObserver.rs
+++ b/src/features/gen_ResizeObserver.rs
@@ -1,7 +1,7 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
-#[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
 extern "C" {
     # [wasm_bindgen (extends = :: js_sys :: Object , js_name = ResizeObserver , typescript_type = "ResizeObserver")]
@@ -11,33 +11,21 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserver`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub type ResizeObserver;
-    #[cfg(web_sys_unstable_apis)]
     #[wasm_bindgen(catch, constructor, js_class = "ResizeObserver")]
     #[doc = "The `new ResizeObserver(..)` constructor, creating a new instance of `ResizeObserver`."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserver`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn new(callback: &::js_sys::Function) -> Result<ResizeObserver, JsValue>;
-    #[cfg(web_sys_unstable_apis)]
     # [wasm_bindgen (method , structural , js_class = "ResizeObserver" , js_name = disconnect)]
     #[doc = "The `disconnect()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/disconnect)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserver`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn disconnect(this: &ResizeObserver);
-    #[cfg(web_sys_unstable_apis)]
     #[cfg(feature = "Element")]
     # [wasm_bindgen (method , structural , js_class = "ResizeObserver" , js_name = observe)]
     #[doc = "The `observe()` method."]
@@ -45,11 +33,7 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/observe)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `Element`, `ResizeObserver`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn observe(this: &ResizeObserver, target: &Element);
-    #[cfg(web_sys_unstable_apis)]
     #[cfg(all(feature = "Element", feature = "ResizeObserverOptions",))]
     # [wasm_bindgen (method , structural , js_class = "ResizeObserver" , js_name = observe)]
     #[doc = "The `observe()` method."]
@@ -57,15 +41,11 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/observe)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `Element`, `ResizeObserver`, `ResizeObserverOptions`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn observe_with_options(
         this: &ResizeObserver,
         target: &Element,
         options: &ResizeObserverOptions,
     );
-    #[cfg(web_sys_unstable_apis)]
     #[cfg(feature = "Element")]
     # [wasm_bindgen (method , structural , js_class = "ResizeObserver" , js_name = unobserve)]
     #[doc = "The `unobserve()` method."]
@@ -73,8 +53,5 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/unobserve)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `Element`, `ResizeObserver`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn unobserve(this: &ResizeObserver, target: &Element);
 }
diff --git a/src/features/gen_ResizeObserverBoxOptions.rs b/src/features/gen_ResizeObserverBoxOptions.rs
index fb8f3e1..827b3d9 100644
--- a/src/features/gen_ResizeObserverBoxOptions.rs
+++ b/src/features/gen_ResizeObserverBoxOptions.rs
@@ -1,13 +1,10 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
-#[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
 #[doc = "The `ResizeObserverBoxOptions` enum."]
 #[doc = ""]
 #[doc = "*This API requires the following crate features to be activated: `ResizeObserverBoxOptions`*"]
-#[doc = ""]
-#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
 #[derive(Debug, Clone, Copy, PartialEq, Eq)]
 pub enum ResizeObserverBoxOptions {
     BorderBox = "border-box",
diff --git a/src/features/gen_ResizeObserverEntry.rs b/src/features/gen_ResizeObserverEntry.rs
index 7b91222..fd7ed79 100644
--- a/src/features/gen_ResizeObserverEntry.rs
+++ b/src/features/gen_ResizeObserverEntry.rs
@@ -1,7 +1,7 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
-#[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
 extern "C" {
     # [wasm_bindgen (extends = :: js_sys :: Object , js_name = ResizeObserverEntry , typescript_type = "ResizeObserverEntry")]
@@ -11,11 +11,7 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserverEntry`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub type ResizeObserverEntry;
-    #[cfg(web_sys_unstable_apis)]
     #[cfg(feature = "Element")]
     # [wasm_bindgen (structural , method , getter , js_class = "ResizeObserverEntry" , js_name = target)]
     #[doc = "Getter for the `target` field of this object."]
@@ -23,11 +19,7 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry/target)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `Element`, `ResizeObserverEntry`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn target(this: &ResizeObserverEntry) -> Element;
-    #[cfg(web_sys_unstable_apis)]
     #[cfg(feature = "DomRectReadOnly")]
     # [wasm_bindgen (structural , method , getter , js_class = "ResizeObserverEntry" , js_name = contentRect)]
     #[doc = "Getter for the `contentRect` field of this object."]
@@ -35,41 +27,26 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry/contentRect)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `DomRectReadOnly`, `ResizeObserverEntry`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn content_rect(this: &ResizeObserverEntry) -> DomRectReadOnly;
-    #[cfg(web_sys_unstable_apis)]
     # [wasm_bindgen (structural , method , getter , js_class = "ResizeObserverEntry" , js_name = borderBoxSize)]
     #[doc = "Getter for the `borderBoxSize` field of this object."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry/borderBoxSize)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserverEntry`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn border_box_size(this: &ResizeObserverEntry) -> ::js_sys::Array;
-    #[cfg(web_sys_unstable_apis)]
     # [wasm_bindgen (structural , method , getter , js_class = "ResizeObserverEntry" , js_name = contentBoxSize)]
     #[doc = "Getter for the `contentBoxSize` field of this object."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry/contentBoxSize)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserverEntry`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn content_box_size(this: &ResizeObserverEntry) -> ::js_sys::Array;
-    #[cfg(web_sys_unstable_apis)]
     # [wasm_bindgen (structural , method , getter , js_class = "ResizeObserverEntry" , js_name = devicePixelContentBoxSize)]
     #[doc = "Getter for the `devicePixelContentBoxSize` field of this object."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry/devicePixelContentBoxSize)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserverEntry`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn device_pixel_content_box_size(this: &ResizeObserverEntry) -> ::js_sys::Array;
 }
diff --git a/src/features/gen_ResizeObserverOptions.rs b/src/features/gen_ResizeObserverOptions.rs
index e5f60a3..cbd8168 100644
--- a/src/features/gen_ResizeObserverOptions.rs
+++ b/src/features/gen_ResizeObserverOptions.rs
@@ -1,7 +1,7 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
-#[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
 extern "C" {
     # [wasm_bindgen (extends = :: js_sys :: Object , js_name = ResizeObserverOptions)]
@@ -9,32 +9,21 @@ extern "C" {
     #[doc = "The `ResizeObserverOptions` dictionary."]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserverOptions`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub type ResizeObserverOptions;
 }
-#[cfg(web_sys_unstable_apis)]
 impl ResizeObserverOptions {
     #[doc = "Construct a new `ResizeObserverOptions`."]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserverOptions`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn new() -> Self {
         #[allow(unused_mut)]
         let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
         ret
     }
-    #[cfg(web_sys_unstable_apis)]
     #[cfg(feature = "ResizeObserverBoxOptions")]
     #[doc = "Change the `box` field of this object."]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserverBoxOptions`, `ResizeObserverOptions`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn box_(&mut self, val: ResizeObserverBoxOptions) -> &mut Self {
         use wasm_bindgen::JsValue;
         let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("box"), &JsValue::from(val));
@@ -46,7 +35,6 @@ impl ResizeObserverOptions {
         self
     }
 }
-#[cfg(web_sys_unstable_apis)]
 impl Default for ResizeObserverOptions {
     fn default() -> Self {
         Self::new()
diff --git a/src/features/gen_ResizeObserverSize.rs b/src/features/gen_ResizeObserverSize.rs
index fbe899f..c7a5249 100644
--- a/src/features/gen_ResizeObserverSize.rs
+++ b/src/features/gen_ResizeObserverSize.rs
@@ -1,7 +1,7 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
-#[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
 extern "C" {
     # [wasm_bindgen (extends = :: js_sys :: Object , js_name = ResizeObserverSize , typescript_type = "ResizeObserverSize")]
@@ -11,30 +11,19 @@ extern "C" {
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverSize)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserverSize`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub type ResizeObserverSize;
-    #[cfg(web_sys_unstable_apis)]
     # [wasm_bindgen (structural , method , getter , js_class = "ResizeObserverSize" , js_name = inlineSize)]
     #[doc = "Getter for the `inlineSize` field of this object."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverSize/inlineSize)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserverSize`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn inline_size(this: &ResizeObserverSize) -> f64;
-    #[cfg(web_sys_unstable_apis)]
     # [wasm_bindgen (structural , method , getter , js_class = "ResizeObserverSize" , js_name = blockSize)]
     #[doc = "Getter for the `blockSize` field of this object."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverSize/blockSize)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `ResizeObserverSize`*"]
-    #[doc = ""]
-    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
-    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn block_size(this: &ResizeObserverSize) -> f64;
 }
diff --git a/src/features/gen_ResizeQuality.rs b/src/features/gen_ResizeQuality.rs
new file mode 100644
index 0000000..606867b
--- /dev/null
+++ b/src/features/gen_ResizeQuality.rs
@@ -0,0 +1,14 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+#[doc = "The `ResizeQuality` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `ResizeQuality`*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum ResizeQuality {
+    Pixelated = "pixelated",
+    Low = "low",
+    Medium = "medium",
+    High = "high",
+}
diff --git a/src/features/gen_Response.rs b/src/features/gen_Response.rs
index 028c142..682c2d3 100644
--- a/src/features/gen_Response.rs
+++ b/src/features/gen_Response.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ResponseInit.rs b/src/features/gen_ResponseInit.rs
index 14b2653..d118a89 100644
--- a/src/features/gen_ResponseInit.rs
+++ b/src/features/gen_ResponseInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ResponseType.rs b/src/features/gen_ResponseType.rs
index 2ff543a..7f123fb 100644
--- a/src/features/gen_ResponseType.rs
+++ b/src/features/gen_ResponseType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ResponseType` enum."]
diff --git a/src/features/gen_RsaHashedImportParams.rs b/src/features/gen_RsaHashedImportParams.rs
index d98141c..bb49bad 100644
--- a/src/features/gen_RsaHashedImportParams.rs
+++ b/src/features/gen_RsaHashedImportParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RsaOaepParams.rs b/src/features/gen_RsaOaepParams.rs
index fd50a47..fc02fee 100644
--- a/src/features/gen_RsaOaepParams.rs
+++ b/src/features/gen_RsaOaepParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RsaOtherPrimesInfo.rs b/src/features/gen_RsaOtherPrimesInfo.rs
index 7f9ceb8..2d86418 100644
--- a/src/features/gen_RsaOtherPrimesInfo.rs
+++ b/src/features/gen_RsaOtherPrimesInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RsaPssParams.rs b/src/features/gen_RsaPssParams.rs
index cddd994..676c927 100644
--- a/src/features/gen_RsaPssParams.rs
+++ b/src/features/gen_RsaPssParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcAnswerOptions.rs b/src/features/gen_RtcAnswerOptions.rs
index a3d7bce..de165d0 100644
--- a/src/features/gen_RtcAnswerOptions.rs
+++ b/src/features/gen_RtcAnswerOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcBundlePolicy.rs b/src/features/gen_RtcBundlePolicy.rs
index 261c153..e4a5a7a 100644
--- a/src/features/gen_RtcBundlePolicy.rs
+++ b/src/features/gen_RtcBundlePolicy.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcBundlePolicy` enum."]
diff --git a/src/features/gen_RtcCertificate.rs b/src/features/gen_RtcCertificate.rs
index fe4bffb..9e0cd88 100644
--- a/src/features/gen_RtcCertificate.rs
+++ b/src/features/gen_RtcCertificate.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcCertificateExpiration.rs b/src/features/gen_RtcCertificateExpiration.rs
index 141c995..c686a42 100644
--- a/src/features/gen_RtcCertificateExpiration.rs
+++ b/src/features/gen_RtcCertificateExpiration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcCodecStats.rs b/src/features/gen_RtcCodecStats.rs
index 3ffe6ae..da15039 100644
--- a/src/features/gen_RtcCodecStats.rs
+++ b/src/features/gen_RtcCodecStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcConfiguration.rs b/src/features/gen_RtcConfiguration.rs
index 284b6e2..ab8a1ff 100644
--- a/src/features/gen_RtcConfiguration.rs
+++ b/src/features/gen_RtcConfiguration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcDataChannel.rs b/src/features/gen_RtcDataChannel.rs
index 8f99185..59b3aad 100644
--- a/src/features/gen_RtcDataChannel.rs
+++ b/src/features/gen_RtcDataChannel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcDataChannelEvent.rs b/src/features/gen_RtcDataChannelEvent.rs
index 7782c81..d250f4d 100644
--- a/src/features/gen_RtcDataChannelEvent.rs
+++ b/src/features/gen_RtcDataChannelEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcDataChannelEventInit.rs b/src/features/gen_RtcDataChannelEventInit.rs
index 16f0bb7..ca400a8 100644
--- a/src/features/gen_RtcDataChannelEventInit.rs
+++ b/src/features/gen_RtcDataChannelEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcDataChannelInit.rs b/src/features/gen_RtcDataChannelInit.rs
index b8e2751..6e224f7 100644
--- a/src/features/gen_RtcDataChannelInit.rs
+++ b/src/features/gen_RtcDataChannelInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcDataChannelState.rs b/src/features/gen_RtcDataChannelState.rs
index 4c999ca..3acc26c 100644
--- a/src/features/gen_RtcDataChannelState.rs
+++ b/src/features/gen_RtcDataChannelState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcDataChannelState` enum."]
diff --git a/src/features/gen_RtcDataChannelType.rs b/src/features/gen_RtcDataChannelType.rs
index e2089d4..018743a 100644
--- a/src/features/gen_RtcDataChannelType.rs
+++ b/src/features/gen_RtcDataChannelType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcDataChannelType` enum."]
diff --git a/src/features/gen_RtcDegradationPreference.rs b/src/features/gen_RtcDegradationPreference.rs
index 118c3ed..5886bb9 100644
--- a/src/features/gen_RtcDegradationPreference.rs
+++ b/src/features/gen_RtcDegradationPreference.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcDegradationPreference` enum."]
diff --git a/src/features/gen_RtcFecParameters.rs b/src/features/gen_RtcFecParameters.rs
index d5b1a54..6fe23c1 100644
--- a/src/features/gen_RtcFecParameters.rs
+++ b/src/features/gen_RtcFecParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIceCandidate.rs b/src/features/gen_RtcIceCandidate.rs
index ca7424e..35b21b7 100644
--- a/src/features/gen_RtcIceCandidate.rs
+++ b/src/features/gen_RtcIceCandidate.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIceCandidateInit.rs b/src/features/gen_RtcIceCandidateInit.rs
index a23091f..70e3db9 100644
--- a/src/features/gen_RtcIceCandidateInit.rs
+++ b/src/features/gen_RtcIceCandidateInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIceCandidatePairStats.rs b/src/features/gen_RtcIceCandidatePairStats.rs
index 8fa447a..19932fe 100644
--- a/src/features/gen_RtcIceCandidatePairStats.rs
+++ b/src/features/gen_RtcIceCandidatePairStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIceCandidateStats.rs b/src/features/gen_RtcIceCandidateStats.rs
index 8d9c3a9..fb9c65d 100644
--- a/src/features/gen_RtcIceCandidateStats.rs
+++ b/src/features/gen_RtcIceCandidateStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIceComponentStats.rs b/src/features/gen_RtcIceComponentStats.rs
index ec7d27b..a4154fd 100644
--- a/src/features/gen_RtcIceComponentStats.rs
+++ b/src/features/gen_RtcIceComponentStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIceConnectionState.rs b/src/features/gen_RtcIceConnectionState.rs
index fae44d7..d7d9004 100644
--- a/src/features/gen_RtcIceConnectionState.rs
+++ b/src/features/gen_RtcIceConnectionState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcIceConnectionState` enum."]
diff --git a/src/features/gen_RtcIceCredentialType.rs b/src/features/gen_RtcIceCredentialType.rs
index a04b720..1b51f1c 100644
--- a/src/features/gen_RtcIceCredentialType.rs
+++ b/src/features/gen_RtcIceCredentialType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcIceCredentialType` enum."]
diff --git a/src/features/gen_RtcIceGatheringState.rs b/src/features/gen_RtcIceGatheringState.rs
index ce6db0a..d3f83bf 100644
--- a/src/features/gen_RtcIceGatheringState.rs
+++ b/src/features/gen_RtcIceGatheringState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcIceGatheringState` enum."]
diff --git a/src/features/gen_RtcIceServer.rs b/src/features/gen_RtcIceServer.rs
index ebdd79d..cde2705 100644
--- a/src/features/gen_RtcIceServer.rs
+++ b/src/features/gen_RtcIceServer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIceTransportPolicy.rs b/src/features/gen_RtcIceTransportPolicy.rs
index c3f2124..350c510 100644
--- a/src/features/gen_RtcIceTransportPolicy.rs
+++ b/src/features/gen_RtcIceTransportPolicy.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcIceTransportPolicy` enum."]
diff --git a/src/features/gen_RtcIdentityAssertion.rs b/src/features/gen_RtcIdentityAssertion.rs
index aa1fc60..06a9191 100644
--- a/src/features/gen_RtcIdentityAssertion.rs
+++ b/src/features/gen_RtcIdentityAssertion.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIdentityAssertionResult.rs b/src/features/gen_RtcIdentityAssertionResult.rs
index 98d9af7..326412d 100644
--- a/src/features/gen_RtcIdentityAssertionResult.rs
+++ b/src/features/gen_RtcIdentityAssertionResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIdentityProvider.rs b/src/features/gen_RtcIdentityProvider.rs
index bf64f97..949a347 100644
--- a/src/features/gen_RtcIdentityProvider.rs
+++ b/src/features/gen_RtcIdentityProvider.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIdentityProviderDetails.rs b/src/features/gen_RtcIdentityProviderDetails.rs
index dda6cbc..d3abd14 100644
--- a/src/features/gen_RtcIdentityProviderDetails.rs
+++ b/src/features/gen_RtcIdentityProviderDetails.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIdentityProviderOptions.rs b/src/features/gen_RtcIdentityProviderOptions.rs
index cdb594b..c73d05c 100644
--- a/src/features/gen_RtcIdentityProviderOptions.rs
+++ b/src/features/gen_RtcIdentityProviderOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIdentityProviderRegistrar.rs b/src/features/gen_RtcIdentityProviderRegistrar.rs
index 86a4f2b..a876fca 100644
--- a/src/features/gen_RtcIdentityProviderRegistrar.rs
+++ b/src/features/gen_RtcIdentityProviderRegistrar.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcIdentityValidationResult.rs b/src/features/gen_RtcIdentityValidationResult.rs
index cd5ba8e..f383349 100644
--- a/src/features/gen_RtcIdentityValidationResult.rs
+++ b/src/features/gen_RtcIdentityValidationResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcInboundRtpStreamStats.rs b/src/features/gen_RtcInboundRtpStreamStats.rs
index 41091b2..c0d440f 100644
--- a/src/features/gen_RtcInboundRtpStreamStats.rs
+++ b/src/features/gen_RtcInboundRtpStreamStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcLifecycleEvent.rs b/src/features/gen_RtcLifecycleEvent.rs
index c8094e5..98fd2a5 100644
--- a/src/features/gen_RtcLifecycleEvent.rs
+++ b/src/features/gen_RtcLifecycleEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcLifecycleEvent` enum."]
diff --git a/src/features/gen_RtcMediaStreamStats.rs b/src/features/gen_RtcMediaStreamStats.rs
index a226113..2698c8a 100644
--- a/src/features/gen_RtcMediaStreamStats.rs
+++ b/src/features/gen_RtcMediaStreamStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcMediaStreamTrackStats.rs b/src/features/gen_RtcMediaStreamTrackStats.rs
index 8caa058..270dacf 100644
--- a/src/features/gen_RtcMediaStreamTrackStats.rs
+++ b/src/features/gen_RtcMediaStreamTrackStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcOfferAnswerOptions.rs b/src/features/gen_RtcOfferAnswerOptions.rs
index 9c84bcf..dc4330d 100644
--- a/src/features/gen_RtcOfferAnswerOptions.rs
+++ b/src/features/gen_RtcOfferAnswerOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcOfferOptions.rs b/src/features/gen_RtcOfferOptions.rs
index 4130baa..353f369 100644
--- a/src/features/gen_RtcOfferOptions.rs
+++ b/src/features/gen_RtcOfferOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcOutboundRtpStreamStats.rs b/src/features/gen_RtcOutboundRtpStreamStats.rs
index 7630d96..8e70528 100644
--- a/src/features/gen_RtcOutboundRtpStreamStats.rs
+++ b/src/features/gen_RtcOutboundRtpStreamStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcPeerConnection.rs b/src/features/gen_RtcPeerConnection.rs
index 455a882..93412c6 100644
--- a/src/features/gen_RtcPeerConnection.rs
+++ b/src/features/gen_RtcPeerConnection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -90,6 +91,14 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `RtcIceConnectionState`, `RtcPeerConnection`*"]
     pub fn ice_connection_state(this: &RtcPeerConnection) -> RtcIceConnectionState;
+    #[cfg(feature = "RtcPeerConnectionState")]
+    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = connectionState)]
+    #[doc = "Getter for the `connectionState` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/connectionState)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`, `RtcPeerConnectionState`*"]
+    pub fn connection_state(this: &RtcPeerConnection) -> RtcPeerConnectionState;
     # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = peerIdentity)]
     #[doc = "Getter for the `peerIdentity` field of this object."]
     #[doc = ""]
@@ -236,6 +245,23 @@ extern "C" {
         this: &RtcPeerConnection,
         value: Option<&::js_sys::Function>,
     );
+    # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = onconnectionstatechange)]
+    #[doc = "Getter for the `onconnectionstatechange` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onconnectionstatechange)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
+    pub fn onconnectionstatechange(this: &RtcPeerConnection) -> Option<::js_sys::Function>;
+    # [wasm_bindgen (structural , method , setter , js_class = "RTCPeerConnection" , js_name = onconnectionstatechange)]
+    #[doc = "Setter for the `onconnectionstatechange` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onconnectionstatechange)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RtcPeerConnection`*"]
+    pub fn set_onconnectionstatechange(
+        this: &RtcPeerConnection,
+        value: Option<&::js_sys::Function>,
+    );
     # [wasm_bindgen (structural , method , getter , js_class = "RTCPeerConnection" , js_name = ondatachannel)]
     #[doc = "Getter for the `ondatachannel` field of this object."]
     #[doc = ""]
diff --git a/src/features/gen_RtcPeerConnectionIceEvent.rs b/src/features/gen_RtcPeerConnectionIceEvent.rs
index 3a59c59..d98c253 100644
--- a/src/features/gen_RtcPeerConnectionIceEvent.rs
+++ b/src/features/gen_RtcPeerConnectionIceEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcPeerConnectionIceEventInit.rs b/src/features/gen_RtcPeerConnectionIceEventInit.rs
index 2847f6e..26d98c9 100644
--- a/src/features/gen_RtcPeerConnectionIceEventInit.rs
+++ b/src/features/gen_RtcPeerConnectionIceEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcPeerConnectionState.rs b/src/features/gen_RtcPeerConnectionState.rs
new file mode 100644
index 0000000..5647845
--- /dev/null
+++ b/src/features/gen_RtcPeerConnectionState.rs
@@ -0,0 +1,16 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+#[doc = "The `RtcPeerConnectionState` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `RtcPeerConnectionState`*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum RtcPeerConnectionState {
+    Closed = "closed",
+    Failed = "failed",
+    Disconnected = "disconnected",
+    New = "new",
+    Connecting = "connecting",
+    Connected = "connected",
+}
diff --git a/src/features/gen_RtcPriorityType.rs b/src/features/gen_RtcPriorityType.rs
index ddd712e..325b66c 100644
--- a/src/features/gen_RtcPriorityType.rs
+++ b/src/features/gen_RtcPriorityType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcPriorityType` enum."]
diff --git a/src/features/gen_RtcRtcpParameters.rs b/src/features/gen_RtcRtcpParameters.rs
index 85df471..8a84dff 100644
--- a/src/features/gen_RtcRtcpParameters.rs
+++ b/src/features/gen_RtcRtcpParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpCodecParameters.rs b/src/features/gen_RtcRtpCodecParameters.rs
index 1292d7c..35d31c2 100644
--- a/src/features/gen_RtcRtpCodecParameters.rs
+++ b/src/features/gen_RtcRtpCodecParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpContributingSource.rs b/src/features/gen_RtcRtpContributingSource.rs
index 6f32c20..77ee8c5 100644
--- a/src/features/gen_RtcRtpContributingSource.rs
+++ b/src/features/gen_RtcRtpContributingSource.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpEncodingParameters.rs b/src/features/gen_RtcRtpEncodingParameters.rs
index 339ec38..a872f8a 100644
--- a/src/features/gen_RtcRtpEncodingParameters.rs
+++ b/src/features/gen_RtcRtpEncodingParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpHeaderExtensionParameters.rs b/src/features/gen_RtcRtpHeaderExtensionParameters.rs
index 5523869..bd1a363 100644
--- a/src/features/gen_RtcRtpHeaderExtensionParameters.rs
+++ b/src/features/gen_RtcRtpHeaderExtensionParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpParameters.rs b/src/features/gen_RtcRtpParameters.rs
index 7b413d2..65d7e31 100644
--- a/src/features/gen_RtcRtpParameters.rs
+++ b/src/features/gen_RtcRtpParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpReceiver.rs b/src/features/gen_RtcRtpReceiver.rs
index ee09e08..7c50486 100644
--- a/src/features/gen_RtcRtpReceiver.rs
+++ b/src/features/gen_RtcRtpReceiver.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpSender.rs b/src/features/gen_RtcRtpSender.rs
index 8de87c6..714521c 100644
--- a/src/features/gen_RtcRtpSender.rs
+++ b/src/features/gen_RtcRtpSender.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpSourceEntry.rs b/src/features/gen_RtcRtpSourceEntry.rs
index a4673ba..6c40829 100644
--- a/src/features/gen_RtcRtpSourceEntry.rs
+++ b/src/features/gen_RtcRtpSourceEntry.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpSourceEntryType.rs b/src/features/gen_RtcRtpSourceEntryType.rs
index e9c709e..e1e26ef 100644
--- a/src/features/gen_RtcRtpSourceEntryType.rs
+++ b/src/features/gen_RtcRtpSourceEntryType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcRtpSourceEntryType` enum."]
diff --git a/src/features/gen_RtcRtpSynchronizationSource.rs b/src/features/gen_RtcRtpSynchronizationSource.rs
index dcab440..caf4d6e 100644
--- a/src/features/gen_RtcRtpSynchronizationSource.rs
+++ b/src/features/gen_RtcRtpSynchronizationSource.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpTransceiver.rs b/src/features/gen_RtcRtpTransceiver.rs
index 6d6eaf2..98be395 100644
--- a/src/features/gen_RtcRtpTransceiver.rs
+++ b/src/features/gen_RtcRtpTransceiver.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtpTransceiverDirection.rs b/src/features/gen_RtcRtpTransceiverDirection.rs
index 60a8f98..ed06356 100644
--- a/src/features/gen_RtcRtpTransceiverDirection.rs
+++ b/src/features/gen_RtcRtpTransceiverDirection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcRtpTransceiverDirection` enum."]
diff --git a/src/features/gen_RtcRtpTransceiverInit.rs b/src/features/gen_RtcRtpTransceiverInit.rs
index 3f6836a..ecf8688 100644
--- a/src/features/gen_RtcRtpTransceiverInit.rs
+++ b/src/features/gen_RtcRtpTransceiverInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcRtxParameters.rs b/src/features/gen_RtcRtxParameters.rs
index 7540a98..fd184ac 100644
--- a/src/features/gen_RtcRtxParameters.rs
+++ b/src/features/gen_RtcRtxParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcSdpType.rs b/src/features/gen_RtcSdpType.rs
index deaa343..4babb12 100644
--- a/src/features/gen_RtcSdpType.rs
+++ b/src/features/gen_RtcSdpType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcSdpType` enum."]
diff --git a/src/features/gen_RtcSessionDescription.rs b/src/features/gen_RtcSessionDescription.rs
index 975d098..d61eb1f 100644
--- a/src/features/gen_RtcSessionDescription.rs
+++ b/src/features/gen_RtcSessionDescription.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcSessionDescriptionInit.rs b/src/features/gen_RtcSessionDescriptionInit.rs
index 72ed9cc..5b2af20 100644
--- a/src/features/gen_RtcSessionDescriptionInit.rs
+++ b/src/features/gen_RtcSessionDescriptionInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcSignalingState.rs b/src/features/gen_RtcSignalingState.rs
index 9fa4c48..a735f36 100644
--- a/src/features/gen_RtcSignalingState.rs
+++ b/src/features/gen_RtcSignalingState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcSignalingState` enum."]
diff --git a/src/features/gen_RtcStats.rs b/src/features/gen_RtcStats.rs
index fc54145..2a3435a 100644
--- a/src/features/gen_RtcStats.rs
+++ b/src/features/gen_RtcStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcStatsIceCandidatePairState.rs b/src/features/gen_RtcStatsIceCandidatePairState.rs
index 0cad390..fe5b41e 100644
--- a/src/features/gen_RtcStatsIceCandidatePairState.rs
+++ b/src/features/gen_RtcStatsIceCandidatePairState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcStatsIceCandidatePairState` enum."]
diff --git a/src/features/gen_RtcStatsIceCandidateType.rs b/src/features/gen_RtcStatsIceCandidateType.rs
index 0756f85..3d60842 100644
--- a/src/features/gen_RtcStatsIceCandidateType.rs
+++ b/src/features/gen_RtcStatsIceCandidateType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcStatsIceCandidateType` enum."]
diff --git a/src/features/gen_RtcStatsReport.rs b/src/features/gen_RtcStatsReport.rs
index 5d419f2..ae199ac 100644
--- a/src/features/gen_RtcStatsReport.rs
+++ b/src/features/gen_RtcStatsReport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -11,4 +12,53 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `RtcStatsReport`*"]
     pub type RtcStatsReport;
+    # [wasm_bindgen (structural , method , getter , js_class = "RTCStatsReport" , js_name = size)]
+    #[doc = "Getter for the `size` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport/size)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RtcStatsReport`*"]
+    pub fn size(this: &RtcStatsReport) -> u32;
+    # [wasm_bindgen (method , structural , js_class = "RTCStatsReport" , js_name = entries)]
+    #[doc = "The `entries()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport/entries)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RtcStatsReport`*"]
+    pub fn entries(this: &RtcStatsReport) -> ::js_sys::Iterator;
+    # [wasm_bindgen (catch , method , structural , js_class = "RTCStatsReport" , js_name = forEach)]
+    #[doc = "The `forEach()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport/forEach)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RtcStatsReport`*"]
+    pub fn for_each(this: &RtcStatsReport, callback: &::js_sys::Function) -> Result<(), JsValue>;
+    # [wasm_bindgen (method , structural , js_class = "RTCStatsReport" , js_name = get)]
+    #[doc = "The `get()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport/get)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RtcStatsReport`*"]
+    pub fn get(this: &RtcStatsReport, key: &str) -> Option<::js_sys::Object>;
+    # [wasm_bindgen (method , structural , js_class = "RTCStatsReport" , js_name = has)]
+    #[doc = "The `has()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport/has)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RtcStatsReport`*"]
+    pub fn has(this: &RtcStatsReport, key: &str) -> bool;
+    # [wasm_bindgen (method , structural , js_class = "RTCStatsReport" , js_name = keys)]
+    #[doc = "The `keys()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport/keys)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RtcStatsReport`*"]
+    pub fn keys(this: &RtcStatsReport) -> ::js_sys::Iterator;
+    # [wasm_bindgen (method , structural , js_class = "RTCStatsReport" , js_name = values)]
+    #[doc = "The `values()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/RTCStatsReport/values)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `RtcStatsReport`*"]
+    pub fn values(this: &RtcStatsReport) -> ::js_sys::Iterator;
 }
diff --git a/src/features/gen_RtcStatsReportInternal.rs b/src/features/gen_RtcStatsReportInternal.rs
index 5b285c2..8bdb3b8 100644
--- a/src/features/gen_RtcStatsReportInternal.rs
+++ b/src/features/gen_RtcStatsReportInternal.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcStatsType.rs b/src/features/gen_RtcStatsType.rs
index 777c8d1..2670a3a 100644
--- a/src/features/gen_RtcStatsType.rs
+++ b/src/features/gen_RtcStatsType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `RtcStatsType` enum."]
diff --git a/src/features/gen_RtcTrackEvent.rs b/src/features/gen_RtcTrackEvent.rs
index 69870c1..ef00b49 100644
--- a/src/features/gen_RtcTrackEvent.rs
+++ b/src/features/gen_RtcTrackEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcTrackEventInit.rs b/src/features/gen_RtcTrackEventInit.rs
index a8c8031..7bc6ce6 100644
--- a/src/features/gen_RtcTrackEventInit.rs
+++ b/src/features/gen_RtcTrackEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcTransportStats.rs b/src/features/gen_RtcTransportStats.rs
index bfe856e..93f9a81 100644
--- a/src/features/gen_RtcTransportStats.rs
+++ b/src/features/gen_RtcTransportStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcdtmfSender.rs b/src/features/gen_RtcdtmfSender.rs
index 8feda59..3d66c3f 100644
--- a/src/features/gen_RtcdtmfSender.rs
+++ b/src/features/gen_RtcdtmfSender.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcdtmfToneChangeEvent.rs b/src/features/gen_RtcdtmfToneChangeEvent.rs
index 3d513d2..5577291 100644
--- a/src/features/gen_RtcdtmfToneChangeEvent.rs
+++ b/src/features/gen_RtcdtmfToneChangeEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcdtmfToneChangeEventInit.rs b/src/features/gen_RtcdtmfToneChangeEventInit.rs
index eb6479a..cd7ee92 100644
--- a/src/features/gen_RtcdtmfToneChangeEventInit.rs
+++ b/src/features/gen_RtcdtmfToneChangeEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcrtpContributingSourceStats.rs b/src/features/gen_RtcrtpContributingSourceStats.rs
index 46b293a..637fcd0 100644
--- a/src/features/gen_RtcrtpContributingSourceStats.rs
+++ b/src/features/gen_RtcrtpContributingSourceStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_RtcrtpStreamStats.rs b/src/features/gen_RtcrtpStreamStats.rs
index 8982a8e..5d7650e 100644
--- a/src/features/gen_RtcrtpStreamStats.rs
+++ b/src/features/gen_RtcrtpStreamStats.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Screen.rs b/src/features/gen_Screen.rs
index fc2b7a5..ba311af 100644
--- a/src/features/gen_Screen.rs
+++ b/src/features/gen_Screen.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ScreenColorGamut.rs b/src/features/gen_ScreenColorGamut.rs
index 354af5c..d6e752f 100644
--- a/src/features/gen_ScreenColorGamut.rs
+++ b/src/features/gen_ScreenColorGamut.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ScreenColorGamut` enum."]
diff --git a/src/features/gen_ScreenLuminance.rs b/src/features/gen_ScreenLuminance.rs
index 8bdb1ba..beb8dbf 100644
--- a/src/features/gen_ScreenLuminance.rs
+++ b/src/features/gen_ScreenLuminance.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ScreenOrientation.rs b/src/features/gen_ScreenOrientation.rs
index 1e26c3b..2770eb4 100644
--- a/src/features/gen_ScreenOrientation.rs
+++ b/src/features/gen_ScreenOrientation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ScriptProcessorNode.rs b/src/features/gen_ScriptProcessorNode.rs
index c213227..f89fc87 100644
--- a/src/features/gen_ScriptProcessorNode.rs
+++ b/src/features/gen_ScriptProcessorNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ScrollAreaEvent.rs b/src/features/gen_ScrollAreaEvent.rs
index c4c5103..1ddb9eb 100644
--- a/src/features/gen_ScrollAreaEvent.rs
+++ b/src/features/gen_ScrollAreaEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ScrollBehavior.rs b/src/features/gen_ScrollBehavior.rs
index 9df43cc..9170db4 100644
--- a/src/features/gen_ScrollBehavior.rs
+++ b/src/features/gen_ScrollBehavior.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ScrollBehavior` enum."]
diff --git a/src/features/gen_ScrollBoxObject.rs b/src/features/gen_ScrollBoxObject.rs
index 36749f1..83b52fe 100644
--- a/src/features/gen_ScrollBoxObject.rs
+++ b/src/features/gen_ScrollBoxObject.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ScrollIntoViewOptions.rs b/src/features/gen_ScrollIntoViewOptions.rs
index 41bbe87..c5a65fa 100644
--- a/src/features/gen_ScrollIntoViewOptions.rs
+++ b/src/features/gen_ScrollIntoViewOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ScrollLogicalPosition.rs b/src/features/gen_ScrollLogicalPosition.rs
index a3643a4..5a3d088 100644
--- a/src/features/gen_ScrollLogicalPosition.rs
+++ b/src/features/gen_ScrollLogicalPosition.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ScrollLogicalPosition` enum."]
diff --git a/src/features/gen_ScrollOptions.rs b/src/features/gen_ScrollOptions.rs
index 8248151..3f7a744 100644
--- a/src/features/gen_ScrollOptions.rs
+++ b/src/features/gen_ScrollOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ScrollRestoration.rs b/src/features/gen_ScrollRestoration.rs
index 6158780..62d6d11 100644
--- a/src/features/gen_ScrollRestoration.rs
+++ b/src/features/gen_ScrollRestoration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ScrollRestoration` enum."]
diff --git a/src/features/gen_ScrollSetting.rs b/src/features/gen_ScrollSetting.rs
index d4ba6cb..7f30f8a 100644
--- a/src/features/gen_ScrollSetting.rs
+++ b/src/features/gen_ScrollSetting.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ScrollSetting` enum."]
diff --git a/src/features/gen_ScrollState.rs b/src/features/gen_ScrollState.rs
index 2af8c7a..c064317 100644
--- a/src/features/gen_ScrollState.rs
+++ b/src/features/gen_ScrollState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ScrollState` enum."]
diff --git a/src/features/gen_ScrollToOptions.rs b/src/features/gen_ScrollToOptions.rs
index 3458f6d..b42cac6 100644
--- a/src/features/gen_ScrollToOptions.rs
+++ b/src/features/gen_ScrollToOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ScrollViewChangeEventInit.rs b/src/features/gen_ScrollViewChangeEventInit.rs
index 8ea656b..26b1f09 100644
--- a/src/features/gen_ScrollViewChangeEventInit.rs
+++ b/src/features/gen_ScrollViewChangeEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SecurityPolicyViolationEvent.rs b/src/features/gen_SecurityPolicyViolationEvent.rs
index 65b354d..f8c29a9 100644
--- a/src/features/gen_SecurityPolicyViolationEvent.rs
+++ b/src/features/gen_SecurityPolicyViolationEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SecurityPolicyViolationEventDisposition.rs b/src/features/gen_SecurityPolicyViolationEventDisposition.rs
index 749e43d..38f01f8 100644
--- a/src/features/gen_SecurityPolicyViolationEventDisposition.rs
+++ b/src/features/gen_SecurityPolicyViolationEventDisposition.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `SecurityPolicyViolationEventDisposition` enum."]
diff --git a/src/features/gen_SecurityPolicyViolationEventInit.rs b/src/features/gen_SecurityPolicyViolationEventInit.rs
index 8170d05..a51d4da 100644
--- a/src/features/gen_SecurityPolicyViolationEventInit.rs
+++ b/src/features/gen_SecurityPolicyViolationEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Selection.rs b/src/features/gen_Selection.rs
index d463646..ae14db5 100644
--- a/src/features/gen_Selection.rs
+++ b/src/features/gen_Selection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SelectionMode.rs b/src/features/gen_SelectionMode.rs
new file mode 100644
index 0000000..5d32722
--- /dev/null
+++ b/src/features/gen_SelectionMode.rs
@@ -0,0 +1,14 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[wasm_bindgen]
+#[doc = "The `SelectionMode` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `SelectionMode`*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum SelectionMode {
+    Select = "select",
+    Start = "start",
+    End = "end",
+    Preserve = "preserve",
+}
diff --git a/src/features/gen_Serial.rs b/src/features/gen_Serial.rs
new file mode 100644
index 0000000..1cda2aa
--- /dev/null
+++ b/src/features/gen_Serial.rs
@@ -0,0 +1,100 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = EventTarget , extends = :: js_sys :: Object , js_name = Serial , typescript_type = "Serial")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `Serial` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Serial)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Serial`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type Serial;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "Serial" , js_name = onconnect)]
+    #[doc = "Getter for the `onconnect` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Serial/onconnect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Serial`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn onconnect(this: &Serial) -> Option<::js_sys::Function>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , setter , js_class = "Serial" , js_name = onconnect)]
+    #[doc = "Setter for the `onconnect` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Serial/onconnect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Serial`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn set_onconnect(this: &Serial, value: Option<&::js_sys::Function>);
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "Serial" , js_name = ondisconnect)]
+    #[doc = "Getter for the `ondisconnect` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Serial/ondisconnect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Serial`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn ondisconnect(this: &Serial) -> Option<::js_sys::Function>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , setter , js_class = "Serial" , js_name = ondisconnect)]
+    #[doc = "Setter for the `ondisconnect` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Serial/ondisconnect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Serial`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn set_ondisconnect(this: &Serial, value: Option<&::js_sys::Function>);
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "Serial" , js_name = getPorts)]
+    #[doc = "The `getPorts()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Serial/getPorts)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Serial`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_ports(this: &Serial) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "Serial" , js_name = requestPort)]
+    #[doc = "The `requestPort()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Serial/requestPort)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Serial`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn request_port(this: &Serial) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "SerialPortRequestOptions")]
+    # [wasm_bindgen (method , structural , js_class = "Serial" , js_name = requestPort)]
+    #[doc = "The `requestPort()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Serial/requestPort)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Serial`, `SerialPortRequestOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn request_port_with_options(
+        this: &Serial,
+        options: &SerialPortRequestOptions,
+    ) -> ::js_sys::Promise;
+}
diff --git a/src/features/gen_SerialInputSignals.rs b/src/features/gen_SerialInputSignals.rs
new file mode 100644
index 0000000..dce79b5
--- /dev/null
+++ b/src/features/gen_SerialInputSignals.rs
@@ -0,0 +1,124 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = SerialInputSignals)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `SerialInputSignals` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialInputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type SerialInputSignals;
+}
+#[cfg(web_sys_unstable_apis)]
+impl SerialInputSignals {
+    #[doc = "Construct a new `SerialInputSignals`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialInputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new(
+        clear_to_send: bool,
+        data_carrier_detect: bool,
+        data_set_ready: bool,
+        ring_indicator: bool,
+    ) -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret.clear_to_send(clear_to_send);
+        ret.data_carrier_detect(data_carrier_detect);
+        ret.data_set_ready(data_set_ready);
+        ret.ring_indicator(ring_indicator);
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `clearToSend` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialInputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn clear_to_send(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("clearToSend"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `dataCarrierDetect` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialInputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn data_carrier_detect(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("dataCarrierDetect"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `dataSetReady` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialInputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn data_set_ready(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("dataSetReady"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `ringIndicator` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialInputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn ring_indicator(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("ringIndicator"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
diff --git a/src/features/gen_SerialOptions.rs b/src/features/gen_SerialOptions.rs
new file mode 100644
index 0000000..4f9f2b8
--- /dev/null
+++ b/src/features/gen_SerialOptions.rs
@@ -0,0 +1,157 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = SerialOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `SerialOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type SerialOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl SerialOptions {
+    #[doc = "Construct a new `SerialOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new(baud_rate: u32) -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret.baud_rate(baud_rate);
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `baudRate` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn baud_rate(&mut self, val: u32) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("baudRate"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `bufferSize` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn buffer_size(&mut self, val: u32) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("bufferSize"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `dataBits` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn data_bits(&mut self, val: u8) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("dataBits"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "FlowControlType")]
+    #[doc = "Change the `flowControl` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `FlowControlType`, `SerialOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn flow_control(&mut self, val: FlowControlType) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("flowControl"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "ParityType")]
+    #[doc = "Change the `parity` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ParityType`, `SerialOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn parity(&mut self, val: ParityType) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r =
+            ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("parity"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `stopBits` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn stop_bits(&mut self, val: u8) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("stopBits"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
diff --git a/src/features/gen_SerialOutputSignals.rs b/src/features/gen_SerialOutputSignals.rs
new file mode 100644
index 0000000..367e446
--- /dev/null
+++ b/src/features/gen_SerialOutputSignals.rs
@@ -0,0 +1,96 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = SerialOutputSignals)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `SerialOutputSignals` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOutputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type SerialOutputSignals;
+}
+#[cfg(web_sys_unstable_apis)]
+impl SerialOutputSignals {
+    #[doc = "Construct a new `SerialOutputSignals`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOutputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `break` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOutputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn break_(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("break"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `dataTerminalReady` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOutputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn data_terminal_ready(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("dataTerminalReady"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `requestToSend` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOutputSignals`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn request_to_send(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("requestToSend"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for SerialOutputSignals {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_SerialPort.rs b/src/features/gen_SerialPort.rs
new file mode 100644
index 0000000..7df4fe5
--- /dev/null
+++ b/src/features/gen_SerialPort.rs
@@ -0,0 +1,170 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = EventTarget , extends = :: js_sys :: Object , js_name = SerialPort , typescript_type = "SerialPort")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `SerialPort` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type SerialPort;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "SerialPort" , js_name = onconnect)]
+    #[doc = "Getter for the `onconnect` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/onconnect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn onconnect(this: &SerialPort) -> Option<::js_sys::Function>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , setter , js_class = "SerialPort" , js_name = onconnect)]
+    #[doc = "Setter for the `onconnect` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/onconnect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn set_onconnect(this: &SerialPort, value: Option<&::js_sys::Function>);
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "SerialPort" , js_name = ondisconnect)]
+    #[doc = "Getter for the `ondisconnect` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/ondisconnect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn ondisconnect(this: &SerialPort) -> Option<::js_sys::Function>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , setter , js_class = "SerialPort" , js_name = ondisconnect)]
+    #[doc = "Setter for the `ondisconnect` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/ondisconnect)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn set_ondisconnect(this: &SerialPort, value: Option<&::js_sys::Function>);
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "ReadableStream")]
+    # [wasm_bindgen (structural , method , getter , js_class = "SerialPort" , js_name = readable)]
+    #[doc = "Getter for the `readable` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/readable)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ReadableStream`, `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn readable(this: &SerialPort) -> ReadableStream;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WritableStream")]
+    # [wasm_bindgen (structural , method , getter , js_class = "SerialPort" , js_name = writable)]
+    #[doc = "Getter for the `writable` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/writable)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`, `WritableStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn writable(this: &SerialPort) -> WritableStream;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "SerialPort" , js_name = close)]
+    #[doc = "The `close()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/close)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn close(this: &SerialPort) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "SerialPort" , js_name = forget)]
+    #[doc = "The `forget()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/forget)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn forget(this: &SerialPort) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "SerialPortInfo")]
+    # [wasm_bindgen (method , structural , js_class = "SerialPort" , js_name = getInfo)]
+    #[doc = "The `getInfo()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/getInfo)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`, `SerialPortInfo`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_info(this: &SerialPort) -> SerialPortInfo;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "SerialPort" , js_name = getSignals)]
+    #[doc = "The `getSignals()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/getSignals)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_signals(this: &SerialPort) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "SerialOptions")]
+    # [wasm_bindgen (method , structural , js_class = "SerialPort" , js_name = open)]
+    #[doc = "The `open()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/open)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOptions`, `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn open(this: &SerialPort, options: &SerialOptions) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "SerialPort" , js_name = setSignals)]
+    #[doc = "The `setSignals()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/setSignals)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn set_signals(this: &SerialPort) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "SerialOutputSignals")]
+    # [wasm_bindgen (method , structural , js_class = "SerialPort" , js_name = setSignals)]
+    #[doc = "The `setSignals()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/SerialPort/setSignals)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialOutputSignals`, `SerialPort`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn set_signals_with_signals(
+        this: &SerialPort,
+        signals: &SerialOutputSignals,
+    ) -> ::js_sys::Promise;
+}
diff --git a/src/features/gen_SerialPortFilter.rs b/src/features/gen_SerialPortFilter.rs
new file mode 100644
index 0000000..c323a35
--- /dev/null
+++ b/src/features/gen_SerialPortFilter.rs
@@ -0,0 +1,79 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = SerialPortFilter)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `SerialPortFilter` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortFilter`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type SerialPortFilter;
+}
+#[cfg(web_sys_unstable_apis)]
+impl SerialPortFilter {
+    #[doc = "Construct a new `SerialPortFilter`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortFilter`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `usbProductId` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortFilter`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn usb_product_id(&mut self, val: u16) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("usbProductId"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `usbVendorId` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortFilter`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn usb_vendor_id(&mut self, val: u16) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("usbVendorId"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for SerialPortFilter {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_SerialPortInfo.rs b/src/features/gen_SerialPortInfo.rs
new file mode 100644
index 0000000..0ddd9ac
--- /dev/null
+++ b/src/features/gen_SerialPortInfo.rs
@@ -0,0 +1,79 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = SerialPortInfo)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `SerialPortInfo` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortInfo`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type SerialPortInfo;
+}
+#[cfg(web_sys_unstable_apis)]
+impl SerialPortInfo {
+    #[doc = "Construct a new `SerialPortInfo`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortInfo`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `usbProductId` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortInfo`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn usb_product_id(&mut self, val: u16) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("usbProductId"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `usbVendorId` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortInfo`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn usb_vendor_id(&mut self, val: u16) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("usbVendorId"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for SerialPortInfo {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_SerialPortRequestOptions.rs b/src/features/gen_SerialPortRequestOptions.rs
new file mode 100644
index 0000000..f87307f
--- /dev/null
+++ b/src/features/gen_SerialPortRequestOptions.rs
@@ -0,0 +1,58 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = SerialPortRequestOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `SerialPortRequestOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortRequestOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type SerialPortRequestOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl SerialPortRequestOptions {
+    #[doc = "Construct a new `SerialPortRequestOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortRequestOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `filters` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `SerialPortRequestOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn filters(&mut self, val: &::wasm_bindgen::JsValue) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("filters"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for SerialPortRequestOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_ServerSocketOptions.rs b/src/features/gen_ServerSocketOptions.rs
index c347b90..3db678f 100644
--- a/src/features/gen_ServerSocketOptions.rs
+++ b/src/features/gen_ServerSocketOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ServiceWorker.rs b/src/features/gen_ServiceWorker.rs
index 7e006d7..3cd41e6 100644
--- a/src/features/gen_ServiceWorker.rs
+++ b/src/features/gen_ServiceWorker.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ServiceWorkerContainer.rs b/src/features/gen_ServiceWorkerContainer.rs
index d2be819..de92b4c 100644
--- a/src/features/gen_ServiceWorkerContainer.rs
+++ b/src/features/gen_ServiceWorkerContainer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ServiceWorkerGlobalScope.rs b/src/features/gen_ServiceWorkerGlobalScope.rs
index e25ebbc..51c9014 100644
--- a/src/features/gen_ServiceWorkerGlobalScope.rs
+++ b/src/features/gen_ServiceWorkerGlobalScope.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ServiceWorkerRegistration.rs b/src/features/gen_ServiceWorkerRegistration.rs
index 0615536..1923ab8 100644
--- a/src/features/gen_ServiceWorkerRegistration.rs
+++ b/src/features/gen_ServiceWorkerRegistration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ServiceWorkerState.rs b/src/features/gen_ServiceWorkerState.rs
index 4dfcc61..cf37c47 100644
--- a/src/features/gen_ServiceWorkerState.rs
+++ b/src/features/gen_ServiceWorkerState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ServiceWorkerState` enum."]
diff --git a/src/features/gen_ServiceWorkerUpdateViaCache.rs b/src/features/gen_ServiceWorkerUpdateViaCache.rs
index 72de930..d667ab4 100644
--- a/src/features/gen_ServiceWorkerUpdateViaCache.rs
+++ b/src/features/gen_ServiceWorkerUpdateViaCache.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ServiceWorkerUpdateViaCache` enum."]
diff --git a/src/features/gen_ShadowRoot.rs b/src/features/gen_ShadowRoot.rs
index a0186ea..529ee18 100644
--- a/src/features/gen_ShadowRoot.rs
+++ b/src/features/gen_ShadowRoot.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ShadowRootInit.rs b/src/features/gen_ShadowRootInit.rs
index 762fc9e..50a7111 100644
--- a/src/features/gen_ShadowRootInit.rs
+++ b/src/features/gen_ShadowRootInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ShadowRootMode.rs b/src/features/gen_ShadowRootMode.rs
index baddd9f..c6cfca6 100644
--- a/src/features/gen_ShadowRootMode.rs
+++ b/src/features/gen_ShadowRootMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `ShadowRootMode` enum."]
diff --git a/src/features/gen_ShareData.rs b/src/features/gen_ShareData.rs
index 982cbd4..cc44f17 100644
--- a/src/features/gen_ShareData.rs
+++ b/src/features/gen_ShareData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_SharedWorker.rs b/src/features/gen_SharedWorker.rs
index 28c93e7..3ced2d8 100644
--- a/src/features/gen_SharedWorker.rs
+++ b/src/features/gen_SharedWorker.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SharedWorkerGlobalScope.rs b/src/features/gen_SharedWorkerGlobalScope.rs
index b77b9f8..9c68041 100644
--- a/src/features/gen_SharedWorkerGlobalScope.rs
+++ b/src/features/gen_SharedWorkerGlobalScope.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SignResponse.rs b/src/features/gen_SignResponse.rs
index 5b0680e..9d066b7 100644
--- a/src/features/gen_SignResponse.rs
+++ b/src/features/gen_SignResponse.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SocketElement.rs b/src/features/gen_SocketElement.rs
index 81bc62c..56269e3 100644
--- a/src/features/gen_SocketElement.rs
+++ b/src/features/gen_SocketElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SocketOptions.rs b/src/features/gen_SocketOptions.rs
index 103c82e..6754c53 100644
--- a/src/features/gen_SocketOptions.rs
+++ b/src/features/gen_SocketOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SocketReadyState.rs b/src/features/gen_SocketReadyState.rs
index 5c359de..00092b0 100644
--- a/src/features/gen_SocketReadyState.rs
+++ b/src/features/gen_SocketReadyState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `SocketReadyState` enum."]
diff --git a/src/features/gen_SocketsDict.rs b/src/features/gen_SocketsDict.rs
index 15e87f1..f760fdf 100644
--- a/src/features/gen_SocketsDict.rs
+++ b/src/features/gen_SocketsDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SourceBuffer.rs b/src/features/gen_SourceBuffer.rs
index 8405987..a67b532 100644
--- a/src/features/gen_SourceBuffer.rs
+++ b/src/features/gen_SourceBuffer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SourceBufferAppendMode.rs b/src/features/gen_SourceBufferAppendMode.rs
index 21eb0db..cdd97c9 100644
--- a/src/features/gen_SourceBufferAppendMode.rs
+++ b/src/features/gen_SourceBufferAppendMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `SourceBufferAppendMode` enum."]
diff --git a/src/features/gen_SourceBufferList.rs b/src/features/gen_SourceBufferList.rs
index 37e0e23..7bab0e8 100644
--- a/src/features/gen_SourceBufferList.rs
+++ b/src/features/gen_SourceBufferList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechGrammar.rs b/src/features/gen_SpeechGrammar.rs
index f9a24ac..346430e 100644
--- a/src/features/gen_SpeechGrammar.rs
+++ b/src/features/gen_SpeechGrammar.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechGrammarList.rs b/src/features/gen_SpeechGrammarList.rs
index 1f9e7a7..cd91e27 100644
--- a/src/features/gen_SpeechGrammarList.rs
+++ b/src/features/gen_SpeechGrammarList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechRecognition.rs b/src/features/gen_SpeechRecognition.rs
index 10bb4a7..c2e1d9f 100644
--- a/src/features/gen_SpeechRecognition.rs
+++ b/src/features/gen_SpeechRecognition.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechRecognitionAlternative.rs b/src/features/gen_SpeechRecognitionAlternative.rs
index 5aced7f..957b5c8 100644
--- a/src/features/gen_SpeechRecognitionAlternative.rs
+++ b/src/features/gen_SpeechRecognitionAlternative.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechRecognitionError.rs b/src/features/gen_SpeechRecognitionError.rs
index 3711127..d297aad 100644
--- a/src/features/gen_SpeechRecognitionError.rs
+++ b/src/features/gen_SpeechRecognitionError.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechRecognitionErrorCode.rs b/src/features/gen_SpeechRecognitionErrorCode.rs
index 4f72846..4bbf99e 100644
--- a/src/features/gen_SpeechRecognitionErrorCode.rs
+++ b/src/features/gen_SpeechRecognitionErrorCode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `SpeechRecognitionErrorCode` enum."]
diff --git a/src/features/gen_SpeechRecognitionErrorInit.rs b/src/features/gen_SpeechRecognitionErrorInit.rs
index 1a7d578..96677fa 100644
--- a/src/features/gen_SpeechRecognitionErrorInit.rs
+++ b/src/features/gen_SpeechRecognitionErrorInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechRecognitionEvent.rs b/src/features/gen_SpeechRecognitionEvent.rs
index 1e37c86..4b316db 100644
--- a/src/features/gen_SpeechRecognitionEvent.rs
+++ b/src/features/gen_SpeechRecognitionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechRecognitionEventInit.rs b/src/features/gen_SpeechRecognitionEventInit.rs
index 7ac78ec..75e71fd 100644
--- a/src/features/gen_SpeechRecognitionEventInit.rs
+++ b/src/features/gen_SpeechRecognitionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechRecognitionResult.rs b/src/features/gen_SpeechRecognitionResult.rs
index 1507533..c057f4b 100644
--- a/src/features/gen_SpeechRecognitionResult.rs
+++ b/src/features/gen_SpeechRecognitionResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechRecognitionResultList.rs b/src/features/gen_SpeechRecognitionResultList.rs
index 9201f8e..843e8dc 100644
--- a/src/features/gen_SpeechRecognitionResultList.rs
+++ b/src/features/gen_SpeechRecognitionResultList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechSynthesis.rs b/src/features/gen_SpeechSynthesis.rs
index 729f47d..ff36497 100644
--- a/src/features/gen_SpeechSynthesis.rs
+++ b/src/features/gen_SpeechSynthesis.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechSynthesisErrorCode.rs b/src/features/gen_SpeechSynthesisErrorCode.rs
index f6cf1bc..f024bf0 100644
--- a/src/features/gen_SpeechSynthesisErrorCode.rs
+++ b/src/features/gen_SpeechSynthesisErrorCode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `SpeechSynthesisErrorCode` enum."]
diff --git a/src/features/gen_SpeechSynthesisErrorEvent.rs b/src/features/gen_SpeechSynthesisErrorEvent.rs
index 9d63545..04ab04b 100644
--- a/src/features/gen_SpeechSynthesisErrorEvent.rs
+++ b/src/features/gen_SpeechSynthesisErrorEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechSynthesisErrorEventInit.rs b/src/features/gen_SpeechSynthesisErrorEventInit.rs
index 8bb2801..e53c1f0 100644
--- a/src/features/gen_SpeechSynthesisErrorEventInit.rs
+++ b/src/features/gen_SpeechSynthesisErrorEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechSynthesisEvent.rs b/src/features/gen_SpeechSynthesisEvent.rs
index 361fb54..29b8429 100644
--- a/src/features/gen_SpeechSynthesisEvent.rs
+++ b/src/features/gen_SpeechSynthesisEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechSynthesisEventInit.rs b/src/features/gen_SpeechSynthesisEventInit.rs
index 83ddf5e..be45a33 100644
--- a/src/features/gen_SpeechSynthesisEventInit.rs
+++ b/src/features/gen_SpeechSynthesisEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechSynthesisUtterance.rs b/src/features/gen_SpeechSynthesisUtterance.rs
index aa7eaac..0bd4f6e 100644
--- a/src/features/gen_SpeechSynthesisUtterance.rs
+++ b/src/features/gen_SpeechSynthesisUtterance.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SpeechSynthesisVoice.rs b/src/features/gen_SpeechSynthesisVoice.rs
index 2601275..a03faee 100644
--- a/src/features/gen_SpeechSynthesisVoice.rs
+++ b/src/features/gen_SpeechSynthesisVoice.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StereoPannerNode.rs b/src/features/gen_StereoPannerNode.rs
index 8accee5..c72bd5f 100644
--- a/src/features/gen_StereoPannerNode.rs
+++ b/src/features/gen_StereoPannerNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StereoPannerOptions.rs b/src/features/gen_StereoPannerOptions.rs
index f1996c6..460ac46 100644
--- a/src/features/gen_StereoPannerOptions.rs
+++ b/src/features/gen_StereoPannerOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Storage.rs b/src/features/gen_Storage.rs
index 2a287b7..3844e11 100644
--- a/src/features/gen_Storage.rs
+++ b/src/features/gen_Storage.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StorageEstimate.rs b/src/features/gen_StorageEstimate.rs
index 20cebe9..e36eae6 100644
--- a/src/features/gen_StorageEstimate.rs
+++ b/src/features/gen_StorageEstimate.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StorageEvent.rs b/src/features/gen_StorageEvent.rs
index 8030d40..55cfc05 100644
--- a/src/features/gen_StorageEvent.rs
+++ b/src/features/gen_StorageEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StorageEventInit.rs b/src/features/gen_StorageEventInit.rs
index d3509e5..3954404 100644
--- a/src/features/gen_StorageEventInit.rs
+++ b/src/features/gen_StorageEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StorageManager.rs b/src/features/gen_StorageManager.rs
index 9901c79..1c10d76 100644
--- a/src/features/gen_StorageManager.rs
+++ b/src/features/gen_StorageManager.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -18,6 +19,17 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `StorageManager`*"]
     pub fn estimate(this: &StorageManager) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "StorageManager" , js_name = getDirectory)]
+    #[doc = "The `getDirectory()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/getDirectory)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `StorageManager`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_directory(this: &StorageManager) -> ::js_sys::Promise;
     # [wasm_bindgen (catch , method , structural , js_class = "StorageManager" , js_name = persist)]
     #[doc = "The `persist()` method."]
     #[doc = ""]
diff --git a/src/features/gen_StorageType.rs b/src/features/gen_StorageType.rs
index 46eea4c..beb2704 100644
--- a/src/features/gen_StorageType.rs
+++ b/src/features/gen_StorageType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `StorageType` enum."]
diff --git a/src/features/gen_StreamPipeOptions.rs b/src/features/gen_StreamPipeOptions.rs
index b58cee2..924c036 100644
--- a/src/features/gen_StreamPipeOptions.rs
+++ b/src/features/gen_StreamPipeOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StyleRuleChangeEventInit.rs b/src/features/gen_StyleRuleChangeEventInit.rs
index 7a9d303..b2fe940 100644
--- a/src/features/gen_StyleRuleChangeEventInit.rs
+++ b/src/features/gen_StyleRuleChangeEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StyleSheet.rs b/src/features/gen_StyleSheet.rs
index b539c60..f9a896d 100644
--- a/src/features/gen_StyleSheet.rs
+++ b/src/features/gen_StyleSheet.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StyleSheetApplicableStateChangeEventInit.rs b/src/features/gen_StyleSheetApplicableStateChangeEventInit.rs
index b4ff3d1..42a9884 100644
--- a/src/features/gen_StyleSheetApplicableStateChangeEventInit.rs
+++ b/src/features/gen_StyleSheetApplicableStateChangeEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StyleSheetChangeEventInit.rs b/src/features/gen_StyleSheetChangeEventInit.rs
index 75b3235..0a38714 100644
--- a/src/features/gen_StyleSheetChangeEventInit.rs
+++ b/src/features/gen_StyleSheetChangeEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_StyleSheetList.rs b/src/features/gen_StyleSheetList.rs
index ce7c706..e4b9412 100644
--- a/src/features/gen_StyleSheetList.rs
+++ b/src/features/gen_StyleSheetList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SubmitEvent.rs b/src/features/gen_SubmitEvent.rs
index 3caca43..3b5f1b1 100644
--- a/src/features/gen_SubmitEvent.rs
+++ b/src/features/gen_SubmitEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SubmitEventInit.rs b/src/features/gen_SubmitEventInit.rs
index 6c5844f..ede5704 100644
--- a/src/features/gen_SubmitEventInit.rs
+++ b/src/features/gen_SubmitEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SubtleCrypto.rs b/src/features/gen_SubtleCrypto.rs
index 516e819..d4fcdeb 100644
--- a/src/features/gen_SubtleCrypto.rs
+++ b/src/features/gen_SubtleCrypto.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SupportedType.rs b/src/features/gen_SupportedType.rs
index dcc3d41..0d384a8 100644
--- a/src/features/gen_SupportedType.rs
+++ b/src/features/gen_SupportedType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `SupportedType` enum."]
diff --git a/src/features/gen_SvcOutputMetadata.rs b/src/features/gen_SvcOutputMetadata.rs
index aebaa20..16e9251 100644
--- a/src/features/gen_SvcOutputMetadata.rs
+++ b/src/features/gen_SvcOutputMetadata.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_SvgAngle.rs b/src/features/gen_SvgAngle.rs
index 3406dfd..e845ac6 100644
--- a/src/features/gen_SvgAngle.rs
+++ b/src/features/gen_SvgAngle.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimateElement.rs b/src/features/gen_SvgAnimateElement.rs
index 273f132..a4ba8ec 100644
--- a/src/features/gen_SvgAnimateElement.rs
+++ b/src/features/gen_SvgAnimateElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimateMotionElement.rs b/src/features/gen_SvgAnimateMotionElement.rs
index 2d29f19..567b3ab 100644
--- a/src/features/gen_SvgAnimateMotionElement.rs
+++ b/src/features/gen_SvgAnimateMotionElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimateTransformElement.rs b/src/features/gen_SvgAnimateTransformElement.rs
index c1d437c..2d9fb54 100644
--- a/src/features/gen_SvgAnimateTransformElement.rs
+++ b/src/features/gen_SvgAnimateTransformElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedAngle.rs b/src/features/gen_SvgAnimatedAngle.rs
index ffcfd63..ac9d4b5 100644
--- a/src/features/gen_SvgAnimatedAngle.rs
+++ b/src/features/gen_SvgAnimatedAngle.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedBoolean.rs b/src/features/gen_SvgAnimatedBoolean.rs
index 99b3d98..4031198 100644
--- a/src/features/gen_SvgAnimatedBoolean.rs
+++ b/src/features/gen_SvgAnimatedBoolean.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedEnumeration.rs b/src/features/gen_SvgAnimatedEnumeration.rs
index 2d9172d..f3613b8 100644
--- a/src/features/gen_SvgAnimatedEnumeration.rs
+++ b/src/features/gen_SvgAnimatedEnumeration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedInteger.rs b/src/features/gen_SvgAnimatedInteger.rs
index 89690a2..14c8f40 100644
--- a/src/features/gen_SvgAnimatedInteger.rs
+++ b/src/features/gen_SvgAnimatedInteger.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedLength.rs b/src/features/gen_SvgAnimatedLength.rs
index 8348f7d..0820e20 100644
--- a/src/features/gen_SvgAnimatedLength.rs
+++ b/src/features/gen_SvgAnimatedLength.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedLengthList.rs b/src/features/gen_SvgAnimatedLengthList.rs
index 9e5032f..335505f 100644
--- a/src/features/gen_SvgAnimatedLengthList.rs
+++ b/src/features/gen_SvgAnimatedLengthList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedNumber.rs b/src/features/gen_SvgAnimatedNumber.rs
index c38e204..0edaf1c 100644
--- a/src/features/gen_SvgAnimatedNumber.rs
+++ b/src/features/gen_SvgAnimatedNumber.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedNumberList.rs b/src/features/gen_SvgAnimatedNumberList.rs
index ec5ab37..7d46243 100644
--- a/src/features/gen_SvgAnimatedNumberList.rs
+++ b/src/features/gen_SvgAnimatedNumberList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedPreserveAspectRatio.rs b/src/features/gen_SvgAnimatedPreserveAspectRatio.rs
index 4dee971..543668c 100644
--- a/src/features/gen_SvgAnimatedPreserveAspectRatio.rs
+++ b/src/features/gen_SvgAnimatedPreserveAspectRatio.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedRect.rs b/src/features/gen_SvgAnimatedRect.rs
index 45daf5d..a9776c1 100644
--- a/src/features/gen_SvgAnimatedRect.rs
+++ b/src/features/gen_SvgAnimatedRect.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedString.rs b/src/features/gen_SvgAnimatedString.rs
index b02669a..921c4e8 100644
--- a/src/features/gen_SvgAnimatedString.rs
+++ b/src/features/gen_SvgAnimatedString.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimatedTransformList.rs b/src/features/gen_SvgAnimatedTransformList.rs
index 08e923b..930cc90 100644
--- a/src/features/gen_SvgAnimatedTransformList.rs
+++ b/src/features/gen_SvgAnimatedTransformList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgAnimationElement.rs b/src/features/gen_SvgAnimationElement.rs
index 6135908..b2a5199 100644
--- a/src/features/gen_SvgAnimationElement.rs
+++ b/src/features/gen_SvgAnimationElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgBoundingBoxOptions.rs b/src/features/gen_SvgBoundingBoxOptions.rs
index 81a1e43..c141da7 100644
--- a/src/features/gen_SvgBoundingBoxOptions.rs
+++ b/src/features/gen_SvgBoundingBoxOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgCircleElement.rs b/src/features/gen_SvgCircleElement.rs
index c3a6e92..a4772a6 100644
--- a/src/features/gen_SvgCircleElement.rs
+++ b/src/features/gen_SvgCircleElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgClipPathElement.rs b/src/features/gen_SvgClipPathElement.rs
index 3d11d34..907e2a1 100644
--- a/src/features/gen_SvgClipPathElement.rs
+++ b/src/features/gen_SvgClipPathElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgComponentTransferFunctionElement.rs b/src/features/gen_SvgComponentTransferFunctionElement.rs
index 9703e6f..a7863e0 100644
--- a/src/features/gen_SvgComponentTransferFunctionElement.rs
+++ b/src/features/gen_SvgComponentTransferFunctionElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgDefsElement.rs b/src/features/gen_SvgDefsElement.rs
index 49a1359..d7dceaa 100644
--- a/src/features/gen_SvgDefsElement.rs
+++ b/src/features/gen_SvgDefsElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgDescElement.rs b/src/features/gen_SvgDescElement.rs
index 5327c00..1a06691 100644
--- a/src/features/gen_SvgDescElement.rs
+++ b/src/features/gen_SvgDescElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgElement.rs b/src/features/gen_SvgElement.rs
index 2f1e1ab..d911161 100644
--- a/src/features/gen_SvgElement.rs
+++ b/src/features/gen_SvgElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgEllipseElement.rs b/src/features/gen_SvgEllipseElement.rs
index 9b05381..faba1ba 100644
--- a/src/features/gen_SvgEllipseElement.rs
+++ b/src/features/gen_SvgEllipseElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgFilterElement.rs b/src/features/gen_SvgFilterElement.rs
index 1f178ea..7fb25f9 100644
--- a/src/features/gen_SvgFilterElement.rs
+++ b/src/features/gen_SvgFilterElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgForeignObjectElement.rs b/src/features/gen_SvgForeignObjectElement.rs
index be0ba88..897e22a 100644
--- a/src/features/gen_SvgForeignObjectElement.rs
+++ b/src/features/gen_SvgForeignObjectElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgGeometryElement.rs b/src/features/gen_SvgGeometryElement.rs
index fe6116b..b31cba8 100644
--- a/src/features/gen_SvgGeometryElement.rs
+++ b/src/features/gen_SvgGeometryElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgGradientElement.rs b/src/features/gen_SvgGradientElement.rs
index 7a46835..8000070 100644
--- a/src/features/gen_SvgGradientElement.rs
+++ b/src/features/gen_SvgGradientElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgGraphicsElement.rs b/src/features/gen_SvgGraphicsElement.rs
index 96de914..d9b5cf2 100644
--- a/src/features/gen_SvgGraphicsElement.rs
+++ b/src/features/gen_SvgGraphicsElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgImageElement.rs b/src/features/gen_SvgImageElement.rs
index 9913478..dd909e0 100644
--- a/src/features/gen_SvgImageElement.rs
+++ b/src/features/gen_SvgImageElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgLength.rs b/src/features/gen_SvgLength.rs
index 63a3d36..a2e87fd 100644
--- a/src/features/gen_SvgLength.rs
+++ b/src/features/gen_SvgLength.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgLengthList.rs b/src/features/gen_SvgLengthList.rs
index 2672c00..51289d8 100644
--- a/src/features/gen_SvgLengthList.rs
+++ b/src/features/gen_SvgLengthList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgLineElement.rs b/src/features/gen_SvgLineElement.rs
index ab2ce69..f6a0969 100644
--- a/src/features/gen_SvgLineElement.rs
+++ b/src/features/gen_SvgLineElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgLinearGradientElement.rs b/src/features/gen_SvgLinearGradientElement.rs
index e589daa..04014b3 100644
--- a/src/features/gen_SvgLinearGradientElement.rs
+++ b/src/features/gen_SvgLinearGradientElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgMarkerElement.rs b/src/features/gen_SvgMarkerElement.rs
index 0921bca..445dce2 100644
--- a/src/features/gen_SvgMarkerElement.rs
+++ b/src/features/gen_SvgMarkerElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgMaskElement.rs b/src/features/gen_SvgMaskElement.rs
index 9c507c5..05f4d88 100644
--- a/src/features/gen_SvgMaskElement.rs
+++ b/src/features/gen_SvgMaskElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgMatrix.rs b/src/features/gen_SvgMatrix.rs
index ca82392..cc6ffcb 100644
--- a/src/features/gen_SvgMatrix.rs
+++ b/src/features/gen_SvgMatrix.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgMetadataElement.rs b/src/features/gen_SvgMetadataElement.rs
index d5f4c5c..ec242c0 100644
--- a/src/features/gen_SvgMetadataElement.rs
+++ b/src/features/gen_SvgMetadataElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgNumber.rs b/src/features/gen_SvgNumber.rs
index 2cb9ffa..8ac5452 100644
--- a/src/features/gen_SvgNumber.rs
+++ b/src/features/gen_SvgNumber.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgNumberList.rs b/src/features/gen_SvgNumberList.rs
index cda161a..bf493a4 100644
--- a/src/features/gen_SvgNumberList.rs
+++ b/src/features/gen_SvgNumberList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathElement.rs b/src/features/gen_SvgPathElement.rs
index 7cd150f..63f1898 100644
--- a/src/features/gen_SvgPathElement.rs
+++ b/src/features/gen_SvgPathElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSeg.rs b/src/features/gen_SvgPathSeg.rs
index 2c9dc63..57b15fb 100644
--- a/src/features/gen_SvgPathSeg.rs
+++ b/src/features/gen_SvgPathSeg.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegArcAbs.rs b/src/features/gen_SvgPathSegArcAbs.rs
index 36b440f..1a438d4 100644
--- a/src/features/gen_SvgPathSegArcAbs.rs
+++ b/src/features/gen_SvgPathSegArcAbs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegArcRel.rs b/src/features/gen_SvgPathSegArcRel.rs
index a93b871..725e641 100644
--- a/src/features/gen_SvgPathSegArcRel.rs
+++ b/src/features/gen_SvgPathSegArcRel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegClosePath.rs b/src/features/gen_SvgPathSegClosePath.rs
index b9892c3..9373095 100644
--- a/src/features/gen_SvgPathSegClosePath.rs
+++ b/src/features/gen_SvgPathSegClosePath.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegCurvetoCubicAbs.rs b/src/features/gen_SvgPathSegCurvetoCubicAbs.rs
index fbeb688..b79861e 100644
--- a/src/features/gen_SvgPathSegCurvetoCubicAbs.rs
+++ b/src/features/gen_SvgPathSegCurvetoCubicAbs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegCurvetoCubicRel.rs b/src/features/gen_SvgPathSegCurvetoCubicRel.rs
index f3ee149..7839843 100644
--- a/src/features/gen_SvgPathSegCurvetoCubicRel.rs
+++ b/src/features/gen_SvgPathSegCurvetoCubicRel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegCurvetoCubicSmoothAbs.rs b/src/features/gen_SvgPathSegCurvetoCubicSmoothAbs.rs
index 0789691..d71e6a4 100644
--- a/src/features/gen_SvgPathSegCurvetoCubicSmoothAbs.rs
+++ b/src/features/gen_SvgPathSegCurvetoCubicSmoothAbs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegCurvetoCubicSmoothRel.rs b/src/features/gen_SvgPathSegCurvetoCubicSmoothRel.rs
index d2b03a2..685e35f 100644
--- a/src/features/gen_SvgPathSegCurvetoCubicSmoothRel.rs
+++ b/src/features/gen_SvgPathSegCurvetoCubicSmoothRel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegCurvetoQuadraticAbs.rs b/src/features/gen_SvgPathSegCurvetoQuadraticAbs.rs
index 4770f97..e881cb7 100644
--- a/src/features/gen_SvgPathSegCurvetoQuadraticAbs.rs
+++ b/src/features/gen_SvgPathSegCurvetoQuadraticAbs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegCurvetoQuadraticRel.rs b/src/features/gen_SvgPathSegCurvetoQuadraticRel.rs
index 6a3457d..968f2b4 100644
--- a/src/features/gen_SvgPathSegCurvetoQuadraticRel.rs
+++ b/src/features/gen_SvgPathSegCurvetoQuadraticRel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegCurvetoQuadraticSmoothAbs.rs b/src/features/gen_SvgPathSegCurvetoQuadraticSmoothAbs.rs
index 9f19b4f..a9ca930 100644
--- a/src/features/gen_SvgPathSegCurvetoQuadraticSmoothAbs.rs
+++ b/src/features/gen_SvgPathSegCurvetoQuadraticSmoothAbs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegCurvetoQuadraticSmoothRel.rs b/src/features/gen_SvgPathSegCurvetoQuadraticSmoothRel.rs
index eadff98..b6e2817 100644
--- a/src/features/gen_SvgPathSegCurvetoQuadraticSmoothRel.rs
+++ b/src/features/gen_SvgPathSegCurvetoQuadraticSmoothRel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegLinetoAbs.rs b/src/features/gen_SvgPathSegLinetoAbs.rs
index 6f6b930..aa933fd 100644
--- a/src/features/gen_SvgPathSegLinetoAbs.rs
+++ b/src/features/gen_SvgPathSegLinetoAbs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegLinetoHorizontalAbs.rs b/src/features/gen_SvgPathSegLinetoHorizontalAbs.rs
index fb6bba6..7c674e6 100644
--- a/src/features/gen_SvgPathSegLinetoHorizontalAbs.rs
+++ b/src/features/gen_SvgPathSegLinetoHorizontalAbs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegLinetoHorizontalRel.rs b/src/features/gen_SvgPathSegLinetoHorizontalRel.rs
index 461458d..d95770e 100644
--- a/src/features/gen_SvgPathSegLinetoHorizontalRel.rs
+++ b/src/features/gen_SvgPathSegLinetoHorizontalRel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegLinetoRel.rs b/src/features/gen_SvgPathSegLinetoRel.rs
index 64daaf4..be628f8 100644
--- a/src/features/gen_SvgPathSegLinetoRel.rs
+++ b/src/features/gen_SvgPathSegLinetoRel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegLinetoVerticalAbs.rs b/src/features/gen_SvgPathSegLinetoVerticalAbs.rs
index 39a50d6..d02f005 100644
--- a/src/features/gen_SvgPathSegLinetoVerticalAbs.rs
+++ b/src/features/gen_SvgPathSegLinetoVerticalAbs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegLinetoVerticalRel.rs b/src/features/gen_SvgPathSegLinetoVerticalRel.rs
index 98c9d07..cbe51e2 100644
--- a/src/features/gen_SvgPathSegLinetoVerticalRel.rs
+++ b/src/features/gen_SvgPathSegLinetoVerticalRel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegList.rs b/src/features/gen_SvgPathSegList.rs
index 76ae0db..d5a4eb0 100644
--- a/src/features/gen_SvgPathSegList.rs
+++ b/src/features/gen_SvgPathSegList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegMovetoAbs.rs b/src/features/gen_SvgPathSegMovetoAbs.rs
index ae2f75a..147747d 100644
--- a/src/features/gen_SvgPathSegMovetoAbs.rs
+++ b/src/features/gen_SvgPathSegMovetoAbs.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPathSegMovetoRel.rs b/src/features/gen_SvgPathSegMovetoRel.rs
index d65c052..ba8d2e3 100644
--- a/src/features/gen_SvgPathSegMovetoRel.rs
+++ b/src/features/gen_SvgPathSegMovetoRel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPatternElement.rs b/src/features/gen_SvgPatternElement.rs
index 2e8575b..878d893 100644
--- a/src/features/gen_SvgPatternElement.rs
+++ b/src/features/gen_SvgPatternElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPoint.rs b/src/features/gen_SvgPoint.rs
index 8a328ff..52a6ed2 100644
--- a/src/features/gen_SvgPoint.rs
+++ b/src/features/gen_SvgPoint.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPointList.rs b/src/features/gen_SvgPointList.rs
index fde144f..1f8050f 100644
--- a/src/features/gen_SvgPointList.rs
+++ b/src/features/gen_SvgPointList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPolygonElement.rs b/src/features/gen_SvgPolygonElement.rs
index 1a1140c..4b51bf5 100644
--- a/src/features/gen_SvgPolygonElement.rs
+++ b/src/features/gen_SvgPolygonElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPolylineElement.rs b/src/features/gen_SvgPolylineElement.rs
index ff3abdc..97507fc 100644
--- a/src/features/gen_SvgPolylineElement.rs
+++ b/src/features/gen_SvgPolylineElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgPreserveAspectRatio.rs b/src/features/gen_SvgPreserveAspectRatio.rs
index 57fef2b..4ab92d4 100644
--- a/src/features/gen_SvgPreserveAspectRatio.rs
+++ b/src/features/gen_SvgPreserveAspectRatio.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgRadialGradientElement.rs b/src/features/gen_SvgRadialGradientElement.rs
index 79627e0..7cdd98e 100644
--- a/src/features/gen_SvgRadialGradientElement.rs
+++ b/src/features/gen_SvgRadialGradientElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgRect.rs b/src/features/gen_SvgRect.rs
index 3ee9798..7d89500 100644
--- a/src/features/gen_SvgRect.rs
+++ b/src/features/gen_SvgRect.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgRectElement.rs b/src/features/gen_SvgRectElement.rs
index c019621..9be592c 100644
--- a/src/features/gen_SvgRectElement.rs
+++ b/src/features/gen_SvgRectElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgScriptElement.rs b/src/features/gen_SvgScriptElement.rs
index 0892cbc..d888f9b 100644
--- a/src/features/gen_SvgScriptElement.rs
+++ b/src/features/gen_SvgScriptElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgSetElement.rs b/src/features/gen_SvgSetElement.rs
index 3fe789e..b067247 100644
--- a/src/features/gen_SvgSetElement.rs
+++ b/src/features/gen_SvgSetElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgStopElement.rs b/src/features/gen_SvgStopElement.rs
index 3bbd452..e446356 100644
--- a/src/features/gen_SvgStopElement.rs
+++ b/src/features/gen_SvgStopElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgStringList.rs b/src/features/gen_SvgStringList.rs
index 57362b9..5713070 100644
--- a/src/features/gen_SvgStringList.rs
+++ b/src/features/gen_SvgStringList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgStyleElement.rs b/src/features/gen_SvgStyleElement.rs
index 2c36d59..23c0f51 100644
--- a/src/features/gen_SvgStyleElement.rs
+++ b/src/features/gen_SvgStyleElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgSwitchElement.rs b/src/features/gen_SvgSwitchElement.rs
index 62ba993..925d668 100644
--- a/src/features/gen_SvgSwitchElement.rs
+++ b/src/features/gen_SvgSwitchElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgSymbolElement.rs b/src/features/gen_SvgSymbolElement.rs
index 2fd29f0..e9a4874 100644
--- a/src/features/gen_SvgSymbolElement.rs
+++ b/src/features/gen_SvgSymbolElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgTextContentElement.rs b/src/features/gen_SvgTextContentElement.rs
index ac2abf5..2aa8553 100644
--- a/src/features/gen_SvgTextContentElement.rs
+++ b/src/features/gen_SvgTextContentElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgTextElement.rs b/src/features/gen_SvgTextElement.rs
index 5b046b0..2a937a5 100644
--- a/src/features/gen_SvgTextElement.rs
+++ b/src/features/gen_SvgTextElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgTextPathElement.rs b/src/features/gen_SvgTextPathElement.rs
index 9e274b3..1e7ce1d 100644
--- a/src/features/gen_SvgTextPathElement.rs
+++ b/src/features/gen_SvgTextPathElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgTextPositioningElement.rs b/src/features/gen_SvgTextPositioningElement.rs
index ee5d40d..42a8102 100644
--- a/src/features/gen_SvgTextPositioningElement.rs
+++ b/src/features/gen_SvgTextPositioningElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgTitleElement.rs b/src/features/gen_SvgTitleElement.rs
index 4f15b6e..34c3a7d 100644
--- a/src/features/gen_SvgTitleElement.rs
+++ b/src/features/gen_SvgTitleElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgTransform.rs b/src/features/gen_SvgTransform.rs
index 0061559..1fcc2fc 100644
--- a/src/features/gen_SvgTransform.rs
+++ b/src/features/gen_SvgTransform.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgTransformList.rs b/src/features/gen_SvgTransformList.rs
index 66cfac0..618a78e 100644
--- a/src/features/gen_SvgTransformList.rs
+++ b/src/features/gen_SvgTransformList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgUnitTypes.rs b/src/features/gen_SvgUnitTypes.rs
index d5d1bf3..fa9160a 100644
--- a/src/features/gen_SvgUnitTypes.rs
+++ b/src/features/gen_SvgUnitTypes.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgUseElement.rs b/src/features/gen_SvgUseElement.rs
index 4410c45..73600c0 100644
--- a/src/features/gen_SvgUseElement.rs
+++ b/src/features/gen_SvgUseElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgViewElement.rs b/src/features/gen_SvgViewElement.rs
index 64baf02..a80d9bf 100644
--- a/src/features/gen_SvgViewElement.rs
+++ b/src/features/gen_SvgViewElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgZoomAndPan.rs b/src/features/gen_SvgZoomAndPan.rs
index 187d2f0..a0794d7 100644
--- a/src/features/gen_SvgZoomAndPan.rs
+++ b/src/features/gen_SvgZoomAndPan.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgaElement.rs b/src/features/gen_SvgaElement.rs
index e866e2f..efbf2c9 100644
--- a/src/features/gen_SvgaElement.rs
+++ b/src/features/gen_SvgaElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeBlendElement.rs b/src/features/gen_SvgfeBlendElement.rs
index 97ce397..36d2eec 100644
--- a/src/features/gen_SvgfeBlendElement.rs
+++ b/src/features/gen_SvgfeBlendElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeColorMatrixElement.rs b/src/features/gen_SvgfeColorMatrixElement.rs
index c951981..4c07492 100644
--- a/src/features/gen_SvgfeColorMatrixElement.rs
+++ b/src/features/gen_SvgfeColorMatrixElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeComponentTransferElement.rs b/src/features/gen_SvgfeComponentTransferElement.rs
index dda9bff..b78b3fd 100644
--- a/src/features/gen_SvgfeComponentTransferElement.rs
+++ b/src/features/gen_SvgfeComponentTransferElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeCompositeElement.rs b/src/features/gen_SvgfeCompositeElement.rs
index 23f4db0..a6e3bf4 100644
--- a/src/features/gen_SvgfeCompositeElement.rs
+++ b/src/features/gen_SvgfeCompositeElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeConvolveMatrixElement.rs b/src/features/gen_SvgfeConvolveMatrixElement.rs
index 605a9ac..ab6d46b 100644
--- a/src/features/gen_SvgfeConvolveMatrixElement.rs
+++ b/src/features/gen_SvgfeConvolveMatrixElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeDiffuseLightingElement.rs b/src/features/gen_SvgfeDiffuseLightingElement.rs
index 6ac26b3..3429d60 100644
--- a/src/features/gen_SvgfeDiffuseLightingElement.rs
+++ b/src/features/gen_SvgfeDiffuseLightingElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeDisplacementMapElement.rs b/src/features/gen_SvgfeDisplacementMapElement.rs
index f533134..8eff0b7 100644
--- a/src/features/gen_SvgfeDisplacementMapElement.rs
+++ b/src/features/gen_SvgfeDisplacementMapElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeDistantLightElement.rs b/src/features/gen_SvgfeDistantLightElement.rs
index 424df95..52dbdf6 100644
--- a/src/features/gen_SvgfeDistantLightElement.rs
+++ b/src/features/gen_SvgfeDistantLightElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeDropShadowElement.rs b/src/features/gen_SvgfeDropShadowElement.rs
index d48d5d6..77d96fe 100644
--- a/src/features/gen_SvgfeDropShadowElement.rs
+++ b/src/features/gen_SvgfeDropShadowElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeFloodElement.rs b/src/features/gen_SvgfeFloodElement.rs
index 392ebac..77047a4 100644
--- a/src/features/gen_SvgfeFloodElement.rs
+++ b/src/features/gen_SvgfeFloodElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeFuncAElement.rs b/src/features/gen_SvgfeFuncAElement.rs
index 688c97d..57c2e0b 100644
--- a/src/features/gen_SvgfeFuncAElement.rs
+++ b/src/features/gen_SvgfeFuncAElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeFuncBElement.rs b/src/features/gen_SvgfeFuncBElement.rs
index d0ebf84..322663f 100644
--- a/src/features/gen_SvgfeFuncBElement.rs
+++ b/src/features/gen_SvgfeFuncBElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeFuncGElement.rs b/src/features/gen_SvgfeFuncGElement.rs
index dc61bf5..2332e71 100644
--- a/src/features/gen_SvgfeFuncGElement.rs
+++ b/src/features/gen_SvgfeFuncGElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeFuncRElement.rs b/src/features/gen_SvgfeFuncRElement.rs
index de260ac..a87e383 100644
--- a/src/features/gen_SvgfeFuncRElement.rs
+++ b/src/features/gen_SvgfeFuncRElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeGaussianBlurElement.rs b/src/features/gen_SvgfeGaussianBlurElement.rs
index 88cb074..7e4d094 100644
--- a/src/features/gen_SvgfeGaussianBlurElement.rs
+++ b/src/features/gen_SvgfeGaussianBlurElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeImageElement.rs b/src/features/gen_SvgfeImageElement.rs
index efb101b..613b41b 100644
--- a/src/features/gen_SvgfeImageElement.rs
+++ b/src/features/gen_SvgfeImageElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeMergeElement.rs b/src/features/gen_SvgfeMergeElement.rs
index 7ff05f3..7669d64 100644
--- a/src/features/gen_SvgfeMergeElement.rs
+++ b/src/features/gen_SvgfeMergeElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeMergeNodeElement.rs b/src/features/gen_SvgfeMergeNodeElement.rs
index ed556e1..8aa4c4a 100644
--- a/src/features/gen_SvgfeMergeNodeElement.rs
+++ b/src/features/gen_SvgfeMergeNodeElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeMorphologyElement.rs b/src/features/gen_SvgfeMorphologyElement.rs
index 5170c04..2ccab08 100644
--- a/src/features/gen_SvgfeMorphologyElement.rs
+++ b/src/features/gen_SvgfeMorphologyElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeOffsetElement.rs b/src/features/gen_SvgfeOffsetElement.rs
index 3baf900..7c5b017 100644
--- a/src/features/gen_SvgfeOffsetElement.rs
+++ b/src/features/gen_SvgfeOffsetElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfePointLightElement.rs b/src/features/gen_SvgfePointLightElement.rs
index 2c417c9..d3b3e90 100644
--- a/src/features/gen_SvgfePointLightElement.rs
+++ b/src/features/gen_SvgfePointLightElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeSpecularLightingElement.rs b/src/features/gen_SvgfeSpecularLightingElement.rs
index 56bc660..5a658be 100644
--- a/src/features/gen_SvgfeSpecularLightingElement.rs
+++ b/src/features/gen_SvgfeSpecularLightingElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeSpotLightElement.rs b/src/features/gen_SvgfeSpotLightElement.rs
index 28da387..e7d5b0f 100644
--- a/src/features/gen_SvgfeSpotLightElement.rs
+++ b/src/features/gen_SvgfeSpotLightElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeTileElement.rs b/src/features/gen_SvgfeTileElement.rs
index cad40bd..041990f 100644
--- a/src/features/gen_SvgfeTileElement.rs
+++ b/src/features/gen_SvgfeTileElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgfeTurbulenceElement.rs b/src/features/gen_SvgfeTurbulenceElement.rs
index 6e91ac5..4796153 100644
--- a/src/features/gen_SvgfeTurbulenceElement.rs
+++ b/src/features/gen_SvgfeTurbulenceElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvggElement.rs b/src/features/gen_SvggElement.rs
index d7d35dc..0668e10 100644
--- a/src/features/gen_SvggElement.rs
+++ b/src/features/gen_SvggElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgmPathElement.rs b/src/features/gen_SvgmPathElement.rs
index adacfba..007ea79 100644
--- a/src/features/gen_SvgmPathElement.rs
+++ b/src/features/gen_SvgmPathElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgsvgElement.rs b/src/features/gen_SvgsvgElement.rs
index b797835..b62f2f6 100644
--- a/src/features/gen_SvgsvgElement.rs
+++ b/src/features/gen_SvgsvgElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_SvgtSpanElement.rs b/src/features/gen_SvgtSpanElement.rs
index fc94301..5a8cf8c 100644
--- a/src/features/gen_SvgtSpanElement.rs
+++ b/src/features/gen_SvgtSpanElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TcpReadyState.rs b/src/features/gen_TcpReadyState.rs
index 7dff83b..a4ff84a 100644
--- a/src/features/gen_TcpReadyState.rs
+++ b/src/features/gen_TcpReadyState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `TcpReadyState` enum."]
diff --git a/src/features/gen_TcpServerSocket.rs b/src/features/gen_TcpServerSocket.rs
index 0904f2d..614fbfa 100644
--- a/src/features/gen_TcpServerSocket.rs
+++ b/src/features/gen_TcpServerSocket.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TcpServerSocketEvent.rs b/src/features/gen_TcpServerSocketEvent.rs
index 4faa0de..fe0493e 100644
--- a/src/features/gen_TcpServerSocketEvent.rs
+++ b/src/features/gen_TcpServerSocketEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TcpServerSocketEventInit.rs b/src/features/gen_TcpServerSocketEventInit.rs
index f0c7dcd..ecea5b0 100644
--- a/src/features/gen_TcpServerSocketEventInit.rs
+++ b/src/features/gen_TcpServerSocketEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TcpSocket.rs b/src/features/gen_TcpSocket.rs
index 3631e80..85c4a55 100644
--- a/src/features/gen_TcpSocket.rs
+++ b/src/features/gen_TcpSocket.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TcpSocketBinaryType.rs b/src/features/gen_TcpSocketBinaryType.rs
index 762dd9a..7951276 100644
--- a/src/features/gen_TcpSocketBinaryType.rs
+++ b/src/features/gen_TcpSocketBinaryType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `TcpSocketBinaryType` enum."]
diff --git a/src/features/gen_TcpSocketErrorEvent.rs b/src/features/gen_TcpSocketErrorEvent.rs
index a2d1daf..e87fdf4 100644
--- a/src/features/gen_TcpSocketErrorEvent.rs
+++ b/src/features/gen_TcpSocketErrorEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TcpSocketErrorEventInit.rs b/src/features/gen_TcpSocketErrorEventInit.rs
index cfe92df..2da5e7e 100644
--- a/src/features/gen_TcpSocketErrorEventInit.rs
+++ b/src/features/gen_TcpSocketErrorEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TcpSocketEvent.rs b/src/features/gen_TcpSocketEvent.rs
index 37623fb..e9ade38 100644
--- a/src/features/gen_TcpSocketEvent.rs
+++ b/src/features/gen_TcpSocketEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TcpSocketEventInit.rs b/src/features/gen_TcpSocketEventInit.rs
index e62fe98..e98db78 100644
--- a/src/features/gen_TcpSocketEventInit.rs
+++ b/src/features/gen_TcpSocketEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Text.rs b/src/features/gen_Text.rs
index 12d84e1..d6cb82f 100644
--- a/src/features/gen_Text.rs
+++ b/src/features/gen_Text.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TextDecodeOptions.rs b/src/features/gen_TextDecodeOptions.rs
index 65277ee..47a0df2 100644
--- a/src/features/gen_TextDecodeOptions.rs
+++ b/src/features/gen_TextDecodeOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TextDecoder.rs b/src/features/gen_TextDecoder.rs
index 7eb50d2..c1f55c9 100644
--- a/src/features/gen_TextDecoder.rs
+++ b/src/features/gen_TextDecoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TextDecoderOptions.rs b/src/features/gen_TextDecoderOptions.rs
index 7a89d6b..1ec3b8f 100644
--- a/src/features/gen_TextDecoderOptions.rs
+++ b/src/features/gen_TextDecoderOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TextEncoder.rs b/src/features/gen_TextEncoder.rs
index efaea87..4a7a815 100644
--- a/src/features/gen_TextEncoder.rs
+++ b/src/features/gen_TextEncoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TextMetrics.rs b/src/features/gen_TextMetrics.rs
index fe71817..24aa5cc 100644
--- a/src/features/gen_TextMetrics.rs
+++ b/src/features/gen_TextMetrics.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TextTrack.rs b/src/features/gen_TextTrack.rs
index 9e3f5be..73443ab 100644
--- a/src/features/gen_TextTrack.rs
+++ b/src/features/gen_TextTrack.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TextTrackCue.rs b/src/features/gen_TextTrackCue.rs
index c73dfaa..c1a1fe7 100644
--- a/src/features/gen_TextTrackCue.rs
+++ b/src/features/gen_TextTrackCue.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TextTrackCueList.rs b/src/features/gen_TextTrackCueList.rs
index 82e4686..cc4222e 100644
--- a/src/features/gen_TextTrackCueList.rs
+++ b/src/features/gen_TextTrackCueList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TextTrackKind.rs b/src/features/gen_TextTrackKind.rs
index ce933e6..5f81e64 100644
--- a/src/features/gen_TextTrackKind.rs
+++ b/src/features/gen_TextTrackKind.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `TextTrackKind` enum."]
diff --git a/src/features/gen_TextTrackList.rs b/src/features/gen_TextTrackList.rs
index d3f55a1..646ffeb 100644
--- a/src/features/gen_TextTrackList.rs
+++ b/src/features/gen_TextTrackList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TextTrackMode.rs b/src/features/gen_TextTrackMode.rs
index f71fc08..95b9455 100644
--- a/src/features/gen_TextTrackMode.rs
+++ b/src/features/gen_TextTrackMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `TextTrackMode` enum."]
diff --git a/src/features/gen_TimeEvent.rs b/src/features/gen_TimeEvent.rs
index bf89b71..5a26c02 100644
--- a/src/features/gen_TimeEvent.rs
+++ b/src/features/gen_TimeEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TimeRanges.rs b/src/features/gen_TimeRanges.rs
index 96e3077..c7f04c4 100644
--- a/src/features/gen_TimeRanges.rs
+++ b/src/features/gen_TimeRanges.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Touch.rs b/src/features/gen_Touch.rs
index 2f364ed..ca946be 100644
--- a/src/features/gen_Touch.rs
+++ b/src/features/gen_Touch.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TouchEvent.rs b/src/features/gen_TouchEvent.rs
index 55f2174..5f11ef2 100644
--- a/src/features/gen_TouchEvent.rs
+++ b/src/features/gen_TouchEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TouchEventInit.rs b/src/features/gen_TouchEventInit.rs
index 4923124..4152357 100644
--- a/src/features/gen_TouchEventInit.rs
+++ b/src/features/gen_TouchEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TouchInit.rs b/src/features/gen_TouchInit.rs
index b64ce7a..1defc3f 100644
--- a/src/features/gen_TouchInit.rs
+++ b/src/features/gen_TouchInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TouchList.rs b/src/features/gen_TouchList.rs
index a4415d9..b78c261 100644
--- a/src/features/gen_TouchList.rs
+++ b/src/features/gen_TouchList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TrackEvent.rs b/src/features/gen_TrackEvent.rs
index 2325cb3..9b01abe 100644
--- a/src/features/gen_TrackEvent.rs
+++ b/src/features/gen_TrackEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TrackEventInit.rs b/src/features/gen_TrackEventInit.rs
index 48a9135..23ea70c 100644
--- a/src/features/gen_TrackEventInit.rs
+++ b/src/features/gen_TrackEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TransformStream.rs b/src/features/gen_TransformStream.rs
index 9dd64d4..d9882d7 100644
--- a/src/features/gen_TransformStream.rs
+++ b/src/features/gen_TransformStream.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TransformStreamDefaultController.rs b/src/features/gen_TransformStreamDefaultController.rs
index 6e47229..1d7ec87 100644
--- a/src/features/gen_TransformStreamDefaultController.rs
+++ b/src/features/gen_TransformStreamDefaultController.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Transformer.rs b/src/features/gen_Transformer.rs
index c0dddae..c53825c 100644
--- a/src/features/gen_Transformer.rs
+++ b/src/features/gen_Transformer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TransitionEvent.rs b/src/features/gen_TransitionEvent.rs
index c6c98bb..65b9ab3 100644
--- a/src/features/gen_TransitionEvent.rs
+++ b/src/features/gen_TransitionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TransitionEventInit.rs b/src/features/gen_TransitionEventInit.rs
index 1681b9c..fb65a01 100644
--- a/src/features/gen_TransitionEventInit.rs
+++ b/src/features/gen_TransitionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Transport.rs b/src/features/gen_Transport.rs
index 9b9389c..ae35abf 100644
--- a/src/features/gen_Transport.rs
+++ b/src/features/gen_Transport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `Transport` enum."]
diff --git a/src/features/gen_TreeBoxObject.rs b/src/features/gen_TreeBoxObject.rs
index 74e6b3e..4f56259 100644
--- a/src/features/gen_TreeBoxObject.rs
+++ b/src/features/gen_TreeBoxObject.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TreeCellInfo.rs b/src/features/gen_TreeCellInfo.rs
index 9d07944..a38c1d7 100644
--- a/src/features/gen_TreeCellInfo.rs
+++ b/src/features/gen_TreeCellInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TreeView.rs b/src/features/gen_TreeView.rs
index 50b334a..036e59a 100644
--- a/src/features/gen_TreeView.rs
+++ b/src/features/gen_TreeView.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_TreeWalker.rs b/src/features/gen_TreeWalker.rs
index 3838270..7a3f4cd 100644
--- a/src/features/gen_TreeWalker.rs
+++ b/src/features/gen_TreeWalker.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_U2f.rs b/src/features/gen_U2f.rs
index 775377d..2c56e10 100644
--- a/src/features/gen_U2f.rs
+++ b/src/features/gen_U2f.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_U2fClientData.rs b/src/features/gen_U2fClientData.rs
index 2a4de18..f20f2f7 100644
--- a/src/features/gen_U2fClientData.rs
+++ b/src/features/gen_U2fClientData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_UdpMessageEventInit.rs b/src/features/gen_UdpMessageEventInit.rs
index 7ba192b..dcbe870 100644
--- a/src/features/gen_UdpMessageEventInit.rs
+++ b/src/features/gen_UdpMessageEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_UdpOptions.rs b/src/features/gen_UdpOptions.rs
index 4ba727c..74f4904 100644
--- a/src/features/gen_UdpOptions.rs
+++ b/src/features/gen_UdpOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_UiEvent.rs b/src/features/gen_UiEvent.rs
index 5c2120b..66e1b84 100644
--- a/src/features/gen_UiEvent.rs
+++ b/src/features/gen_UiEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_UiEventInit.rs b/src/features/gen_UiEventInit.rs
index d1449c3..bb56110 100644
--- a/src/features/gen_UiEventInit.rs
+++ b/src/features/gen_UiEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_UnderlyingSink.rs b/src/features/gen_UnderlyingSink.rs
index dd69488..3c2f8a8 100644
--- a/src/features/gen_UnderlyingSink.rs
+++ b/src/features/gen_UnderlyingSink.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_UnderlyingSource.rs b/src/features/gen_UnderlyingSource.rs
index a6a9094..1794bcc 100644
--- a/src/features/gen_UnderlyingSource.rs
+++ b/src/features/gen_UnderlyingSource.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Url.rs b/src/features/gen_Url.rs
index b4ad91d..a905b85 100644
--- a/src/features/gen_Url.rs
+++ b/src/features/gen_Url.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_UrlSearchParams.rs b/src/features/gen_UrlSearchParams.rs
index 4c4f1e3..a2cb920 100644
--- a/src/features/gen_UrlSearchParams.rs
+++ b/src/features/gen_UrlSearchParams.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Usb.rs b/src/features/gen_Usb.rs
index 3b10bab..4139afc 100644
--- a/src/features/gen_Usb.rs
+++ b/src/features/gen_Usb.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbAlternateInterface.rs b/src/features/gen_UsbAlternateInterface.rs
index 97d7704..668eae3 100644
--- a/src/features/gen_UsbAlternateInterface.rs
+++ b/src/features/gen_UsbAlternateInterface.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbConfiguration.rs b/src/features/gen_UsbConfiguration.rs
index 4f2da9e..02307ad 100644
--- a/src/features/gen_UsbConfiguration.rs
+++ b/src/features/gen_UsbConfiguration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbConnectionEvent.rs b/src/features/gen_UsbConnectionEvent.rs
index 0881347..1a1a9f2 100644
--- a/src/features/gen_UsbConnectionEvent.rs
+++ b/src/features/gen_UsbConnectionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbConnectionEventInit.rs b/src/features/gen_UsbConnectionEventInit.rs
index d0ed6bf..745d869 100644
--- a/src/features/gen_UsbConnectionEventInit.rs
+++ b/src/features/gen_UsbConnectionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbControlTransferParameters.rs b/src/features/gen_UsbControlTransferParameters.rs
index 51c8206..a6a72f7 100644
--- a/src/features/gen_UsbControlTransferParameters.rs
+++ b/src/features/gen_UsbControlTransferParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbDevice.rs b/src/features/gen_UsbDevice.rs
index 6780611..bb81944 100644
--- a/src/features/gen_UsbDevice.rs
+++ b/src/features/gen_UsbDevice.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbDeviceFilter.rs b/src/features/gen_UsbDeviceFilter.rs
index 132b256..61fd2c9 100644
--- a/src/features/gen_UsbDeviceFilter.rs
+++ b/src/features/gen_UsbDeviceFilter.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbDeviceRequestOptions.rs b/src/features/gen_UsbDeviceRequestOptions.rs
index 10f3f70..a6c7b87 100644
--- a/src/features/gen_UsbDeviceRequestOptions.rs
+++ b/src/features/gen_UsbDeviceRequestOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbDirection.rs b/src/features/gen_UsbDirection.rs
index 93583f2..f2abfbd 100644
--- a/src/features/gen_UsbDirection.rs
+++ b/src/features/gen_UsbDirection.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_UsbEndpoint.rs b/src/features/gen_UsbEndpoint.rs
index 6a829de..27741fe 100644
--- a/src/features/gen_UsbEndpoint.rs
+++ b/src/features/gen_UsbEndpoint.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbEndpointType.rs b/src/features/gen_UsbEndpointType.rs
index 26c5fa8..73a52f7 100644
--- a/src/features/gen_UsbEndpointType.rs
+++ b/src/features/gen_UsbEndpointType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_UsbInTransferResult.rs b/src/features/gen_UsbInTransferResult.rs
index 4640a25..08a3e18 100644
--- a/src/features/gen_UsbInTransferResult.rs
+++ b/src/features/gen_UsbInTransferResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbInterface.rs b/src/features/gen_UsbInterface.rs
index 3eab413..f15831c 100644
--- a/src/features/gen_UsbInterface.rs
+++ b/src/features/gen_UsbInterface.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbIsochronousInTransferPacket.rs b/src/features/gen_UsbIsochronousInTransferPacket.rs
index c169ad7..986bdf7 100644
--- a/src/features/gen_UsbIsochronousInTransferPacket.rs
+++ b/src/features/gen_UsbIsochronousInTransferPacket.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbIsochronousInTransferResult.rs b/src/features/gen_UsbIsochronousInTransferResult.rs
index 6330d44..2c3a439 100644
--- a/src/features/gen_UsbIsochronousInTransferResult.rs
+++ b/src/features/gen_UsbIsochronousInTransferResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbIsochronousOutTransferPacket.rs b/src/features/gen_UsbIsochronousOutTransferPacket.rs
index 74a87c5..bc0fb12 100644
--- a/src/features/gen_UsbIsochronousOutTransferPacket.rs
+++ b/src/features/gen_UsbIsochronousOutTransferPacket.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbIsochronousOutTransferResult.rs b/src/features/gen_UsbIsochronousOutTransferResult.rs
index 5d1c7ab..2a569b0 100644
--- a/src/features/gen_UsbIsochronousOutTransferResult.rs
+++ b/src/features/gen_UsbIsochronousOutTransferResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbOutTransferResult.rs b/src/features/gen_UsbOutTransferResult.rs
index 3f9fbc6..b0d67ab 100644
--- a/src/features/gen_UsbOutTransferResult.rs
+++ b/src/features/gen_UsbOutTransferResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbPermissionDescriptor.rs b/src/features/gen_UsbPermissionDescriptor.rs
index 1d23418..0def022 100644
--- a/src/features/gen_UsbPermissionDescriptor.rs
+++ b/src/features/gen_UsbPermissionDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbPermissionResult.rs b/src/features/gen_UsbPermissionResult.rs
index 2dc7d85..96a5e97 100644
--- a/src/features/gen_UsbPermissionResult.rs
+++ b/src/features/gen_UsbPermissionResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbPermissionStorage.rs b/src/features/gen_UsbPermissionStorage.rs
index 75b8350..13bfc7d 100644
--- a/src/features/gen_UsbPermissionStorage.rs
+++ b/src/features/gen_UsbPermissionStorage.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_UsbRecipient.rs b/src/features/gen_UsbRecipient.rs
index 413c2f0..fb486f9 100644
--- a/src/features/gen_UsbRecipient.rs
+++ b/src/features/gen_UsbRecipient.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_UsbRequestType.rs b/src/features/gen_UsbRequestType.rs
index a3984a5..e47b7b4 100644
--- a/src/features/gen_UsbRequestType.rs
+++ b/src/features/gen_UsbRequestType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_UsbTransferStatus.rs b/src/features/gen_UsbTransferStatus.rs
index 2f80dee..3a23a51 100644
--- a/src/features/gen_UsbTransferStatus.rs
+++ b/src/features/gen_UsbTransferStatus.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_UserProximityEvent.rs b/src/features/gen_UserProximityEvent.rs
index 5b94924..f982be1 100644
--- a/src/features/gen_UserProximityEvent.rs
+++ b/src/features/gen_UserProximityEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_UserProximityEventInit.rs b/src/features/gen_UserProximityEventInit.rs
index 63c45c2..64e63f4 100644
--- a/src/features/gen_UserProximityEventInit.rs
+++ b/src/features/gen_UserProximityEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_UserVerificationRequirement.rs b/src/features/gen_UserVerificationRequirement.rs
index f683e95..674372b 100644
--- a/src/features/gen_UserVerificationRequirement.rs
+++ b/src/features/gen_UserVerificationRequirement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `UserVerificationRequirement` enum."]
diff --git a/src/features/gen_ValidityState.rs b/src/features/gen_ValidityState.rs
index 4550a3d..6dffe86 100644
--- a/src/features/gen_ValidityState.rs
+++ b/src/features/gen_ValidityState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_ValueEvent.rs b/src/features/gen_ValueEvent.rs
index dad1661..4956b1d 100644
--- a/src/features/gen_ValueEvent.rs
+++ b/src/features/gen_ValueEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_ValueEventInit.rs b/src/features/gen_ValueEventInit.rs
index 7e6980e..5de054e 100644
--- a/src/features/gen_ValueEventInit.rs
+++ b/src/features/gen_ValueEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoColorPrimaries.rs b/src/features/gen_VideoColorPrimaries.rs
index 944e601..31c6f0e 100644
--- a/src/features/gen_VideoColorPrimaries.rs
+++ b/src/features/gen_VideoColorPrimaries.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_VideoColorSpace.rs b/src/features/gen_VideoColorSpace.rs
index 11287ec..dbd617d 100644
--- a/src/features/gen_VideoColorSpace.rs
+++ b/src/features/gen_VideoColorSpace.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoColorSpaceInit.rs b/src/features/gen_VideoColorSpaceInit.rs
index 2343649..df749dd 100644
--- a/src/features/gen_VideoColorSpaceInit.rs
+++ b/src/features/gen_VideoColorSpaceInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoConfiguration.rs b/src/features/gen_VideoConfiguration.rs
index a69d003..3b195f3 100644
--- a/src/features/gen_VideoConfiguration.rs
+++ b/src/features/gen_VideoConfiguration.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VideoDecoder.rs b/src/features/gen_VideoDecoder.rs
index 591aad1..391b807 100644
--- a/src/features/gen_VideoDecoder.rs
+++ b/src/features/gen_VideoDecoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoDecoderConfig.rs b/src/features/gen_VideoDecoderConfig.rs
index 073b8b4..dad9413 100644
--- a/src/features/gen_VideoDecoderConfig.rs
+++ b/src/features/gen_VideoDecoderConfig.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoDecoderInit.rs b/src/features/gen_VideoDecoderInit.rs
index b1dd38b..e0821b1 100644
--- a/src/features/gen_VideoDecoderInit.rs
+++ b/src/features/gen_VideoDecoderInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoDecoderSupport.rs b/src/features/gen_VideoDecoderSupport.rs
index 44efe40..6954b2f 100644
--- a/src/features/gen_VideoDecoderSupport.rs
+++ b/src/features/gen_VideoDecoderSupport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoEncoder.rs b/src/features/gen_VideoEncoder.rs
index 28a6707..6144ce2 100644
--- a/src/features/gen_VideoEncoder.rs
+++ b/src/features/gen_VideoEncoder.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoEncoderConfig.rs b/src/features/gen_VideoEncoderConfig.rs
index 4d61f21..e125dfe 100644
--- a/src/features/gen_VideoEncoderConfig.rs
+++ b/src/features/gen_VideoEncoderConfig.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoEncoderEncodeOptions.rs b/src/features/gen_VideoEncoderEncodeOptions.rs
index 345363a..76e81c9 100644
--- a/src/features/gen_VideoEncoderEncodeOptions.rs
+++ b/src/features/gen_VideoEncoderEncodeOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoEncoderInit.rs b/src/features/gen_VideoEncoderInit.rs
index e2c73e0..68c17f5 100644
--- a/src/features/gen_VideoEncoderInit.rs
+++ b/src/features/gen_VideoEncoderInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoEncoderSupport.rs b/src/features/gen_VideoEncoderSupport.rs
index 94dab1e..88a602b 100644
--- a/src/features/gen_VideoEncoderSupport.rs
+++ b/src/features/gen_VideoEncoderSupport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoFacingModeEnum.rs b/src/features/gen_VideoFacingModeEnum.rs
index cabca28..81fd383 100644
--- a/src/features/gen_VideoFacingModeEnum.rs
+++ b/src/features/gen_VideoFacingModeEnum.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `VideoFacingModeEnum` enum."]
diff --git a/src/features/gen_VideoFrame.rs b/src/features/gen_VideoFrame.rs
index b0f29df..1130295 100644
--- a/src/features/gen_VideoFrame.rs
+++ b/src/features/gen_VideoFrame.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
@@ -190,6 +191,29 @@ extern "C" {
     #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn new_with_image_bitmap(image: &ImageBitmap) -> Result<VideoFrame, JsValue>;
     #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "OffscreenCanvas")]
+    #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
+    #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `VideoFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new_with_offscreen_canvas(image: &OffscreenCanvas) -> Result<VideoFrame, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
+    #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `VideoFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new_with_video_frame(image: &VideoFrame) -> Result<VideoFrame, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
     #[cfg(all(feature = "HtmlImageElement", feature = "VideoFrameInit",))]
     #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
     #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
@@ -265,6 +289,36 @@ extern "C" {
         init: &VideoFrameInit,
     ) -> Result<VideoFrame, JsValue>;
     #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "OffscreenCanvas", feature = "VideoFrameInit",))]
+    #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
+    #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `VideoFrame`, `VideoFrameInit`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new_with_offscreen_canvas_and_video_frame_init(
+        image: &OffscreenCanvas,
+        init: &VideoFrameInit,
+    ) -> Result<VideoFrame, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrameInit")]
+    #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
+    #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame/VideoFrame)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `VideoFrameInit`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new_with_video_frame_and_video_frame_init(
+        image: &VideoFrame,
+        init: &VideoFrameInit,
+    ) -> Result<VideoFrame, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
     #[cfg(feature = "VideoFrameBufferInit")]
     #[wasm_bindgen(catch, constructor, js_class = "VideoFrame")]
     #[doc = "The `new VideoFrame(..)` constructor, creating a new instance of `VideoFrame`."]
diff --git a/src/features/gen_VideoFrameBufferInit.rs b/src/features/gen_VideoFrameBufferInit.rs
index 30607a7..339b4be 100644
--- a/src/features/gen_VideoFrameBufferInit.rs
+++ b/src/features/gen_VideoFrameBufferInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoFrameCopyToOptions.rs b/src/features/gen_VideoFrameCopyToOptions.rs
index 9ba37f7..6278988 100644
--- a/src/features/gen_VideoFrameCopyToOptions.rs
+++ b/src/features/gen_VideoFrameCopyToOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoFrameInit.rs b/src/features/gen_VideoFrameInit.rs
index bf91f0f..53224cb 100644
--- a/src/features/gen_VideoFrameInit.rs
+++ b/src/features/gen_VideoFrameInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_VideoMatrixCoefficients.rs b/src/features/gen_VideoMatrixCoefficients.rs
index 5520fae..196688d 100644
--- a/src/features/gen_VideoMatrixCoefficients.rs
+++ b/src/features/gen_VideoMatrixCoefficients.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_VideoPixelFormat.rs b/src/features/gen_VideoPixelFormat.rs
index 6b465da..e2348ed 100644
--- a/src/features/gen_VideoPixelFormat.rs
+++ b/src/features/gen_VideoPixelFormat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_VideoPlaybackQuality.rs b/src/features/gen_VideoPlaybackQuality.rs
index 6556f12..f22b259 100644
--- a/src/features/gen_VideoPlaybackQuality.rs
+++ b/src/features/gen_VideoPlaybackQuality.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VideoStreamTrack.rs b/src/features/gen_VideoStreamTrack.rs
index de248ce..8d33779 100644
--- a/src/features/gen_VideoStreamTrack.rs
+++ b/src/features/gen_VideoStreamTrack.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VideoTrack.rs b/src/features/gen_VideoTrack.rs
index 08f6e0b..aa62eb0 100644
--- a/src/features/gen_VideoTrack.rs
+++ b/src/features/gen_VideoTrack.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VideoTrackList.rs b/src/features/gen_VideoTrackList.rs
index 8a743d5..4cd4d08 100644
--- a/src/features/gen_VideoTrackList.rs
+++ b/src/features/gen_VideoTrackList.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VideoTransferCharacteristics.rs b/src/features/gen_VideoTransferCharacteristics.rs
index 7eed7ab..dbb6684 100644
--- a/src/features/gen_VideoTransferCharacteristics.rs
+++ b/src/features/gen_VideoTransferCharacteristics.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_VisibilityState.rs b/src/features/gen_VisibilityState.rs
index a528680..7e4dd56 100644
--- a/src/features/gen_VisibilityState.rs
+++ b/src/features/gen_VisibilityState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `VisibilityState` enum."]
diff --git a/src/features/gen_VoidCallback.rs b/src/features/gen_VoidCallback.rs
index c76cadc..16e8d51 100644
--- a/src/features/gen_VoidCallback.rs
+++ b/src/features/gen_VoidCallback.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrDisplay.rs b/src/features/gen_VrDisplay.rs
index f4f100e..2abf7e1 100644
--- a/src/features/gen_VrDisplay.rs
+++ b/src/features/gen_VrDisplay.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrDisplayCapabilities.rs b/src/features/gen_VrDisplayCapabilities.rs
index 1f02ad8..69db0bf 100644
--- a/src/features/gen_VrDisplayCapabilities.rs
+++ b/src/features/gen_VrDisplayCapabilities.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrEye.rs b/src/features/gen_VrEye.rs
index ee86029..690ae13 100644
--- a/src/features/gen_VrEye.rs
+++ b/src/features/gen_VrEye.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `VrEye` enum."]
diff --git a/src/features/gen_VrEyeParameters.rs b/src/features/gen_VrEyeParameters.rs
index 6a351c2..5f92712 100644
--- a/src/features/gen_VrEyeParameters.rs
+++ b/src/features/gen_VrEyeParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrFieldOfView.rs b/src/features/gen_VrFieldOfView.rs
index 45621b2..9f9c30a 100644
--- a/src/features/gen_VrFieldOfView.rs
+++ b/src/features/gen_VrFieldOfView.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrFrameData.rs b/src/features/gen_VrFrameData.rs
index 697997d..a1a3680 100644
--- a/src/features/gen_VrFrameData.rs
+++ b/src/features/gen_VrFrameData.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrLayer.rs b/src/features/gen_VrLayer.rs
index 6d0adae..514ab0a 100644
--- a/src/features/gen_VrLayer.rs
+++ b/src/features/gen_VrLayer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrMockController.rs b/src/features/gen_VrMockController.rs
index 23676c7..134a3b5 100644
--- a/src/features/gen_VrMockController.rs
+++ b/src/features/gen_VrMockController.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrMockDisplay.rs b/src/features/gen_VrMockDisplay.rs
index 5f503ba..82fb129 100644
--- a/src/features/gen_VrMockDisplay.rs
+++ b/src/features/gen_VrMockDisplay.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrPose.rs b/src/features/gen_VrPose.rs
index c7e03ee..ebbb37f 100644
--- a/src/features/gen_VrPose.rs
+++ b/src/features/gen_VrPose.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrServiceTest.rs b/src/features/gen_VrServiceTest.rs
index 7becadb..46cd2b2 100644
--- a/src/features/gen_VrServiceTest.rs
+++ b/src/features/gen_VrServiceTest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrStageParameters.rs b/src/features/gen_VrStageParameters.rs
index 081ff05..0c9b199 100644
--- a/src/features/gen_VrStageParameters.rs
+++ b/src/features/gen_VrStageParameters.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VrSubmitFrameResult.rs b/src/features/gen_VrSubmitFrameResult.rs
index b0dd1ae..7886281 100644
--- a/src/features/gen_VrSubmitFrameResult.rs
+++ b/src/features/gen_VrSubmitFrameResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VttCue.rs b/src/features/gen_VttCue.rs
index a232704..e3b0148 100644
--- a/src/features/gen_VttCue.rs
+++ b/src/features/gen_VttCue.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_VttRegion.rs b/src/features/gen_VttRegion.rs
index 71e3fb3..116a343 100644
--- a/src/features/gen_VttRegion.rs
+++ b/src/features/gen_VttRegion.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WakeLock.rs b/src/features/gen_WakeLock.rs
index ecdad00..715647b 100644
--- a/src/features/gen_WakeLock.rs
+++ b/src/features/gen_WakeLock.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_WakeLockSentinel.rs b/src/features/gen_WakeLockSentinel.rs
index 3cd67d7..253b8a8 100644
--- a/src/features/gen_WakeLockSentinel.rs
+++ b/src/features/gen_WakeLockSentinel.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_WakeLockType.rs b/src/features/gen_WakeLockType.rs
index b094918..280eda4 100644
--- a/src/features/gen_WakeLockType.rs
+++ b/src/features/gen_WakeLockType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_WatchAdvertisementsOptions.rs b/src/features/gen_WatchAdvertisementsOptions.rs
index 175bbfa..741ed6b 100644
--- a/src/features/gen_WatchAdvertisementsOptions.rs
+++ b/src/features/gen_WatchAdvertisementsOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_WaveShaperNode.rs b/src/features/gen_WaveShaperNode.rs
index 4c3b8c3..4d1673c 100644
--- a/src/features/gen_WaveShaperNode.rs
+++ b/src/features/gen_WaveShaperNode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WaveShaperOptions.rs b/src/features/gen_WaveShaperOptions.rs
index c3581bc..95f3a66 100644
--- a/src/features/gen_WaveShaperOptions.rs
+++ b/src/features/gen_WaveShaperOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGl2RenderingContext.rs b/src/features/gen_WebGl2RenderingContext.rs
index 1b1ab49..a033097 100644
--- a/src/features/gen_WebGl2RenderingContext.rs
+++ b/src/features/gen_WebGl2RenderingContext.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -5980,12 +5981,16 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `WebGl2RenderingContext`, `WebGlProgram`*"]
     pub fn link_program(this: &WebGl2RenderingContext, program: &WebGlProgram);
+    #[cfg(web_sys_unstable_apis)]
     # [wasm_bindgen (method , structural , js_class = "WebGL2RenderingContext" , js_name = makeXRCompatible)]
     #[doc = "The `makeXRCompatible()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/makeXRCompatible)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `WebGl2RenderingContext`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn make_xr_compatible(this: &WebGl2RenderingContext) -> ::js_sys::Promise;
     # [wasm_bindgen (method , structural , js_class = "WebGL2RenderingContext" , js_name = pixelStorei)]
     #[doc = "The `pixelStorei()` method."]
diff --git a/src/features/gen_WebGlActiveInfo.rs b/src/features/gen_WebGlActiveInfo.rs
index 985a83b..9bc9046 100644
--- a/src/features/gen_WebGlActiveInfo.rs
+++ b/src/features/gen_WebGlActiveInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlBuffer.rs b/src/features/gen_WebGlBuffer.rs
index 43f1dfb..525e3cb 100644
--- a/src/features/gen_WebGlBuffer.rs
+++ b/src/features/gen_WebGlBuffer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlContextAttributes.rs b/src/features/gen_WebGlContextAttributes.rs
index 4be2298..71ce35e 100644
--- a/src/features/gen_WebGlContextAttributes.rs
+++ b/src/features/gen_WebGlContextAttributes.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -148,9 +149,13 @@ impl WebGlContextAttributes {
         let _ = r;
         self
     }
+    #[cfg(web_sys_unstable_apis)]
     #[doc = "Change the `xrCompatible` field of this object."]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `WebGlContextAttributes`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn xr_compatible(&mut self, val: bool) -> &mut Self {
         use wasm_bindgen::JsValue;
         let r = ::js_sys::Reflect::set(
diff --git a/src/features/gen_WebGlContextEvent.rs b/src/features/gen_WebGlContextEvent.rs
index 0c328ad..62339aa 100644
--- a/src/features/gen_WebGlContextEvent.rs
+++ b/src/features/gen_WebGlContextEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlContextEventInit.rs b/src/features/gen_WebGlContextEventInit.rs
index 28e1c3f..9be6bce 100644
--- a/src/features/gen_WebGlContextEventInit.rs
+++ b/src/features/gen_WebGlContextEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlFramebuffer.rs b/src/features/gen_WebGlFramebuffer.rs
index 87c9a60..7c4e518 100644
--- a/src/features/gen_WebGlFramebuffer.rs
+++ b/src/features/gen_WebGlFramebuffer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlPowerPreference.rs b/src/features/gen_WebGlPowerPreference.rs
index 538918f..d346fe0 100644
--- a/src/features/gen_WebGlPowerPreference.rs
+++ b/src/features/gen_WebGlPowerPreference.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `WebGlPowerPreference` enum."]
diff --git a/src/features/gen_WebGlProgram.rs b/src/features/gen_WebGlProgram.rs
index 8ed0017..5dcbcae 100644
--- a/src/features/gen_WebGlProgram.rs
+++ b/src/features/gen_WebGlProgram.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlQuery.rs b/src/features/gen_WebGlQuery.rs
index 1d2fb0a..887c684 100644
--- a/src/features/gen_WebGlQuery.rs
+++ b/src/features/gen_WebGlQuery.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlRenderbuffer.rs b/src/features/gen_WebGlRenderbuffer.rs
index 3efdd96..6c917cf 100644
--- a/src/features/gen_WebGlRenderbuffer.rs
+++ b/src/features/gen_WebGlRenderbuffer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlRenderingContext.rs b/src/features/gen_WebGlRenderingContext.rs
index 39777bb..f403ef1 100644
--- a/src/features/gen_WebGlRenderingContext.rs
+++ b/src/features/gen_WebGlRenderingContext.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -1599,12 +1600,16 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `WebGlProgram`, `WebGlRenderingContext`*"]
     pub fn link_program(this: &WebGlRenderingContext, program: &WebGlProgram);
+    #[cfg(web_sys_unstable_apis)]
     # [wasm_bindgen (method , structural , js_class = "WebGLRenderingContext" , js_name = makeXRCompatible)]
     #[doc = "The `makeXRCompatible()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/makeXRCompatible)"]
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `WebGlRenderingContext`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn make_xr_compatible(this: &WebGlRenderingContext) -> ::js_sys::Promise;
     # [wasm_bindgen (method , structural , js_class = "WebGLRenderingContext" , js_name = pixelStorei)]
     #[doc = "The `pixelStorei()` method."]
diff --git a/src/features/gen_WebGlSampler.rs b/src/features/gen_WebGlSampler.rs
index 6f28463..d2743d2 100644
--- a/src/features/gen_WebGlSampler.rs
+++ b/src/features/gen_WebGlSampler.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlShader.rs b/src/features/gen_WebGlShader.rs
index 1d4aa82..53f87b5 100644
--- a/src/features/gen_WebGlShader.rs
+++ b/src/features/gen_WebGlShader.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlShaderPrecisionFormat.rs b/src/features/gen_WebGlShaderPrecisionFormat.rs
index 16e8699..fc48690 100644
--- a/src/features/gen_WebGlShaderPrecisionFormat.rs
+++ b/src/features/gen_WebGlShaderPrecisionFormat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlSync.rs b/src/features/gen_WebGlSync.rs
index 6c8b2e3..41b3c4a 100644
--- a/src/features/gen_WebGlSync.rs
+++ b/src/features/gen_WebGlSync.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlTexture.rs b/src/features/gen_WebGlTexture.rs
index 14d7b8e..fb720e5 100644
--- a/src/features/gen_WebGlTexture.rs
+++ b/src/features/gen_WebGlTexture.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlTransformFeedback.rs b/src/features/gen_WebGlTransformFeedback.rs
index edfabfb..933ce5c 100644
--- a/src/features/gen_WebGlTransformFeedback.rs
+++ b/src/features/gen_WebGlTransformFeedback.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlUniformLocation.rs b/src/features/gen_WebGlUniformLocation.rs
index 545667f..fa1a6a5 100644
--- a/src/features/gen_WebGlUniformLocation.rs
+++ b/src/features/gen_WebGlUniformLocation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebGlVertexArrayObject.rs b/src/features/gen_WebGlVertexArrayObject.rs
index 1929efa..202edd6 100644
--- a/src/features/gen_WebGlVertexArrayObject.rs
+++ b/src/features/gen_WebGlVertexArrayObject.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebKitCssMatrix.rs b/src/features/gen_WebKitCssMatrix.rs
index a8f024c..cf21196 100644
--- a/src/features/gen_WebKitCssMatrix.rs
+++ b/src/features/gen_WebKitCssMatrix.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebSocket.rs b/src/features/gen_WebSocket.rs
index 03143f1..dfa43aa 100644
--- a/src/features/gen_WebSocket.rs
+++ b/src/features/gen_WebSocket.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebSocketDict.rs b/src/features/gen_WebSocketDict.rs
index 05df3bc..c9a67c3 100644
--- a/src/features/gen_WebSocketDict.rs
+++ b/src/features/gen_WebSocketDict.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebSocketElement.rs b/src/features/gen_WebSocketElement.rs
index 402e05e..99746cd 100644
--- a/src/features/gen_WebSocketElement.rs
+++ b/src/features/gen_WebSocketElement.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebTransport.rs b/src/features/gen_WebTransport.rs
new file mode 100644
index 0000000..350d776
--- /dev/null
+++ b/src/features/gen_WebTransport.rs
@@ -0,0 +1,224 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransport , typescript_type = "WebTransport")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransport` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransport;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransport" , js_name = ready)]
+    #[doc = "Getter for the `ready` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/ready)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn ready(this: &WebTransport) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportReliabilityMode")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransport" , js_name = reliability)]
+    #[doc = "Getter for the `reliability` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/reliability)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`, `WebTransportReliabilityMode`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn reliability(this: &WebTransport) -> WebTransportReliabilityMode;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportCongestionControl")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransport" , js_name = congestionControl)]
+    #[doc = "Getter for the `congestionControl` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/congestionControl)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`, `WebTransportCongestionControl`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn congestion_control(this: &WebTransport) -> WebTransportCongestionControl;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransport" , js_name = closed)]
+    #[doc = "Getter for the `closed` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/closed)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn closed(this: &WebTransport) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransport" , js_name = draining)]
+    #[doc = "Getter for the `draining` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/draining)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn draining(this: &WebTransport) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportDatagramDuplexStream")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransport" , js_name = datagrams)]
+    #[doc = "Getter for the `datagrams` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/datagrams)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`, `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn datagrams(this: &WebTransport) -> WebTransportDatagramDuplexStream;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "ReadableStream")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransport" , js_name = incomingBidirectionalStreams)]
+    #[doc = "Getter for the `incomingBidirectionalStreams` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/incomingBidirectionalStreams)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ReadableStream`, `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn incoming_bidirectional_streams(this: &WebTransport) -> ReadableStream;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "ReadableStream")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransport" , js_name = incomingUnidirectionalStreams)]
+    #[doc = "Getter for the `incomingUnidirectionalStreams` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/incomingUnidirectionalStreams)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ReadableStream`, `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn incoming_unidirectional_streams(this: &WebTransport) -> ReadableStream;
+    #[cfg(web_sys_unstable_apis)]
+    #[wasm_bindgen(catch, constructor, js_class = "WebTransport")]
+    #[doc = "The `new WebTransport(..)` constructor, creating a new instance of `WebTransport`."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/WebTransport)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new(url: &str) -> Result<WebTransport, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportOptions")]
+    #[wasm_bindgen(catch, constructor, js_class = "WebTransport")]
+    #[doc = "The `new WebTransport(..)` constructor, creating a new instance of `WebTransport`."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/WebTransport)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`, `WebTransportOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new_with_options(
+        url: &str,
+        options: &WebTransportOptions,
+    ) -> Result<WebTransport, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "WebTransport" , js_name = close)]
+    #[doc = "The `close()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/close)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn close(this: &WebTransport);
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportCloseInfo")]
+    # [wasm_bindgen (method , structural , js_class = "WebTransport" , js_name = close)]
+    #[doc = "The `close()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/close)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`, `WebTransportCloseInfo`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn close_with_close_info(this: &WebTransport, close_info: &WebTransportCloseInfo);
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "WebTransport" , js_name = createBidirectionalStream)]
+    #[doc = "The `createBidirectionalStream()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/createBidirectionalStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_bidirectional_stream(this: &WebTransport) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportSendStreamOptions")]
+    # [wasm_bindgen (method , structural , js_class = "WebTransport" , js_name = createBidirectionalStream)]
+    #[doc = "The `createBidirectionalStream()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/createBidirectionalStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`, `WebTransportSendStreamOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_bidirectional_stream_with_options(
+        this: &WebTransport,
+        options: &WebTransportSendStreamOptions,
+    ) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "WebTransport" , js_name = createUnidirectionalStream)]
+    #[doc = "The `createUnidirectionalStream()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/createUnidirectionalStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_unidirectional_stream(this: &WebTransport) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportSendStreamOptions")]
+    # [wasm_bindgen (method , structural , js_class = "WebTransport" , js_name = createUnidirectionalStream)]
+    #[doc = "The `createUnidirectionalStream()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/createUnidirectionalStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`, `WebTransportSendStreamOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_unidirectional_stream_with_options(
+        this: &WebTransport,
+        options: &WebTransportSendStreamOptions,
+    ) -> ::js_sys::Promise;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "WebTransport" , js_name = getStats)]
+    #[doc = "The `getStats()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport/getStats)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransport`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_stats(this: &WebTransport) -> ::js_sys::Promise;
+}
diff --git a/src/features/gen_WebTransportBidirectionalStream.rs b/src/features/gen_WebTransportBidirectionalStream.rs
new file mode 100644
index 0000000..e743142
--- /dev/null
+++ b/src/features/gen_WebTransportBidirectionalStream.rs
@@ -0,0 +1,43 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportBidirectionalStream , typescript_type = "WebTransportBidirectionalStream")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportBidirectionalStream` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportBidirectionalStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportBidirectionalStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportBidirectionalStream;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportReceiveStream")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportBidirectionalStream" , js_name = readable)]
+    #[doc = "Getter for the `readable` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportBidirectionalStream/readable)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportBidirectionalStream`, `WebTransportReceiveStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn readable(this: &WebTransportBidirectionalStream) -> WebTransportReceiveStream;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportSendStream")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportBidirectionalStream" , js_name = writable)]
+    #[doc = "Getter for the `writable` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportBidirectionalStream/writable)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportBidirectionalStream`, `WebTransportSendStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn writable(this: &WebTransportBidirectionalStream) -> WebTransportSendStream;
+}
diff --git a/src/features/gen_WebTransportCloseInfo.rs b/src/features/gen_WebTransportCloseInfo.rs
new file mode 100644
index 0000000..1ecd401
--- /dev/null
+++ b/src/features/gen_WebTransportCloseInfo.rs
@@ -0,0 +1,76 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportCloseInfo)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportCloseInfo` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportCloseInfo`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportCloseInfo;
+}
+#[cfg(web_sys_unstable_apis)]
+impl WebTransportCloseInfo {
+    #[doc = "Construct a new `WebTransportCloseInfo`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportCloseInfo`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `closeCode` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportCloseInfo`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn close_code(&mut self, val: u32) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("closeCode"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `reason` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportCloseInfo`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn reason(&mut self, val: &str) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r =
+            ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("reason"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for WebTransportCloseInfo {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_WebTransportCongestionControl.rs b/src/features/gen_WebTransportCongestionControl.rs
new file mode 100644
index 0000000..5838a3f
--- /dev/null
+++ b/src/features/gen_WebTransportCongestionControl.rs
@@ -0,0 +1,17 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+#[doc = "The `WebTransportCongestionControl` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `WebTransportCongestionControl`*"]
+#[doc = ""]
+#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum WebTransportCongestionControl {
+    Default = "default",
+    Throughput = "throughput",
+    LowLatency = "low-latency",
+}
diff --git a/src/features/gen_WebTransportDatagramDuplexStream.rs b/src/features/gen_WebTransportDatagramDuplexStream.rs
new file mode 100644
index 0000000..4b5fdb6
--- /dev/null
+++ b/src/features/gen_WebTransportDatagramDuplexStream.rs
@@ -0,0 +1,142 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportDatagramDuplexStream , typescript_type = "WebTransportDatagramDuplexStream")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportDatagramDuplexStream` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportDatagramDuplexStream;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "ReadableStream")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportDatagramDuplexStream" , js_name = readable)]
+    #[doc = "Getter for the `readable` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/readable)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ReadableStream`, `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn readable(this: &WebTransportDatagramDuplexStream) -> ReadableStream;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WritableStream")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportDatagramDuplexStream" , js_name = writable)]
+    #[doc = "Getter for the `writable` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/writable)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`, `WritableStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn writable(this: &WebTransportDatagramDuplexStream) -> WritableStream;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportDatagramDuplexStream" , js_name = maxDatagramSize)]
+    #[doc = "Getter for the `maxDatagramSize` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/maxDatagramSize)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn max_datagram_size(this: &WebTransportDatagramDuplexStream) -> u32;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportDatagramDuplexStream" , js_name = incomingMaxAge)]
+    #[doc = "Getter for the `incomingMaxAge` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/incomingMaxAge)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn incoming_max_age(this: &WebTransportDatagramDuplexStream) -> f64;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , setter , js_class = "WebTransportDatagramDuplexStream" , js_name = incomingMaxAge)]
+    #[doc = "Setter for the `incomingMaxAge` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/incomingMaxAge)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn set_incoming_max_age(this: &WebTransportDatagramDuplexStream, value: f64);
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportDatagramDuplexStream" , js_name = outgoingMaxAge)]
+    #[doc = "Getter for the `outgoingMaxAge` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/outgoingMaxAge)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn outgoing_max_age(this: &WebTransportDatagramDuplexStream) -> f64;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , setter , js_class = "WebTransportDatagramDuplexStream" , js_name = outgoingMaxAge)]
+    #[doc = "Setter for the `outgoingMaxAge` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/outgoingMaxAge)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn set_outgoing_max_age(this: &WebTransportDatagramDuplexStream, value: f64);
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportDatagramDuplexStream" , js_name = incomingHighWaterMark)]
+    #[doc = "Getter for the `incomingHighWaterMark` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/incomingHighWaterMark)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn incoming_high_water_mark(this: &WebTransportDatagramDuplexStream) -> f64;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , setter , js_class = "WebTransportDatagramDuplexStream" , js_name = incomingHighWaterMark)]
+    #[doc = "Setter for the `incomingHighWaterMark` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/incomingHighWaterMark)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn set_incoming_high_water_mark(this: &WebTransportDatagramDuplexStream, value: f64);
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportDatagramDuplexStream" , js_name = outgoingHighWaterMark)]
+    #[doc = "Getter for the `outgoingHighWaterMark` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/outgoingHighWaterMark)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn outgoing_high_water_mark(this: &WebTransportDatagramDuplexStream) -> f64;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , setter , js_class = "WebTransportDatagramDuplexStream" , js_name = outgoingHighWaterMark)]
+    #[doc = "Setter for the `outgoingHighWaterMark` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportDatagramDuplexStream/outgoingHighWaterMark)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramDuplexStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn set_outgoing_high_water_mark(this: &WebTransportDatagramDuplexStream, value: f64);
+}
diff --git a/src/features/gen_WebTransportDatagramStats.rs b/src/features/gen_WebTransportDatagramStats.rs
new file mode 100644
index 0000000..8817e6b
--- /dev/null
+++ b/src/features/gen_WebTransportDatagramStats.rs
@@ -0,0 +1,121 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportDatagramStats)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportDatagramStats` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportDatagramStats;
+}
+#[cfg(web_sys_unstable_apis)]
+impl WebTransportDatagramStats {
+    #[doc = "Construct a new `WebTransportDatagramStats`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `droppedIncoming` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn dropped_incoming(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("droppedIncoming"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `expiredOutgoing` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn expired_outgoing(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("expiredOutgoing"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `lostOutgoing` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn lost_outgoing(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("lostOutgoing"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `timestamp` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn timestamp(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("timestamp"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for WebTransportDatagramStats {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_WebTransportError.rs b/src/features/gen_WebTransportError.rs
new file mode 100644
index 0000000..5c073b9
--- /dev/null
+++ b/src/features/gen_WebTransportError.rs
@@ -0,0 +1,79 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = DomException , extends = :: js_sys :: Object , js_name = WebTransportError , typescript_type = "WebTransportError")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportError` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportError)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportError`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportError;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportErrorSource")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportError" , js_name = source)]
+    #[doc = "Getter for the `source` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportError/source)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportError`, `WebTransportErrorSource`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn source(this: &WebTransportError) -> WebTransportErrorSource;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "WebTransportError" , js_name = streamErrorCode)]
+    #[doc = "Getter for the `streamErrorCode` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportError/streamErrorCode)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportError`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn stream_error_code(this: &WebTransportError) -> Option<u8>;
+    #[cfg(web_sys_unstable_apis)]
+    #[wasm_bindgen(catch, constructor, js_class = "WebTransportError")]
+    #[doc = "The `new WebTransportError(..)` constructor, creating a new instance of `WebTransportError`."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportError/WebTransportError)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportError`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Result<WebTransportError, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[wasm_bindgen(catch, constructor, js_class = "WebTransportError")]
+    #[doc = "The `new WebTransportError(..)` constructor, creating a new instance of `WebTransportError`."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportError/WebTransportError)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportError`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new_with_message(message: &str) -> Result<WebTransportError, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportErrorOptions")]
+    #[wasm_bindgen(catch, constructor, js_class = "WebTransportError")]
+    #[doc = "The `new WebTransportError(..)` constructor, creating a new instance of `WebTransportError`."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportError/WebTransportError)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportError`, `WebTransportErrorOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new_with_message_and_options(
+        message: &str,
+        options: &WebTransportErrorOptions,
+    ) -> Result<WebTransportError, JsValue>;
+}
diff --git a/src/features/gen_WebTransportErrorOptions.rs b/src/features/gen_WebTransportErrorOptions.rs
new file mode 100644
index 0000000..e643b62
--- /dev/null
+++ b/src/features/gen_WebTransportErrorOptions.rs
@@ -0,0 +1,77 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportErrorOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportErrorOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportErrorOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportErrorOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl WebTransportErrorOptions {
+    #[doc = "Construct a new `WebTransportErrorOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportErrorOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportErrorSource")]
+    #[doc = "Change the `source` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportErrorOptions`, `WebTransportErrorSource`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn source(&mut self, val: WebTransportErrorSource) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r =
+            ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("source"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `streamErrorCode` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportErrorOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn stream_error_code(&mut self, val: Option<u8>) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("streamErrorCode"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for WebTransportErrorOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_WebTransportErrorSource.rs b/src/features/gen_WebTransportErrorSource.rs
new file mode 100644
index 0000000..1e49ce8
--- /dev/null
+++ b/src/features/gen_WebTransportErrorSource.rs
@@ -0,0 +1,16 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+#[doc = "The `WebTransportErrorSource` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `WebTransportErrorSource`*"]
+#[doc = ""]
+#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum WebTransportErrorSource {
+    Stream = "stream",
+    Session = "session",
+}
diff --git a/src/features/gen_WebTransportHash.rs b/src/features/gen_WebTransportHash.rs
new file mode 100644
index 0000000..1ec62f4
--- /dev/null
+++ b/src/features/gen_WebTransportHash.rs
@@ -0,0 +1,75 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportHash)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportHash` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportHash`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportHash;
+}
+#[cfg(web_sys_unstable_apis)]
+impl WebTransportHash {
+    #[doc = "Construct a new `WebTransportHash`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportHash`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `algorithm` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportHash`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn algorithm(&mut self, val: &str) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("algorithm"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `value` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportHash`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn value(&mut self, val: &::js_sys::Object) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("value"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for WebTransportHash {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_WebTransportOptions.rs b/src/features/gen_WebTransportOptions.rs
new file mode 100644
index 0000000..178e321
--- /dev/null
+++ b/src/features/gen_WebTransportOptions.rs
@@ -0,0 +1,122 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl WebTransportOptions {
+    #[doc = "Construct a new `WebTransportOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `allowPooling` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn allow_pooling(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("allowPooling"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportCongestionControl")]
+    #[doc = "Change the `congestionControl` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportCongestionControl`, `WebTransportOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn congestion_control(&mut self, val: WebTransportCongestionControl) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("congestionControl"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `requireUnreliable` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn require_unreliable(&mut self, val: bool) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("requireUnreliable"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `serverCertificateHashes` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn server_certificate_hashes(&mut self, val: &::wasm_bindgen::JsValue) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("serverCertificateHashes"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for WebTransportOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_WebTransportReceiveStream.rs b/src/features/gen_WebTransportReceiveStream.rs
new file mode 100644
index 0000000..1686340
--- /dev/null
+++ b/src/features/gen_WebTransportReceiveStream.rs
@@ -0,0 +1,30 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = ReadableStream , extends = :: js_sys :: Object , js_name = WebTransportReceiveStream , typescript_type = "WebTransportReceiveStream")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportReceiveStream` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportReceiveStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportReceiveStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportReceiveStream;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "WebTransportReceiveStream" , js_name = getStats)]
+    #[doc = "The `getStats()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportReceiveStream/getStats)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportReceiveStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_stats(this: &WebTransportReceiveStream) -> ::js_sys::Promise;
+}
diff --git a/src/features/gen_WebTransportReceiveStreamStats.rs b/src/features/gen_WebTransportReceiveStreamStats.rs
new file mode 100644
index 0000000..635908f
--- /dev/null
+++ b/src/features/gen_WebTransportReceiveStreamStats.rs
@@ -0,0 +1,100 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportReceiveStreamStats)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportReceiveStreamStats` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportReceiveStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportReceiveStreamStats;
+}
+#[cfg(web_sys_unstable_apis)]
+impl WebTransportReceiveStreamStats {
+    #[doc = "Construct a new `WebTransportReceiveStreamStats`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportReceiveStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `bytesRead` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportReceiveStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn bytes_read(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("bytesRead"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `bytesReceived` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportReceiveStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn bytes_received(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("bytesReceived"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `timestamp` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportReceiveStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn timestamp(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("timestamp"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for WebTransportReceiveStreamStats {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_WebTransportReliabilityMode.rs b/src/features/gen_WebTransportReliabilityMode.rs
new file mode 100644
index 0000000..5bdba27
--- /dev/null
+++ b/src/features/gen_WebTransportReliabilityMode.rs
@@ -0,0 +1,17 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+#[doc = "The `WebTransportReliabilityMode` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `WebTransportReliabilityMode`*"]
+#[doc = ""]
+#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum WebTransportReliabilityMode {
+    Pending = "pending",
+    ReliableOnly = "reliable-only",
+    SupportsUnreliable = "supports-unreliable",
+}
diff --git a/src/features/gen_WebTransportSendStream.rs b/src/features/gen_WebTransportSendStream.rs
new file mode 100644
index 0000000..6377f11
--- /dev/null
+++ b/src/features/gen_WebTransportSendStream.rs
@@ -0,0 +1,30 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = WritableStream , extends = :: js_sys :: Object , js_name = WebTransportSendStream , typescript_type = "WebTransportSendStream")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportSendStream` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportSendStream)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportSendStream;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "WebTransportSendStream" , js_name = getStats)]
+    #[doc = "The `getStats()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebTransportSendStream/getStats)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStream`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_stats(this: &WebTransportSendStream) -> ::js_sys::Promise;
+}
diff --git a/src/features/gen_WebTransportSendStreamOptions.rs b/src/features/gen_WebTransportSendStreamOptions.rs
new file mode 100644
index 0000000..61d694c
--- /dev/null
+++ b/src/features/gen_WebTransportSendStreamOptions.rs
@@ -0,0 +1,58 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportSendStreamOptions)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportSendStreamOptions` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStreamOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportSendStreamOptions;
+}
+#[cfg(web_sys_unstable_apis)]
+impl WebTransportSendStreamOptions {
+    #[doc = "Construct a new `WebTransportSendStreamOptions`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStreamOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `sendOrder` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStreamOptions`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn send_order(&mut self, val: Option<f64>) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("sendOrder"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for WebTransportSendStreamOptions {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_WebTransportSendStreamStats.rs b/src/features/gen_WebTransportSendStreamStats.rs
new file mode 100644
index 0000000..524a1bc
--- /dev/null
+++ b/src/features/gen_WebTransportSendStreamStats.rs
@@ -0,0 +1,121 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportSendStreamStats)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportSendStreamStats` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportSendStreamStats;
+}
+#[cfg(web_sys_unstable_apis)]
+impl WebTransportSendStreamStats {
+    #[doc = "Construct a new `WebTransportSendStreamStats`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `bytesAcknowledged` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn bytes_acknowledged(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("bytesAcknowledged"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `bytesSent` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn bytes_sent(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("bytesSent"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `bytesWritten` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn bytes_written(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("bytesWritten"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `timestamp` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportSendStreamStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn timestamp(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("timestamp"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for WebTransportSendStreamStats {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_WebTransportStats.rs b/src/features/gen_WebTransportStats.rs
new file mode 100644
index 0000000..d28d354
--- /dev/null
+++ b/src/features/gen_WebTransportStats.rs
@@ -0,0 +1,287 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WebTransportStats)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WebTransportStats` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WebTransportStats;
+}
+#[cfg(web_sys_unstable_apis)]
+impl WebTransportStats {
+    #[doc = "Construct a new `WebTransportStats`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new() -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `bytesReceived` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn bytes_received(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("bytesReceived"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `bytesSent` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn bytes_sent(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("bytesSent"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WebTransportDatagramStats")]
+    #[doc = "Change the `datagrams` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportDatagramStats`, `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn datagrams(&mut self, val: &WebTransportDatagramStats) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("datagrams"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `minRtt` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn min_rtt(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r =
+            ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("minRtt"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `numIncomingStreamsCreated` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn num_incoming_streams_created(&mut self, val: u32) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("numIncomingStreamsCreated"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `numOutgoingStreamsCreated` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn num_outgoing_streams_created(&mut self, val: u32) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("numOutgoingStreamsCreated"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `packetsLost` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn packets_lost(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("packetsLost"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `packetsReceived` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn packets_received(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("packetsReceived"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `packetsSent` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn packets_sent(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("packetsSent"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `rttVariation` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn rtt_variation(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("rttVariation"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `smoothedRtt` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn smoothed_rtt(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("smoothedRtt"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `timestamp` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WebTransportStats`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn timestamp(&mut self, val: f64) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("timestamp"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
+#[cfg(web_sys_unstable_apis)]
+impl Default for WebTransportStats {
+    fn default() -> Self {
+        Self::new()
+    }
+}
diff --git a/src/features/gen_WebglColorBufferFloat.rs b/src/features/gen_WebglColorBufferFloat.rs
index d16789a..d8c1949 100644
--- a/src/features/gen_WebglColorBufferFloat.rs
+++ b/src/features/gen_WebglColorBufferFloat.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglCompressedTextureAstc.rs b/src/features/gen_WebglCompressedTextureAstc.rs
index fb369c2..54ad514 100644
--- a/src/features/gen_WebglCompressedTextureAstc.rs
+++ b/src/features/gen_WebglCompressedTextureAstc.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglCompressedTextureAtc.rs b/src/features/gen_WebglCompressedTextureAtc.rs
index 403a232..67d64d2 100644
--- a/src/features/gen_WebglCompressedTextureAtc.rs
+++ b/src/features/gen_WebglCompressedTextureAtc.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglCompressedTextureEtc.rs b/src/features/gen_WebglCompressedTextureEtc.rs
index 37d7323..6d1e0e5 100644
--- a/src/features/gen_WebglCompressedTextureEtc.rs
+++ b/src/features/gen_WebglCompressedTextureEtc.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglCompressedTextureEtc1.rs b/src/features/gen_WebglCompressedTextureEtc1.rs
index 52dc557..896feba 100644
--- a/src/features/gen_WebglCompressedTextureEtc1.rs
+++ b/src/features/gen_WebglCompressedTextureEtc1.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglCompressedTexturePvrtc.rs b/src/features/gen_WebglCompressedTexturePvrtc.rs
index ec34d19..1535eb0 100644
--- a/src/features/gen_WebglCompressedTexturePvrtc.rs
+++ b/src/features/gen_WebglCompressedTexturePvrtc.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglCompressedTextureS3tc.rs b/src/features/gen_WebglCompressedTextureS3tc.rs
index 450b1a7..7826509 100644
--- a/src/features/gen_WebglCompressedTextureS3tc.rs
+++ b/src/features/gen_WebglCompressedTextureS3tc.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglCompressedTextureS3tcSrgb.rs b/src/features/gen_WebglCompressedTextureS3tcSrgb.rs
index 94141e7..19aa644 100644
--- a/src/features/gen_WebglCompressedTextureS3tcSrgb.rs
+++ b/src/features/gen_WebglCompressedTextureS3tcSrgb.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglDebugRendererInfo.rs b/src/features/gen_WebglDebugRendererInfo.rs
index 2ef3172..9087f07 100644
--- a/src/features/gen_WebglDebugRendererInfo.rs
+++ b/src/features/gen_WebglDebugRendererInfo.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglDebugShaders.rs b/src/features/gen_WebglDebugShaders.rs
index 01f5403..c3db240 100644
--- a/src/features/gen_WebglDebugShaders.rs
+++ b/src/features/gen_WebglDebugShaders.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglDepthTexture.rs b/src/features/gen_WebglDepthTexture.rs
index 301f58b..5b2fe18 100644
--- a/src/features/gen_WebglDepthTexture.rs
+++ b/src/features/gen_WebglDepthTexture.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglDrawBuffers.rs b/src/features/gen_WebglDrawBuffers.rs
index a12d67b..c6ab986 100644
--- a/src/features/gen_WebglDrawBuffers.rs
+++ b/src/features/gen_WebglDrawBuffers.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglLoseContext.rs b/src/features/gen_WebglLoseContext.rs
index 5bf059b..62fd423 100644
--- a/src/features/gen_WebglLoseContext.rs
+++ b/src/features/gen_WebglLoseContext.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebglMultiDraw.rs b/src/features/gen_WebglMultiDraw.rs
index a8d3cbc..cf669c5 100644
--- a/src/features/gen_WebglMultiDraw.rs
+++ b/src/features/gen_WebglMultiDraw.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WebrtcGlobalStatisticsReport.rs b/src/features/gen_WebrtcGlobalStatisticsReport.rs
index 9a2e199..a06f06e 100644
--- a/src/features/gen_WebrtcGlobalStatisticsReport.rs
+++ b/src/features/gen_WebrtcGlobalStatisticsReport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WheelEvent.rs b/src/features/gen_WheelEvent.rs
index cbf9365..885954d 100644
--- a/src/features/gen_WheelEvent.rs
+++ b/src/features/gen_WheelEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WheelEventInit.rs b/src/features/gen_WheelEventInit.rs
index 2d65bee..c29db30 100644
--- a/src/features/gen_WheelEventInit.rs
+++ b/src/features/gen_WheelEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WidevineCdmManifest.rs b/src/features/gen_WidevineCdmManifest.rs
index cd5e0cd..3d8ba3f 100644
--- a/src/features/gen_WidevineCdmManifest.rs
+++ b/src/features/gen_WidevineCdmManifest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Window.rs b/src/features/gen_Window.rs
index 5b9a751..55a2001 100644
--- a/src/features/gen_Window.rs
+++ b/src/features/gen_Window.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -1966,13 +1967,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `Window`*"]
     pub fn blur(this: &Window) -> Result<(), JsValue>;
-    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = cancelAnimationFrame)]
-    #[doc = "The `cancelAnimationFrame()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `Window`*"]
-    pub fn cancel_animation_frame(this: &Window, handle: i32) -> Result<(), JsValue>;
     # [wasm_bindgen (method , structural , js_class = "Window" , js_name = cancelIdleCallback)]
     #[doc = "The `cancelIdleCallback()` method."]
     #[doc = ""]
@@ -2160,6 +2154,32 @@ extern "C" {
         message: &str,
         default: &str,
     ) -> Result<Option<String>, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = queryLocalFonts)]
+    #[doc = "The `queryLocalFonts()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/queryLocalFonts)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Window`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn query_local_fonts(this: &Window) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "QueryOptions")]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = queryLocalFonts)]
+    #[doc = "The `queryLocalFonts()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/queryLocalFonts)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `QueryOptions`, `Window`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn query_local_fonts_with_options(
+        this: &Window,
+        options: &QueryOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
     # [wasm_bindgen (method , structural , js_class = "Window" , js_name = releaseEvents)]
     #[doc = "The `releaseEvents()` method."]
     #[doc = ""]
@@ -2167,16 +2187,6 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `Window`*"]
     pub fn release_events(this: &Window);
-    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = requestAnimationFrame)]
-    #[doc = "The `requestAnimationFrame()` method."]
-    #[doc = ""]
-    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame)"]
-    #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `Window`*"]
-    pub fn request_animation_frame(
-        this: &Window,
-        callback: &::js_sys::Function,
-    ) -> Result<i32, JsValue>;
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = requestIdleCallback)]
     #[doc = "The `requestIdleCallback()` method."]
     #[doc = ""]
@@ -2293,6 +2303,23 @@ extern "C" {
     #[doc = ""]
     #[doc = "*This API requires the following crate features to be activated: `Window`*"]
     pub fn get(this: &Window, name: &str) -> Option<::js_sys::Object>;
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = cancelAnimationFrame)]
+    #[doc = "The `cancelAnimationFrame()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Window`*"]
+    pub fn cancel_animation_frame(this: &Window, handle: i32) -> Result<(), JsValue>;
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = requestAnimationFrame)]
+    #[doc = "The `requestAnimationFrame()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Window`*"]
+    pub fn request_animation_frame(
+        this: &Window,
+        callback: &::js_sys::Function,
+    ) -> Result<i32, JsValue>;
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = atob)]
     #[doc = "The `atob()` method."]
     #[doc = ""]
@@ -2346,16 +2373,16 @@ extern "C" {
         this: &Window,
         a_image: &HtmlImageElement,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "HtmlVideoElement")]
+    #[cfg(feature = "SvgImageElement")]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `Window`*"]
-    pub fn create_image_bitmap_with_html_video_element(
+    #[doc = "*This API requires the following crate features to be activated: `SvgImageElement`, `Window`*"]
+    pub fn create_image_bitmap_with_svg_image_element(
         this: &Window,
-        a_image: &HtmlVideoElement,
+        a_image: &SvgImageElement,
     ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "HtmlCanvasElement")]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
@@ -2368,6 +2395,54 @@ extern "C" {
         this: &Window,
         a_image: &HtmlCanvasElement,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "HtmlVideoElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `Window`*"]
+    pub fn create_image_bitmap_with_html_video_element(
+        this: &Window,
+        a_image: &HtmlVideoElement,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "ImageBitmap")]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `Window`*"]
+    pub fn create_image_bitmap_with_image_bitmap(
+        this: &Window,
+        a_image: &ImageBitmap,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `Window`*"]
+    pub fn create_image_bitmap_with_offscreen_canvas(
+        this: &Window,
+        a_image: &OffscreenCanvas,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrame")]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `Window`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_image_bitmap_with_video_frame(
+        this: &Window,
+        a_image: &VideoFrame,
+    ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "Blob")]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
@@ -2390,47 +2465,117 @@ extern "C" {
         this: &Window,
         a_image: &ImageData,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "CanvasRenderingContext2d")]
+    #[cfg(all(feature = "HtmlImageElement", feature = "ImageBitmapOptions",))]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `Window`*"]
-    pub fn create_image_bitmap_with_canvas_rendering_context_2d(
+    #[doc = "*This API requires the following crate features to be activated: `HtmlImageElement`, `ImageBitmapOptions`, `Window`*"]
+    pub fn create_image_bitmap_with_html_image_element_and_image_bitmap_options(
         this: &Window,
-        a_image: &CanvasRenderingContext2d,
+        a_image: &HtmlImageElement,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "ImageBitmap")]
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "SvgImageElement",))]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `Window`*"]
-    pub fn create_image_bitmap_with_image_bitmap(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `SvgImageElement`, `Window`*"]
+    pub fn create_image_bitmap_with_svg_image_element_and_image_bitmap_options(
+        this: &Window,
+        a_image: &SvgImageElement,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "HtmlCanvasElement", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `ImageBitmapOptions`, `Window`*"]
+    pub fn create_image_bitmap_with_html_canvas_element_and_image_bitmap_options(
+        this: &Window,
+        a_image: &HtmlCanvasElement,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "HtmlVideoElement", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `ImageBitmapOptions`, `Window`*"]
+    pub fn create_image_bitmap_with_html_video_element_and_image_bitmap_options(
+        this: &Window,
+        a_image: &HtmlVideoElement,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmap", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `ImageBitmapOptions`, `Window`*"]
+    pub fn create_image_bitmap_with_image_bitmap_and_image_bitmap_options(
         this: &Window,
         a_image: &ImageBitmap,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "OffscreenCanvas",))]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `Window`*"]
-    pub fn create_image_bitmap_with_buffer_source(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `OffscreenCanvas`, `Window`*"]
+    pub fn create_image_bitmap_with_offscreen_canvas_and_image_bitmap_options(
         this: &Window,
-        a_image: &::js_sys::Object,
+        a_image: &OffscreenCanvas,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "VideoFrame",))]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `Window`*"]
-    pub fn create_image_bitmap_with_u8_array(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `VideoFrame`, `Window`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_image_bitmap_with_video_frame_and_image_bitmap_options(
         this: &Window,
-        a_image: &mut [u8],
+        a_image: &VideoFrame,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "Blob", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Blob`, `ImageBitmapOptions`, `Window`*"]
+    pub fn create_image_bitmap_with_blob_and_image_bitmap_options(
+        this: &Window,
+        a_image: &Blob,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "ImageData",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `ImageData`, `Window`*"]
+    pub fn create_image_bitmap_with_image_data_and_image_bitmap_options(
+        this: &Window,
+        a_image: &ImageData,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "HtmlImageElement")]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
@@ -2447,16 +2592,16 @@ extern "C" {
         a_sw: i32,
         a_sh: i32,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "HtmlVideoElement")]
+    #[cfg(feature = "SvgImageElement")]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `Window`*"]
-    pub fn create_image_bitmap_with_html_video_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+    #[doc = "*This API requires the following crate features to be activated: `SvgImageElement`, `Window`*"]
+    pub fn create_image_bitmap_with_svg_image_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
         this: &Window,
-        a_image: &HtmlVideoElement,
+        a_image: &SvgImageElement,
         a_sx: i32,
         a_sy: i32,
         a_sw: i32,
@@ -2477,6 +2622,70 @@ extern "C" {
         a_sw: i32,
         a_sh: i32,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "HtmlVideoElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `Window`*"]
+    pub fn create_image_bitmap_with_html_video_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+        this: &Window,
+        a_image: &HtmlVideoElement,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "ImageBitmap")]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `Window`*"]
+    pub fn create_image_bitmap_with_image_bitmap_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+        this: &Window,
+        a_image: &ImageBitmap,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `Window`*"]
+    pub fn create_image_bitmap_with_offscreen_canvas_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+        this: &Window,
+        a_image: &OffscreenCanvas,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrame")]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `Window`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_image_bitmap_with_video_frame_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+        this: &Window,
+        a_image: &VideoFrame,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+    ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "Blob")]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
@@ -2507,63 +2716,153 @@ extern "C" {
         a_sw: i32,
         a_sh: i32,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "CanvasRenderingContext2d")]
+    #[cfg(all(feature = "HtmlImageElement", feature = "ImageBitmapOptions",))]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `Window`*"]
-    pub fn create_image_bitmap_with_canvas_rendering_context_2d_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+    #[doc = "*This API requires the following crate features to be activated: `HtmlImageElement`, `ImageBitmapOptions`, `Window`*"]
+    pub fn create_image_bitmap_with_html_image_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
         this: &Window,
-        a_image: &CanvasRenderingContext2d,
+        a_image: &HtmlImageElement,
         a_sx: i32,
         a_sy: i32,
         a_sw: i32,
         a_sh: i32,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "ImageBitmap")]
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "SvgImageElement",))]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `Window`*"]
-    pub fn create_image_bitmap_with_image_bitmap_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `SvgImageElement`, `Window`*"]
+    pub fn create_image_bitmap_with_svg_image_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
+        this: &Window,
+        a_image: &SvgImageElement,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "HtmlCanvasElement", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `ImageBitmapOptions`, `Window`*"]
+    pub fn create_image_bitmap_with_html_canvas_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
+        this: &Window,
+        a_image: &HtmlCanvasElement,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "HtmlVideoElement", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `ImageBitmapOptions`, `Window`*"]
+    pub fn create_image_bitmap_with_html_video_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
+        this: &Window,
+        a_image: &HtmlVideoElement,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmap", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `ImageBitmapOptions`, `Window`*"]
+    pub fn create_image_bitmap_with_image_bitmap_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
         this: &Window,
         a_image: &ImageBitmap,
         a_sx: i32,
         a_sy: i32,
         a_sw: i32,
         a_sh: i32,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "OffscreenCanvas",))]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `Window`*"]
-    pub fn create_image_bitmap_with_buffer_source_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `OffscreenCanvas`, `Window`*"]
+    pub fn create_image_bitmap_with_offscreen_canvas_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
         this: &Window,
-        a_image: &::js_sys::Object,
+        a_image: &OffscreenCanvas,
         a_sx: i32,
         a_sy: i32,
         a_sw: i32,
         a_sh: i32,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "VideoFrame",))]
     # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `Window`*"]
-    pub fn create_image_bitmap_with_u8_array_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `VideoFrame`, `Window`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_image_bitmap_with_video_frame_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
         this: &Window,
-        a_image: &mut [u8],
+        a_image: &VideoFrame,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "Blob", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Blob`, `ImageBitmapOptions`, `Window`*"]
+    pub fn create_image_bitmap_with_blob_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
+        this: &Window,
+        a_image: &Blob,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "ImageData",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "Window" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `ImageData`, `Window`*"]
+    pub fn create_image_bitmap_with_image_data_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
+        this: &Window,
+        a_image: &ImageData,
         a_sx: i32,
         a_sy: i32,
         a_sw: i32,
         a_sh: i32,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "Request")]
     # [wasm_bindgen (method , structural , js_class = "Window" , js_name = fetch)]
diff --git a/src/features/gen_WindowClient.rs b/src/features/gen_WindowClient.rs
index 883de35..7aa5de8 100644
--- a/src/features/gen_WindowClient.rs
+++ b/src/features/gen_WindowClient.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_Worker.rs b/src/features/gen_Worker.rs
index ba9139f..70b2266 100644
--- a/src/features/gen_Worker.rs
+++ b/src/features/gen_Worker.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WorkerDebuggerGlobalScope.rs b/src/features/gen_WorkerDebuggerGlobalScope.rs
index e2bd8ee..8239c90 100644
--- a/src/features/gen_WorkerDebuggerGlobalScope.rs
+++ b/src/features/gen_WorkerDebuggerGlobalScope.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WorkerGlobalScope.rs b/src/features/gen_WorkerGlobalScope.rs
index 3f51a6d..0a8dac0 100644
--- a/src/features/gen_WorkerGlobalScope.rs
+++ b/src/features/gen_WorkerGlobalScope.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -269,16 +270,16 @@ extern "C" {
         this: &WorkerGlobalScope,
         a_image: &HtmlImageElement,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "HtmlVideoElement")]
+    #[cfg(feature = "SvgImageElement")]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `WorkerGlobalScope`*"]
-    pub fn create_image_bitmap_with_html_video_element(
+    #[doc = "*This API requires the following crate features to be activated: `SvgImageElement`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_svg_image_element(
         this: &WorkerGlobalScope,
-        a_image: &HtmlVideoElement,
+        a_image: &SvgImageElement,
     ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "HtmlCanvasElement")]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
@@ -291,6 +292,54 @@ extern "C" {
         this: &WorkerGlobalScope,
         a_image: &HtmlCanvasElement,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "HtmlVideoElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_html_video_element(
+        this: &WorkerGlobalScope,
+        a_image: &HtmlVideoElement,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "ImageBitmap")]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_image_bitmap(
+        this: &WorkerGlobalScope,
+        a_image: &ImageBitmap,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_offscreen_canvas(
+        this: &WorkerGlobalScope,
+        a_image: &OffscreenCanvas,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrame")]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `WorkerGlobalScope`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_image_bitmap_with_video_frame(
+        this: &WorkerGlobalScope,
+        a_image: &VideoFrame,
+    ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "Blob")]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
@@ -313,47 +362,117 @@ extern "C" {
         this: &WorkerGlobalScope,
         a_image: &ImageData,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "CanvasRenderingContext2d")]
+    #[cfg(all(feature = "HtmlImageElement", feature = "ImageBitmapOptions",))]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `WorkerGlobalScope`*"]
-    pub fn create_image_bitmap_with_canvas_rendering_context_2d(
+    #[doc = "*This API requires the following crate features to be activated: `HtmlImageElement`, `ImageBitmapOptions`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_html_image_element_and_image_bitmap_options(
         this: &WorkerGlobalScope,
-        a_image: &CanvasRenderingContext2d,
+        a_image: &HtmlImageElement,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "ImageBitmap")]
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "SvgImageElement",))]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `WorkerGlobalScope`*"]
-    pub fn create_image_bitmap_with_image_bitmap(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `SvgImageElement`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_svg_image_element_and_image_bitmap_options(
+        this: &WorkerGlobalScope,
+        a_image: &SvgImageElement,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "HtmlCanvasElement", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `ImageBitmapOptions`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_html_canvas_element_and_image_bitmap_options(
+        this: &WorkerGlobalScope,
+        a_image: &HtmlCanvasElement,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "HtmlVideoElement", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `ImageBitmapOptions`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_html_video_element_and_image_bitmap_options(
+        this: &WorkerGlobalScope,
+        a_image: &HtmlVideoElement,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmap", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `ImageBitmapOptions`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_image_bitmap_and_image_bitmap_options(
         this: &WorkerGlobalScope,
         a_image: &ImageBitmap,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "OffscreenCanvas",))]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `WorkerGlobalScope`*"]
-    pub fn create_image_bitmap_with_buffer_source(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `OffscreenCanvas`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_offscreen_canvas_and_image_bitmap_options(
         this: &WorkerGlobalScope,
-        a_image: &::js_sys::Object,
+        a_image: &OffscreenCanvas,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "VideoFrame",))]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `WorkerGlobalScope`*"]
-    pub fn create_image_bitmap_with_u8_array(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `VideoFrame`, `WorkerGlobalScope`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_image_bitmap_with_video_frame_and_image_bitmap_options(
+        this: &WorkerGlobalScope,
+        a_image: &VideoFrame,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "Blob", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Blob`, `ImageBitmapOptions`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_blob_and_image_bitmap_options(
+        this: &WorkerGlobalScope,
+        a_image: &Blob,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "ImageData",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `ImageData`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_image_data_and_image_bitmap_options(
         this: &WorkerGlobalScope,
-        a_image: &mut [u8],
+        a_image: &ImageData,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "HtmlImageElement")]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
@@ -370,16 +489,16 @@ extern "C" {
         a_sw: i32,
         a_sh: i32,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "HtmlVideoElement")]
+    #[cfg(feature = "SvgImageElement")]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `WorkerGlobalScope`*"]
-    pub fn create_image_bitmap_with_html_video_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+    #[doc = "*This API requires the following crate features to be activated: `SvgImageElement`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_svg_image_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
         this: &WorkerGlobalScope,
-        a_image: &HtmlVideoElement,
+        a_image: &SvgImageElement,
         a_sx: i32,
         a_sy: i32,
         a_sw: i32,
@@ -400,6 +519,70 @@ extern "C" {
         a_sw: i32,
         a_sh: i32,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "HtmlVideoElement")]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_html_video_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+        this: &WorkerGlobalScope,
+        a_image: &HtmlVideoElement,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "ImageBitmap")]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_image_bitmap_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+        this: &WorkerGlobalScope,
+        a_image: &ImageBitmap,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(feature = "OffscreenCanvas")]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `OffscreenCanvas`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_offscreen_canvas_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+        this: &WorkerGlobalScope,
+        a_image: &OffscreenCanvas,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "VideoFrame")]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `VideoFrame`, `WorkerGlobalScope`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_image_bitmap_with_video_frame_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+        this: &WorkerGlobalScope,
+        a_image: &VideoFrame,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+    ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "Blob")]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
@@ -430,63 +613,153 @@ extern "C" {
         a_sw: i32,
         a_sh: i32,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "CanvasRenderingContext2d")]
+    #[cfg(all(feature = "HtmlImageElement", feature = "ImageBitmapOptions",))]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `CanvasRenderingContext2d`, `WorkerGlobalScope`*"]
-    pub fn create_image_bitmap_with_canvas_rendering_context_2d_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+    #[doc = "*This API requires the following crate features to be activated: `HtmlImageElement`, `ImageBitmapOptions`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_html_image_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
         this: &WorkerGlobalScope,
-        a_image: &CanvasRenderingContext2d,
+        a_image: &HtmlImageElement,
         a_sx: i32,
         a_sy: i32,
         a_sw: i32,
         a_sh: i32,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
-    #[cfg(feature = "ImageBitmap")]
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "SvgImageElement",))]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `WorkerGlobalScope`*"]
-    pub fn create_image_bitmap_with_image_bitmap_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `SvgImageElement`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_svg_image_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
+        this: &WorkerGlobalScope,
+        a_image: &SvgImageElement,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "HtmlCanvasElement", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlCanvasElement`, `ImageBitmapOptions`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_html_canvas_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
+        this: &WorkerGlobalScope,
+        a_image: &HtmlCanvasElement,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "HtmlVideoElement", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `HtmlVideoElement`, `ImageBitmapOptions`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_html_video_element_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
+        this: &WorkerGlobalScope,
+        a_image: &HtmlVideoElement,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmap", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmap`, `ImageBitmapOptions`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_image_bitmap_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
         this: &WorkerGlobalScope,
         a_image: &ImageBitmap,
         a_sx: i32,
         a_sy: i32,
         a_sw: i32,
         a_sh: i32,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "OffscreenCanvas",))]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `WorkerGlobalScope`*"]
-    pub fn create_image_bitmap_with_buffer_source_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `OffscreenCanvas`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_offscreen_canvas_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
         this: &WorkerGlobalScope,
-        a_image: &::js_sys::Object,
+        a_image: &OffscreenCanvas,
         a_sx: i32,
         a_sy: i32,
         a_sw: i32,
         a_sh: i32,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "VideoFrame",))]
     # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
     #[doc = "The `createImageBitmap()` method."]
     #[doc = ""]
     #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
     #[doc = ""]
-    #[doc = "*This API requires the following crate features to be activated: `WorkerGlobalScope`*"]
-    pub fn create_image_bitmap_with_u8_array_and_a_sx_and_a_sy_and_a_sw_and_a_sh(
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `VideoFrame`, `WorkerGlobalScope`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn create_image_bitmap_with_video_frame_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
+        this: &WorkerGlobalScope,
+        a_image: &VideoFrame,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "Blob", feature = "ImageBitmapOptions",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Blob`, `ImageBitmapOptions`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_blob_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
         this: &WorkerGlobalScope,
-        a_image: &mut [u8],
+        a_image: &Blob,
+        a_sx: i32,
+        a_sy: i32,
+        a_sw: i32,
+        a_sh: i32,
+        a_options: &ImageBitmapOptions,
+    ) -> Result<::js_sys::Promise, JsValue>;
+    #[cfg(all(feature = "ImageBitmapOptions", feature = "ImageData",))]
+    # [wasm_bindgen (catch , method , structural , js_class = "WorkerGlobalScope" , js_name = createImageBitmap)]
+    #[doc = "The `createImageBitmap()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/createImageBitmap)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `ImageBitmapOptions`, `ImageData`, `WorkerGlobalScope`*"]
+    pub fn create_image_bitmap_with_image_data_and_a_sx_and_a_sy_and_a_sw_and_a_sh_and_a_options(
+        this: &WorkerGlobalScope,
+        a_image: &ImageData,
         a_sx: i32,
         a_sy: i32,
         a_sw: i32,
         a_sh: i32,
+        a_options: &ImageBitmapOptions,
     ) -> Result<::js_sys::Promise, JsValue>;
     #[cfg(feature = "Request")]
     # [wasm_bindgen (method , structural , js_class = "WorkerGlobalScope" , js_name = fetch)]
diff --git a/src/features/gen_WorkerLocation.rs b/src/features/gen_WorkerLocation.rs
index 643fd1d..f8c9398 100644
--- a/src/features/gen_WorkerLocation.rs
+++ b/src/features/gen_WorkerLocation.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WorkerNavigator.rs b/src/features/gen_WorkerNavigator.rs
index 09e987e..e1038bd 100644
--- a/src/features/gen_WorkerNavigator.rs
+++ b/src/features/gen_WorkerNavigator.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
@@ -28,6 +29,18 @@ extern "C" {
     #[doc = "*This API requires the following crate features to be activated: `MediaCapabilities`, `WorkerNavigator`*"]
     pub fn media_capabilities(this: &WorkerNavigator) -> MediaCapabilities;
     #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "Serial")]
+    # [wasm_bindgen (structural , method , getter , js_class = "WorkerNavigator" , js_name = serial)]
+    #[doc = "Getter for the `serial` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WorkerNavigator/serial)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `Serial`, `WorkerNavigator`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn serial(this: &WorkerNavigator) -> Serial;
+    #[cfg(web_sys_unstable_apis)]
     #[cfg(feature = "Usb")]
     # [wasm_bindgen (structural , method , getter , js_class = "WorkerNavigator" , js_name = usb)]
     #[doc = "Getter for the `usb` field of this object."]
diff --git a/src/features/gen_WorkerOptions.rs b/src/features/gen_WorkerOptions.rs
index b4e6791..a635036 100644
--- a/src/features/gen_WorkerOptions.rs
+++ b/src/features/gen_WorkerOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WorkerType.rs b/src/features/gen_WorkerType.rs
index 3ae5001..d67706b 100644
--- a/src/features/gen_WorkerType.rs
+++ b/src/features/gen_WorkerType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `WorkerType` enum."]
diff --git a/src/features/gen_Worklet.rs b/src/features/gen_Worklet.rs
index fec6b6d..3c4ce39 100644
--- a/src/features/gen_Worklet.rs
+++ b/src/features/gen_Worklet.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WorkletGlobalScope.rs b/src/features/gen_WorkletGlobalScope.rs
index 2693169..d37c460 100644
--- a/src/features/gen_WorkletGlobalScope.rs
+++ b/src/features/gen_WorkletGlobalScope.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WorkletOptions.rs b/src/features/gen_WorkletOptions.rs
index d14e13b..12ce913 100644
--- a/src/features/gen_WorkletOptions.rs
+++ b/src/features/gen_WorkletOptions.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WritableStream.rs b/src/features/gen_WritableStream.rs
index 48124a3..c831b12 100644
--- a/src/features/gen_WritableStream.rs
+++ b/src/features/gen_WritableStream.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WritableStreamDefaultController.rs b/src/features/gen_WritableStreamDefaultController.rs
index 424a635..25d26fa 100644
--- a/src/features/gen_WritableStreamDefaultController.rs
+++ b/src/features/gen_WritableStreamDefaultController.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WritableStreamDefaultWriter.rs b/src/features/gen_WritableStreamDefaultWriter.rs
index 2cda53f..536b935 100644
--- a/src/features/gen_WritableStreamDefaultWriter.rs
+++ b/src/features/gen_WritableStreamDefaultWriter.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_WriteCommandType.rs b/src/features/gen_WriteCommandType.rs
new file mode 100644
index 0000000..7a4f368
--- /dev/null
+++ b/src/features/gen_WriteCommandType.rs
@@ -0,0 +1,17 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+#[doc = "The `WriteCommandType` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `WriteCommandType`*"]
+#[doc = ""]
+#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum WriteCommandType {
+    Write = "write",
+    Seek = "seek",
+    Truncate = "truncate",
+}
diff --git a/src/features/gen_WriteParams.rs b/src/features/gen_WriteParams.rs
new file mode 100644
index 0000000..a142040
--- /dev/null
+++ b/src/features/gen_WriteParams.rs
@@ -0,0 +1,106 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = WriteParams)]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `WriteParams` dictionary."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WriteParams`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type WriteParams;
+}
+#[cfg(web_sys_unstable_apis)]
+impl WriteParams {
+    #[cfg(feature = "WriteCommandType")]
+    #[doc = "Construct a new `WriteParams`."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WriteCommandType`, `WriteParams`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn new(type_: WriteCommandType) -> Self {
+        #[allow(unused_mut)]
+        let mut ret: Self = ::wasm_bindgen::JsCast::unchecked_into(::js_sys::Object::new());
+        ret.type_(type_);
+        ret
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `data` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WriteParams`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn data(&mut self, val: Option<&::wasm_bindgen::JsValue>) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("data"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `position` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WriteParams`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn position(&mut self, val: Option<f64>) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(
+            self.as_ref(),
+            &JsValue::from("position"),
+            &JsValue::from(val),
+        );
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[doc = "Change the `size` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WriteParams`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn size(&mut self, val: Option<f64>) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("size"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "WriteCommandType")]
+    #[doc = "Change the `type` field of this object."]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `WriteCommandType`, `WriteParams`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn type_(&mut self, val: WriteCommandType) -> &mut Self {
+        use wasm_bindgen::JsValue;
+        let r = ::js_sys::Reflect::set(self.as_ref(), &JsValue::from("type"), &JsValue::from(val));
+        debug_assert!(
+            r.is_ok(),
+            "setting properties should never fail on our dictionary objects"
+        );
+        let _ = r;
+        self
+    }
+}
diff --git a/src/features/gen_XPathExpression.rs b/src/features/gen_XPathExpression.rs
index 6a09c70..c7c3626 100644
--- a/src/features/gen_XPathExpression.rs
+++ b/src/features/gen_XPathExpression.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_XPathNsResolver.rs b/src/features/gen_XPathNsResolver.rs
index 7420828..89ec857 100644
--- a/src/features/gen_XPathNsResolver.rs
+++ b/src/features/gen_XPathNsResolver.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_XPathResult.rs b/src/features/gen_XPathResult.rs
index a006a89..1ed07af 100644
--- a/src/features/gen_XPathResult.rs
+++ b/src/features/gen_XPathResult.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_XmlDocument.rs b/src/features/gen_XmlDocument.rs
index d1f2c85..572ab05 100644
--- a/src/features/gen_XmlDocument.rs
+++ b/src/features/gen_XmlDocument.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_XmlHttpRequest.rs b/src/features/gen_XmlHttpRequest.rs
index 06522f8..fc95ec5 100644
--- a/src/features/gen_XmlHttpRequest.rs
+++ b/src/features/gen_XmlHttpRequest.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_XmlHttpRequestEventTarget.rs b/src/features/gen_XmlHttpRequestEventTarget.rs
index f4e90fd..0ad1ae1 100644
--- a/src/features/gen_XmlHttpRequestEventTarget.rs
+++ b/src/features/gen_XmlHttpRequestEventTarget.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_XmlHttpRequestResponseType.rs b/src/features/gen_XmlHttpRequestResponseType.rs
index 8144e3e..f1c4feb 100644
--- a/src/features/gen_XmlHttpRequestResponseType.rs
+++ b/src/features/gen_XmlHttpRequestResponseType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
 #[doc = "The `XmlHttpRequestResponseType` enum."]
diff --git a/src/features/gen_XmlHttpRequestUpload.rs b/src/features/gen_XmlHttpRequestUpload.rs
index d21af9a..efea1f7 100644
--- a/src/features/gen_XmlHttpRequestUpload.rs
+++ b/src/features/gen_XmlHttpRequestUpload.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_XmlSerializer.rs b/src/features/gen_XmlSerializer.rs
index 8243e96..0d00e95 100644
--- a/src/features/gen_XmlSerializer.rs
+++ b/src/features/gen_XmlSerializer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_XrBoundedReferenceSpace.rs b/src/features/gen_XrBoundedReferenceSpace.rs
index 79b217a..e7b4f3f 100644
--- a/src/features/gen_XrBoundedReferenceSpace.rs
+++ b/src/features/gen_XrBoundedReferenceSpace.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrEye.rs b/src/features/gen_XrEye.rs
index a09d810..079c1ed 100644
--- a/src/features/gen_XrEye.rs
+++ b/src/features/gen_XrEye.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_XrFrame.rs b/src/features/gen_XrFrame.rs
index bdab432..84d4d5d 100644
--- a/src/features/gen_XrFrame.rs
+++ b/src/features/gen_XrFrame.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
@@ -39,6 +40,54 @@ extern "C" {
     #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn predicted_display_time(this: &XrFrame) -> f64;
     #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (method , structural , js_class = "XRFrame" , js_name = fillJointRadii)]
+    #[doc = "The `fillJointRadii()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRFrame/fillJointRadii)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrFrame`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn fill_joint_radii(
+        this: &XrFrame,
+        joint_spaces: &::wasm_bindgen::JsValue,
+        radii: &mut [f32],
+    ) -> bool;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "XrSpace")]
+    # [wasm_bindgen (method , structural , js_class = "XRFrame" , js_name = fillPoses)]
+    #[doc = "The `fillPoses()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRFrame/fillPoses)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrFrame`, `XrSpace`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn fill_poses(
+        this: &XrFrame,
+        spaces: &::wasm_bindgen::JsValue,
+        base_space: &XrSpace,
+        transforms: &mut [f32],
+    ) -> bool;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "XrJointPose", feature = "XrJointSpace", feature = "XrSpace",))]
+    # [wasm_bindgen (method , structural , js_class = "XRFrame" , js_name = getJointPose)]
+    #[doc = "The `getJointPose()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRFrame/getJointPose)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrFrame`, `XrJointPose`, `XrJointSpace`, `XrSpace`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get_joint_pose(
+        this: &XrFrame,
+        joint: &XrJointSpace,
+        base_space: &XrSpace,
+    ) -> Option<XrJointPose>;
+    #[cfg(web_sys_unstable_apis)]
     #[cfg(all(feature = "XrPose", feature = "XrSpace",))]
     # [wasm_bindgen (method , structural , js_class = "XRFrame" , js_name = getPose)]
     #[doc = "The `getPose()` method."]
diff --git a/src/features/gen_XrHand.rs b/src/features/gen_XrHand.rs
new file mode 100644
index 0000000..ad496a9
--- /dev/null
+++ b/src/features/gen_XrHand.rs
@@ -0,0 +1,42 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = :: js_sys :: Object , js_name = XRHand , typescript_type = "XRHand")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `XrHand` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRHand)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrHand`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type XrHand;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "XRHand" , js_name = size)]
+    #[doc = "Getter for the `size` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRHand/size)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrHand`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn size(this: &XrHand) -> u32;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(all(feature = "XrHandJoint", feature = "XrJointSpace",))]
+    # [wasm_bindgen (method , structural , js_class = "XRHand" , js_name = get)]
+    #[doc = "The `get()` method."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRHand/get)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrHand`, `XrHandJoint`, `XrJointSpace`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn get(this: &XrHand, key: XrHandJoint) -> XrJointSpace;
+}
diff --git a/src/features/gen_XrHandJoint.rs b/src/features/gen_XrHandJoint.rs
new file mode 100644
index 0000000..8edc734
--- /dev/null
+++ b/src/features/gen_XrHandJoint.rs
@@ -0,0 +1,39 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+#[doc = "The `XrHandJoint` enum."]
+#[doc = ""]
+#[doc = "*This API requires the following crate features to be activated: `XrHandJoint`*"]
+#[doc = ""]
+#[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+#[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum XrHandJoint {
+    Wrist = "wrist",
+    ThumbMetacarpal = "thumb-metacarpal",
+    ThumbPhalanxProximal = "thumb-phalanx-proximal",
+    ThumbPhalanxDistal = "thumb-phalanx-distal",
+    ThumbTip = "thumb-tip",
+    IndexFingerMetacarpal = "index-finger-metacarpal",
+    IndexFingerPhalanxProximal = "index-finger-phalanx-proximal",
+    IndexFingerPhalanxIntermediate = "index-finger-phalanx-intermediate",
+    IndexFingerPhalanxDistal = "index-finger-phalanx-distal",
+    IndexFingerTip = "index-finger-tip",
+    MiddleFingerMetacarpal = "middle-finger-metacarpal",
+    MiddleFingerPhalanxProximal = "middle-finger-phalanx-proximal",
+    MiddleFingerPhalanxIntermediate = "middle-finger-phalanx-intermediate",
+    MiddleFingerPhalanxDistal = "middle-finger-phalanx-distal",
+    MiddleFingerTip = "middle-finger-tip",
+    RingFingerMetacarpal = "ring-finger-metacarpal",
+    RingFingerPhalanxProximal = "ring-finger-phalanx-proximal",
+    RingFingerPhalanxIntermediate = "ring-finger-phalanx-intermediate",
+    RingFingerPhalanxDistal = "ring-finger-phalanx-distal",
+    RingFingerTip = "ring-finger-tip",
+    PinkyFingerMetacarpal = "pinky-finger-metacarpal",
+    PinkyFingerPhalanxProximal = "pinky-finger-phalanx-proximal",
+    PinkyFingerPhalanxIntermediate = "pinky-finger-phalanx-intermediate",
+    PinkyFingerPhalanxDistal = "pinky-finger-phalanx-distal",
+    PinkyFingerTip = "pinky-finger-tip",
+}
diff --git a/src/features/gen_XrHandedness.rs b/src/features/gen_XrHandedness.rs
index a3095d7..faadaa8 100644
--- a/src/features/gen_XrHandedness.rs
+++ b/src/features/gen_XrHandedness.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_XrInputSource.rs b/src/features/gen_XrInputSource.rs
index f20c5e4..d2f84da 100644
--- a/src/features/gen_XrInputSource.rs
+++ b/src/features/gen_XrInputSource.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
@@ -86,4 +87,16 @@ extern "C" {
     #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
     #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
     pub fn gamepad(this: &XrInputSource) -> Option<Gamepad>;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "XrHand")]
+    # [wasm_bindgen (structural , method , getter , js_class = "XRInputSource" , js_name = hand)]
+    #[doc = "Getter for the `hand` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRInputSource/hand)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrHand`, `XrInputSource`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn hand(this: &XrInputSource) -> Option<XrHand>;
 }
diff --git a/src/features/gen_XrInputSourceArray.rs b/src/features/gen_XrInputSourceArray.rs
index 72c723b..d0d03e5 100644
--- a/src/features/gen_XrInputSourceArray.rs
+++ b/src/features/gen_XrInputSourceArray.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrInputSourceEvent.rs b/src/features/gen_XrInputSourceEvent.rs
index 3efc22a..def6381 100644
--- a/src/features/gen_XrInputSourceEvent.rs
+++ b/src/features/gen_XrInputSourceEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrInputSourceEventInit.rs b/src/features/gen_XrInputSourceEventInit.rs
index 64f9daf..9458174 100644
--- a/src/features/gen_XrInputSourceEventInit.rs
+++ b/src/features/gen_XrInputSourceEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrInputSourcesChangeEvent.rs b/src/features/gen_XrInputSourcesChangeEvent.rs
index e20a89c..e09c10c 100644
--- a/src/features/gen_XrInputSourcesChangeEvent.rs
+++ b/src/features/gen_XrInputSourcesChangeEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrInputSourcesChangeEventInit.rs b/src/features/gen_XrInputSourcesChangeEventInit.rs
index e23c3df..e72dfe2 100644
--- a/src/features/gen_XrInputSourcesChangeEventInit.rs
+++ b/src/features/gen_XrInputSourcesChangeEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrJointPose.rs b/src/features/gen_XrJointPose.rs
new file mode 100644
index 0000000..543df71
--- /dev/null
+++ b/src/features/gen_XrJointPose.rs
@@ -0,0 +1,30 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = XrPose , extends = :: js_sys :: Object , js_name = XRJointPose , typescript_type = "XRJointPose")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `XrJointPose` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRJointPose)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrJointPose`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type XrJointPose;
+    #[cfg(web_sys_unstable_apis)]
+    # [wasm_bindgen (structural , method , getter , js_class = "XRJointPose" , js_name = radius)]
+    #[doc = "Getter for the `radius` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRJointPose/radius)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrJointPose`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn radius(this: &XrJointPose) -> f32;
+}
diff --git a/src/features/gen_XrJointSpace.rs b/src/features/gen_XrJointSpace.rs
new file mode 100644
index 0000000..645a8ee
--- /dev/null
+++ b/src/features/gen_XrJointSpace.rs
@@ -0,0 +1,31 @@
+#![allow(unused_imports)]
+#![allow(clippy::all)]
+use super::*;
+use wasm_bindgen::prelude::*;
+#[cfg(web_sys_unstable_apis)]
+#[wasm_bindgen]
+extern "C" {
+    # [wasm_bindgen (extends = XrSpace , extends = EventTarget , extends = :: js_sys :: Object , js_name = XRJointSpace , typescript_type = "XRJointSpace")]
+    #[derive(Debug, Clone, PartialEq, Eq)]
+    #[doc = "The `XrJointSpace` class."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRJointSpace)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrJointSpace`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub type XrJointSpace;
+    #[cfg(web_sys_unstable_apis)]
+    #[cfg(feature = "XrHandJoint")]
+    # [wasm_bindgen (structural , method , getter , js_class = "XRJointSpace" , js_name = jointName)]
+    #[doc = "Getter for the `jointName` field of this object."]
+    #[doc = ""]
+    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/XRJointSpace/jointName)"]
+    #[doc = ""]
+    #[doc = "*This API requires the following crate features to be activated: `XrHandJoint`, `XrJointSpace`*"]
+    #[doc = ""]
+    #[doc = "*This API is unstable and requires `--cfg=web_sys_unstable_apis` to be activated, as"]
+    #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
+    pub fn joint_name(this: &XrJointSpace) -> XrHandJoint;
+}
diff --git a/src/features/gen_XrLayer.rs b/src/features/gen_XrLayer.rs
index a68ea54..5bdade5 100644
--- a/src/features/gen_XrLayer.rs
+++ b/src/features/gen_XrLayer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrPermissionDescriptor.rs b/src/features/gen_XrPermissionDescriptor.rs
index ce11f75..8c494ca 100644
--- a/src/features/gen_XrPermissionDescriptor.rs
+++ b/src/features/gen_XrPermissionDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrPermissionStatus.rs b/src/features/gen_XrPermissionStatus.rs
index ec40338..58eb6b5 100644
--- a/src/features/gen_XrPermissionStatus.rs
+++ b/src/features/gen_XrPermissionStatus.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrPose.rs b/src/features/gen_XrPose.rs
index bbdb63b..dd718fc 100644
--- a/src/features/gen_XrPose.rs
+++ b/src/features/gen_XrPose.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrReferenceSpace.rs b/src/features/gen_XrReferenceSpace.rs
index 3ca6d5a..487b194 100644
--- a/src/features/gen_XrReferenceSpace.rs
+++ b/src/features/gen_XrReferenceSpace.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrReferenceSpaceEvent.rs b/src/features/gen_XrReferenceSpaceEvent.rs
index b677127..d113ba6 100644
--- a/src/features/gen_XrReferenceSpaceEvent.rs
+++ b/src/features/gen_XrReferenceSpaceEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrReferenceSpaceEventInit.rs b/src/features/gen_XrReferenceSpaceEventInit.rs
index 45b6efb..46aa10b 100644
--- a/src/features/gen_XrReferenceSpaceEventInit.rs
+++ b/src/features/gen_XrReferenceSpaceEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrReferenceSpaceType.rs b/src/features/gen_XrReferenceSpaceType.rs
index 6801e0f..3ee66e2 100644
--- a/src/features/gen_XrReferenceSpaceType.rs
+++ b/src/features/gen_XrReferenceSpaceType.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_XrRenderState.rs b/src/features/gen_XrRenderState.rs
index 98781ad..79076a1 100644
--- a/src/features/gen_XrRenderState.rs
+++ b/src/features/gen_XrRenderState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrRenderStateInit.rs b/src/features/gen_XrRenderStateInit.rs
index b3d5821..df8f9b8 100644
--- a/src/features/gen_XrRenderStateInit.rs
+++ b/src/features/gen_XrRenderStateInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrRigidTransform.rs b/src/features/gen_XrRigidTransform.rs
index a171e4e..e1970a1 100644
--- a/src/features/gen_XrRigidTransform.rs
+++ b/src/features/gen_XrRigidTransform.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrSession.rs b/src/features/gen_XrSession.rs
index 48e4bc3..c761efb 100644
--- a/src/features/gen_XrSession.rs
+++ b/src/features/gen_XrSession.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrSessionEvent.rs b/src/features/gen_XrSessionEvent.rs
index 748df35..70c14ca 100644
--- a/src/features/gen_XrSessionEvent.rs
+++ b/src/features/gen_XrSessionEvent.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrSessionEventInit.rs b/src/features/gen_XrSessionEventInit.rs
index fbe6cf2..4a44c49 100644
--- a/src/features/gen_XrSessionEventInit.rs
+++ b/src/features/gen_XrSessionEventInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrSessionInit.rs b/src/features/gen_XrSessionInit.rs
index 999791d..39cbbd4 100644
--- a/src/features/gen_XrSessionInit.rs
+++ b/src/features/gen_XrSessionInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrSessionMode.rs b/src/features/gen_XrSessionMode.rs
index d5a6803..becf96e 100644
--- a/src/features/gen_XrSessionMode.rs
+++ b/src/features/gen_XrSessionMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_XrSessionSupportedPermissionDescriptor.rs b/src/features/gen_XrSessionSupportedPermissionDescriptor.rs
index 26a771f..8d354b7 100644
--- a/src/features/gen_XrSessionSupportedPermissionDescriptor.rs
+++ b/src/features/gen_XrSessionSupportedPermissionDescriptor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrSpace.rs b/src/features/gen_XrSpace.rs
index e04941c..50c85f5 100644
--- a/src/features/gen_XrSpace.rs
+++ b/src/features/gen_XrSpace.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrSystem.rs b/src/features/gen_XrSystem.rs
index a035b3e..054f7a4 100644
--- a/src/features/gen_XrSystem.rs
+++ b/src/features/gen_XrSystem.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrTargetRayMode.rs b/src/features/gen_XrTargetRayMode.rs
index 94b5933..d4248fb 100644
--- a/src/features/gen_XrTargetRayMode.rs
+++ b/src/features/gen_XrTargetRayMode.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_XrView.rs b/src/features/gen_XrView.rs
index 9f57812..995458e 100644
--- a/src/features/gen_XrView.rs
+++ b/src/features/gen_XrView.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrViewerPose.rs b/src/features/gen_XrViewerPose.rs
index 2e53ea6..ca2e596 100644
--- a/src/features/gen_XrViewerPose.rs
+++ b/src/features/gen_XrViewerPose.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrViewport.rs b/src/features/gen_XrViewport.rs
index 7ffdabd..eed7b0d 100644
--- a/src/features/gen_XrViewport.rs
+++ b/src/features/gen_XrViewport.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrVisibilityState.rs b/src/features/gen_XrVisibilityState.rs
index f82ab22..9b82637 100644
--- a/src/features/gen_XrVisibilityState.rs
+++ b/src/features/gen_XrVisibilityState.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
 #[wasm_bindgen]
diff --git a/src/features/gen_XrWebGlLayer.rs b/src/features/gen_XrWebGlLayer.rs
index 96ef16d..42cc02a 100644
--- a/src/features/gen_XrWebGlLayer.rs
+++ b/src/features/gen_XrWebGlLayer.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XrWebGlLayerInit.rs b/src/features/gen_XrWebGlLayerInit.rs
index f5233d6..6de0529 100644
--- a/src/features/gen_XrWebGlLayerInit.rs
+++ b/src/features/gen_XrWebGlLayerInit.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_XsltProcessor.rs b/src/features/gen_XsltProcessor.rs
index c730032..51e5105 100644
--- a/src/features/gen_XsltProcessor.rs
+++ b/src/features/gen_XsltProcessor.rs
@@ -1,4 +1,5 @@
 #![allow(unused_imports)]
+#![allow(clippy::all)]
 use super::*;
 use wasm_bindgen::prelude::*;
 #[wasm_bindgen]
diff --git a/src/features/gen_console.rs b/src/features/gen_console.rs
index a84ed2b..b7abd12 100644
--- a/src/features/gen_console.rs
+++ b/src/features/gen_console.rs
@@ -1,5 +1,6 @@
 pub mod console {
     #![allow(unused_imports)]
+    #![allow(clippy::all)]
     use super::super::*;
     use wasm_bindgen::prelude::*;
     #[wasm_bindgen]
diff --git a/src/features/gen_css.rs b/src/features/gen_css.rs
index f18a5da..6ec6ff8 100644
--- a/src/features/gen_css.rs
+++ b/src/features/gen_css.rs
@@ -1,5 +1,6 @@
 pub mod css {
     #![allow(unused_imports)]
+    #![allow(clippy::all)]
     use super::super::*;
     use wasm_bindgen::prelude::*;
     #[wasm_bindgen]
diff --git a/src/features/gen_gpu_buffer_usage.rs b/src/features/gen_gpu_buffer_usage.rs
index 39b90f0..5644ea0 100644
--- a/src/features/gen_gpu_buffer_usage.rs
+++ b/src/features/gen_gpu_buffer_usage.rs
@@ -4,6 +4,7 @@
 #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
 pub mod gpu_buffer_usage {
     #![allow(unused_imports)]
+    #![allow(clippy::all)]
     use super::super::*;
     use wasm_bindgen::prelude::*;
     #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_gpu_color_write.rs b/src/features/gen_gpu_color_write.rs
index d037288..e9d9425 100644
--- a/src/features/gen_gpu_color_write.rs
+++ b/src/features/gen_gpu_color_write.rs
@@ -4,6 +4,7 @@
 #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
 pub mod gpu_color_write {
     #![allow(unused_imports)]
+    #![allow(clippy::all)]
     use super::super::*;
     use wasm_bindgen::prelude::*;
     #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_gpu_map_mode.rs b/src/features/gen_gpu_map_mode.rs
index 272064e..7ecc4b3 100644
--- a/src/features/gen_gpu_map_mode.rs
+++ b/src/features/gen_gpu_map_mode.rs
@@ -4,6 +4,7 @@
 #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
 pub mod gpu_map_mode {
     #![allow(unused_imports)]
+    #![allow(clippy::all)]
     use super::super::*;
     use wasm_bindgen::prelude::*;
     #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_gpu_shader_stage.rs b/src/features/gen_gpu_shader_stage.rs
index 5638875..9c192d0 100644
--- a/src/features/gen_gpu_shader_stage.rs
+++ b/src/features/gen_gpu_shader_stage.rs
@@ -4,6 +4,7 @@
 #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
 pub mod gpu_shader_stage {
     #![allow(unused_imports)]
+    #![allow(clippy::all)]
     use super::super::*;
     use wasm_bindgen::prelude::*;
     #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/gen_gpu_texture_usage.rs b/src/features/gen_gpu_texture_usage.rs
index 4cc9090..f3197cc 100644
--- a/src/features/gen_gpu_texture_usage.rs
+++ b/src/features/gen_gpu_texture_usage.rs
@@ -4,6 +4,7 @@
 #[doc = "[described in the `wasm-bindgen` guide](https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html)*"]
 pub mod gpu_texture_usage {
     #![allow(unused_imports)]
+    #![allow(clippy::all)]
     use super::super::*;
     use wasm_bindgen::prelude::*;
     #[cfg(web_sys_unstable_apis)]
diff --git a/src/features/mod.rs b/src/features/mod.rs
index 02b8f66..e56624a 100644
--- a/src/features/mod.rs
+++ b/src/features/mod.rs
@@ -760,6 +760,12 @@ mod gen_CanvasCaptureMediaStream;
 #[cfg(feature = "CanvasCaptureMediaStream")]
 pub use gen_CanvasCaptureMediaStream::*;
 
+#[cfg(feature = "CanvasCaptureMediaStreamTrack")]
+#[allow(non_snake_case)]
+mod gen_CanvasCaptureMediaStreamTrack;
+#[cfg(feature = "CanvasCaptureMediaStreamTrack")]
+pub use gen_CanvasCaptureMediaStreamTrack::*;
+
 #[cfg(feature = "CanvasGradient")]
 #[allow(non_snake_case)]
 mod gen_CanvasGradient;
@@ -832,18 +838,6 @@ mod gen_ChannelMergerOptions;
 #[cfg(feature = "ChannelMergerOptions")]
 pub use gen_ChannelMergerOptions::*;
 
-#[cfg(feature = "ChannelPixelLayout")]
-#[allow(non_snake_case)]
-mod gen_ChannelPixelLayout;
-#[cfg(feature = "ChannelPixelLayout")]
-pub use gen_ChannelPixelLayout::*;
-
-#[cfg(feature = "ChannelPixelLayoutDataType")]
-#[allow(non_snake_case)]
-mod gen_ChannelPixelLayoutDataType;
-#[cfg(feature = "ChannelPixelLayoutDataType")]
-pub use gen_ChannelPixelLayoutDataType::*;
-
 #[cfg(feature = "ChannelSplitterNode")]
 #[allow(non_snake_case)]
 mod gen_ChannelSplitterNode;
@@ -982,6 +976,12 @@ mod gen_CollectedClientData;
 #[cfg(feature = "CollectedClientData")]
 pub use gen_CollectedClientData::*;
 
+#[cfg(feature = "ColorSpaceConversion")]
+#[allow(non_snake_case)]
+mod gen_ColorSpaceConversion;
+#[cfg(feature = "ColorSpaceConversion")]
+pub use gen_ColorSpaceConversion::*;
+
 #[cfg(feature = "Comment")]
 #[allow(non_snake_case)]
 mod gen_Comment;
@@ -1984,6 +1984,12 @@ mod gen_ExtTextureFilterAnisotropic;
 #[cfg(feature = "ExtTextureFilterAnisotropic")]
 pub use gen_ExtTextureFilterAnisotropic::*;
 
+#[cfg(feature = "ExtTextureNorm16")]
+#[allow(non_snake_case)]
+mod gen_ExtTextureNorm16;
+#[cfg(feature = "ExtTextureNorm16")]
+pub use gen_ExtTextureNorm16::*;
+
 #[cfg(feature = "ExtendableEvent")]
 #[allow(non_snake_case)]
 mod gen_ExtendableEvent;
@@ -2104,12 +2110,24 @@ mod gen_FileSystem;
 #[cfg(feature = "FileSystem")]
 pub use gen_FileSystem::*;
 
+#[cfg(feature = "FileSystemCreateWritableOptions")]
+#[allow(non_snake_case)]
+mod gen_FileSystemCreateWritableOptions;
+#[cfg(feature = "FileSystemCreateWritableOptions")]
+pub use gen_FileSystemCreateWritableOptions::*;
+
 #[cfg(feature = "FileSystemDirectoryEntry")]
 #[allow(non_snake_case)]
 mod gen_FileSystemDirectoryEntry;
 #[cfg(feature = "FileSystemDirectoryEntry")]
 pub use gen_FileSystemDirectoryEntry::*;
 
+#[cfg(feature = "FileSystemDirectoryHandle")]
+#[allow(non_snake_case)]
+mod gen_FileSystemDirectoryHandle;
+#[cfg(feature = "FileSystemDirectoryHandle")]
+pub use gen_FileSystemDirectoryHandle::*;
+
 #[cfg(feature = "FileSystemDirectoryReader")]
 #[allow(non_snake_case)]
 mod gen_FileSystemDirectoryReader;
@@ -2140,12 +2158,66 @@ mod gen_FileSystemFileEntry;
 #[cfg(feature = "FileSystemFileEntry")]
 pub use gen_FileSystemFileEntry::*;
 
+#[cfg(feature = "FileSystemFileHandle")]
+#[allow(non_snake_case)]
+mod gen_FileSystemFileHandle;
+#[cfg(feature = "FileSystemFileHandle")]
+pub use gen_FileSystemFileHandle::*;
+
 #[cfg(feature = "FileSystemFlags")]
 #[allow(non_snake_case)]
 mod gen_FileSystemFlags;
 #[cfg(feature = "FileSystemFlags")]
 pub use gen_FileSystemFlags::*;
 
+#[cfg(feature = "FileSystemGetDirectoryOptions")]
+#[allow(non_snake_case)]
+mod gen_FileSystemGetDirectoryOptions;
+#[cfg(feature = "FileSystemGetDirectoryOptions")]
+pub use gen_FileSystemGetDirectoryOptions::*;
+
+#[cfg(feature = "FileSystemGetFileOptions")]
+#[allow(non_snake_case)]
+mod gen_FileSystemGetFileOptions;
+#[cfg(feature = "FileSystemGetFileOptions")]
+pub use gen_FileSystemGetFileOptions::*;
+
+#[cfg(feature = "FileSystemHandle")]
+#[allow(non_snake_case)]
+mod gen_FileSystemHandle;
+#[cfg(feature = "FileSystemHandle")]
+pub use gen_FileSystemHandle::*;
+
+#[cfg(feature = "FileSystemHandleKind")]
+#[allow(non_snake_case)]
+mod gen_FileSystemHandleKind;
+#[cfg(feature = "FileSystemHandleKind")]
+pub use gen_FileSystemHandleKind::*;
+
+#[cfg(feature = "FileSystemReadWriteOptions")]
+#[allow(non_snake_case)]
+mod gen_FileSystemReadWriteOptions;
+#[cfg(feature = "FileSystemReadWriteOptions")]
+pub use gen_FileSystemReadWriteOptions::*;
+
+#[cfg(feature = "FileSystemRemoveOptions")]
+#[allow(non_snake_case)]
+mod gen_FileSystemRemoveOptions;
+#[cfg(feature = "FileSystemRemoveOptions")]
+pub use gen_FileSystemRemoveOptions::*;
+
+#[cfg(feature = "FileSystemSyncAccessHandle")]
+#[allow(non_snake_case)]
+mod gen_FileSystemSyncAccessHandle;
+#[cfg(feature = "FileSystemSyncAccessHandle")]
+pub use gen_FileSystemSyncAccessHandle::*;
+
+#[cfg(feature = "FileSystemWritableFileStream")]
+#[allow(non_snake_case)]
+mod gen_FileSystemWritableFileStream;
+#[cfg(feature = "FileSystemWritableFileStream")]
+pub use gen_FileSystemWritableFileStream::*;
+
 #[cfg(feature = "FillMode")]
 #[allow(non_snake_case)]
 mod gen_FillMode;
@@ -2164,6 +2236,12 @@ mod gen_FlexLineGrowthState;
 #[cfg(feature = "FlexLineGrowthState")]
 pub use gen_FlexLineGrowthState::*;
 
+#[cfg(feature = "FlowControlType")]
+#[allow(non_snake_case)]
+mod gen_FlowControlType;
+#[cfg(feature = "FlowControlType")]
+pub use gen_FlowControlType::*;
+
 #[cfg(feature = "FocusEvent")]
 #[allow(non_snake_case)]
 mod gen_FocusEvent;
@@ -2176,6 +2254,12 @@ mod gen_FocusEventInit;
 #[cfg(feature = "FocusEventInit")]
 pub use gen_FocusEventInit::*;
 
+#[cfg(feature = "FontData")]
+#[allow(non_snake_case)]
+mod gen_FontData;
+#[cfg(feature = "FontData")]
+pub use gen_FontData::*;
+
 #[cfg(feature = "FontFace")]
 #[allow(non_snake_case)]
 mod gen_FontFace;
@@ -2350,6 +2434,12 @@ mod gen_Geolocation;
 #[cfg(feature = "Geolocation")]
 pub use gen_Geolocation::*;
 
+#[cfg(feature = "GetAnimationsOptions")]
+#[allow(non_snake_case)]
+mod gen_GetAnimationsOptions;
+#[cfg(feature = "GetAnimationsOptions")]
+pub use gen_GetAnimationsOptions::*;
+
 #[cfg(feature = "GetNotificationOptions")]
 #[allow(non_snake_case)]
 mod gen_GetNotificationOptions;
@@ -3952,11 +4042,11 @@ mod gen_ImageBitmap;
 #[cfg(feature = "ImageBitmap")]
 pub use gen_ImageBitmap::*;
 
-#[cfg(feature = "ImageBitmapFormat")]
+#[cfg(feature = "ImageBitmapOptions")]
 #[allow(non_snake_case)]
-mod gen_ImageBitmapFormat;
-#[cfg(feature = "ImageBitmapFormat")]
-pub use gen_ImageBitmapFormat::*;
+mod gen_ImageBitmapOptions;
+#[cfg(feature = "ImageBitmapOptions")]
+pub use gen_ImageBitmapOptions::*;
 
 #[cfg(feature = "ImageBitmapRenderingContext")]
 #[allow(non_snake_case)]
@@ -4018,6 +4108,18 @@ mod gen_ImageDecoderInit;
 #[cfg(feature = "ImageDecoderInit")]
 pub use gen_ImageDecoderInit::*;
 
+#[cfg(feature = "ImageEncodeOptions")]
+#[allow(non_snake_case)]
+mod gen_ImageEncodeOptions;
+#[cfg(feature = "ImageEncodeOptions")]
+pub use gen_ImageEncodeOptions::*;
+
+#[cfg(feature = "ImageOrientation")]
+#[allow(non_snake_case)]
+mod gen_ImageOrientation;
+#[cfg(feature = "ImageOrientation")]
+pub use gen_ImageOrientation::*;
+
 #[cfg(feature = "ImageTrack")]
 #[allow(non_snake_case)]
 mod gen_ImageTrack;
@@ -4132,6 +4234,12 @@ mod gen_KeyboardEventInit;
 #[cfg(feature = "KeyboardEventInit")]
 pub use gen_KeyboardEventInit::*;
 
+#[cfg(feature = "KeyframeAnimationOptions")]
+#[allow(non_snake_case)]
+mod gen_KeyframeAnimationOptions;
+#[cfg(feature = "KeyframeAnimationOptions")]
+pub use gen_KeyframeAnimationOptions::*;
+
 #[cfg(feature = "KeyframeEffect")]
 #[allow(non_snake_case)]
 mod gen_KeyframeEffect;
@@ -4618,6 +4726,30 @@ mod gen_MediaTrackSupportedConstraints;
 #[cfg(feature = "MediaTrackSupportedConstraints")]
 pub use gen_MediaTrackSupportedConstraints::*;
 
+#[cfg(feature = "MemoryAttribution")]
+#[allow(non_snake_case)]
+mod gen_MemoryAttribution;
+#[cfg(feature = "MemoryAttribution")]
+pub use gen_MemoryAttribution::*;
+
+#[cfg(feature = "MemoryAttributionContainer")]
+#[allow(non_snake_case)]
+mod gen_MemoryAttributionContainer;
+#[cfg(feature = "MemoryAttributionContainer")]
+pub use gen_MemoryAttributionContainer::*;
+
+#[cfg(feature = "MemoryBreakdownEntry")]
+#[allow(non_snake_case)]
+mod gen_MemoryBreakdownEntry;
+#[cfg(feature = "MemoryBreakdownEntry")]
+pub use gen_MemoryBreakdownEntry::*;
+
+#[cfg(feature = "MemoryMeasurement")]
+#[allow(non_snake_case)]
+mod gen_MemoryMeasurement;
+#[cfg(feature = "MemoryMeasurement")]
+pub use gen_MemoryMeasurement::*;
+
 #[cfg(feature = "MessageChannel")]
 #[allow(non_snake_case)]
 mod gen_MessageChannel;
@@ -4996,6 +5128,12 @@ mod gen_OffscreenCanvas;
 #[cfg(feature = "OffscreenCanvas")]
 pub use gen_OffscreenCanvas::*;
 
+#[cfg(feature = "OffscreenCanvasRenderingContext2d")]
+#[allow(non_snake_case)]
+mod gen_OffscreenCanvasRenderingContext2d;
+#[cfg(feature = "OffscreenCanvasRenderingContext2d")]
+pub use gen_OffscreenCanvasRenderingContext2d::*;
+
 #[cfg(feature = "OpenWindowEventDetail")]
 #[allow(non_snake_case)]
 mod gen_OpenWindowEventDetail;
@@ -5098,6 +5236,12 @@ mod gen_PanningModelType;
 #[cfg(feature = "PanningModelType")]
 pub use gen_PanningModelType::*;
 
+#[cfg(feature = "ParityType")]
+#[allow(non_snake_case)]
+mod gen_ParityType;
+#[cfg(feature = "ParityType")]
+pub use gen_ParityType::*;
+
 #[cfg(feature = "Path2d")]
 #[allow(non_snake_case)]
 mod gen_Path2d;
@@ -5398,6 +5542,12 @@ mod gen_PositionOptions;
 #[cfg(feature = "PositionOptions")]
 pub use gen_PositionOptions::*;
 
+#[cfg(feature = "PremultiplyAlpha")]
+#[allow(non_snake_case)]
+mod gen_PremultiplyAlpha;
+#[cfg(feature = "PremultiplyAlpha")]
+pub use gen_PremultiplyAlpha::*;
+
 #[cfg(feature = "Presentation")]
 #[allow(non_snake_case)]
 mod gen_Presentation;
@@ -5674,6 +5824,12 @@ mod gen_PushSubscriptionOptionsInit;
 #[cfg(feature = "PushSubscriptionOptionsInit")]
 pub use gen_PushSubscriptionOptionsInit::*;
 
+#[cfg(feature = "QueryOptions")]
+#[allow(non_snake_case)]
+mod gen_QueryOptions;
+#[cfg(feature = "QueryOptions")]
+pub use gen_QueryOptions::*;
+
 #[cfg(feature = "QueuingStrategy")]
 #[allow(non_snake_case)]
 mod gen_QueuingStrategy;
@@ -5902,6 +6058,12 @@ mod gen_ResizeObserverSize;
 #[cfg(feature = "ResizeObserverSize")]
 pub use gen_ResizeObserverSize::*;
 
+#[cfg(feature = "ResizeQuality")]
+#[allow(non_snake_case)]
+mod gen_ResizeQuality;
+#[cfg(feature = "ResizeQuality")]
+pub use gen_ResizeQuality::*;
+
 #[cfg(feature = "Response")]
 #[allow(non_snake_case)]
 mod gen_Response;
@@ -6190,6 +6352,12 @@ mod gen_RtcPeerConnectionIceEventInit;
 #[cfg(feature = "RtcPeerConnectionIceEventInit")]
 pub use gen_RtcPeerConnectionIceEventInit::*;
 
+#[cfg(feature = "RtcPeerConnectionState")]
+#[allow(non_snake_case)]
+mod gen_RtcPeerConnectionState;
+#[cfg(feature = "RtcPeerConnectionState")]
+pub use gen_RtcPeerConnectionState::*;
+
 #[cfg(feature = "RtcPriorityType")]
 #[allow(non_snake_case)]
 mod gen_RtcPriorityType;
@@ -6514,6 +6682,60 @@ mod gen_Selection;
 #[cfg(feature = "Selection")]
 pub use gen_Selection::*;
 
+#[cfg(feature = "SelectionMode")]
+#[allow(non_snake_case)]
+mod gen_SelectionMode;
+#[cfg(feature = "SelectionMode")]
+pub use gen_SelectionMode::*;
+
+#[cfg(feature = "Serial")]
+#[allow(non_snake_case)]
+mod gen_Serial;
+#[cfg(feature = "Serial")]
+pub use gen_Serial::*;
+
+#[cfg(feature = "SerialInputSignals")]
+#[allow(non_snake_case)]
+mod gen_SerialInputSignals;
+#[cfg(feature = "SerialInputSignals")]
+pub use gen_SerialInputSignals::*;
+
+#[cfg(feature = "SerialOptions")]
+#[allow(non_snake_case)]
+mod gen_SerialOptions;
+#[cfg(feature = "SerialOptions")]
+pub use gen_SerialOptions::*;
+
+#[cfg(feature = "SerialOutputSignals")]
+#[allow(non_snake_case)]
+mod gen_SerialOutputSignals;
+#[cfg(feature = "SerialOutputSignals")]
+pub use gen_SerialOutputSignals::*;
+
+#[cfg(feature = "SerialPort")]
+#[allow(non_snake_case)]
+mod gen_SerialPort;
+#[cfg(feature = "SerialPort")]
+pub use gen_SerialPort::*;
+
+#[cfg(feature = "SerialPortFilter")]
+#[allow(non_snake_case)]
+mod gen_SerialPortFilter;
+#[cfg(feature = "SerialPortFilter")]
+pub use gen_SerialPortFilter::*;
+
+#[cfg(feature = "SerialPortInfo")]
+#[allow(non_snake_case)]
+mod gen_SerialPortInfo;
+#[cfg(feature = "SerialPortInfo")]
+pub use gen_SerialPortInfo::*;
+
+#[cfg(feature = "SerialPortRequestOptions")]
+#[allow(non_snake_case)]
+mod gen_SerialPortRequestOptions;
+#[cfg(feature = "SerialPortRequestOptions")]
+pub use gen_SerialPortRequestOptions::*;
+
 #[cfg(feature = "ServerSocketOptions")]
 #[allow(non_snake_case)]
 mod gen_ServerSocketOptions;
@@ -8512,6 +8734,114 @@ mod gen_WebSocketElement;
 #[cfg(feature = "WebSocketElement")]
 pub use gen_WebSocketElement::*;
 
+#[cfg(feature = "WebTransport")]
+#[allow(non_snake_case)]
+mod gen_WebTransport;
+#[cfg(feature = "WebTransport")]
+pub use gen_WebTransport::*;
+
+#[cfg(feature = "WebTransportBidirectionalStream")]
+#[allow(non_snake_case)]
+mod gen_WebTransportBidirectionalStream;
+#[cfg(feature = "WebTransportBidirectionalStream")]
+pub use gen_WebTransportBidirectionalStream::*;
+
+#[cfg(feature = "WebTransportCloseInfo")]
+#[allow(non_snake_case)]
+mod gen_WebTransportCloseInfo;
+#[cfg(feature = "WebTransportCloseInfo")]
+pub use gen_WebTransportCloseInfo::*;
+
+#[cfg(feature = "WebTransportCongestionControl")]
+#[allow(non_snake_case)]
+mod gen_WebTransportCongestionControl;
+#[cfg(feature = "WebTransportCongestionControl")]
+pub use gen_WebTransportCongestionControl::*;
+
+#[cfg(feature = "WebTransportDatagramDuplexStream")]
+#[allow(non_snake_case)]
+mod gen_WebTransportDatagramDuplexStream;
+#[cfg(feature = "WebTransportDatagramDuplexStream")]
+pub use gen_WebTransportDatagramDuplexStream::*;
+
+#[cfg(feature = "WebTransportDatagramStats")]
+#[allow(non_snake_case)]
+mod gen_WebTransportDatagramStats;
+#[cfg(feature = "WebTransportDatagramStats")]
+pub use gen_WebTransportDatagramStats::*;
+
+#[cfg(feature = "WebTransportError")]
+#[allow(non_snake_case)]
+mod gen_WebTransportError;
+#[cfg(feature = "WebTransportError")]
+pub use gen_WebTransportError::*;
+
+#[cfg(feature = "WebTransportErrorOptions")]
+#[allow(non_snake_case)]
+mod gen_WebTransportErrorOptions;
+#[cfg(feature = "WebTransportErrorOptions")]
+pub use gen_WebTransportErrorOptions::*;
+
+#[cfg(feature = "WebTransportErrorSource")]
+#[allow(non_snake_case)]
+mod gen_WebTransportErrorSource;
+#[cfg(feature = "WebTransportErrorSource")]
+pub use gen_WebTransportErrorSource::*;
+
+#[cfg(feature = "WebTransportHash")]
+#[allow(non_snake_case)]
+mod gen_WebTransportHash;
+#[cfg(feature = "WebTransportHash")]
+pub use gen_WebTransportHash::*;
+
+#[cfg(feature = "WebTransportOptions")]
+#[allow(non_snake_case)]
+mod gen_WebTransportOptions;
+#[cfg(feature = "WebTransportOptions")]
+pub use gen_WebTransportOptions::*;
+
+#[cfg(feature = "WebTransportReceiveStream")]
+#[allow(non_snake_case)]
+mod gen_WebTransportReceiveStream;
+#[cfg(feature = "WebTransportReceiveStream")]
+pub use gen_WebTransportReceiveStream::*;
+
+#[cfg(feature = "WebTransportReceiveStreamStats")]
+#[allow(non_snake_case)]
+mod gen_WebTransportReceiveStreamStats;
+#[cfg(feature = "WebTransportReceiveStreamStats")]
+pub use gen_WebTransportReceiveStreamStats::*;
+
+#[cfg(feature = "WebTransportReliabilityMode")]
+#[allow(non_snake_case)]
+mod gen_WebTransportReliabilityMode;
+#[cfg(feature = "WebTransportReliabilityMode")]
+pub use gen_WebTransportReliabilityMode::*;
+
+#[cfg(feature = "WebTransportSendStream")]
+#[allow(non_snake_case)]
+mod gen_WebTransportSendStream;
+#[cfg(feature = "WebTransportSendStream")]
+pub use gen_WebTransportSendStream::*;
+
+#[cfg(feature = "WebTransportSendStreamOptions")]
+#[allow(non_snake_case)]
+mod gen_WebTransportSendStreamOptions;
+#[cfg(feature = "WebTransportSendStreamOptions")]
+pub use gen_WebTransportSendStreamOptions::*;
+
+#[cfg(feature = "WebTransportSendStreamStats")]
+#[allow(non_snake_case)]
+mod gen_WebTransportSendStreamStats;
+#[cfg(feature = "WebTransportSendStreamStats")]
+pub use gen_WebTransportSendStreamStats::*;
+
+#[cfg(feature = "WebTransportStats")]
+#[allow(non_snake_case)]
+mod gen_WebTransportStats;
+#[cfg(feature = "WebTransportStats")]
+pub use gen_WebTransportStats::*;
+
 #[cfg(feature = "WebglColorBufferFloat")]
 #[allow(non_snake_case)]
 mod gen_WebglColorBufferFloat;
@@ -8710,6 +9040,18 @@ mod gen_WritableStreamDefaultWriter;
 #[cfg(feature = "WritableStreamDefaultWriter")]
 pub use gen_WritableStreamDefaultWriter::*;
 
+#[cfg(feature = "WriteCommandType")]
+#[allow(non_snake_case)]
+mod gen_WriteCommandType;
+#[cfg(feature = "WriteCommandType")]
+pub use gen_WriteCommandType::*;
+
+#[cfg(feature = "WriteParams")]
+#[allow(non_snake_case)]
+mod gen_WriteParams;
+#[cfg(feature = "WriteParams")]
+pub use gen_WriteParams::*;
+
 #[cfg(feature = "XPathExpression")]
 #[allow(non_snake_case)]
 mod gen_XPathExpression;
@@ -8782,6 +9124,18 @@ mod gen_XrFrame;
 #[cfg(feature = "XrFrame")]
 pub use gen_XrFrame::*;
 
+#[cfg(feature = "XrHand")]
+#[allow(non_snake_case)]
+mod gen_XrHand;
+#[cfg(feature = "XrHand")]
+pub use gen_XrHand::*;
+
+#[cfg(feature = "XrHandJoint")]
+#[allow(non_snake_case)]
+mod gen_XrHandJoint;
+#[cfg(feature = "XrHandJoint")]
+pub use gen_XrHandJoint::*;
+
 #[cfg(feature = "XrHandedness")]
 #[allow(non_snake_case)]
 mod gen_XrHandedness;
@@ -8824,6 +9178,18 @@ mod gen_XrInputSourcesChangeEventInit;
 #[cfg(feature = "XrInputSourcesChangeEventInit")]
 pub use gen_XrInputSourcesChangeEventInit::*;
 
+#[cfg(feature = "XrJointPose")]
+#[allow(non_snake_case)]
+mod gen_XrJointPose;
+#[cfg(feature = "XrJointPose")]
+pub use gen_XrJointPose::*;
+
+#[cfg(feature = "XrJointSpace")]
+#[allow(non_snake_case)]
+mod gen_XrJointSpace;
+#[cfg(feature = "XrJointSpace")]
+pub use gen_XrJointSpace::*;
+
 #[cfg(feature = "XrLayer")]
 #[allow(non_snake_case)]
 mod gen_XrLayer;
diff --git a/tests/wasm/blob.rs b/tests/wasm/blob.rs
index f4881a7..726ffc7 100644
--- a/tests/wasm/blob.rs
+++ b/tests/wasm/blob.rs
@@ -1,6 +1,5 @@
 use js_sys::{Array, ArrayBuffer};
 use wasm_bindgen::prelude::*;
-use wasm_bindgen::JsCast;
 use wasm_bindgen_futures::JsFuture;
 use wasm_bindgen_test::*;
 use web_sys::Blob;
diff --git a/tests/wasm/button_element.rs b/tests/wasm/button_element.rs
index d94160a..5a1296a 100644
--- a/tests/wasm/button_element.rs
+++ b/tests/wasm/button_element.rs
@@ -1,6 +1,6 @@
 use wasm_bindgen::prelude::*;
 use wasm_bindgen_test::*;
-use web_sys::{HtmlButtonElement, HtmlFormElement, Node};
+use web_sys::{HtmlButtonElement, HtmlFormElement};
 
 #[wasm_bindgen(module = "/tests/wasm/element.js")]
 extern "C" {
@@ -99,15 +99,9 @@ fn test_button_element_in_form() {
     let form = new_form();
     form.set_name("test-form");
 
-    // TODO: implement `Clone` for types in `web_sys` to make this easier.
-    let button = JsValue::from(button);
-    let as_node = Node::from(button.clone());
-    Node::from(JsValue::from(form))
-        .append_child(&as_node)
-        .unwrap();
+    form.append_child(&button).unwrap();
 
-    let element = HtmlButtonElement::from(button);
-    match element.form() {
+    match button.form() {
         None => assert!(false, "Should have a form"),
         Some(form) => {
             assert!(true, "Should have a form");
@@ -118,5 +112,5 @@ fn test_button_element_in_form() {
             );
         }
     };
-    assert_eq!(element.type_(), "reset", "Should have a type");
+    assert_eq!(button.type_(), "reset", "Should have a type");
 }
diff --git a/tests/wasm/element.js b/tests/wasm/element.js
index ed51fbd..1c104ed 100644
--- a/tests/wasm/element.js
+++ b/tests/wasm/element.js
@@ -116,6 +116,7 @@ export function new_select_with_food_opts() {
 
   for(let i = 0; i < opts.length; i++) {
       let opt = document.createElement("option");
+      opt.id = opts[i];
       opt.value = opts[i];
       opt.text = opts[i];
       select.appendChild(opt);
diff --git a/tests/wasm/element.rs b/tests/wasm/element.rs
index a408a9c..fcb4237 100644
--- a/tests/wasm/element.rs
+++ b/tests/wasm/element.rs
@@ -57,14 +57,26 @@ fn element() {
     get_attribute_ns
     */
 
-    /*TODO should we enable toggle_attribute tests? (Firefox Nightly + Chrome canary only)
-        // TODO toggle_attribute should permit a single argument when optional arguments are supported
-        assert!(!element.has_attribute("disabled"), "Should not be disabled");
-        assert!(element.toggle_attribute("disabled", true).unwrap(), "Should return true when attribute is set");
-        assert!(element.has_attribute("disabled"), "Should be disabled");
-        assert!(!element.toggle_attribute("disabled", false).unwrap(), "Should return false when attribute is not set");
-        assert!(!element.has_attribute("disabled"), "Should not be disabled");
-    */
+    assert!(!element.has_attribute("disabled"), "Should not be disabled");
+    assert!(
+        element.toggle_attribute("disabled").unwrap(),
+        "Should return true when attribute is set"
+    );
+    assert!(element.has_attribute("disabled"), "Should be disabled");
+    assert!(
+        element
+            .toggle_attribute_with_force("disabled", true)
+            .unwrap(),
+        "Should return true when attribute is set"
+    );
+    assert!(element.has_attribute("disabled"), "Should be disabled");
+    assert!(
+        !element
+            .toggle_attribute_with_force("disabled", false)
+            .unwrap(),
+        "Should return false when attribute is not set"
+    );
+    assert!(!element.has_attribute("disabled"), "Should not be disabled");
 
     assert!(!element.has_attribute("title"), "Should not have a title");
     assert_eq!(
@@ -73,7 +85,11 @@ fn element() {
         "Should return nothing if set correctly"
     );
     assert!(element.has_attribute("title"), "Should have a title");
-    // TODO check get_attribute here when supported
+    assert_eq!(
+        element.get_attribute("title").unwrap(),
+        "boop",
+        "Title should be 'boop'"
+    );
     assert_eq!(
         element.remove_attribute("title").unwrap(),
         (),
@@ -98,7 +114,7 @@ fn element() {
     );
     /* Tests needed for:
     remove_attribute_ns
-    has_attribure_ns
+    has_attribute_ns
     closest
     */
 
@@ -129,8 +145,6 @@ fn element() {
         "Should return nothing if removed"
     );
 
-    // TODO non standard moz_matches_selector should we even support?
-
     /* Tests needed for:
     insert_adjacent_element
     insert_adjacent_text
@@ -160,7 +174,7 @@ fn element() {
     assert_eq!(
         element.inner_html(),
         "<strong>Hey!</strong><em>Web!</em>",
-        "Should return HTML conent"
+        "Should return HTML content"
     );
     assert_eq!(
         element.query_selector_all("strong").unwrap().length(),
diff --git a/tests/wasm/event.rs b/tests/wasm/event.rs
index 08d74ec..4ffb48f 100644
--- a/tests/wasm/event.rs
+++ b/tests/wasm/event.rs
@@ -1,6 +1,5 @@
 use js_sys::{Object, Promise};
 use wasm_bindgen::prelude::*;
-use wasm_bindgen::JsCast;
 use wasm_bindgen_futures::JsFuture;
 use wasm_bindgen_test::*;
 use web_sys::Event;
diff --git a/tests/wasm/html_element.rs b/tests/wasm/html_element.rs
index 7cf15cd..4f5173e 100644
--- a/tests/wasm/html_element.rs
+++ b/tests/wasm/html_element.rs
@@ -1,5 +1,4 @@
 use wasm_bindgen::prelude::*;
-use wasm_bindgen::JsCast;
 use wasm_bindgen_test::*;
 use web_sys::HtmlElement;
 
@@ -122,18 +121,10 @@ fn test_html_element() {
     );
     assert!(element.is_content_editable(), "Should be content_editable");
 
-    /*TODO doesn't work in Chrome
-        // TODO verify case where menu is passed
-        match element.context_menu() {
-            None => assert!(true, "Shouldn't have a custom menu set"),
-            _ => assert!(false, "Shouldn't have a custom menu set")
-        };
-    */
-
-    // TODO: This test is also broken in Chrome (but not Firefox).
-    // assert!(!element.spellcheck(), "Shouldn't be spellchecked");
+    element.set_spellcheck(false);
+    assert!(!element.spellcheck(), "Shouldn't be spellchecked");
     element.set_spellcheck(true);
-    assert!(element.spellcheck(), "Should be dragspellcheckedgable");
+    assert!(element.spellcheck(), "Should be spellchecked");
 
     // TODO verify case where we have an offset_parent
     match element.offset_parent() {
diff --git a/tests/wasm/input_element.rs b/tests/wasm/input_element.rs
index 4605763..30fc4ba 100644
--- a/tests/wasm/input_element.rs
+++ b/tests/wasm/input_element.rs
@@ -40,11 +40,9 @@ fn test_input_element() {
     element.set_default_checked(true);
     assert!(element.default_checked(), "Should have an default_checked");
 
-    /*TODO fix
-        assert!(!element.checked(), "Shouldn't be checked");
-        element.set_checked(true);
-        assert!(element.checked(), "Should be checked");
-    */
+    assert!(element.checked(), "Should be checked");
+    element.set_checked(false);
+    assert!(!element.checked(), "Shouldn't be checked");
 
     assert!(!element.disabled(), "Shouldn't be disabled");
     element.set_disabled(true);
@@ -93,14 +91,18 @@ fn test_input_element() {
 
     assert_eq!(element.height(), 0, "Should have no height");
     element.set_height(12);
-    assert_eq!(element.height(), 0, "Should have no height"); // Doesn't change, TODO check with get_attribute("height")=="12"
+    assert_eq!(element.height(), 0, "Should have no height");
+    assert_eq!(
+        element.get_attribute("height").unwrap(),
+        "12",
+        "The height attribute should be 12"
+    );
 
-    /*TODO fails in chrome
     element.set_type("checkbox");
+    element.set_indeterminate(true);
     assert!(element.indeterminate(), "Should be indeterminate");
-    element.set_checked(true);
+    element.set_indeterminate(false);
     assert!(!element.indeterminate(), "Shouldn't be indeterminate");
-    */
     /*TODO add tests
     pub fn indeterminate(&self) -> bool
     pub fn set_indeterminate(&self, indeterminate: bool)
@@ -144,12 +146,11 @@ fn test_input_element() {
     pub fn size(&self) -> u32
     pub fn set_size(&self, size: u32)
     */
-    /*TODO fails in chrome
-        element.set_type("image");
-        assert_eq!(element.src(), "", "Should have no src");
-        element.set_value("hey.png");
-        assert_eq!(element.src(), "hey.png", "Should have a src");
-    */
+    element.set_type("image");
+    assert_eq!(element.src(), "", "Should have no src");
+    const EMPTY_IMAGE: &str = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E";
+    element.set_src(EMPTY_IMAGE);
+    assert_eq!(element.src(), EMPTY_IMAGE, "Should have a src");
     /*TODO add tests
     pub fn src(&self) -> String
     pub fn set_src(&self, src: &str)
@@ -160,11 +161,9 @@ fn test_input_element() {
     pub fn default_value(&self) -> String
     pub fn set_default_value(&self, default_value: &str)
     */
-    /*TODO fails in chrome
-        assert_eq!(element.value(), "", "Should have no value");
-        element.set_value("hey!");
-        assert_eq!(element.value(), "hey!", "Should have a value");
-    */
+    assert_eq!(element.value(), "", "Should have no value");
+    element.set_value("hey!");
+    assert_eq!(element.value(), "hey!", "Should have a value");
     element.set_type("number");
     element.set_value("1");
     assert_eq!(element.value_as_number(), 1.0, "Should have value 1");
@@ -173,7 +172,12 @@ fn test_input_element() {
 
     assert_eq!(element.width(), 0, "Should have no width");
     element.set_width(12);
-    assert_eq!(element.width(), 0, "Should have no width"); // Doesn't change, TODO check with get_attribute("width")=="12"
+    assert_eq!(element.width(), 0, "Should have no width");
+    assert_eq!(
+        element.get_attribute("width").unwrap(),
+        "12",
+        "The width attribute should be 12"
+    );
 
     assert_eq!(element.will_validate(), false, "Shouldn't validate");
     assert_eq!(
diff --git a/tests/wasm/main.rs b/tests/wasm/main.rs
index f78f773..a587b9f 100644
--- a/tests/wasm/main.rs
+++ b/tests/wasm/main.rs
@@ -11,6 +11,7 @@ pub mod br_element;
 pub mod button_element;
 pub mod console;
 pub mod div_element;
+pub mod dom_point;
 pub mod element;
 pub mod event;
 pub mod head_element;
@@ -21,13 +22,10 @@ pub mod hr_element;
 pub mod html_element;
 pub mod html_html_element;
 pub mod image_data;
-pub mod input_element;
-//TODO: Both menu-related tests completely break in Chrome, but run fine in Firefox.
-//pub mod menu_element;
-//pub mod menu_item_element;
-pub mod dom_point;
 pub mod indexeddb;
+pub mod input_element;
 pub mod location;
+pub mod menu_element;
 pub mod meta_element;
 pub mod meter_element;
 pub mod mod_elements;
diff --git a/tests/wasm/menu_element.rs b/tests/wasm/menu_element.rs
index 9245613..85df415 100644
--- a/tests/wasm/menu_element.rs
+++ b/tests/wasm/menu_element.rs
@@ -1,5 +1,5 @@
-use wasm_bindgen_test::*;
 use wasm_bindgen::prelude::*;
+use wasm_bindgen_test::*;
 use web_sys::HtmlMenuElement;
 
 #[wasm_bindgen(module = "/tests/wasm/element.js")]
@@ -11,15 +11,17 @@ extern "C" {
 fn test_menu_element() {
     let menu = new_menu();
 
-    menu.set_type("toolbar");
-    assert_eq!(menu.type_(), "toolbar", "Menu should have the type value we gave it.");
-
-    menu.set_label("Menu label here");
-    assert_eq!(menu.label(), "Menu label here", "Menu should have the label value we gave it.");
-
     menu.set_compact(true);
-    assert_eq!(menu.compact(), true, "Menu should be compact after we set it to be compact.");
+    assert_eq!(
+        menu.compact(),
+        true,
+        "Menu should be compact after we set it to be compact."
+    );
 
     menu.set_compact(false);
-    assert_eq!(menu.compact(), false, "Menu should not be compact after we set it to be not-compact.");
+    assert_eq!(
+        menu.compact(),
+        false,
+        "Menu should not be compact after we set it to be not-compact."
+    );
 }
diff --git a/tests/wasm/menu_item_element.rs b/tests/wasm/menu_item_element.rs
deleted file mode 100644
index 6b6eaaf..0000000
--- a/tests/wasm/menu_item_element.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-use wasm_bindgen_test::*;
-use wasm_bindgen::prelude::*;
-use web_sys::HtmlMenuItemElement;
-
-#[wasm_bindgen(module = "/tests/wasm/element.js")]
-extern "C" {
-    fn new_menuitem() -> HtmlMenuItemElement;
-}
-
-#[wasm_bindgen_test]
-fn test_menuitem_element() {
-    let menuitem = new_menuitem();
-
-    menuitem.set_type("radio");
-    assert_eq!(menuitem.type_(), "radio", "Menu item should have the type value we gave it.");
-
-    menuitem.set_label("Menu item label here");
-    assert_eq!(menuitem.label(), "Menu item label here", "Menu item should have the label value we gave it.");
-
-    menuitem.set_icon("https://en.wikipedia.org/wiki/Rust_(programming_language)#/media/File:Rust_programming_language_black_logo.svg");
-    assert_eq!(menuitem.icon(), "https://en.wikipedia.org/wiki/Rust_(programming_language)#/media/File:Rust_programming_language_black_logo.svg", "Menu item should have the icon value we gave it.");
-
-    menuitem.set_disabled(true);
-    assert_eq!(menuitem.disabled(), true, "Menu item should be disabled after we set it to be disabled.");
-
-    menuitem.set_disabled(false);
-    assert_eq!(menuitem.disabled(), false, "Menu item should not be disabled after we set it to be not-disabled.");
-
-    menuitem.set_checked(true);
-    assert_eq!(menuitem.checked(), true, "Menu item should be checked after we set it to be checked.");
-
-    menuitem.set_checked(false);
-    assert_eq!(menuitem.checked(), false, "Menu item should not be checked after we set it to be not-checked.");
-
-    menuitem.set_radiogroup("Radio group name");
-    assert_eq!(menuitem.radiogroup(), "Radio group name", "Menu item should have the radiogroup value we gave it.");
-
-    menuitem.set_default_checked(true);
-    assert_eq!(menuitem.default_checked(), true, "Menu item should be default_checked after we set it to be default_checked.");
-
-    menuitem.set_default_checked(false);
-    assert_eq!(menuitem.default_checked(), false, "Menu item should not be default_checked after we set it to be not default_checked.");
-}
diff --git a/tests/wasm/output_element.rs b/tests/wasm/output_element.rs
index bb25f18..c1879cc 100644
--- a/tests/wasm/output_element.rs
+++ b/tests/wasm/output_element.rs
@@ -42,8 +42,10 @@ fn test_output_element() {
     output.set_value("49");
     assert_eq!(output.value(), "49", "Output value should be '49'.");
 
-    // TODO: Fails in Chrome, but not in Firefox.
-    //assert!(output.will_validate(), "Output should validate by default (maybe browser dependent?)");
+    assert!(
+        !output.will_validate(),
+        "Output is not a submittable element, so willValidate must be false"
+    );
 
     assert!(
         output.validity().valid(),
diff --git a/tests/wasm/response.rs b/tests/wasm/response.rs
index 1bedb62..bd17279 100644
--- a/tests/wasm/response.rs
+++ b/tests/wasm/response.rs
@@ -1,6 +1,5 @@
 use js_sys::{ArrayBuffer, DataView, Object, Promise, Reflect, WebAssembly};
 use wasm_bindgen::prelude::*;
-use wasm_bindgen::JsCast;
 use wasm_bindgen_futures::JsFuture;
 use wasm_bindgen_test::*;
 use web_sys::{Headers, Response, ResponseInit};
diff --git a/tests/wasm/rtc_rtp_transceiver_direction.rs b/tests/wasm/rtc_rtp_transceiver_direction.rs
index 5ebc0ed..38b30dd 100644
--- a/tests/wasm/rtc_rtp_transceiver_direction.rs
+++ b/tests/wasm/rtc_rtp_transceiver_direction.rs
@@ -1,4 +1,4 @@
-use wasm_bindgen::{prelude::*, JsCast};
+use wasm_bindgen::prelude::*;
 use wasm_bindgen_futures::JsFuture;
 use wasm_bindgen_test::*;
 
diff --git a/tests/wasm/select_element.rs b/tests/wasm/select_element.rs
index 2f2319f..18a1a37 100644
--- a/tests/wasm/select_element.rs
+++ b/tests/wasm/select_element.rs
@@ -26,9 +26,12 @@ fn test_select_element() {
         "Select element should have a false autofocus property."
     );
 
-    //    TODO: This test currently fails on Firefox, but not Chrome.  In Firefox, even though we select.set_autocomplete(), select.autocomplete() yields an empty String.
-    //    select.set_autocomplete("tomato");
-    //    assert_eq!(select.autocomplete(), "tomato", "Select element should have a 'tomato' autocomplete property.");
+    select.set_autocomplete("country");
+    assert_eq!(
+        select.autocomplete(),
+        "country",
+        "Select element should have a 'country' autocomplete property."
+    );
 
     select.set_disabled(true);
     assert_eq!(
@@ -173,9 +176,13 @@ fn test_select_element() {
         "There should be no labels associated with our select element."
     );
 
-    // TODO: This test won't work until this bug is fixed: https://www.w3.org/Bugs/Public/show_bug.cgi?id=20720.  Sometime in the future, either remove this test or uncomment after bug is fixed.
-    // assert!(select.named_item("tomato").is_some(), "Should be able to find the 'tomato' option before removing it.");
-    // select.remove(0);
-    // assert!(select.named_item("tomato").is_none(), "Shouldn't be able to find the 'tomato' option after removing it.")
-    // TODO: As a result, we are missing a test for the remove() method.
+    assert!(
+        select.named_item("tomato").is_some(),
+        "Should be able to find the 'tomato' option before removing it."
+    );
+    select.remove_with_index(0);
+    assert!(
+        select.named_item("tomato").is_none(),
+        "Shouldn't be able to find the 'tomato' option after removing it."
+    );
 }
diff --git a/tests/wasm/slot_element.rs b/tests/wasm/slot_element.rs
index d01ccc9..15a9908 100644
--- a/tests/wasm/slot_element.rs
+++ b/tests/wasm/slot_element.rs
@@ -9,8 +9,11 @@ extern "C" {
 
 #[wasm_bindgen_test]
 fn test_slot_element() {
-    let _slot = new_slot();
-    // TODO: Test fails in Firefox, but not in Chrome.  Error in Firefox is 'ReferenceError: HTMLSlotElement is not defined'.  https://w3c-test.org/shadow-dom/HTMLSlotElement-interface.html
-    // slot.set_name("root_separator");
-    // assert_eq!(slot.name(), "root_separator", "Slot name should 'root_separator'.");
+    let slot = new_slot();
+    slot.set_name("root_separator");
+    assert_eq!(
+        slot.name(),
+        "root_separator",
+        "Slot name should 'root_separator'."
+    );
 }
diff --git a/webidls/enabled/AnimationFrame.webidl b/webidls/enabled/AnimationFrame.webidl
new file mode 100644
index 0000000..6f81d3e
--- /dev/null
+++ b/webidls/enabled/AnimationFrame.webidl
@@ -0,0 +1,10 @@
+// https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#animation-frames
+
+callback FrameRequestCallback = undefined (DOMHighResTimeStamp time);
+
+interface mixin AnimationFrameProvider {
+  [Throws] long requestAnimationFrame(FrameRequestCallback callback);
+  [Throws] undefined cancelAnimationFrame(long handle);
+};
+Window includes AnimationFrameProvider;
+DedicatedWorkerGlobalScope includes AnimationFrameProvider;
diff --git a/webidls/enabled/AudioScheduledSourceNode.webidl b/webidls/enabled/AudioScheduledSourceNode.webidl
index e8b4717..12876dc 100644
--- a/webidls/enabled/AudioScheduledSourceNode.webidl
+++ b/webidls/enabled/AudioScheduledSourceNode.webidl
@@ -10,7 +10,6 @@
  * liability, trademark and document use rules apply.
  */
 
-[RustDeprecated="doesn't exist in Safari, use parent class methods instead"]
 interface AudioScheduledSourceNode : AudioNode {
 };
 
diff --git a/webidls/enabled/BaseAudioContext.webidl b/webidls/enabled/BaseAudioContext.webidl
index 863fcc6..7f12a5a 100644
--- a/webidls/enabled/BaseAudioContext.webidl
+++ b/webidls/enabled/BaseAudioContext.webidl
@@ -19,7 +19,6 @@ enum AudioContextState {
     "closed"
 };
 
-[RustDeprecated="doesn't exist in Safari, use `AudioContext` instead now"]
 interface BaseAudioContext : EventTarget {
 };
 
diff --git a/webidls/enabled/CanvasCaptureMediaStream.webidl b/webidls/enabled/CanvasCaptureMediaStream.webidl
index 9bd5044..f206f36 100644
--- a/webidls/enabled/CanvasCaptureMediaStream.webidl
+++ b/webidls/enabled/CanvasCaptureMediaStream.webidl
@@ -10,7 +10,7 @@
  * W3C liability, trademark and document use rules apply.
  */
 
-[Pref="canvas.capturestream.enabled"]
+[Deprecated]
 interface CanvasCaptureMediaStream : MediaStream {
     readonly attribute HTMLCanvasElement canvas;
     undefined requestFrame();
diff --git a/webidls/enabled/CanvasCaptureMediaStreamTrack.webidl b/webidls/enabled/CanvasCaptureMediaStreamTrack.webidl
new file mode 100644
index 0000000..e5a7a69
--- /dev/null
+++ b/webidls/enabled/CanvasCaptureMediaStreamTrack.webidl
@@ -0,0 +1,17 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * The origin of this IDL file is
+ * https://w3c.github.io/mediacapture-fromelement/index.html
+ *
+ * Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
+ * W3C liability, trademark and document use rules apply.
+ */
+
+[Exposed=Window]
+interface CanvasCaptureMediaStreamTrack : MediaStreamTrack {
+    readonly attribute HTMLCanvasElement canvas;
+    undefined requestFrame();
+};
diff --git a/webidls/enabled/CanvasRenderingContext2D.webidl b/webidls/enabled/CanvasRenderingContext2D.webidl
index 143f202..a21b0e5 100644
--- a/webidls/enabled/CanvasRenderingContext2D.webidl
+++ b/webidls/enabled/CanvasRenderingContext2D.webidl
@@ -32,7 +32,9 @@ typedef (HTMLImageElement or
 typedef (HTMLOrSVGImageElement or
          HTMLCanvasElement or
          HTMLVideoElement or
-         ImageBitmap) CanvasImageSource;
+         ImageBitmap or
+         OffscreenCanvas or
+         VideoFrame) CanvasImageSource;
 
 interface CanvasRenderingContext2D {
 
@@ -122,7 +124,7 @@ CanvasRenderingContext2D includes CanvasDrawImage;
 CanvasRenderingContext2D includes CanvasImageData;
 CanvasRenderingContext2D includes CanvasPathDrawingStyles;
 CanvasRenderingContext2D includes CanvasTextDrawingStyles;
-CanvasRenderingContext2D includes CanvasPathMethods;
+CanvasRenderingContext2D includes CanvasPath;
 CanvasRenderingContext2D includes CanvasHitRegions;
 
 interface mixin CanvasState {
@@ -199,7 +201,7 @@ interface mixin CanvasRect {
 };
 
 interface mixin CanvasDrawPath {
-  // path API (see also CanvasPathMethods)
+  // path API (see also CanvasPath)
   undefined beginPath();
   undefined fill(optional CanvasWindingRule winding = "nonzero");
   undefined fill(Path2D path, optional CanvasWindingRule winding = "nonzero");
@@ -284,31 +286,22 @@ interface mixin CanvasTextDrawingStyles {
   attribute DOMString textBaseline; // "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" (default: "alphabetic")
 };
 
-interface mixin CanvasPathMethods {
+interface mixin CanvasPath {
   // shared path API methods
   undefined closePath();
-  [LenientFloat]
-  undefined moveTo(double x, double y);
-  [LenientFloat]
-  undefined lineTo(double x, double y);
-  [LenientFloat]
-  undefined quadraticCurveTo(double cpx, double cpy, double x, double y);
-
-  [LenientFloat]
-  undefined bezierCurveTo(double cp1x, double cp1y, double cp2x, double cp2y, double x, double y);
-
-  [Throws, LenientFloat]
-  undefined arcTo(double x1, double y1, double x2, double y2, double radius);
-// NOT IMPLEMENTED  [LenientFloat] undefined arcTo(double x1, double y1, double x2, double y2, double radiusX, double radiusY, double rotation);
-
-  [LenientFloat]
-  undefined rect(double x, double y, double w, double h);
-
-  [Throws, LenientFloat]
-  undefined arc(double x, double y, double radius, double startAngle, double endAngle, optional boolean anticlockwise = false);
-
-  [Throws, LenientFloat]
-  undefined ellipse(double x, double y, double radiusX, double radiusY, double rotation, double startAngle, double endAngle, optional boolean anticlockwise = false);
+  undefined moveTo(unrestricted double x, unrestricted double y);
+  undefined lineTo(unrestricted double x, unrestricted double y);
+  undefined quadraticCurveTo(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y);
+  undefined bezierCurveTo(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y);
+  [Throws]
+  undefined arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius); 
+  undefined rect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h);
+  [Throws]
+  undefined roundRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h, optional (unrestricted double or DOMPointInit or sequence<(unrestricted double or DOMPointInit)>) radii = 0);
+  [Throws]
+  undefined arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); 
+  [Throws]
+  undefined ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false);
 };
 
 interface mixin CanvasHitRegions {
@@ -369,4 +362,4 @@ interface Path2D
 {
   undefined addPath(Path2D path, optional SVGMatrix transformation);
 };
-Path2D includes CanvasPathMethods;
+Path2D includes CanvasPath;
diff --git a/webidls/enabled/DOMException.webidl b/webidls/enabled/DOMException.webidl
index 7e97918..7ce10e3 100644
--- a/webidls/enabled/DOMException.webidl
+++ b/webidls/enabled/DOMException.webidl
@@ -42,7 +42,7 @@ interface mixin ExceptionMembers
   [ChromeOnly, Exposed=Window]
   readonly attribute StackFrame?             location;
 
-  // Arbitary data for the implementation.
+  // Arbitrary data for the implementation.
   [Exposed=Window]
   readonly attribute nsISupports?            data;
 
diff --git a/webidls/enabled/Document.webidl b/webidls/enabled/Document.webidl
index df41dfb..a0dba3e 100644
--- a/webidls/enabled/Document.webidl
+++ b/webidls/enabled/Document.webidl
@@ -355,7 +355,7 @@ partial interface Document {
   [ChromeOnly] readonly attribute boolean userHasInteracted;
 };
 
-// Extension to give chrome JS the ability to simulate activate the docuement
+// Extension to give chrome JS the ability to simulate activate the document
 // by user gesture.
 partial interface Document {
   [ChromeOnly]
diff --git a/webidls/enabled/Element.webidl b/webidls/enabled/Element.webidl
index 02704b3..2aa383a 100644
--- a/webidls/enabled/Element.webidl
+++ b/webidls/enabled/Element.webidl
@@ -110,7 +110,7 @@ interface Element : Node {
   /**
    * Set this during a mousedown event to grab and retarget all mouse events
    * to this element until the mouse button is released or releaseCapture is
-   * called. If retargetToElement is true, then all events are targetted at
+   * called. If retargetToElement is true, then all events are targeted at
    * this element. If false, events can also fire at descendants of this
    * element.
    *
diff --git a/webidls/enabled/HTMLCanvasElement.webidl b/webidls/enabled/HTMLCanvasElement.webidl
index 6d9f582..708122a 100644
--- a/webidls/enabled/HTMLCanvasElement.webidl
+++ b/webidls/enabled/HTMLCanvasElement.webidl
@@ -36,8 +36,15 @@ interface HTMLCanvasElement : HTMLElement {
 // For OffscreenCanvas
 // Reference: https://wiki.whatwg.org/wiki/OffscreenCanvas
 partial interface HTMLCanvasElement {
-  [Pref="gfx.offscreencanvas.enabled", Throws]
+  [Throws]
   OffscreenCanvas transferControlToOffscreen();
 };
 
+// For MediaStream
+// Reference: https://w3c.github.io/mediacapture-main/getusermedia.html#idl-def-mediastream
+partial interface HTMLCanvasElement {
+  [Throws]
+  MediaStream captureStream (optional double frameRequestRate);
+};
+
 callback BlobCallback = undefined(Blob? blob);
diff --git a/webidls/enabled/HTMLInputElement.webidl b/webidls/enabled/HTMLInputElement.webidl
index 8f5c492..32a0e22 100644
--- a/webidls/enabled/HTMLInputElement.webidl
+++ b/webidls/enabled/HTMLInputElement.webidl
@@ -12,7 +12,6 @@
  * and create derivative works of this document.
  */
 
-/*TODO
 enum SelectionMode {
   "select",
   "start",
@@ -20,6 +19,7 @@ enum SelectionMode {
   "preserve",
 };
 
+/*TODO
 interface XULControllers;
 */
 
@@ -135,6 +135,9 @@ interface HTMLInputElement : HTMLElement {
   [Throws]
   undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
 
+  [Throws]
+  undefined showPicker();
+
   // also has obsolete members
 };
 
diff --git a/webidls/enabled/HTMLMenuElement.webidl b/webidls/enabled/HTMLMenuElement.webidl
index 5f1f130..32b9a1f 100644
--- a/webidls/enabled/HTMLMenuElement.webidl
+++ b/webidls/enabled/HTMLMenuElement.webidl
@@ -12,13 +12,21 @@
  * and create derivative works of this document.
  */
 
-/* TODO
-interface MenuBuilder;
-*/
-
-// http://www.whatwg.org/specs/web-apps/current-work/#the-menu-element
+// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu
+// > The <menu> and <ul> elements both represent an unordered list of items.
+// > The key difference is that <ul> primarily contains items for display,
+// > while <menu> was intended for interactive items.
 [HTMLConstructor]
 interface HTMLMenuElement : HTMLElement {
+};
+
+// > In early versions of the HTML specification, the <menu> element had
+// > an additional use case as a context menu. This functionality is considered
+// > obsolete and is not in the specification.
+// Define this as deprecated partial interface to prevent breaking changes
+// in wasm-bindgen.
+[RustDeprecated="Absent in all major browsers"]
+partial interface HTMLMenuElement {
            [CEReactions, SetterThrows]
            attribute DOMString type;
            [CEReactions, SetterThrows]
diff --git a/webidls/enabled/HTMLMenuItemElement.webidl b/webidls/enabled/HTMLMenuItemElement.webidl
index 648188e..5b80764 100644
--- a/webidls/enabled/HTMLMenuItemElement.webidl
+++ b/webidls/enabled/HTMLMenuItemElement.webidl
@@ -11,8 +11,10 @@
  * and create derivative works of this document.
  */
 
-// http://www.whatwg.org/specs/web-apps/current-work/#the-menuitem-element
-[HTMLConstructor]
+// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu
+// > The related <menuitem> element has been deprecated.
+// Keep this in wasm-bindgen to prevent breaking changes.
+[HTMLConstructor, RustDeprecated="Absent in all major browsers"]
 interface HTMLMenuItemElement : HTMLElement {
            [CEReactions, SetterThrows]
            attribute DOMString type;
diff --git a/webidls/enabled/HTMLTextAreaElement.webidl b/webidls/enabled/HTMLTextAreaElement.webidl
index e20773c..c3487ff 100644
--- a/webidls/enabled/HTMLTextAreaElement.webidl
+++ b/webidls/enabled/HTMLTextAreaElement.webidl
@@ -74,7 +74,7 @@ interface HTMLTextAreaElement : HTMLElement {
   undefined setRangeText(DOMString replacement);
   [Throws]
   undefined setRangeText(DOMString replacement, unsigned long start,
-    unsigned long end, optional SelectionMode selectionMode = "preserve");
+    unsigned long end, optional DOMString mode);
   [Throws]
   undefined setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction);
 };
diff --git a/webidls/enabled/ImageBitmap.webidl b/webidls/enabled/ImageBitmap.webidl
index 585a19a..e912035 100644
--- a/webidls/enabled/ImageBitmap.webidl
+++ b/webidls/enabled/ImageBitmap.webidl
@@ -5,30 +5,11 @@
  *
  * The origin of this IDL file is
  * https://html.spec.whatwg.org/multipage/webappapis.html#images
- *
- * The origin of the extended IDL file is
- * http://w3c.github.io/mediacapture-worker/#imagebitmap-extensions
  */
 
-// Extensions
-// Bug 1141979 - [FoxEye] Extend ImageBitmap with interfaces to access its
-// underlying image data
-//
-// Note:
-// Our overload resolution implementation doesn't deal with a union as the
-// distinguishing argument which means we cannot overload functions via union
-// types, a.k.a. we cannot overload createImageBitmap() via ImageBitmapSource
-// and BufferSource. Here, we work around this issue by adding the BufferSource
-// into ImageBitmapSource.
-
-typedef (HTMLImageElement or
-         HTMLVideoElement or
-         HTMLCanvasElement or
+typedef (CanvasImageSource or
          Blob or
-         ImageData or
-         CanvasRenderingContext2D or
-         ImageBitmap or
-         BufferSource) ImageBitmapSource;
+         ImageData) ImageBitmapSource;
 
 [Exposed=(Window,Worker)]
 interface ImageBitmap {
@@ -50,363 +31,16 @@ partial interface ImageBitmap {
   undefined close();
 };
 
-// ImageBitmap-extensions
-// Bug 1141979 - [FoxEye] Extend ImageBitmap with interfaces to access its
-// underlying image data
-
-/*
- * An image or a video frame is conceptually a two-dimensional array of data and
- * each element in the array is called a pixel. The pixels are usually stored in
- * a one-dimensional array and could be arranged in a variety of image formats.
- * Developers need to know how the pixels are formatted so that they are able to
- * process them.
- *
- * The image format describes how pixels in an image are arranged. A single
- * pixel has at least one, but usually multiple pixel values. The range of a
- * pixel value varies, which means different image formats use different data
- * types to store a single pixel value.
- *
- * The most frequently used data type is 8-bit unsigned integer whose range is
- * from 0 to 255, others could be 16-bit integer or 32-bit floating points and
- * so forth. The number of pixel values of a single pixel is called the number
- * of channels of the image format. Multiple pixel values of a pixel are used
- * together to describe the captured property which could be color or depth
- * information. For example, if the data is a color image in RGB color space,
- * then it is a three-channel image format and a pixel is described by R, G and
- * B three pixel values with range from 0 to 255. As another example, if the
- * data is a gray image, then it is a single-channel image format with 8-bit
- * unsigned integer data type and the pixel value describes the gray scale. For
- * depth data, it is a single channel image format too, but the data type is
- * 16-bit unsigned integer and the pixel value is the depth level.
- *
- * For those image formats whose pixels contain multiple pixel values, the pixel
- * values might be arranged in one of the following ways:
- * 1) Planar pixel layout:
- *    each channel has its pixel values stored consecutively in separated
- *    buffers (a.k.a. planes) and then all channel buffers are stored
- *    consecutively in memory.
- *    (Ex: RRRRRR......GGGGGG......BBBBBB......)
- * 2) Interleaving pixel layout:
- *    each pixel has its pixel values from all channels stored together and
- *    interleaves all channels.
- *    (Ex: RGBRGBRGBRGBRGB......)
- */
-
-
-/*
- * The ImageBitmap extensions use this enumeration to negotiate the image format
- * while 1) accessing the underlying data of an ImageBitmap and
- *       2) creating a new ImageBitmap.
- *
- * For each format in this enumeration, we use a 2x2 small image (4 pixels) as
- * example to illustrate the pixel layout.
- *
- * 2x2 image:   +--------+--------+
- *              | pixel1 | pixel2 |
- *              +--------+--------+
- *              | pixel3 | pixel4 |
- *              +--------+--------+
- *
- */
-enum ImageBitmapFormat {
-  /*
-   * Channel order: R, G, B, A
-   * Channel size: full rgba-chennels
-   * Pixel layout: interleaving rgba-channels
-   * Pixel layout illustration:
-   *   [Plane1]: R1 G1 B1 A1 R2 G2 B2 A2 R3 G3 B3 A3 R4 G4 B4 A4
-   * Data type: 8-bit unsigned integer
-   */
-  "RGBA32",
-
-  /*
-   * Channel order: B, G, R, A
-   * Channel size: full bgra-channels
-   * Pixel layout: interleaving bgra-channels
-   * Pixel layout illustration:
-   *   [Plane1]: B1 G1 R1 A1 B2 G2 R2 A2 B3 G3 R3 A3 B4 G4 R4 A4
-   * Data type: 8-bit unsigned integer
-   */
-  "BGRA32",
-
-  /*
-   * Channel order: R, G, B
-   * Channel size: full rgb-channels
-   * Pixel layout: interleaving rgb-channels
-   * Pixel layout illustration:
-   *   [Plane1]: R1 G1 B1 R2 G2 B2 R3 G3 B3 R4 G4 B4
-   * Data type: 8-bit unsigned integer
-   */
-  "RGB24",
-
-  /*
-   * Channel order: B, G, R
-   * Channel size: full bgr-channels
-   * Pixel layout: interleaving bgr-channels
-   * Pixel layout illustration:
-   *   [Plane1]: B1 G1 R1 B2 G2 R2 B3 G3 R3 B4 G4 R4
-   * Data type: 8-bit unsigned integer
-   */
-  "BGR24",
-
-  /*
-   * Channel order: GRAY
-   * Channel size: full gray-channel
-   * Pixel layout: planar gray-channel
-   * Pixel layout illustration:
-   *   [Plane1]: GRAY1 GRAY2 GRAY3 GRAY4
-   * Data type: 8-bit unsigned integer
-   */
-  "GRAY8",
-
-  /*
-   * Channel order: Y, U, V
-   * Channel size: full yuv-channels
-   * Pixel layout: planar yuv-channels
-   * Pixel layout illustration:
-   *   [Plane1]: Y1 Y2 Y3 Y4
-   *   [Plane2]: U1 U2 U3 U4
-   *   [Plane3]: V1 V2 V3 V4
-   * Data type: 8-bit unsigned integer
-   */
-  "YUV444P",
-
-  /*
-   * Channel order: Y, U, V
-   * Channel size: full y-channel, half uv-channels
-   * Pixel layout: planar yuv-channels
-   * Pixel layout illustration:
-   *   [Plane1]: Y1 Y2 Y3 Y4
-   *   [Plane2]: U1 U3
-   *   [Plane3]: V1 V3
-   * Data type: 8-bit unsigned integer
-   */
-  "YUV422P",
-
-  /*
-   * Channel order: Y, U, V
-   * Channel size: full y-channel, quarter uv-channels
-   * Pixel layout: planar yuv-channels
-   * Pixel layout illustration:
-   *   [Plane1]: Y1 Y2 Y3 Y4
-   *   [Plane2]: U1
-   *   [Plane3]: V1
-   * Data type: 8-bit unsigned integer
-   */
-  "YUV420P",
-
-  /*
-   * Channel order: Y, U, V
-   * Channel size: full y-channel, quarter uv-channels
-   * Pixel layout: planar y-channel, interleaving uv-channels
-   * Pixel layout illustration:
-   *   [Plane1]: Y1 Y2 Y3 Y4
-   *   [Plane2]: U1 V1
-   * Data type: 8-bit unsigned integer
-   */
-  "YUV420SP_NV12",
-
-  /*
-   * Channel order: Y, V, U
-   * Channel size: full y-channel, quarter vu-channels
-   * Pixel layout: planar y-channel, interleaving vu-channels
-   * Pixel layout illustration:
-   *   [Plane1]: Y1 Y2 Y3 Y4
-   *   [Plane2]: V1 U1
-   * Data type: 8-bit unsigned integer
-   */
-  "YUV420SP_NV21",
-
-  /*
-   * Channel order: H, S, V
-   * Channel size: full hsv-channels
-   * Pixel layout: interleaving hsv-channels
-   * Pixel layout illustration:
-   *   [Plane1]: H1 S1 V1 H2 S2 V2 H3 S3 V3
-   * Data type: 32-bit floating point value
-   */
-  "HSV",
-
-  /*
-   * Channel order: l, a, b
-   * Channel size: full lab-channels
-   * Pixel layout: interleaving lab-channels
-   * Pixel layout illustration:
-   *   [Plane1]: l1 a1 b1 l2 a2 b2 l3 a3 b3
-   * Data type: 32-bit floating point value
-   */
-  "Lab",
-
-  /*
-   * Channel order: DEPTH
-   * Channel size: full depth-channel
-   * Pixel layout: planar depth-channel
-   * Pixel layout illustration:
-   *   [Plane1]: DEPTH1 DEPTH2 DEPTH3 DEPTH4
-   * Data type: 16-bit unsigned integer
-   */
-  "DEPTH",
-};
-
-enum ChannelPixelLayoutDataType {
-  "uint8",
-  "int8",
-  "uint16",
-  "int16",
-  "uint32",
-  "int32",
-  "float32",
-  "float64"
-};
-
-/*
- * Two concepts, ImagePixelLayout and ChannelPixelLayout, together generalize
- * the variety of pixel layouts among image formats.
- *
- * The ChannelPixelLayout represents the pixel layout of a single channel in a
- * certain image format and the ImagePixelLayout is just the collection of
- * ChannelPixelLayouts. So, the ChannelPixelLayout is defined as a dictionary
- * type with properties to describe the layout and the ImagePixelLayout is just
- * an alias name to a sequence of ChannelPixelLayout objects.
- *
- * Since an image format is composed of at least one channel, an
- * ImagePixelLayout object contains at least one ChannelPixelLayout object.
- *
- * Although an image or a video frame is a two-dimensional structure, its data
- * is usually stored in a one-dimensional array in the row-major way and the
- * ChannelPixelLayout objects use the following properties to describe the
- * layout of pixel values in the buffer.
- *
- * 1) offset:
- *    denotes the beginning position of the channel's data relative to the
- *    beginning position of the one-dimensional array.
- * 2) width & height:
- *    denote the width and height of the channel respectively. Each channel in
- *    an image format may have different height and width.
- * 3) data type:
- *    denotes the format used to store one single pixel value.
- * 4) stride:
- *    the number of bytes between the beginning two consecutive rows in memory.
- *    (The total bytes of each row plus the padding bytes of each raw.)
- * 5) skip value:
- *    the value is zero for the planar pixel layout, and a positive integer for
- *    the interleaving pixel layout. (Describes how many bytes there are between
- *    two adjacent pixel values in this channel.)
- */
-
-/*
- * Example1: RGBA image, width = 620, height = 480, stride = 2560
- *
- * chanel_r: offset = 0, width = 620, height = 480, data type = uint8, stride = 2560, skip = 3
- * chanel_g: offset = 1, width = 620, height = 480, data type = uint8, stride = 2560, skip = 3
- * chanel_b: offset = 2, width = 620, height = 480, data type = uint8, stride = 2560, skip = 3
- * chanel_a: offset = 3, width = 620, height = 480, data type = uint8, stride = 2560, skip = 3
- *
- *         <---------------------------- stride ---------------------------->
- *         <---------------------- width x 4 ---------------------->
- * [index] 01234   8   12  16  20  24  28                           2479    2559
- *         |||||---|---|---|---|---|---|----------------------------|-------|
- * [data]  RGBARGBARGBARGBARGBAR___R___R...                         A%%%%%%%%
- * [data]  RGBARGBARGBARGBARGBAR___R___R...                         A%%%%%%%%
- * [data]  RGBARGBARGBARGBARGBAR___R___R...                         A%%%%%%%%
- *              ^^^
- *              r-skip
- */
-
-/*
- * Example2: YUV420P image, width = 620, height = 480, stride = 640
- *
- * chanel_y: offset = 0, width = 620, height = 480, stride = 640, skip = 0
- * chanel_u: offset = 307200, width = 310, height = 240, data type = uint8, stride = 320, skip = 0
- * chanel_v: offset = 384000, width = 310, height = 240, data type = uint8, stride = 320, skip = 0
- *
- *         <--------------------------- y-stride --------------------------->
- *         <----------------------- y-width ----------------------->
- * [index] 012345                                                  619      639
- *         ||||||--------------------------------------------------|--------|
- * [data]  YYYYYYYYYYYYYYYYYYYYYYYYYYYYY...                        Y%%%%%%%%%
- * [data]  YYYYYYYYYYYYYYYYYYYYYYYYYYYYY...                        Y%%%%%%%%%
- * [data]  YYYYYYYYYYYYYYYYYYYYYYYYYYYYY...                        Y%%%%%%%%%
- * [data]  ......
- *         <-------- u-stride ---------->
- *         <----- u-width ----->
- * [index] 307200              307509   307519
- *         |-------------------|--------|
- * [data]  UUUUUUUUUU...       U%%%%%%%%%
- * [data]  UUUUUUUUUU...       U%%%%%%%%%
- * [data]  UUUUUUUUUU...       U%%%%%%%%%
- * [data]  ......
- *         <-------- v-stride ---------->
- *         <- --- v-width ----->
- * [index] 384000              384309   384319
- *         |-------------------|--------|
- * [data]  VVVVVVVVVV...       V%%%%%%%%%
- * [data]  VVVVVVVVVV...       V%%%%%%%%%
- * [data]  VVVVVVVVVV...       V%%%%%%%%%
- * [data]  ......
- */
-
-/*
- * Example3: YUV420SP_NV12 image, width = 620, height = 480, stride = 640
- *
- * chanel_y: offset = 0, width = 620, height = 480, stride = 640, skip = 0
- * chanel_u: offset = 307200, width = 310, height = 240, data type = uint8, stride = 640, skip = 1
- * chanel_v: offset = 307201, width = 310, height = 240, data type = uint8, stride = 640, skip = 1
- *
- *         <--------------------------- y-stride -------------------------->
- *         <----------------------- y-width ---------------------->
- * [index] 012345                                                 619      639
- *         ||||||-------------------------------------------------|--------|
- * [data]  YYYYYYYYYYYYYYYYYYYYYYYYYYYYY...                       Y%%%%%%%%%
- * [data]  YYYYYYYYYYYYYYYYYYYYYYYYYYYYY...                       Y%%%%%%%%%
- * [data]  YYYYYYYYYYYYYYYYYYYYYYYYYYYYY...                       Y%%%%%%%%%
- * [data]  ......
- *         <--------------------- u-stride / v-stride -------------------->
- *         <------------------ u-width + v-width ----------------->
- * [index] 307200(u-offset)                                       307819  307839
- *         |------------------------------------------------------|-------|
- * [index] |307201(v-offset)                                      |307820 |
- *         ||-----------------------------------------------------||------|
- * [data]  UVUVUVUVUVUVUVUVUVUVUVUVUVUVUV...                      UV%%%%%%%
- * [data]  UVUVUVUVUVUVUVUVUVUVUVUVUVUVUV...                      UV%%%%%%%
- * [data]  UVUVUVUVUVUVUVUVUVUVUVUVUVUVUV...                      UV%%%%%%%
- *          ^            ^
- *         u-skip        v-skip
- */
-
-/*
- * Example4: DEPTH image, width = 640, height = 480, stride = 1280
- *
- * chanel_d: offset = 0, width = 640, height = 480, data type = uint16, stride = 1280, skip = 0
- *
- * note: each DEPTH value uses two bytes
- *
- *         <----------------------- d-stride ---------------------->
- *         <----------------------- d-width ----------------------->
- * [index] 02468                                                   1278
- *         |||||---------------------------------------------------|
- * [data]  DDDDDDDDDDDDDDDDDDDDDDDDDDDDD...                        D
- * [data]  DDDDDDDDDDDDDDDDDDDDDDDDDDDDD...                        D
- * [data]  DDDDDDDDDDDDDDDDDDDDDDDDDDDDD...                        D
- * [data]  ......
- */
-
-dictionary ChannelPixelLayout {
-    required unsigned long              offset;
-    required unsigned long              width;
-    required unsigned long              height;
-    required ChannelPixelLayoutDataType dataType;
-    required unsigned long              stride;
-    required unsigned long              skip;
-};
-
-typedef sequence<ChannelPixelLayout> ImagePixelLayout;
-
-partial interface ImageBitmap {
-    [Throws, Func="mozilla::dom::DOMPrefs::ImageBitmapExtensionsEnabled"]
-    ImageBitmapFormat               findOptimalFormat (optional sequence<ImageBitmapFormat> aPossibleFormats);
-    [Throws, Func="mozilla::dom::DOMPrefs::ImageBitmapExtensionsEnabled"]
-    long                            mappedDataLength (ImageBitmapFormat aFormat);
-    [Throws, Func="mozilla::dom::DOMPrefs::ImageBitmapExtensionsEnabled"]
-    Promise<ImagePixelLayout> mapDataInto (ImageBitmapFormat aFormat, BufferSource aBuffer, long aOffset);
+enum ImageOrientation { "from-image", "flipY" };
+enum PremultiplyAlpha { "none", "premultiply", "default" };
+enum ColorSpaceConversion { "none", "default" };
+enum ResizeQuality { "pixelated", "low", "medium", "high" };
+
+dictionary ImageBitmapOptions {
+  ImageOrientation imageOrientation = "from-image";
+  PremultiplyAlpha premultiplyAlpha = "default";
+  ColorSpaceConversion colorSpaceConversion = "default";
+  [EnforceRange] unsigned long resizeWidth;
+  [EnforceRange] unsigned long resizeHeight;
+  ResizeQuality resizeQuality = "low";
 };
diff --git a/webidls/enabled/ImageBitmapRenderingContext.webidl b/webidls/enabled/ImageBitmapRenderingContext.webidl
index 7a4e0fd..e8c1b38 100644
--- a/webidls/enabled/ImageBitmapRenderingContext.webidl
+++ b/webidls/enabled/ImageBitmapRenderingContext.webidl
@@ -28,7 +28,7 @@ interface ImageBitmapRenderingContext {
   // it does not change the canvas's intrinsic width or height.
   //
   // The ImageBitmap, when displayed, is clipped to the rectangle
-  // defined by the canvas's instrinsic width and height. Pixels that
+  // defined by the canvas's intrinsic width and height. Pixels that
   // would be covered by the canvas's bitmap which are not covered by
   // the supplied ImageBitmap are rendered transparent black. Any CSS
   // styles affecting the display of the canvas are applied as usual.
diff --git a/webidls/enabled/OffscreenCanvas.webidl b/webidls/enabled/OffscreenCanvas.webidl
index c1bc84b..2273e4a 100644
--- a/webidls/enabled/OffscreenCanvas.webidl
+++ b/webidls/enabled/OffscreenCanvas.webidl
@@ -7,6 +7,11 @@
  * https://wiki.whatwg.org/wiki/OffscreenCanvas
  */
 
+dictionary ImageEncodeOptions {
+  DOMString type = "image/png";
+  unrestricted double quality;
+};
+
 [Constructor(unsigned long width, unsigned long height),
  Exposed=(Window,Worker),
  Func="mozilla::dom::DOMPrefs::OffscreenCanvasEnabled"]
@@ -23,8 +28,7 @@ interface OffscreenCanvas : EventTarget {
   [Throws]
   ImageBitmap transferToImageBitmap();
   [Throws]
-  Promise<Blob> toBlob(optional DOMString type = "",
-                       optional any encoderOptions);
+  Promise<Blob> convertToBlob(optional ImageEncodeOptions options = {});
 };
 
 // OffscreenCanvas includes Transferable;
diff --git a/webidls/enabled/OffscreenCanvasRenderingContext2D.webidl b/webidls/enabled/OffscreenCanvasRenderingContext2D.webidl
new file mode 100644
index 0000000..621f80b
--- /dev/null
+++ b/webidls/enabled/OffscreenCanvasRenderingContext2D.webidl
@@ -0,0 +1,22 @@
+[Exposed = (Window, Worker)]
+interface OffscreenCanvasRenderingContext2D {
+  // `commit()` doesn't exist, spec has to be updated: <https://github.com/whatwg/html/pull/3872>
+  // undefined commit();
+  readonly attribute OffscreenCanvas canvas;
+};
+
+OffscreenCanvasRenderingContext2D includes CanvasState;
+OffscreenCanvasRenderingContext2D includes CanvasTransform;
+OffscreenCanvasRenderingContext2D includes CanvasCompositing;
+OffscreenCanvasRenderingContext2D includes CanvasImageSmoothing;
+OffscreenCanvasRenderingContext2D includes CanvasFillStrokeStyles;
+OffscreenCanvasRenderingContext2D includes CanvasShadowStyles;
+OffscreenCanvasRenderingContext2D includes CanvasFilters;
+OffscreenCanvasRenderingContext2D includes CanvasRect;
+OffscreenCanvasRenderingContext2D includes CanvasDrawPath;
+OffscreenCanvasRenderingContext2D includes CanvasText;
+OffscreenCanvasRenderingContext2D includes CanvasDrawImage;
+OffscreenCanvasRenderingContext2D includes CanvasImageData;
+OffscreenCanvasRenderingContext2D includes CanvasPathDrawingStyles;
+OffscreenCanvasRenderingContext2D includes CanvasTextDrawingStyles;
+OffscreenCanvasRenderingContext2D includes CanvasPath;
diff --git a/webidls/enabled/ParentNode.webidl b/webidls/enabled/ParentNode.webidl
index 5256d18..b94c876 100644
--- a/webidls/enabled/ParentNode.webidl
+++ b/webidls/enabled/ParentNode.webidl
@@ -21,4 +21,6 @@ interface mixin ParentNode {
   undefined prepend((Node or DOMString)... nodes);
   [CEReactions, Throws, Unscopable]
   undefined append((Node or DOMString)... nodes);
+  [CEReactions, Unscopable]
+  undefined replaceChildren((Node or DOMString)... nodes);
 };
diff --git a/webidls/enabled/PresentationConnection.webidl b/webidls/enabled/PresentationConnection.webidl
index 753dfee..e3bc8c5 100644
--- a/webidls/enabled/PresentationConnection.webidl
+++ b/webidls/enabled/PresentationConnection.webidl
@@ -9,7 +9,7 @@
 
 enum PresentationConnectionState
 {
-  // The initial state when a PresentationConnection is ceated.
+  // The initial state when a PresentationConnection is created.
   "connecting",
 
   // Existing presentation, and the communication channel is active.
diff --git a/webidls/enabled/RTCPeerConnection.webidl b/webidls/enabled/RTCPeerConnection.webidl
index 9c74b61..b91563e 100644
--- a/webidls/enabled/RTCPeerConnection.webidl
+++ b/webidls/enabled/RTCPeerConnection.webidl
@@ -36,6 +36,15 @@ enum RTCIceConnectionState {
     "closed"
 };
 
+enum RTCPeerConnectionState {
+  "closed",
+  "failed",
+  "disconnected",
+  "new",
+  "connecting",
+  "connected"
+};
+
 dictionary RTCDataChannelInit {
   boolean        ordered = true;
   unsigned short maxPacketLifeTime;
@@ -89,6 +98,7 @@ interface RTCPeerConnection : EventTarget  {
   readonly attribute boolean? canTrickleIceCandidates;
   readonly attribute RTCIceGatheringState iceGatheringState;
   readonly attribute RTCIceConnectionState iceConnectionState;
+  readonly attribute RTCPeerConnectionState connectionState;
   [Pref="media.peerconnection.identity.enabled"]
   readonly attribute Promise<RTCIdentityAssertion> peerIdentity;
   [Pref="media.peerconnection.identity.enabled"]
@@ -130,6 +140,7 @@ interface RTCPeerConnection : EventTarget  {
   attribute EventHandler onremovestream;
   attribute EventHandler oniceconnectionstatechange;
   attribute EventHandler onicegatheringstatechange;
+  attribute EventHandler onconnectionstatechange;
 
   Promise<RTCStatsReport> getStats (optional MediaStreamTrack? selector);
 
diff --git a/webidls/enabled/RTCRtpSender.webidl b/webidls/enabled/RTCRtpSender.webidl
index e7b375b..3b1c49c 100644
--- a/webidls/enabled/RTCRtpSender.webidl
+++ b/webidls/enabled/RTCRtpSender.webidl
@@ -76,7 +76,7 @@ interface RTCRtpSender {
   Promise<RTCStatsReport> getStats();
   [Pref="media.peerconnection.dtmf.enabled"]
   readonly attribute RTCDTMFSender? dtmf;
-  // Ugh, can't use a ChromeOnly attibute sequence<MediaStream>...
+  // Ugh, can't use a ChromeOnly attribute sequence<MediaStream>...
   [ChromeOnly]
   sequence<MediaStream> getStreams();
   [ChromeOnly]
diff --git a/webidls/unstable/ResizeObserver.webidl b/webidls/enabled/ResizeObserver.webidl
similarity index 100%
rename from webidls/unstable/ResizeObserver.webidl
rename to webidls/enabled/ResizeObserver.webidl
diff --git a/webidls/enabled/ScrollBoxObject.webidl b/webidls/enabled/ScrollBoxObject.webidl
index 4f9e31f..b9cff7f 100644
--- a/webidls/enabled/ScrollBoxObject.webidl
+++ b/webidls/enabled/ScrollBoxObject.webidl
@@ -18,7 +18,7 @@ interface ScrollBoxObject : BoxObject {
 
   /**
    * Scroll the given amount of device pixels to the right and down.
-   * Values will be clamped to make the resuling position legal.
+   * Values will be clamped to make the resulting position legal.
    */
   [Throws]
   undefined scrollBy(long dx, long dy);
diff --git a/webidls/enabled/ServiceWorkerContainer.webidl b/webidls/enabled/ServiceWorkerContainer.webidl
index 3d0bc34..384b53c 100644
--- a/webidls/enabled/ServiceWorkerContainer.webidl
+++ b/webidls/enabled/ServiceWorkerContainer.webidl
@@ -42,5 +42,6 @@ partial interface ServiceWorkerContainer {
 
 dictionary RegistrationOptions {
   USVString scope;
+  USVString type;
   ServiceWorkerUpdateViaCache updateViaCache = "imports";
 };
diff --git a/webidls/enabled/TreeView.webidl b/webidls/enabled/TreeView.webidl
index 9aee1ce..2ec9942 100644
--- a/webidls/enabled/TreeView.webidl
+++ b/webidls/enabled/TreeView.webidl
@@ -110,7 +110,7 @@ interface TreeView
   /**
    * The level is an integer value that represents
    * the level of indentation.  It is multiplied by the width specified in the 
-   * :moz-tree-indentation pseudoelement to compute the exact indendation.
+   * :moz-tree-indentation pseudoelement to compute the exact indentation.
    */
   [Throws]
   long getLevel(long row);
diff --git a/webidls/enabled/WebGL2RenderingContext.webidl b/webidls/enabled/WebGL2RenderingContext.webidl
index 730ae27..2b6efb5 100644
--- a/webidls/enabled/WebGL2RenderingContext.webidl
+++ b/webidls/enabled/WebGL2RenderingContext.webidl
@@ -722,3 +722,16 @@ WebGL2RenderingContext includes WebGL2RenderingContextBase;
 [NoInterfaceObject]
 interface EXT_color_buffer_float {
 };
+
+[NoInterfaceObject]
+interface EXT_texture_norm16
+{
+      const GLenum R16_EXT          = 0x822A;
+      const GLenum RG16_EXT         = 0x822C;
+      const GLenum RGB16_EXT        = 0x8054;
+      const GLenum RGBA16_EXT       = 0x805B;
+      const GLenum R16_SNORM_EXT    = 0x8F98;
+      const GLenum RG16_SNORM_EXT   = 0x8F99;
+      const GLenum RGB16_SNORM_EXT  = 0x8F9A;
+      const GLenum RGBA16_SNORM_EXT = 0x8F9B;
+};
diff --git a/webidls/enabled/Window.webidl b/webidls/enabled/Window.webidl
index d2985fc..fb8735f 100644
--- a/webidls/enabled/Window.webidl
+++ b/webidls/enabled/Window.webidl
@@ -9,7 +9,6 @@
  * https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html
  * http://dev.w3.org/csswg/cssom/
  * http://dev.w3.org/csswg/cssom-view/
- * https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html
  * https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html
  * https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html
  * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
@@ -196,13 +195,6 @@ partial interface Window {
   [Replaceable] readonly attribute double devicePixelRatio;
 };
 
-// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html
-partial interface Window {
-  [Throws] long requestAnimationFrame(FrameRequestCallback callback);
-  [Throws] undefined cancelAnimationFrame(long handle);
-};
-callback FrameRequestCallback = undefined (DOMHighResTimeStamp time);
-
 // https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html
 partial interface Window {
   [Replaceable, Pure, StoreInSlot] readonly attribute Performance? performance;
diff --git a/webidls/enabled/WindowOrWorkerGlobalScope.webidl b/webidls/enabled/WindowOrWorkerGlobalScope.webidl
index c7b7dd6..89b818c 100644
--- a/webidls/enabled/WindowOrWorkerGlobalScope.webidl
+++ b/webidls/enabled/WindowOrWorkerGlobalScope.webidl
@@ -37,9 +37,12 @@ interface mixin WindowOrWorkerGlobalScope {
 
   // ImageBitmap
   [Throws]
-  Promise<ImageBitmap> createImageBitmap(ImageBitmapSource aImage);
+  Promise<ImageBitmap> createImageBitmap(ImageBitmapSource aImage,
+                                         optional ImageBitmapOptions aOptions = {});
   [Throws]
-  Promise<ImageBitmap> createImageBitmap(ImageBitmapSource aImage, long aSx, long aSy, long aSw, long aSh);
+  Promise<ImageBitmap> createImageBitmap(ImageBitmapSource aImage,
+                                         long aSx, long aSy, long aSw, long aSh,
+                                         optional ImageBitmapOptions aOptions = {});
 };
 
 // https://fetch.spec.whatwg.org/#fetch-method
diff --git a/webidls/unstable/Animatable.webidl b/webidls/unstable/Animatable.webidl
new file mode 100644
index 0000000..26a6c9f
--- /dev/null
+++ b/webidls/unstable/Animatable.webidl
@@ -0,0 +1,14 @@
+interface mixin Animatable {
+    Animation           animate(object? keyframes,
+                                optional (unrestricted double or KeyframeAnimationOptions) options = {});
+    sequence<Animation> getAnimations(optional GetAnimationsOptions options = {});
+};
+
+dictionary KeyframeAnimationOptions : KeyframeEffectOptions {
+    DOMString id = "";
+    AnimationTimeline? timeline;
+};
+
+dictionary GetAnimationsOptions {
+    boolean subtree = false;
+};
diff --git a/webidls/unstable/FileSystemAccess.webidl b/webidls/unstable/FileSystemAccess.webidl
new file mode 100644
index 0000000..cc5623b
--- /dev/null
+++ b/webidls/unstable/FileSystemAccess.webidl
@@ -0,0 +1,101 @@
+enum FileSystemHandleKind {
+  "file",
+  "directory",
+};
+
+[Exposed=(Window,Worker), SecureContext, Serializable]
+interface FileSystemHandle {
+  readonly attribute FileSystemHandleKind kind;
+  readonly attribute USVString name;
+
+  Promise<boolean> isSameEntry(FileSystemHandle other);
+};
+
+dictionary FileSystemCreateWritableOptions {
+  boolean keepExistingData = false;
+};
+
+[Exposed=(Window,Worker), SecureContext, Serializable]
+interface FileSystemFileHandle : FileSystemHandle {
+  Promise<File> getFile();
+  Promise<FileSystemWritableFileStream> createWritable(optional FileSystemCreateWritableOptions options = {});
+  [Exposed=DedicatedWorker]
+  Promise<FileSystemSyncAccessHandle> createSyncAccessHandle();
+};
+
+dictionary FileSystemGetFileOptions {
+  boolean create = false;
+};
+
+dictionary FileSystemGetDirectoryOptions {
+  boolean create = false;
+};
+
+dictionary FileSystemRemoveOptions {
+  boolean recursive = false;
+};
+
+[Exposed=(Window,Worker), SecureContext, Serializable]
+interface FileSystemDirectoryHandle : FileSystemHandle {
+  async iterable<USVString, FileSystemHandle>;
+
+  Promise<FileSystemFileHandle> getFileHandle(USVString name, optional FileSystemGetFileOptions options = {});
+  Promise<FileSystemDirectoryHandle> getDirectoryHandle(USVString name, optional FileSystemGetDirectoryOptions options = {});
+
+  Promise<undefined> removeEntry(USVString name, optional FileSystemRemoveOptions options = {});
+
+  Promise<sequence<USVString>?> resolve(FileSystemHandle possibleDescendant);
+};
+
+enum WriteCommandType {
+  "write",
+  "seek",
+  "truncate",
+};
+
+dictionary WriteParams {
+  required WriteCommandType type;
+  unsigned long long? size;
+  unsigned long long? position;
+  (BufferSource or Blob or USVString)? data;
+};
+
+typedef (BufferSource or Blob or USVString or WriteParams) FileSystemWriteChunkType;
+
+[Exposed=(Window,Worker), SecureContext]
+interface FileSystemWritableFileStream : WritableStream {
+  [Throws]
+  Promise<undefined> write(FileSystemWriteChunkType data);
+  [Throws]
+  Promise<undefined> seek(unsigned long long position);
+  [Throws]
+  Promise<undefined> truncate(unsigned long long size);
+};
+
+dictionary FileSystemReadWriteOptions {
+  [EnforceRange] unsigned long long at;
+};
+
+[Exposed=DedicatedWorker, SecureContext]
+interface FileSystemSyncAccessHandle {
+  [Throws]
+  unsigned long long read([AllowShared] BufferSource buffer,
+                          optional FileSystemReadWriteOptions options = {});
+  [Throws]
+  unsigned long long write([AllowShared] BufferSource buffer,
+                           optional FileSystemReadWriteOptions options = {});
+
+  [Throws]
+  undefined truncate([EnforceRange] unsigned long long newSize);
+  [Throws]
+  unsigned long long getSize();
+  [Throws]
+  undefined flush();
+  undefined close();
+};
+
+
+[SecureContext]
+partial interface StorageManager {
+  Promise<FileSystemDirectoryHandle> getDirectory();
+};
diff --git a/webidls/unstable/LocalFontAccess.webidl b/webidls/unstable/LocalFontAccess.webidl
new file mode 100644
index 0000000..d6d6d3b
--- /dev/null
+++ b/webidls/unstable/LocalFontAccess.webidl
@@ -0,0 +1,20 @@
+[SecureContext]
+partial interface Window {
+  [Throws]
+  Promise<sequence<FontData>> queryLocalFonts(optional QueryOptions options = {});
+};
+
+dictionary QueryOptions {
+  sequence<DOMString> postscriptNames;
+};
+
+[Exposed=Window]
+interface FontData {
+  Promise<Blob> blob();
+
+  // Names
+  readonly attribute USVString postscriptName;
+  readonly attribute USVString fullName;
+  readonly attribute USVString family;
+  readonly attribute USVString style;
+};
diff --git a/webidls/unstable/MeasureMemory.webidl b/webidls/unstable/MeasureMemory.webidl
new file mode 100644
index 0000000..47e442f
--- /dev/null
+++ b/webidls/unstable/MeasureMemory.webidl
@@ -0,0 +1,27 @@
+/* Source: https://wicg.github.io/performance-measure-memory/#idl-index */
+
+dictionary MemoryMeasurement {
+  unsigned long long bytes;
+  sequence<MemoryBreakdownEntry> breakdown;
+};
+
+dictionary MemoryBreakdownEntry {
+  unsigned long long bytes;
+  sequence<MemoryAttribution> attribution;
+  sequence<DOMString> types;
+};
+
+dictionary MemoryAttribution {
+  USVString url;
+  MemoryAttributionContainer container;
+  DOMString scope;
+};
+
+dictionary MemoryAttributionContainer {
+  DOMString id;
+  USVString src;
+};
+
+partial interface Performance {
+  [Exposed=(Window,ServiceWorker,SharedWorker), CrossOriginIsolated] Promise<MemoryMeasurement> measureUserAgentSpecificMemory();
+};
diff --git a/webidls/unstable/WebSerial.webidl b/webidls/unstable/WebSerial.webidl
new file mode 100644
index 0000000..f2ac7d0
--- /dev/null
+++ b/webidls/unstable/WebSerial.webidl
@@ -0,0 +1,80 @@
+[Exposed=Window, SecureContext]
+partial interface Navigator {
+  [SameObject] readonly attribute Serial serial;
+};
+
+[Exposed=DedicatedWorker, SecureContext]
+partial interface WorkerNavigator {
+  [SameObject] readonly attribute Serial serial;
+};
+
+[Exposed=(DedicatedWorker, Window), SecureContext]
+interface Serial : EventTarget {
+  attribute EventHandler onconnect;
+  attribute EventHandler ondisconnect;
+  Promise<sequence<SerialPort>> getPorts();
+  [Exposed=Window] Promise<SerialPort> requestPort(optional SerialPortRequestOptions options = {});
+};
+
+dictionary SerialPortRequestOptions {
+  sequence<SerialPortFilter> filters;
+};
+
+dictionary SerialPortFilter {
+  unsigned short usbVendorId;
+  unsigned short usbProductId;
+};
+
+[Exposed=(DedicatedWorker,Window), SecureContext]
+interface SerialPort : EventTarget {
+  attribute EventHandler onconnect;
+  attribute EventHandler ondisconnect;
+  readonly attribute ReadableStream readable;
+  readonly attribute WritableStream writable;
+
+  SerialPortInfo getInfo();
+
+  Promise<undefined> open(SerialOptions options);
+  Promise<undefined> setSignals(optional SerialOutputSignals signals = {});
+  Promise<SerialInputSignals> getSignals();
+  Promise<undefined> close();
+  Promise<undefined> forget();
+};
+
+dictionary SerialPortInfo {
+  unsigned short usbVendorId;
+  unsigned short usbProductId;
+};
+
+dictionary SerialOptions {
+  [EnforceRange] required unsigned long baudRate;
+  [EnforceRange] octet dataBits = 8;
+  [EnforceRange] octet stopBits = 1;
+  ParityType parity = "none";
+  [EnforceRange] unsigned long bufferSize = 255;
+  FlowControlType flowControl = "none";
+};
+
+enum ParityType {
+  "none",
+  "even",
+  "odd"
+};
+
+enum FlowControlType {
+  "none",
+  "hardware"
+};
+
+dictionary SerialOutputSignals {
+  boolean dataTerminalReady;
+  boolean requestToSend;
+  boolean break;
+};
+
+dictionary SerialInputSignals {
+  required boolean dataCarrierDetect;
+  required boolean clearToSend;
+  required boolean ringIndicator;
+  required boolean dataSetReady;
+};
diff --git a/webidls/unstable/WebTransport.webidl b/webidls/unstable/WebTransport.webidl
new file mode 100644
index 0000000..f0a85b9
--- /dev/null
+++ b/webidls/unstable/WebTransport.webidl
@@ -0,0 +1,150 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * The origin of this IDL file is
+ * https://www.w3.org/TR/webtransport/
+ *
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA.
+ * You are granted a license to use, reproduce and create derivative works of this document.
+ */
+
+[Exposed=(Window,Worker), SecureContext]
+interface WebTransportDatagramDuplexStream {
+  readonly attribute ReadableStream readable;
+  readonly attribute WritableStream writable;
+
+  readonly attribute unsigned long maxDatagramSize;
+  attribute unrestricted double incomingMaxAge;
+  attribute unrestricted double outgoingMaxAge;
+  attribute unrestricted double incomingHighWaterMark;
+  attribute unrestricted double outgoingHighWaterMark;
+};
+
+[Exposed=(Window,Worker), SecureContext]
+interface WebTransport {
+  constructor(USVString url, optional WebTransportOptions options = {});
+
+  Promise<WebTransportStats> getStats();
+  readonly attribute Promise<undefined> ready;
+  readonly attribute WebTransportReliabilityMode reliability;
+  readonly attribute WebTransportCongestionControl congestionControl;
+  readonly attribute Promise<WebTransportCloseInfo> closed;
+  readonly attribute Promise<undefined> draining;
+  undefined close(optional WebTransportCloseInfo closeInfo = {});
+
+  readonly attribute WebTransportDatagramDuplexStream datagrams;
+
+  Promise<WebTransportBidirectionalStream> createBidirectionalStream(
+      optional WebTransportSendStreamOptions options = {});
+  /* a ReadableStream of WebTransportBidirectionalStream objects */
+  readonly attribute ReadableStream incomingBidirectionalStreams;
+
+  Promise<WebTransportSendStream> createUnidirectionalStream(
+      optional WebTransportSendStreamOptions options = {});
+  /* a ReadableStream of WebTransportReceiveStream objects */
+  readonly attribute ReadableStream incomingUnidirectionalStreams;
+};
+
+enum WebTransportReliabilityMode {
+  "pending",
+  "reliable-only",
+  "supports-unreliable",
+};
+
+dictionary WebTransportHash {
+  DOMString algorithm;
+  BufferSource value;
+};
+
+dictionary WebTransportOptions {
+  boolean allowPooling = false;
+  boolean requireUnreliable = false;
+  sequence<WebTransportHash> serverCertificateHashes;
+  WebTransportCongestionControl congestionControl = "default";
+};
+
+enum WebTransportCongestionControl {
+  "default",
+  "throughput",
+  "low-latency",
+};
+
+dictionary WebTransportCloseInfo {
+  unsigned long closeCode = 0;
+  USVString reason = "";
+};
+
+dictionary WebTransportSendStreamOptions {
+  long long? sendOrder = null;
+};
+
+dictionary WebTransportStats {
+  DOMHighResTimeStamp timestamp;
+  unsigned long long bytesSent;
+  unsigned long long packetsSent;
+  unsigned long long packetsLost;
+  unsigned long numOutgoingStreamsCreated;
+  unsigned long numIncomingStreamsCreated;
+  unsigned long long bytesReceived;
+  unsigned long long packetsReceived;
+  DOMHighResTimeStamp smoothedRtt;
+  DOMHighResTimeStamp rttVariation;
+  DOMHighResTimeStamp minRtt;
+  WebTransportDatagramStats datagrams;
+};
+
+dictionary WebTransportDatagramStats {
+  DOMHighResTimeStamp timestamp;
+  unsigned long long expiredOutgoing;
+  unsigned long long droppedIncoming;
+  unsigned long long lostOutgoing;
+};
+
+[Exposed=(Window,Worker), SecureContext, Transferable]
+interface WebTransportSendStream : WritableStream {
+  Promise<WebTransportSendStreamStats> getStats();
+};
+
+dictionary WebTransportSendStreamStats {
+  DOMHighResTimeStamp timestamp;
+  unsigned long long bytesWritten;
+  unsigned long long bytesSent;
+  unsigned long long bytesAcknowledged;
+};
+
+[Exposed=(Window,Worker), SecureContext, Transferable]
+interface WebTransportReceiveStream : ReadableStream {
+  Promise<WebTransportReceiveStreamStats> getStats();
+};
+
+dictionary WebTransportReceiveStreamStats {
+  DOMHighResTimeStamp timestamp;
+  unsigned long long bytesReceived;
+  unsigned long long bytesRead;
+};
+
+[Exposed=(Window,Worker), SecureContext]
+interface WebTransportBidirectionalStream {
+  readonly attribute WebTransportReceiveStream readable;
+  readonly attribute WebTransportSendStream writable;
+};
+
+[Exposed=(Window,Worker), Serializable, SecureContext]
+interface WebTransportError : DOMException {
+  constructor(optional DOMString message = "", optional WebTransportErrorOptions options = {});
+
+  readonly attribute WebTransportErrorSource source;
+  readonly attribute octet? streamErrorCode;
+};
+
+dictionary WebTransportErrorOptions {
+  WebTransportErrorSource source = "stream";
+  [Clamp] octet? streamErrorCode = null;
+};
+
+enum WebTransportErrorSource {
+  "stream",
+  "session",
+};
diff --git a/webidls/unstable/WebXRHandInputModule.webidl b/webidls/unstable/WebXRHandInputModule.webidl
new file mode 100644
index 0000000..b88323e
--- /dev/null
+++ b/webidls/unstable/WebXRHandInputModule.webidl
@@ -0,0 +1,69 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/*
+ * WebXR Device API
+ * W3C Working Draft, 19 April 2022
+ * The origin of this IDL file is:
+ * https://www.w3.org/TR/2022/WD-webxr-hand-input-1-20220419/
+ */
+
+partial interface XRInputSource {
+   [SameObject] readonly attribute XRHand? hand;
+};
+
+enum XRHandJoint {
+  "wrist",
+
+  "thumb-metacarpal",
+  "thumb-phalanx-proximal",
+  "thumb-phalanx-distal",
+  "thumb-tip",
+
+  "index-finger-metacarpal",
+  "index-finger-phalanx-proximal",
+  "index-finger-phalanx-intermediate",
+  "index-finger-phalanx-distal",
+  "index-finger-tip",
+
+  "middle-finger-metacarpal",
+  "middle-finger-phalanx-proximal",
+  "middle-finger-phalanx-intermediate",
+  "middle-finger-phalanx-distal",
+  "middle-finger-tip",
+
+  "ring-finger-metacarpal",
+  "ring-finger-phalanx-proximal",
+  "ring-finger-phalanx-intermediate",
+  "ring-finger-phalanx-distal",
+  "ring-finger-tip",
+
+  "pinky-finger-metacarpal",
+  "pinky-finger-phalanx-proximal",
+  "pinky-finger-phalanx-intermediate",
+  "pinky-finger-phalanx-distal",
+  "pinky-finger-tip"
+};
+
+[Exposed=Window]
+interface XRHand {
+    iterable<XRHandJoint, XRJointSpace>;
+
+    readonly attribute unsigned long size;
+    XRJointSpace get(XRHandJoint key);
+};
+
+[Exposed=Window]
+interface XRJointSpace: XRSpace {
+  readonly attribute XRHandJoint jointName;
+};
+
+partial interface XRFrame {
+    XRJointPose? getJointPose(XRJointSpace joint, XRSpace baseSpace);
+    boolean fillJointRadii(sequence<XRJointSpace> jointSpaces, Float32Array radii);
+
+    boolean fillPoses(sequence<XRSpace> spaces, XRSpace baseSpace, Float32Array transforms);
+};
+
+[Exposed=Window]
+interface XRJointPose: XRPose {
+    readonly attribute float radius;
+};
-- 
GitLab