You're not creating the prototype correctly. In that form, it needs to be:
document.registerElement('current-date', {
prototype: Object.create(HTMLElement.prototype, {
createdCallback: {
value: function() {
this.innerHTML = new Date();
}
}
})
});
IMO, a much more legible form is:
var proto = Object.create(HTMLElement.prototype);
proto.createdCallback = function() {
this.innerHTML = new Date();
};
document.registerElement('current-date', {prototype: proto});
Working demo: http://jsbin.com/uwUxeYA/3/edit