diff options
Diffstat (limited to 'js/controllers/document-controller.js')
-rwxr-xr-x | js/controllers/document-controller.js | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 64ff2c7e..a8056519 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js | |||
@@ -76,11 +76,14 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
76 | // | 76 | // |
77 | handleWebRequest: { | 77 | handleWebRequest: { |
78 | value: function (request) { | 78 | value: function (request) { |
79 | if (this._hackRootFlag && request.url.indexOf('js/document/templates/montage-html') !== -1) { | 79 | //TODO: Check if frameId is proper |
80 | if (this._hackRootFlag && request.parentFrameId !== -1) { | ||
80 | //TODO: Optimize creating string | 81 | //TODO: Optimize creating string |
81 | return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split('/')[request.url.split('/').length-1]}; | 82 | //console.log(this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1], request.url); |
82 | } | 83 | //return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split('/')[request.url.split('/').length-1]}; |
84 | return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split(chrome.extension.getURL('js/document/templates/montage-html/'))[1]}; | ||
83 | } | 85 | } |
86 | } | ||
84 | }, | 87 | }, |
85 | //////////////////////////////////////////////////////////////////// | 88 | //////////////////////////////////////////////////////////////////// |
86 | // | 89 | // |
@@ -333,14 +336,23 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
333 | nextDocumentIndex = closeDocumentIndex - 1; | 336 | nextDocumentIndex = closeDocumentIndex - 1; |
334 | } | 337 | } |
335 | this.application.ninja.stage.stageView.switchDocument(this._documents[nextDocumentIndex]); | 338 | this.application.ninja.stage.stageView.switchDocument(this._documents[nextDocumentIndex]); |
339 | if(typeof this.activeDocument.stopVideos !== "undefined"){doc.stopVideos();} | ||
336 | this._removeDocumentView(doc.container); | 340 | this._removeDocumentView(doc.container); |
337 | }else if(this._documents.length === 0){ | 341 | }else if(this._documents.length === 0){ |
342 | if(typeof this.activeDocument.pauseAndStopVideos !== "undefined"){ | ||
343 | this.activeDocument.pauseAndStopVideos(); | ||
344 | } | ||
338 | this.activeDocument = null; | 345 | this.activeDocument = null; |
339 | this._removeDocumentView(doc.container); | 346 | this._removeDocumentView(doc.container); |
340 | this.application.ninja.stage.stageView.hideRulers(); | 347 | this.application.ninja.stage.stageView.hideRulers(); |
341 | document.getElementById("iframeContainer").style.display="block"; | 348 | document.getElementById("iframeContainer").style.display="block"; |
342 | 349 | ||
343 | this.application.ninja.stage.hideCanvas(true); | 350 | this.application.ninja.stage.hideCanvas(true); |
351 | }else{//closing inactive document tab - just clear DOM | ||
352 | if(typeof doc.pauseAndStopVideos !== "undefined"){ | ||
353 | doc.pauseAndStopVideos(); | ||
354 | } | ||
355 | this._removeDocumentView(doc.container); | ||
344 | } | 356 | } |
345 | 357 | ||
346 | NJevent("closeDocument", doc.uri); | 358 | NJevent("closeDocument", doc.uri); |