[INTERFACES]
interface Blob
    attribute @@toStringTag
    getter size
    getter type
    method constructor
    method slice
interface BroadcastChannel : EventTarget
    attribute @@toStringTag
    getter name
    getter onmessage
    getter onmessageerror
    method close
    method constructor
    method postMessage
    setter onmessage
    setter onmessageerror
interface BudgetService
    attribute @@toStringTag
    method constructor
    method reserve
interface ByteLengthQueuingStrategy
    method constructor
    method size
interface Cache
    attribute @@toStringTag
    method add
    method addAll
    method constructor
    method delete
    method keys
    method match
    method matchAll
    method put
interface CacheStorage
    attribute @@toStringTag
    method constructor
    method delete
    method has
    method keys
    method match
    method open
interface Client
    attribute @@toStringTag
    getter frameType
    getter id
    getter type
    getter url
    method constructor
    method postMessage
interface Clients
    attribute @@toStringTag
    method claim
    method constructor
    method get
    method matchAll
    method openWindow
interface CloseEvent : Event
    attribute @@toStringTag
    getter code
    getter reason
    getter wasClean
    method constructor
interface CountQueuingStrategy
    method constructor
    method size
interface Crypto
    attribute @@toStringTag
    getter subtle
    method constructor
    method getRandomValues
interface CryptoKey
    attribute @@toStringTag
    getter algorithm
    getter extractable
    getter type
    getter usages
    method constructor
interface CustomEvent : Event
    attribute @@toStringTag
    getter detail
    method constructor
    method initCustomEvent
interface DOMException
    attribute @@toStringTag
    attribute ABORT_ERR
    attribute DATA_CLONE_ERR
    attribute DOMSTRING_SIZE_ERR
    attribute HIERARCHY_REQUEST_ERR
    attribute INDEX_SIZE_ERR
    attribute INUSE_ATTRIBUTE_ERR
    attribute INVALID_ACCESS_ERR
    attribute INVALID_CHARACTER_ERR
    attribute INVALID_MODIFICATION_ERR
    attribute INVALID_NODE_TYPE_ERR
    attribute INVALID_STATE_ERR
    attribute NAMESPACE_ERR
    attribute NETWORK_ERR
    attribute NOT_FOUND_ERR
    attribute NOT_SUPPORTED_ERR
    attribute NO_DATA_ALLOWED_ERR
    attribute NO_MODIFICATION_ALLOWED_ERR
    attribute QUOTA_EXCEEDED_ERR
    attribute SECURITY_ERR
    attribute SYNTAX_ERR
    attribute TIMEOUT_ERR
    attribute TYPE_MISMATCH_ERR
    attribute URL_MISMATCH_ERR
    attribute VALIDATION_ERR
    attribute WRONG_DOCUMENT_ERR
    getter code
    getter message
    getter name
    method constructor
interface DOMMatrix : DOMMatrixReadOnly
    attribute @@toStringTag
    getter a
    getter b
    getter c
    getter d
    getter e
    getter f
    getter m11
    getter m12
    getter m13
    getter m14
    getter m21
    getter m22
    getter m23
    getter m24
    getter m31
    getter m32
    getter m33
    getter m34
    getter m41
    getter m42
    getter m43
    getter m44
    method constructor
    method invertSelf
    method multiplySelf
    method preMultiplySelf
    method rotateAxisAngleSelf
    method rotateFromVectorSelf
    method rotateSelf
    method scale3dSelf
    method scaleSelf
    method skewXSelf
    method skewYSelf
    method translateSelf
    setter a
    setter b
    setter c
    setter d
    setter e
    setter f
    setter m11
    setter m12
    setter m13
    setter m14
    setter m21
    setter m22
    setter m23
    setter m24
    setter m31
    setter m32
    setter m33
    setter m34
    setter m41
    setter m42
    setter m43
    setter m44
