Browse Source

Fix sandboxing for webview. Update electron-contextmenu-wrapper to 4.0.0.

pull/3202/head
TheGoddessInari 5 years ago
parent
commit
7ed63a46ee
No known key found for this signature in database
GPG Key ID: 1209B1B7632D69A
  1. 2
      app/ux/WebView.js
  2. 6
      package-lock.json
  3. 2
      package.json
  4. 10
      resources/js/hamsket-service-api.js

2
app/ux/WebView.js

@ -167,7 +167,7 @@ Ext.define('Hamsket.ux.WebView',{
,partition: 'persist:' + me.record.get('type') + '_' + me.id.replace('tab_', '') ,partition: 'persist:' + me.record.get('type') + '_' + me.id.replace('tab_', '')
,allowtransparency: 'on' ,allowtransparency: 'on'
,autosize: 'on' ,autosize: 'on'
,webpreferences: 'sandbox: true' //,nativeWindowOpen=true ,webpreferences: 'sandbox=yes' //,nativeWindowOpen=true
//,disablewebsecurity: 'on' // Disabled because some services (Like Google Drive) dont work with this enabled //,disablewebsecurity: 'on' // Disabled because some services (Like Google Drive) dont work with this enabled
,userAgent: me.getUserAgent() ,userAgent: me.getUserAgent()
,preload: './resources/js/hamsket-service-api.js' ,preload: './resources/js/hamsket-service-api.js'

6
package-lock.json generated

@ -1945,9 +1945,9 @@
} }
}, },
"electron-contextmenu-wrapper": { "electron-contextmenu-wrapper": {
"version": "3.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/electron-contextmenu-wrapper/-/electron-contextmenu-wrapper-3.0.0.tgz", "resolved": "https://registry.npmjs.org/electron-contextmenu-wrapper/-/electron-contextmenu-wrapper-4.0.0.tgz",
"integrity": "sha512-UQ7jsbZVIQ2MnBW9+MJmh1ouhpmEZAdDcHkxS5xlz+A2XuCbF1mJuby4gmZ45/ybU2UmtHb4s2d7RoFCir5T6Q==", "integrity": "sha512-+JbZpviWsPl1JvehM4MHC/Zj5t0Bekly2fyJIHhJVvetkwPN4l2qGMVnAMf0ps58N36fZ5oV4NT2PR46oFBrhQ==",
"requires": { "requires": {
"debug": "^4.1.1" "debug": "^4.1.1"
}, },

2
package.json

@ -83,7 +83,7 @@
"auto-launch-patched": "5.0.2", "auto-launch-patched": "5.0.2",
"electron-store": "^5.0.0", "electron-store": "^5.0.0",
"electron-is-dev": "^1.1.0", "electron-is-dev": "^1.1.0",
"electron-contextmenu-wrapper": "^3.0.0", "electron-contextmenu-wrapper": "^4.0.0",
"mime": "^2.4.4", "mime": "^2.4.4",
"tmp": "^0.1.0" "tmp": "^0.1.0"
}, },

10
resources/js/hamsket-service-api.js

@ -2,9 +2,9 @@
* This file is loaded in the service web views to provide a Hamsket API. * This file is loaded in the service web views to provide a Hamsket API.
*/ */
const { ipcRenderer } = require('electron'); const { ipcRenderer, remote } = require('electron');
const { MenuItem } = require('electron').remote; const { MenuItem } = remote;
const { ContextMenuBuilder, ContextMenuListener } = require('electron-contextmenu-wrapper'); const { ContextMenuBuilder, ContextMenuListener } = remote.require('electron-contextmenu-wrapper');
/** /**
* Make the Hamsket API available via a global "hamsket" variable. * Make the Hamsket API available via a global "hamsket" variable.
@ -40,10 +40,10 @@ window.hamsket.clearUnreadCount = function() {
ipcRenderer.sendToHost('hamsket.clearUnreadCount'); ipcRenderer.sendToHost('hamsket.clearUnreadCount');
} }
window.hamsket.contextMenuBuilder = new ContextMenuBuilder(); window.hamsket.contextMenuBuilder = new ContextMenuBuilder(remote.getCurrentWebContents());
window.hamsket.contextMenuListener = new ContextMenuListener(function(event, info) { window.hamsket.contextMenuListener = new ContextMenuListener(function(event, info) {
window.hamsket.contextMenuBuilder.showPopupMenu(info); window.hamsket.contextMenuBuilder.showPopupMenu(info);
}); }, remote.getCurrentWebContents());
/** /**

Loading…
Cancel
Save