class Poltergeist.Cmd constructor: (@owner, @id, @name, @args)-> @_response_sent = false sendResponse: (response) -> if !@_response_sent errors = @browser.currentPage.errors @browser.currentPage.clearErrors() if errors.length > 0 && @browser.js_errors @sendError(new Poltergeist.JavascriptError(errors)) else @owner.sendResponse(@id, response) @_response_sent = true sendError: (errors) -> if !@_response_sent @owner.sendError(@id, errors) @_response_sent = true run: (@browser) -> try @browser.runCommand(this) catch error if error instanceof Poltergeist.Error @sendError(error) else @sendError(new Poltergeist.BrowserError(error.toString(), error.stack))