From 73bdb44948f6670e95215468670de645bd73aaa0 Mon Sep 17 00:00:00 2001 From: Ramiro Saenz Date: Wed, 4 Oct 2017 13:14:05 -0300 Subject: [PATCH] Fixed iCloud compose message Fixes #876 --- app/ux/WebView.js | 46 ++++++++++++++++++++++++++++++++ resources/js/rambox-modal-api.js | 4 +++ 2 files changed, 50 insertions(+) create mode 100644 resources/js/rambox-modal-api.js diff --git a/app/ux/WebView.js b/app/ux/WebView.js index 7f345018..0074d55a 100644 --- a/app/ux/WebView.js +++ b/app/ux/WebView.js @@ -332,6 +332,52 @@ Ext.define('Rambox.ux.WebView',{ return; } break; + case 'icloud': + if ( e.url.indexOf('index.html#compose') >= 0 ) { + me.add({ + xtype: 'window' + ,title: 'iCloud - Compose' + ,width: 700 + ,height: 500 + ,maximizable: true + ,resizable: true + ,draggable: true + ,collapsible: true + ,items: { + xtype: 'component' + ,itemId: 'webview' + ,hideMode: 'offsets' + ,autoRender: true + ,autoShow: true + ,autoEl: { + tag: 'webview' + ,src: e.url + ,style: 'width:100%;height:100%;' + ,partition: me.getWebView().partition + ,useragent: Ext.getStore('ServicesList').getById(me.record.get('type')).get('userAgent') + ,preload: './resources/js/rambox-modal-api.js' + } + } + ,listeners: { + show: function(win) { + const webview = win.down('#webview').el.dom; + webview.addEventListener('ipc-message', function(event) { + var channel = event.channel; + switch (channel) { + case 'close': + win.close(); + break; + default: + break; + } + }); + } + } + }).show(); + e.preventDefault(); + return; + } + break; default: break; } diff --git a/resources/js/rambox-modal-api.js b/resources/js/rambox-modal-api.js new file mode 100644 index 00000000..50930fbd --- /dev/null +++ b/resources/js/rambox-modal-api.js @@ -0,0 +1,4 @@ +document.addEventListener("DOMContentLoaded", function() { + window.WHAT_TYPE.isChildWindowAnIframe=function(){return false;}; // for iCloud + window.onbeforeunload=function(){return require("electron").ipcRenderer.sendToHost("close");}; +});