electron/lib/browser/api/session.js

42 lines
1.1 KiB
JavaScript
Raw Normal View History

2016-06-01 01:42:24 +00:00
const {EventEmitter} = require('events')
const {app, deprecate} = require('electron')
const {fromPartition, Session, Cookies} = process.atomBinding('session')
2016-06-01 01:42:24 +00:00
2016-08-01 10:35:51 +00:00
// Public API.
Object.defineProperties(exports, {
defaultSession: {
enumerable: true,
get () { return fromPartition('') }
},
fromPartition: {
enumerable: true,
value: fromPartition
2016-01-12 02:40:23 +00:00
}
})
2016-06-01 01:42:24 +00:00
2016-08-02 11:38:35 +00:00
Object.setPrototypeOf(Session.prototype, EventEmitter.prototype)
Object.setPrototypeOf(Cookies.prototype, EventEmitter.prototype)
2016-08-02 11:38:35 +00:00
Session.prototype._init = function () {
app.emit('session-created', this)
}
// Remove after 2.0
Session.prototype.setCertificateVerifyProc = function (verifyProc) {
if (!verifyProc) {
this._setCertificateVerifyProc(null)
return
}
if (verifyProc.length <= 3) {
deprecate.warn('setCertificateVerifyproc(hostname, certificate, callback)',
'setCertificateVerifyproc(hostname, certificate, error, callback)')
this._setCertificateVerifyProc((hostname, certificate, error, cb) => {
verifyProc(hostname, certificate, (result) => {
cb(result ? 0 : -2)
})
})
} else {
this._setCertificateVerifyProc(verifyProc)
}
}