chore: use runImmediately option to ensure init script runs once
#35975
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There are three distinct scenarios possible in Chromium today:
BeginNavigation. Such a page will be always navigated to a new document with a new js context, so it does not matter whether we run the init script upon attach in the initial empty context or not.window.opened page in the same renderer. Such a page currently receivesPage.addScriptToEvaluateOnNewDocumentand immediately evaluates it. Switching torunImmediatelyhas no effect.createWindow()when web security is disabled. Such a page does not run the init script after loading the target url, because the js context is reused (due to security being disabled). In this case, it is essential to run the init script immediately, which the new flag does.This is covered by
init script should run only oncetests. See #31458 and #31096 fir prior art.