diff options
author | vantezzen <hello@vantezzen.io> | 2019-10-09 09:48:41 +0200 |
---|---|---|
committer | vantezzen <hello@vantezzen.io> | 2019-10-09 09:48:41 +0200 |
commit | da9e8a3d5b11efcc8eeee325c0ac7eb7840f75af (patch) | |
tree | a189f4566c6380b86aeb04b9307aea23fc6e14d7 /src/models | |
parent | Update zh-HANT.json (diff) | |
parent | Update CHANGELOG.md (diff) | |
download | ferdium-app-da9e8a3d5b11efcc8eeee325c0ac7eb7840f75af.tar.gz ferdium-app-da9e8a3d5b11efcc8eeee325c0ac7eb7840f75af.tar.zst ferdium-app-da9e8a3d5b11efcc8eeee325c0ac7eb7840f75af.zip |
Merge branch 'master' of https://github.com/meetfranz/franz into franz-5.4.0
Diffstat (limited to 'src/models')
-rw-r--r-- | src/models/Service.js | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/src/models/Service.js b/src/models/Service.js index 3ab6e2603..ddc169d47 100644 --- a/src/models/Service.js +++ b/src/models/Service.js | |||
@@ -192,19 +192,24 @@ export default class Service { | |||
192 | return userAgent; | 192 | return userAgent; |
193 | } | 193 | } |
194 | 194 | ||
195 | initializeWebViewEvents({ handleIPCMessage, openWindow }) { | 195 | initializeWebViewEvents({ handleIPCMessage, openWindow, stores }) { |
196 | const webContents = this.webview.getWebContents(); | ||
197 | |||
196 | this.webview.addEventListener('ipc-message', e => handleIPCMessage({ | 198 | this.webview.addEventListener('ipc-message', e => handleIPCMessage({ |
197 | serviceId: this.id, | 199 | serviceId: this.id, |
198 | channel: e.channel, | 200 | channel: e.channel, |
199 | args: e.args, | 201 | args: e.args, |
200 | })); | 202 | })); |
201 | 203 | ||
202 | this.webview.addEventListener('new-window', (event, url, frameName, options) => openWindow({ | 204 | this.webview.addEventListener('new-window', (event, url, frameName, options) => { |
203 | event, | 205 | console.log('open window', event, url, frameName, options); |
204 | url, | 206 | openWindow({ |
205 | frameName, | 207 | event, |
206 | options, | 208 | url, |
207 | })); | 209 | frameName, |
210 | options, | ||
211 | }); | ||
212 | }); | ||
208 | 213 | ||
209 | this.webview.addEventListener('did-start-loading', (event) => { | 214 | this.webview.addEventListener('did-start-loading', (event) => { |
210 | debug('Did start load', this.name, event); | 215 | debug('Did start load', this.name, event); |
@@ -238,6 +243,28 @@ export default class Service { | |||
238 | debug('Service crashed', this.name); | 243 | debug('Service crashed', this.name); |
239 | this.hasCrashed = true; | 244 | this.hasCrashed = true; |
240 | }); | 245 | }); |
246 | |||
247 | webContents.on('login', (event, request, authInfo, callback) => { | ||
248 | // const authCallback = callback; | ||
249 | debug('browser login event', authInfo); | ||
250 | event.preventDefault(); | ||
251 | |||
252 | if (authInfo.isProxy && authInfo.scheme === 'basic') { | ||
253 | debug('Sending service echo ping'); | ||
254 | webContents.send('get-service-id'); | ||
255 | |||
256 | debug('Received service id', this.id); | ||
257 | |||
258 | const ps = stores.settings.proxy[this.id]; | ||
259 | |||
260 | if (ps) { | ||
261 | debug('Sending proxy auth callback for service', this.id); | ||
262 | callback(ps.user, ps.password); | ||
263 | } else { | ||
264 | debug('No proxy auth config found for', this.id); | ||
265 | } | ||
266 | } | ||
267 | }); | ||
241 | } | 268 | } |
242 | 269 | ||
243 | initializeWebViewListener() { | 270 | initializeWebViewListener() { |