interface DOMMatrixReadOnly
    static method fromFloat32Array
    static method fromFloat64Array
    static method fromMatrix
    attribute @@toStringTag
    getter a
    getter b
    getter c
    getter d
    getter e
    getter f
    getter is2D
    getter isIdentity
    getter m11
    getter m12
    getter m13
    getter m14
    getter m21
    getter m22
    getter m23
    getter m24
    getter m31
    getter m32
    getter m33
    getter m34
    getter m41
    getter m42
    getter m43
    getter m44
    method constructor
    method flipX
    method flipY
    method inverse
    method multiply
    method rotate
    method rotateAxisAngle
    method rotateFromVector
    method scale
    method scale3d
    method skewX
    method skewY
    method toFloat32Array
    method toFloat64Array
    method toJSON
    method transformPoint
    method translate
interface DOMPoint : DOMPointReadOnly
    attribute @@toStringTag
    getter w
    getter x
    getter y
    getter z
    method constructor
    setter w
    setter x
    setter y
    setter z
interface DOMPointReadOnly
    static method fromPoint
    attribute @@toStringTag
    getter w
    getter x
    getter y
    getter z
    method constructor
    method matrixTransform
    method toJSON
interface DOMQuad
    static method fromQuad
    static method fromRect
    attribute @@toStringTag
    getter p1
    getter p2
    getter p3
    getter p4
    method constructor
    method getBounds
    method toJSON
interface DOMRect : DOMRectReadOnly
    attribute @@toStringTag
    getter height
    getter width
    getter x
    getter y
    method constructor
    setter height
    setter width
    setter x
    setter y
interface DOMRectReadOnly
    static method fromRect
    attribute @@toStringTag
    getter bottom
    getter height
    getter left
    getter right
    getter top
    getter width
    getter x
    getter y
    method constructor
    method toJSON
interface DOMStringList
    attribute @@toStringTag
    getter length
    method @@iterator
    method constructor
    method contains
    method item
interface DataView
    attribute @@toStringTag
    getter buffer
    getter byteLength
    getter byteOffset
    method constructor
    method getFloat32
    method getFloat64
    method getInt16
    method getInt32
    method getInt8
    method getUint16
    method getUint32
    method getUint8
    method setFloat32
    method setFloat64
    method setInt16
    method setInt32
    method setInt8
    method setUint16
    method setUint32
    method setUint8
interface Event
    attribute @@toStringTag
    attribute AT_TARGET
    attribute BUBBLING_PHASE
    attribute CAPTURING_PHASE
    attribute NONE
    getter bubbles
    getter cancelBubble
    getter cancelable
    getter composed
    getter currentTarget
    getter defaultPrevented
    getter eventPhase
    getter path
    getter returnValue
    getter srcElement
    getter target
    getter timeStamp
    getter type
    method composedPath
    method constructor
    method initEvent
    method preventDefault
    method stopImmediatePropagation
    method stopPropagation
    setter cancelBubble
    setter returnValue
interface EventSource : EventTarget
    attribute @@toStringTag
    attribute CLOSED
    attribute CONNECTING
    attribute OPEN
    getter onerror
    getter onmessage
    getter onopen
    getter readyState
    getter url
    getter withCredentials
    method close
    method constructor
    setter onerror
    setter onmessage
    setter onopen
interface EventTarget
    attribute @@toStringTag
    method addEventListener
    method constructor
    method dispatchEvent
    method removeEventListener
interface ExtendableEvent : Event
    attribute @@toStringTag
    method constructor
    method waitUntil
interface ExtendableMessageEvent : ExtendableEvent
    attribute @@toStringTag
    getter data
    getter lastEventId
    getter origin
    getter ports
    getter source
    method constructor
interface FetchEvent : ExtendableEvent
    attribute @@toStringTag
    getter clientId
    getter isReload
    getter preloadResponse
    getter request
    method constructor
    method respondWith
interface File : Blob
    attribute @@toStringTag
    getter lastModified
    getter lastModifiedDate
    getter name
    getter webkitRelativePath
    method constructor
interface FileList
    attribute @@toStringTag
    getter length
    method @@iterator
    method constructor
    method item
