This is an interesting point. Really, is the type of exception specified for this or not? Specification reads (definition construction algorithm, step 4) "If TYPE is an invalid custom element type, set ERROR to InvalidType and stop."

In fact now in Chrome "InvalidCharacterError" is thrown with the message "Failed to call 'register' on 'Document' for type 'xframe': : 'xframe' is not a valid name.". It's possible to check InvalidCharacterError here but will it be a cross-browser test in this case?