From b89a7ee8b956c96a1dcee995ea840feddc5d4b27 Mon Sep 17 00:00:00 2001 From: Pierre Frisch Date: Thu, 22 Dec 2011 07:25:50 -0800 Subject: First commit of Ninja to ninja-internal Signed-off-by: Valerio Virgillito --- js/controllers/elements/video-controller.js | 56 +++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 js/controllers/elements/video-controller.js (limited to 'js/controllers/elements/video-controller.js') diff --git a/js/controllers/elements/video-controller.js b/js/controllers/elements/video-controller.js new file mode 100644 index 00000000..c36752f5 --- /dev/null +++ b/js/controllers/elements/video-controller.js @@ -0,0 +1,56 @@ +/* +This file contains proprietary software owned by Motorola Mobility, Inc.
+No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. +
*/ + +var Montage = require("montage/core/core").Montage, + ElementController = require("js/controllers/elements/element-controller").ElementController; + +exports.VideoController = Montage.create(ElementController, { + getProperty: { + value: function(el, prop) { + switch(prop) { + case "src": + case "poster": + case "autoplay": + case "controls": + case "loop": + case "muted": + return el.getAttribute(prop); + default: + return ElementController.getProperty(el, prop); + } + } + }, + + setProperty: { + value: function(el, p, value) { + switch(p) { + case "src": + el.setAttribute(p, value); + break; + case "poster": + el.setAttribute(p, value); + break; + case "autoplay": + value ? el.setAttribute(p, "autoplay") : el.removeAttribute(p); + break; + case "preload": + value ? el.setAttribute(p, "preload") : el.removeAttribute(p); + break; + case "controls": + value ? el.setAttribute(p, "controls") : el.removeAttribute(p); + break; + case "loop": + value ? el.setAttribute(p, "loop") : el.removeAttribute(p); + break; + case "muted": + value ? el.setAttribute(p, "muted") : el.removeAttribute(p); + break; + default: + ElementController.setProperty(el, p, value); + } + } + } +}); \ No newline at end of file -- cgit v1.2.3