interface FileReader : EventTarget
    attribute @@toStringTag
    attribute DONE
    attribute EMPTY
    attribute LOADING
    getter error
    getter onabort
    getter onerror
    getter onload
    getter onloadend
    getter onloadstart
    getter onprogress
    getter readyState
    getter result
    method abort
    method constructor
    method readAsArrayBuffer
    method readAsBinaryString
    method readAsDataURL
    method readAsText
    setter onabort
    setter onerror
    setter onload
    setter onloadend
    setter onloadstart
    setter onprogress
interface FormData
    attribute @@toStringTag
    method @@iterator
    method append
    method constructor
    method delete
    method entries
    method forEach
    method get
    method getAll
    method has
    method keys
    method set
    method values
interface Headers
    attribute @@toStringTag
    method @@iterator
    method append
    method constructor
    method delete
    method entries
    method forEach
    method get
    method has
    method keys
    method set
    method values
interface IDBCursor
    attribute @@toStringTag
    getter direction
    getter key
    getter primaryKey
    getter source
    method advance
    method constructor
    method continue
    method continuePrimaryKey
    method delete
    method update
interface IDBCursorWithValue : IDBCursor
    attribute @@toStringTag
    getter value
    method constructor
interface IDBDatabase : EventTarget
    attribute @@toStringTag
    getter name
    getter objectStoreNames
    getter onabort
    getter onclose
    getter onerror
    getter onversionchange
    getter version
    method close
    method constructor
    method createObjectStore
    method deleteObjectStore
    method transaction
    setter onabort
    setter onclose
    setter onerror
    setter onversionchange
interface IDBFactory
    attribute @@toStringTag
    method cmp
    method constructor
    method deleteDatabase
    method open
interface IDBIndex
    attribute @@toStringTag
    getter keyPath
    getter multiEntry
    getter name
    getter objectStore
    getter unique
    method constructor
    method count
    method get
    method getAll
    method getAllKeys
    method getKey
    method openCursor
    method openKeyCursor
    setter name
interface IDBKeyRange
    static method bound
    static method lowerBound
    static method only
    static method upperBound
    attribute @@toStringTag
    getter lower
    getter lowerOpen
    getter upper
    getter upperOpen
    method constructor
    method includes
interface IDBObjectStore
    attribute @@toStringTag
    getter autoIncrement
    getter indexNames
    getter keyPath
    getter name
    getter transaction
    method add
    method clear
    method constructor
    method count
    method createIndex
    method delete
    method deleteIndex
    method get
    method getAll
    method getAllKeys
    method getKey
    method index
    method openCursor
    method openKeyCursor
    method put
    setter name
interface IDBOpenDBRequest : IDBRequest
    attribute @@toStringTag
    getter onblocked
    getter onupgradeneeded
    method constructor
    setter onblocked
    setter onupgradeneeded
interface IDBRequest : EventTarget
    attribute @@toStringTag
    getter error
    getter onerror
    getter onsuccess
    getter readyState
    getter result
    getter source
    getter transaction
    method constructor
    setter onerror
    setter onsuccess
interface IDBTransaction : EventTarget
    attribute @@toStringTag
    getter db
    getter error
    getter mode
    getter objectStoreNames
    getter onabort
    getter oncomplete
    getter onerror
    method abort
    method constructor
    method objectStore
    setter onabort
    setter oncomplete
    setter onerror
interface IDBVersionChangeEvent : Event
    attribute @@toStringTag
    getter dataLoss
    getter dataLossMessage
    getter newVersion
    getter oldVersion
    method constructor
interface ImageBitmap
    attribute @@toStringTag
    getter height
    getter width
    method close
    method constructor
interface ImageData
    attribute @@toStringTag
    getter data
    getter height
    getter width
    method constructor
interface InstallEvent : ExtendableEvent
    attribute @@toStringTag
    method constructor
interface MessageChannel
    attribute @@toStringTag
    getter port1
    getter port2
    method constructor
interface MessageEvent : Event
    attribute @@toStringTag
    getter data
    getter lastEventId
    getter origin
    getter ports
    getter source
    method constructor
    method initMessageEvent
interface MessagePort : EventTarget
    attribute @@toStringTag
    getter onmessage
    getter onmessageerror
    method close
    method constructor
    method postMessage
    method start
    setter onmessage
    setter onmessageerror
