aboutsummaryrefslogtreecommitdiff
path: root/js/document/views
diff options
context:
space:
mode:
authorJose Antonio Marquez2012-06-28 16:50:46 -0700
committerJose Antonio Marquez2012-06-28 16:50:46 -0700
commitc37f2cb15b90d7315e9580fee1ae7f6e0694052c (patch)
tree31d4e7327fc69c8246049cecba5968d8e4125ccb /js/document/views
parentd9f048d5c11a40e6ee0390369fb39d73fc3f5bcc (diff)
downloadninja-c37f2cb15b90d7315e9580fee1ae7f6e0694052c.tar.gz
Preventing video playback on open
This stops all videos from playing on open file. The same fix needs to be applied when an users sets autoplay in the PI.
Diffstat (limited to 'js/document/views')
-rwxr-xr-xjs/document/views/design.js25
1 files changed, 22 insertions, 3 deletions
diff --git a/js/document/views/design.js b/js/document/views/design.js
index 6a60e1f9..fea607ef 100755
--- a/js/document/views/design.js
+++ b/js/document/views/design.js
@@ -285,7 +285,8 @@ exports.DesignDocumentView = Montage.create(BaseDocumentView, {
285 userStyles, 285 userStyles,
286 stags = this.document.getElementsByTagName('style'), 286 stags = this.document.getElementsByTagName('style'),
287 ltags = this.document.getElementsByTagName('link'), i, orgNodes, 287 ltags = this.document.getElementsByTagName('link'), i, orgNodes,
288 scripttags = this.document.getElementsByTagName('script'); 288 scripttags = this.document.getElementsByTagName('script'),
289 videotags = this.document.getElementsByTagName('video');
289 //Temporarily checking for disabled special case (we must enabled for Ninja to access styles) 290 //Temporarily checking for disabled special case (we must enabled for Ninja to access styles)
290 this.ninjaDisableAttribute(stags); 291 this.ninjaDisableAttribute(stags);
291 this.ninjaDisableAttribute(ltags); 292 this.ninjaDisableAttribute(ltags);
@@ -308,10 +309,28 @@ exports.DesignDocumentView = Montage.create(BaseDocumentView, {
308 } 309 }
309 } 310 }
310 } 311 }
311 312 //Checking for video tags
313 if (videotags.length > 0) {
314 //Looping through all video tags
315 for (i = 0; i < videotags.length; i++) {
316 //Stopping all videos from playing
317 if (videotags[i].getAttribute && videotags[i].getAttribute('autoplay') !== null) {
318 //Stopping the video on open
319 videotags[i].addEventListener('canplay', function(e) {
320 //TODO: Figure out why the video must be seeked to the end before pausing
321 var time = Math.ceil(this.duration);
322 //Trying to display the last frame (doing minus 2 seconds if long video)
323 if (time > 2) this.currentTime = time - 2;
324 else if (time > 1) this.currentTime = time - 1;
325 else this.currentTime = time || 0;
326 //Pauing video
327 this.pause();
328 }, false);
329 }
330 }
331 }
312 // Assign the modelGenerator reference from the template to our own modelGenerator 332 // Assign the modelGenerator reference from the template to our own modelGenerator
313 this.document.modelGenerator = ElementModel.modelGenerator; 333 this.document.modelGenerator = ElementModel.modelGenerator;
314
315 //Checking for script tags then parsing check for montage and webgl 334 //Checking for script tags then parsing check for montage and webgl
316 if (scripttags.length > 0) { 335 if (scripttags.length > 0) {
317 //Checking and initializing webGL 336 //Checking and initializing webGL