2018-09-23 00:28:50 +12:00
|
|
|
'use strict'
|
|
|
|
|
2018-09-14 02:10:51 +10:00
|
|
|
const { EventEmitter } = require('events')
|
2019-01-17 09:05:10 -08:00
|
|
|
const { app, deprecate } = require('electron')
|
2019-01-25 12:11:35 -06:00
|
|
|
const { Session, Cookies } = process.atomBinding('session')
|
|
|
|
const realFromPartition = process.atomBinding('session').fromPartition
|
|
|
|
|
|
|
|
const wrappedSymbol = Symbol('wrapped-deprecate')
|
|
|
|
const fromPartition = (partition) => {
|
|
|
|
const session = realFromPartition(partition)
|
|
|
|
if (!session[wrappedSymbol]) {
|
|
|
|
session[wrappedSymbol] = true
|
|
|
|
const { cookies } = session
|
2019-01-25 14:23:24 -08:00
|
|
|
cookies.flushStore = deprecate.promisify(cookies.flushStore)
|
|
|
|
cookies.get = deprecate.promisify(cookies.get)
|
|
|
|
cookies.remove = deprecate.promisify(cookies.remove)
|
|
|
|
cookies.set = deprecate.promisify(cookies.set)
|
2019-01-25 12:11:35 -06:00
|
|
|
}
|
|
|
|
return session
|
|
|
|
}
|
2016-06-01 10:42:24 +09:00
|
|
|
|
2016-08-01 19:35:51 +09:00
|
|
|
// Public API.
|
2016-07-12 21:01:49 +09:00
|
|
|
Object.defineProperties(exports, {
|
|
|
|
defaultSession: {
|
|
|
|
enumerable: true,
|
|
|
|
get () { return fromPartition('') }
|
|
|
|
},
|
|
|
|
fromPartition: {
|
|
|
|
enumerable: true,
|
|
|
|
value: fromPartition
|
2016-01-11 18:40:23 -08:00
|
|
|
}
|
2016-03-24 13:15:04 -07:00
|
|
|
})
|
2016-06-01 10:42:24 +09:00
|
|
|
|
2016-08-02 20:38:35 +09:00
|
|
|
Object.setPrototypeOf(Session.prototype, EventEmitter.prototype)
|
2016-09-21 16:24:03 -07:00
|
|
|
Object.setPrototypeOf(Cookies.prototype, EventEmitter.prototype)
|
2016-08-02 20:38:35 +09:00
|
|
|
|
|
|
|
Session.prototype._init = function () {
|
2019-01-25 14:23:24 -08:00
|
|
|
this.protocol.isProtocolHandled = deprecate.promisify(this.protocol.isProtocolHandled)
|
2016-08-02 20:38:35 +09:00
|
|
|
app.emit('session-created', this)
|
|
|
|
}
|