interface NavigationPreloadManager
    attribute @@toStringTag
    method constructor
    method disable
    method enable
    method getState
    method setHeaderValue
interface NetworkInformation : EventTarget
    attribute @@toStringTag
    getter downlink
    getter effectiveType
    getter onchange
    getter rtt
    getter saveData
    method constructor
    setter onchange
interface Notification : EventTarget
    static getter maxActions
    static getter permission
    attribute @@toStringTag
    getter actions
    getter badge
    getter body
    getter data
    getter dir
    getter icon
    getter lang
    getter onclick
    getter onclose
    getter onerror
    getter onshow
    getter renotify
    getter requireInteraction
    getter silent
    getter tag
    getter timestamp
    getter title
    getter vibrate
    method close
    method constructor
    setter onclick
    setter onclose
    setter onerror
    setter onshow
interface NotificationEvent : ExtendableEvent
    attribute @@toStringTag
    getter action
    getter notification
    method constructor
interface PerformanceEntry
    attribute @@toStringTag
    getter duration
    getter entryType
    getter name
    getter startTime
    method constructor
    method toJSON
interface PerformanceObserver
    attribute @@toStringTag
    method constructor
    method disconnect
    method observe
    method takeRecords
interface PerformanceObserverEntryList
    attribute @@toStringTag
    method constructor
    method getEntries
    method getEntriesByName
    method getEntriesByType
interface PerformanceResourceTiming : PerformanceEntry
    attribute @@toStringTag
    getter connectEnd
    getter connectStart
    getter decodedBodySize
    getter domainLookupEnd
    getter domainLookupStart
    getter encodedBodySize
    getter fetchStart
    getter initiatorType
    getter nextHopProtocol
    getter redirectEnd
    getter redirectStart
    getter requestStart
    getter responseEnd
    getter responseStart
    getter secureConnectionStart
    getter serverTiming
    getter transferSize
    getter workerStart
    method constructor
    method toJSON
interface PerformanceServerTiming
    attribute @@toStringTag
    getter description
    getter duration
    getter name
    method constructor
    method toJSON
interface PermissionStatus : EventTarget
    attribute @@toStringTag
    getter onchange
    getter state
    method constructor
    setter onchange
interface Permissions
    attribute @@toStringTag
    method constructor
    method query
interface PromiseRejectionEvent : Event
    attribute @@toStringTag
    getter promise
    getter reason
    method constructor
interface PushEvent : ExtendableEvent
    attribute @@toStringTag
    getter data
    method constructor
interface PushManager
    static getter supportedContentEncodings
    attribute @@toStringTag
    method constructor
    method getSubscription
    method permissionState
    method subscribe
interface PushMessageData
    attribute @@toStringTag
    method arrayBuffer
    method blob
    method constructor
    method json
    method text
interface PushSubscription
    attribute @@toStringTag
    getter endpoint
    getter expirationTime
    getter options
    method constructor
    method getKey
    method toJSON
    method unsubscribe
interface PushSubscriptionOptions
    attribute @@toStringTag
    getter applicationServerKey
    getter userVisibleOnly
    method constructor
interface ReadableStream
    getter locked
    method cancel
    method constructor
    method getReader
    method pipeThrough
    method pipeTo
    method tee
interface Request
    attribute @@toStringTag
    getter bodyUsed
    getter cache
    getter credentials
    getter destination
    getter headers
    getter integrity
    getter method
    getter mode
    getter redirect
    getter referrer
    getter referrerPolicy
    getter url
    method arrayBuffer
    method blob
    method clone
    method constructor
    method formData
    method json
    method text
interface Response
    static method error
    static method redirect
    attribute @@toStringTag
    getter body
    getter bodyUsed
    getter headers
    getter ok
    getter redirected
    getter status
    getter statusText
    getter type
    getter url
    method arrayBuffer
    method blob
    method clone
    method constructor
    method formData
    method json
    method text
interface ServiceWorkerGlobalScope : WorkerGlobalScope
    attribute @@toStringTag
    method constructor
