diff --git a/docs/api.md b/docs/api.md index 63b5ac79..4bf1e7b0 100644 --- a/docs/api.md +++ b/docs/api.md @@ -2344,8 +2344,8 @@ puppeteer.launch().then(async browser => { #### consoleMessage.location() - returns: <[Object]> - `url` <[string]> URL of the resource if known or `undefined` otherwise. - - `lineNumber` <[number]> line number in the resource if known or `undefined` otherwise. - - `columnNumber` <[number]> column number in the resource if known or `undefined` otherwise. + - `lineNumber` <[number]> 0-based line number in the resource if known or `undefined` otherwise. + - `columnNumber` <[number]> 0-based column number in the resource if known or `undefined` otherwise. #### consoleMessage.text() - returns: <[string]> diff --git a/experimental/puppeteer-firefox/lib/Page.js b/experimental/puppeteer-firefox/lib/Page.js index 5dbeb3c9..b9d079de 100644 --- a/experimental/puppeteer-firefox/lib/Page.js +++ b/experimental/puppeteer-firefox/lib/Page.js @@ -571,9 +571,9 @@ class Page extends EventEmitter { this.emit(Events.Page.Close); } - _onConsole({type, args, frameId}) { + _onConsole({type, args, frameId, location}) { const frame = this._frameManager.frame(frameId); - this.emit(Events.Page.Console, new ConsoleMessage(type, args.map(arg => createHandle(frame._executionContext, arg)))); + this.emit(Events.Page.Console, new ConsoleMessage(type, args.map(arg => createHandle(frame._executionContext, arg)), location)); } /** @@ -589,9 +589,14 @@ class ConsoleMessage { * @param {string} type * @param {!Array} args */ - constructor(type, args) { + constructor(type, args, location) { this._type = type; this._args = args; + this._location = location; + } + + location() { + return this._location; } /** diff --git a/experimental/puppeteer-firefox/package.json b/experimental/puppeteer-firefox/package.json index 8003328a..4652ebb8 100644 --- a/experimental/puppeteer-firefox/package.json +++ b/experimental/puppeteer-firefox/package.json @@ -9,7 +9,7 @@ "node": ">=8.9.4" }, "puppeteer": { - "firefox_revision": "6186c850885f1fa486e9987b5119d2b4bcb53499" + "firefox_revision": "0647e24cc0b90c07c8ddb32e63ce333839329527" }, "scripts": { "install": "node install.js", diff --git a/test/page.spec.js b/test/page.spec.js index 9da38486..da437162 100644 --- a/test/page.spec.js +++ b/test/page.spec.js @@ -25,7 +25,7 @@ try { asyncawait = false; } -module.exports.addTests = function({testRunner, expect, headless, Errors, DeviceDescriptors}) { +module.exports.addTests = function({testRunner, expect, headless, Errors, DeviceDescriptors, CHROME}) { const {describe, xdescribe, fdescribe, describe_fails_ffox} = testRunner; const {it, fit, xit, it_fails_ffox} = testRunner; const {beforeAll, beforeEach, afterAll, afterEach} = testRunner; @@ -344,7 +344,7 @@ module.exports.addTests = function({testRunner, expect, headless, Errors, Device lineNumber: undefined }); }); - it_fails_ffox('should have location for console API calls', async({page, server}) => { + it('should have location for console API calls', async({page, server}) => { await page.goto(server.EMPTY_PAGE); const [message] = await Promise.all([ waitEvent(page, 'console'), @@ -355,7 +355,7 @@ module.exports.addTests = function({testRunner, expect, headless, Errors, Device expect(message.location()).toEqual({ url: server.PREFIX + '/consolelog.html', lineNumber: 7, - columnNumber: 14, + columnNumber: CHROME ? 14 : 6, // console.|log vs |console.log }); }); // @see https://github.com/GoogleChrome/puppeteer/issues/3865