This depends on some of the component model patches. function Foo() { HTMLElement.call(this); } Foo.prototype = Object.create(HTMLElement.prototype); HTMLElement.register('x-foo', Foo); getComputedStyle(new Foo) // null, expected CSSStyleDeclaration
The prototype that exhibited this bug is an evolutionary dead-end, so ditching this bug.