electron/lib/browser/api/session.js
2016-03-30 17:00:33 -07:00

33 lines
888 B
JavaScript

const EventEmitter = require('events').EventEmitter
const bindings = process.atomBinding('session')
const PERSIST_PREFIX = 'persist:'
// Returns the Session from |partition| string.
exports.fromPartition = function (partition) {
if (partition == null) {
partition = ''
}
if (partition === '') {
return exports.defaultSession
}
if (partition.startsWith(PERSIST_PREFIX)) {
return bindings.fromPartition(partition.substr(PERSIST_PREFIX.length), false)
} else {
return bindings.fromPartition(partition, true)
}
}
// Returns the default session.
Object.defineProperty(exports, 'defaultSession', {
enumerable: true,
get: function () {
return bindings.fromPartition('', false)
}
})
var wrapSession = function (session) {
// session is an EventEmitter.
Object.setPrototypeOf(session, EventEmitter.prototype)
}
bindings._setWrapSession(wrapSession)