fix(firefox): use global eval in injected script (#9101)

This commit is contained in:
Pavel Feldman 2021-09-22 21:49:14 -07:00 committed by GitHub
parent 2afe76d86d
commit e03db79682
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 1 deletions

View File

@ -1226,7 +1226,7 @@ export class Frame extends SdkObject {
return controller.run(async progress => {
const rerunnableTask = new RerunnableTask(data, progress, injectedScript => {
return injectedScript.evaluateHandle((injected, { info, taskData, callbackText }) => {
const callback = window.eval(callbackText);
const callback = injected.eval(callbackText);
return injected.pollRaf((progress, continuePolling) => {
const element = injected.querySelector(info.parsed, document, info.strict);
if (!element)

View File

@ -89,6 +89,10 @@ export class InjectedScript {
this._replaceRafWithTimeout = replaceRafWithTimeout;
}
eval(expression: string): any {
return global.eval(expression);
}
parseSelector(selector: string): ParsedSelector {
const result = parseSelector(selector);
for (const part of result.parts) {