diff --git a/esm/html/video-element.js b/esm/html/video-element.js
index af0eadc4..4c202e2d 100644
--- a/esm/html/video-element.js
+++ b/esm/html/video-element.js
@@ -1,10 +1,33 @@
+import {registerHTMLClass} from '../shared/register-html-class.js';
+import {stringAttribute} from '../shared/attributes.js';
+
import {HTMLElement} from './element.js';
+const tagName = 'video';
+
/**
* @implements globalThis.HTMLVideoElement
*/
-export class HTMLVideoElement extends HTMLElement {
- constructor(ownerDocument, localName = 'video') {
+class HTMLVideoElement extends HTMLElement {
+ constructor(ownerDocument, localName = tagName) {
super(ownerDocument, localName);
}
+
+ /* c8 ignore start */
+ get src() { return stringAttribute.get(this, 'src'); }
+ set src(value) { stringAttribute.set(this, 'src', value); }
+
+ get srcset() { return stringAttribute.get(this, 'srcset'); }
+ set srcset(value) { stringAttribute.set(this, 'srcset', value); }
+
+ get sizes() { return stringAttribute.get(this, 'sizes'); }
+ set sizes(value) { stringAttribute.set(this, 'sizes', value); }
+
+ get type() { return stringAttribute.get(this, 'type'); }
+ set type(value) { stringAttribute.set(this, 'type', value); }
+ /* c8 ignore stop */
}
+
+registerHTMLClass(tagName, HTMLVideoElement);
+
+export {HTMLVideoElement};