nomagick commited on
Commit
d8ad1cb
·
unverified ·
1 Parent(s): 696536c

feat: expose setViewport to page script

Browse files
backend/functions/src/services/puppeteer.ts CHANGED
@@ -4,7 +4,7 @@ import { container, singleton } from 'tsyringe';
4
  import { AsyncService, Defer, marshalErrorLike, AssertionFailureError, delay, Deferred, perNextTick, ParamValidationError } from 'civkit';
5
  import { Logger } from '../shared/services/logger';
6
 
7
- import type { Browser, CookieParam, GoToOptions, HTTPResponse, Page } from 'puppeteer';
8
  import type { Cookie } from 'set-cookie-parser';
9
  import puppeteer from 'puppeteer-extra';
10
 
@@ -555,6 +555,9 @@ export class PuppeteerControl extends AsyncService {
555
  }
556
  page.emit('snapshot', snapshot);
557
  }));
 
 
 
558
  preparations.push(page.evaluateOnNewDocument(SCRIPT_TO_INJECT_INTO_FRAME));
559
  preparations.push(page.setRequestInterception(true));
560
 
 
4
  import { AsyncService, Defer, marshalErrorLike, AssertionFailureError, delay, Deferred, perNextTick, ParamValidationError } from 'civkit';
5
  import { Logger } from '../shared/services/logger';
6
 
7
+ import type { Browser, CookieParam, GoToOptions, HTTPResponse, Page, Viewport } from 'puppeteer';
8
  import type { Cookie } from 'set-cookie-parser';
9
  import puppeteer from 'puppeteer-extra';
10
 
 
555
  }
556
  page.emit('snapshot', snapshot);
557
  }));
558
+ preparations.push(page.exposeFunction('setViewport', (viewport: Viewport | null) => {
559
+ page.setViewport(viewport).catch(() => undefined);
560
+ }));
561
  preparations.push(page.evaluateOnNewDocument(SCRIPT_TO_INJECT_INTO_FRAME));
562
  preparations.push(page.setRequestInterception(true));
563