interface ServiceWorkerRegistration : EventTarget
    attribute @@toStringTag
    getter active
    getter installing
    getter navigationPreload
    getter onupdatefound
    getter pushManager
    getter scope
    getter sync
    getter waiting
    method constructor
    method getNotifications
    method showNotification
    method unregister
    method update
    setter onupdatefound
interface StorageManager
    attribute @@toStringTag
    method constructor
    method estimate
    method persisted
interface SubtleCrypto
    attribute @@toStringTag
    method constructor
    method decrypt
    method deriveBits
    method deriveKey
    method digest
    method encrypt
    method exportKey
    method generateKey
    method importKey
    method sign
    method unwrapKey
    method verify
    method wrapKey
interface SyncEvent : ExtendableEvent
    attribute @@toStringTag
    getter lastChance
    getter tag
    method constructor
interface SyncManager
    attribute @@toStringTag
    method constructor
    method getTags
    method register
interface TextDecoder
    attribute @@toStringTag
    getter encoding
    getter fatal
    getter ignoreBOM
    method constructor
    method decode
interface TextEncoder
    attribute @@toStringTag
    getter encoding
    method constructor
    method encode
interface URL
    attribute @@toStringTag
    getter hash
    getter host
    getter hostname
    getter href
    getter origin
    getter password
    getter pathname
    getter port
    getter protocol
    getter search
    getter searchParams
    getter username
    method constructor
    method toString
    setter hash
    setter host
    setter hostname
    setter href
    setter password
    setter pathname
    setter port
    setter protocol
    setter search
    setter username
interface URLSearchParams
    attribute @@toStringTag
    method @@iterator
    method append
    method constructor
    method delete
    method entries
    method forEach
    method get
    method getAll
    method has
    method keys
    method set
    method sort
    method toString
    method values
interface WebSocket : EventTarget
    attribute @@toStringTag
    attribute CLOSED
    attribute CLOSING
    attribute CONNECTING
    attribute OPEN
    getter binaryType
    getter bufferedAmount
    getter extensions
    getter onclose
    getter onerror
    getter onmessage
    getter onopen
    getter protocol
    getter readyState
    getter url
    method close
    method constructor
    method send
    setter binaryType
    setter onclose
    setter onerror
    setter onmessage
    setter onopen
interface WindowClient : Client
    attribute @@toStringTag
    getter focused
    getter visibilityState
    method constructor
    method focus
    method navigate
interface WorkerGlobalScope : EventTarget
    attribute @@toStringTag
    getter caches
    getter crypto
    getter indexedDB
    getter isSecureContext
    getter location
    getter navigator
    getter onerror
    getter onrejectionhandled
    getter onunhandledrejection
    getter origin
    getter performance
    getter self
    method atob
    method btoa
    method clearInterval
    method clearTimeout
    method constructor
    method createImageBitmap
    method fetch
    method importScripts
    method setInterval
    method setTimeout
    setter onerror
    setter onrejectionhandled
    setter onunhandledrejection
    setter origin
interface WorkerLocation
    attribute @@toStringTag
    getter hash
    getter host
    getter hostname
    getter href
    getter origin
    getter pathname
    getter port
    getter protocol
    getter search
    method constructor
    method toString
interface WorkerNavigator
    attribute @@toStringTag
    getter appCodeName
    getter appName
    getter appVersion
    getter budget
    getter connection
    getter deviceMemory
    getter hardwareConcurrency
    getter onLine
    getter permissions
    getter platform
    getter product
    getter storage
    getter userAgent
    method constructor
interface WritableStream
    getter locked
    method abort
    method constructor
    method getWriter
[GLOBAL OBJECT]
    attribute console
    attribute internals
    getter clients
    getter onactivate
    getter onfetch
    getter oninstall
    getter onmessage
    getter onnotificationclick
    getter onnotificationclose
    getter onpush
    getter onsync
    getter registration
    method fetch
    method gc
    method skipWaiting
    setter onactivate
    setter onfetch
    setter oninstall
    setter onmessage
    setter onnotificationclick
    setter onnotificationclose
    setter onpush
    setter onsync
PASS Verify the interface of ServiceWorkerGlobalScope
PASS successfullyParsed is true

TEST COMPLETE

