2018-09-22 12:28:50 +00:00
|
|
|
'use strict'
|
|
|
|
|
2018-09-13 16:10:51 +00:00
|
|
|
const { EventEmitter } = require('events')
|
2019-01-17 17:05:10 +00:00
|
|
|
const { app, deprecate } = require('electron')
|
2019-01-25 18:11:35 +00: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 22:23:24 +00: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 18:11:35 +00:00
|
|
|
}
|
|
|
|
return session
|
|
|
|
}
|
2016-06-01 01:42:24 +00:00
|
|
|
|
2016-08-01 10:35:51 +00:00
|
|
|
// Public API.
|
2016-07-12 12:01:49 +00:00
|
|
|
Object.defineProperties(exports, {
|
|
|
|
defaultSession: {
|
|
|
|
enumerable: true,
|
|
|
|
get () { return fromPartition('') }
|
|
|
|
},
|
|
|
|
fromPartition: {
|
|
|
|
enumerable: true,
|
|
|
|
value: fromPartition
|
2016-01-12 02:40:23 +00:00
|
|
|
}
|
2016-03-24 20:15:04 +00:00
|
|
|
})
|
2016-06-01 01:42:24 +00:00
|
|
|
|
2016-08-02 11:38:35 +00:00
|
|
|
Object.setPrototypeOf(Session.prototype, EventEmitter.prototype)
|
2016-09-21 23:24:03 +00:00
|
|
|
Object.setPrototypeOf(Cookies.prototype, EventEmitter.prototype)
|
2016-08-02 11:38:35 +00:00
|
|
|
|
|
|
|
Session.prototype._init = function () {
|
2019-01-25 22:23:24 +00:00
|
|
|
this.protocol.isProtocolHandled = deprecate.promisify(this.protocol.isProtocolHandled)
|
2016-08-02 11:38:35 +00:00
|
|
|
app.emit('session-created', this)
|
|
|
|
}
|