Skip to content

Commit

Permalink
Merge branch 'main' of github.com:puppeteer/puppeteer into automate-p…
Browse files Browse the repository at this point in the history
…ublish
  • Loading branch information
johanbay committed Oct 23, 2020
2 parents 463d80c + 5e5fed1 commit 0347721
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 21 deletions.
32 changes: 16 additions & 16 deletions .travis.yml
Expand Up @@ -3,9 +3,9 @@ services: xvfb

jobs:
include:
- os: "osx"
- os: 'osx'
name: 'Unit tests: macOS/Chromium'
node_js: "10.19.0"
node_js: '10.19.0'
osx_image: xcode11.4
env:
- CHROMIUM=true
Expand All @@ -14,11 +14,11 @@ jobs:
script:
- ls .local-chromium .local-firefox
- npm run tsc
- travis_retry npm run unit
- npm run unit

- os: "windows"
- os: 'windows'
name: 'Unit tests: Windows/Chromium'
node_js: "10.19.0"
node_js: '10.19.0'
env:
- CHROMIUM=true
before_install:
Expand All @@ -29,7 +29,7 @@ jobs:
- travis_retry npm run unit

# Runs unit tests on Linux + Chromium
- node_js: "10.19.0"
- node_js: '10.19.0'
name: 'Unit tests [with coverage]: Linux/Chromium'
env:
- CHROMIUM=true
Expand All @@ -39,35 +39,35 @@ jobs:
- travis_retry npm run unit-with-coverage
- npm run assert-unit-coverage

- node_js: "12.16.3"
- node_js: '12.16.3'
name: 'Unit tests [Node 12]: Linux/Chromium'
env:
- CHROMIUM=true
before_install:
- PUPPETEER_PRODUCT=firefox npm install
script:
- travis_retry npm run unit
- npm run unit

- node_js: "14.2.0"
- node_js: '14.2.0'
name: 'Unit tests [Node 14]: Linux/Chromium'
env:
- CHROMIUM=true
before_install:
- PUPPETEER_PRODUCT=firefox npm install
script:
- travis_retry npm run unit
- npm run unit

- node_js: "12.16.3"
- node_js: '12.16.3'
name: 'Browser tests: Linux/Chromium'
addons:
chrome: stable
env:
- CHROMIUM=true
script:
- travis_retry npm run test-browser
- npm run test-browser

# This bot runs all the extra checks that aren't the main Puppeteer unit tests
- node_js: "10.19.0"
- node_js: '10.19.0'
name: 'Extra tests: Linux/Chromium'
env:
- CHROMIUM=true
Expand All @@ -79,22 +79,22 @@ jobs:

# This bot runs separately as it changes package.json to test puppeteer-core
# and we don't want that leaking into other bots and causing issues.
- node_js: "10.19.0"
- node_js: '10.19.0'
name: 'Test bundling and install of packages'
env:
- CHROMIUM=true
script:
- npm run test-install

# Runs unit tests on Linux + Firefox
- node_js: "10.19.0"
- node_js: '10.19.0'
name: 'Unit tests: Linux/Firefox'
env:
- FIREFOX=true
before_install:
- PUPPETEER_PRODUCT=firefox npm install
script:
- travis_retry npm run funit
- npm run funit

notifications:
email: false
4 changes: 2 additions & 2 deletions mocha-config/puppeteer-unit-tests.js
Expand Up @@ -21,8 +21,8 @@ module.exports = {
require: ['./test/mocha-ts-require', './test/mocha-utils.ts'],
spec: 'test/*.spec.ts',
extension: ['js', 'ts'],
parallel: process.env.CI && !process.env.COVERAGE,
// retry twice more, so we run each test up to 3 times if needed.
retries: process.env.CI ? 2 : 0,
parallel: !!process.env.PARALLEL,
timeout: 25 * 1000,
reporter: process.env.CI ? 'spec' : 'dot',
};
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -91,7 +91,7 @@
"jpeg-js": "^0.3.7",
"mime": "^2.0.3",
"minimist": "^1.2.0",
"mocha": "^8.1.3",
"mocha": "^8.2.0",
"ncp": "^2.0.0",
"pixelmatch": "^4.0.2",
"pngjs": "^5.0.0",
Expand Down
10 changes: 9 additions & 1 deletion src/common/DOMWorld.ts
Expand Up @@ -537,7 +537,15 @@ export class DOMWorld {
private async _onBindingCalled(
event: Protocol.Runtime.BindingCalledEvent
): Promise<void> {
const { type, name, seq, args } = JSON.parse(event.payload);
let payload: { type: string; name: string; seq: number; args: unknown[] };
try {
payload = JSON.parse(event.payload);
} catch {
// The binding was either called by something in the page or it was
// called before our wrapper was initialized.
return;
}
const { type, name, seq, args } = payload;
if (type !== 'internal' || !this._ctxBindings.has(name)) return;
if (!this._hasContext()) return;
const context = await this.executionContext();
Expand Down
10 changes: 9 additions & 1 deletion src/common/Page.ts
Expand Up @@ -1132,7 +1132,15 @@ export class Page extends EventEmitter {
private async _onBindingCalled(
event: Protocol.Runtime.BindingCalledEvent
): Promise<void> {
const { type, name, seq, args } = JSON.parse(event.payload);
let payload: { type: string; name: string; seq: number; args: unknown[] };
try {
payload = JSON.parse(event.payload);
} catch {
// The binding was either called by something in the page or it was
// called before our wrapper was initialized.
return;
}
const { type, name, seq, args } = payload;
if (type !== 'exposedFun' || !this._pageBindings.has(name)) return;
let expression = null;
try {
Expand Down

0 comments on commit 0347721

Please sign in to comment.