Currently the HTMLElementFactory (and make_names.pl) uses the following code to create a <video> element: if (!MediaPlayer::isAvailable()) return new HTMLElement(tagName, doc); return new HTMLVideoElement(videoTag, doc); This means that the common pattern: if (element->hasTagName(videoTag)) HTMLVideoElement* htmlElement = static_cast<HTMLVideoElement*>(element); may fail for those elements.
Pretty sure this is no longer a problem.