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')
|
2020-02-20 23:19:06 +00:00
|
|
|
const { fromPartition, Session, Cookies, NetLog, Protocol, ServiceWorkerContext } = process.electronBinding('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-09-21 23:24:03 +00:00
|
|
|
Object.setPrototypeOf(Cookies.prototype, EventEmitter.prototype)
|
2020-02-20 23:19:06 +00:00
|
|
|
Object.setPrototypeOf(ServiceWorkerContext.prototype, EventEmitter.prototype)
|
|
|
|
Object.setPrototypeOf(Session.prototype, EventEmitter.prototype)
|
2016-08-02 11:38:35 +00:00
|
|
|
|
|
|
|
Session.prototype._init = function () {
|
|
|
|
app.emit('session-created', this)
|
|
|
|
}
|
2019-05-23 22:31:38 +00:00
|
|
|
|
|
|
|
const _originalStartLogging = NetLog.prototype.startLogging
|
2019-07-25 23:06:39 +00:00
|
|
|
NetLog.prototype.startLogging = function (path, ...args) {
|
2019-05-23 22:31:38 +00:00
|
|
|
this._currentlyLoggingPath = path
|
|
|
|
try {
|
2019-07-25 23:06:39 +00:00
|
|
|
return _originalStartLogging.call(this, path, ...args)
|
2019-05-23 22:31:38 +00:00
|
|
|
} catch (e) {
|
|
|
|
this._currentlyLoggingPath = null
|
|
|
|
throw e
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const _originalStopLogging = NetLog.prototype.stopLogging
|
|
|
|
NetLog.prototype.stopLogging = function () {
|
2020-01-31 18:43:02 +00:00
|
|
|
const logPath = this._currentlyLoggingPath
|
2019-05-23 22:31:38 +00:00
|
|
|
this._currentlyLoggingPath = null
|
2020-01-31 18:43:02 +00:00
|
|
|
return _originalStopLogging.call(this).then(() => logPath)
|
2019-05-23 22:31:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
const currentlyLoggingPathDeprecated = deprecate.warnOnce('currentlyLoggingPath')
|
|
|
|
Object.defineProperties(NetLog.prototype, {
|
|
|
|
currentlyLoggingPath: {
|
|
|
|
enumerable: true,
|
|
|
|
get () {
|
|
|
|
currentlyLoggingPathDeprecated()
|
|
|
|
return this._currentlyLoggingPath == null ? '' : this._currentlyLoggingPath
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|