Created
October 14, 2014 15:51
-
-
Save domenic/6eb116abee8f112ddca3 to your computer and use it in GitHub Desktop.
HTMLMediaElement.js skeleton
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import conversions from "webidl-conversions"; | |
import reflector from "webidl-html-reflector"; | |
var defineProperty = Object.defineProperty; | |
export default class CustomHTMLMediaElement extends HTMLElement { | |
get error() {} | |
get src() { | |
return reflector["DOMString"].get(this, "src"); | |
} | |
set src(v) { | |
v = conversions["DOMString"](v); | |
reflector["DOMString"].set(this, "src", v); | |
} | |
get srcObject() {} | |
set srcObject(v) { | |
v = conversions["MediaProvider"](v); | |
} | |
get currentSrc() {} | |
get crossOrigin() { | |
return reflector["DOMString"].get(this, "crossorigin"); | |
} | |
set crossOrigin(v) { | |
v = conversions["DOMString"](v); | |
reflector["DOMString"].set(this, "crossorigin", v); | |
} | |
get networkState() {} | |
get preload() {} | |
set preload(v) { | |
v = conversions["DOMString"](v); | |
} | |
get buffered() {} | |
get readyState() {} | |
get seeking() {} | |
get currentTime() {} | |
set currentTime(v) { | |
v = conversions["double"](v); | |
} | |
get duration() {} | |
get paused() {} | |
get defaultPlaybackRate() {} | |
set defaultPlaybackRate(v) { | |
v = conversions["double"](v); | |
} | |
get playbackRate() {} | |
set playbackRate(v) { | |
v = conversions["double"](v); | |
} | |
get played() {} | |
get seekable() {} | |
get ended() {} | |
get autoplay() { | |
return reflector["boolean"].get(this, "autoplay"); | |
} | |
set autoplay(v) { | |
v = conversions["boolean"](v); | |
reflector["boolean"].set(this, "autoplay", v); | |
} | |
get loop() { | |
return reflector["boolean"].get(this, "loop"); | |
} | |
set loop(v) { | |
v = conversions["boolean"](v); | |
reflector["boolean"].set(this, "loop", v); | |
} | |
get mediaGroup() { | |
return reflector["DOMString"].get(this, "mediagroup"); | |
} | |
set mediaGroup(v) { | |
v = conversions["DOMString"](v); | |
reflector["DOMString"].set(this, "mediagroup", v); | |
} | |
get controller() {} | |
set controller(v) { | |
v = conversions["MediaController"](v); | |
} | |
get controls() {} | |
set controls(v) { | |
v = conversions["boolean"](v); | |
} | |
get volume() {} | |
set volume(v) { | |
v = conversions["double"](v); | |
} | |
get muted() {} | |
set muted(v) { | |
v = conversions["boolean"](v); | |
} | |
get defaultMuted() { | |
return reflector["boolean"].get(this, "muted"); | |
} | |
set defaultMuted(v) { | |
v = conversions["boolean"](v); | |
reflector["boolean"].set(this, "muted", v); | |
} | |
get audioTracks() {} | |
get videoTracks() {} | |
get textTracks() {} | |
load() {} | |
canPlayType(type) { | |
type = conversions["DOMString"](type); | |
} | |
fastSeek(time) { | |
time = conversions["double"](time); | |
} | |
getStartDate() {} | |
play() {} | |
pause() {} | |
addTextTrack(kind, label, language) { | |
kind = conversions["TextTrackKind"](kind); | |
label = conversions["DOMString"](label); | |
language = conversions["DOMString"](language); | |
} | |
} | |
defineProperty(CustomHTMLMediaElement, "NETWORK_EMPTY", { | |
value: 0, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement.prototype, "NETWORK_EMPTY", { | |
value: 0, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement, "NETWORK_IDLE", { | |
value: 1, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement.prototype, "NETWORK_IDLE", { | |
value: 1, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement, "NETWORK_LOADING", { | |
value: 2, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement.prototype, "NETWORK_LOADING", { | |
value: 2, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement, "NETWORK_NO_SOURCE", { | |
value: 3, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement.prototype, "NETWORK_NO_SOURCE", { | |
value: 3, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement, "HAVE_NOTHING", { | |
value: 0, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement.prototype, "HAVE_NOTHING", { | |
value: 0, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement, "HAVE_METADATA", { | |
value: 1, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement.prototype, "HAVE_METADATA", { | |
value: 1, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement, "HAVE_CURRENT_DATA", { | |
value: 2, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement.prototype, "HAVE_CURRENT_DATA", { | |
value: 2, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement, "HAVE_FUTURE_DATA", { | |
value: 3, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement.prototype, "HAVE_FUTURE_DATA", { | |
value: 3, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement, "HAVE_ENOUGH_DATA", { | |
value: 4, | |
enumerable: true | |
}); | |
defineProperty(CustomHTMLMediaElement.prototype, "HAVE_ENOUGH_DATA", { | |
value: 4, | |
enumerable: true | |
}); | |
window.CustomHTMLMediaElement = CustomHTMLMediaElement; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment