aboutsummaryrefslogtreecommitdiff
path: root/js/document
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
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')
-rwxr-xr-xjs/document/mediators/template.js10
-rwxr-xr-xjs/document/views/design.js25
2 files changed, 22 insertions, 13 deletions
diff --git a/js/document/mediators/template.js b/js/document/mediators/template.js
index f43b1a2c..015a50ff 100755
--- a/js/document/mediators/template.js
+++ b/js/document/mediators/template.js
@@ -220,14 +220,6 @@ exports.TemplateDocumentMediator = Montage.create(Component, {
220 linktags = template.file.content.document.getElementsByTagName('link'), 220 linktags = template.file.content.document.getElementsByTagName('link'),
221 njtemplatetags = template.file.content.document.querySelectorAll('[data-ninja-template]'); 221 njtemplatetags = template.file.content.document.querySelectorAll('[data-ninja-template]');
222 222
223 //////////////////////////////////////////////////
224 //TODO: Remove, temp hack, this is to be fixed by Montage
225 var basetags = template.file.content.document.getElementsByTagName('base');
226 for (var g in basetags) {
227 if (basetags[g].getAttribute && basetags[g].href && basetags[g].href.indexOf('chrome-extension://') !== -1) toremovetags.push(basetags[g]);
228 }
229 //////////////////////////////////////////////////
230
231 //Adding to tags to be removed form template 223 //Adding to tags to be removed form template
232 for (var f in njtemplatetags) { 224 for (var f in njtemplatetags) {
233 if (njtemplatetags[f].getAttribute) toremovetags.push(njtemplatetags[f]); 225 if (njtemplatetags[f].getAttribute) toremovetags.push(njtemplatetags[f]);
@@ -284,8 +276,6 @@ exports.TemplateDocumentMediator = Montage.create(Component, {
284 276
285 277
286 278
287
288
289 //TODO: Make proper CSS method 279 //TODO: Make proper CSS method
290 280
291 281
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