feat: support chrome extensions in sandboxed renderer (#16218)
* Add content script injector to sandboxed renderer * Fix 'getRenderProcessPreferences' binding to the wrong object * Pass getRenderProcessPreferences to content-scripts-injector * Emit document-start and document-end events in sandboxed renderer * Use GetContext from RendererClientBase * Prevent script context crash caused by lazily initialization * Remove frame filtering logic for onExit callback Since we're keeping track of which frames we've injected the bundle into, this logic is redundant. * Add initial content script tests * Add contextIsolation variants to content script tests * Add set include * Fix already loaded extension error * Add tests for content scripts 'run_at' options * Catch script injection eval error when CSP forbids it This can occur in a rendered sandbox when a CSP is enabled. We'll need to switch to using isolated worlds to fix this. * Fix content script tests not properly cleaning up extensions * Fix lint and type errors
This commit is contained in:
parent
825e526456
commit
42b7b25ac3
12 changed files with 215 additions and 26 deletions
14
spec/fixtures/extensions/content-script-document-start/manifest.json
vendored
Normal file
14
spec/fixtures/extensions/content-script-document-start/manifest.json
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"name": "document-start",
|
||||
"version": "1.0",
|
||||
"description": "",
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["<all_urls>"],
|
||||
"js": ["start.js"],
|
||||
"run_at": "document_start"
|
||||
}
|
||||
],
|
||||
"manifest_version": 2
|
||||
}
|
||||
|
1
spec/fixtures/extensions/content-script-document-start/start.js
vendored
Normal file
1
spec/fixtures/extensions/content-script-document-start/start.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
document.documentElement.style.backgroundColor = 'red'
|
Loading…
Add table
Add a link
Reference in a new issue