1 var log = require('../logger').create('launcher')
4 * Kill browser if it does not capture in given `captureTimeout`.
6 var CaptureTimeoutLauncher = function (timer, captureTimeout) {
12 var pendingTimeoutId = null
14 this.on('start', function () {
15 pendingTimeoutId = timer.setTimeout(function () {
16 pendingTimeoutId = null
17 if (self.state !== self.STATE_BEING_CAPTURED) {
21 log.warn('%s have not captured in %d ms, killing.', self.name, captureTimeout)
22 self.error = 'timeout'
27 this.on('done', function () {
28 if (pendingTimeoutId) {
29 timer.clearTimeout(pendingTimeoutId)
30 pendingTimeoutId = null
35 CaptureTimeoutLauncher.decoratorFactory = function (timer,
36 /* config.captureTimeout */ captureTimeout) {
37 return function (launcher) {
38 CaptureTimeoutLauncher.call(launcher, timer, captureTimeout)
42 CaptureTimeoutLauncher.decoratorFactory.$inject = ['timer', 'config.captureTimeout']
44 module.exports = CaptureTimeoutLauncher