electron/spec/fixtures/extensions/chrome-i18n/main.js
Jeremy Rose db7c92fd57
test: drop now-empty remote runner (#35343)
* test: drop the now-empty remote runner from CI

* move fixtures to spec-main

* remove remote runner

* fix stuff

* remove global-paths hack

* move ts-smoke to spec/

* fix test after merge

* rename spec-main to spec

* no need to ignore spec/node_modules twice

* simplify spec-runner a little

* no need to hash pj/yl twice

* undo lint change to verify-mksnapshot.py

* excessive ..

* update electron_woa_testing.yml

* don't search for test-results-remote.xml

it is never produced now
2022-08-16 15:23:13 -04:00

33 lines
834 B
JavaScript

/* eslint-disable */
function evalInMainWorld(fn) {
const script = document.createElement('script')
script.textContent = `((${fn})())`
document.documentElement.appendChild(script)
}
async function exec(name) {
let result
switch (name) {
case 'getMessage':
result = {
id: chrome.i18n.getMessage('@@extension_id'),
name: chrome.i18n.getMessage('extName'),
}
break
case 'getAcceptLanguages':
result = await new Promise(resolve => chrome.i18n.getAcceptLanguages(resolve))
break
}
const funcStr = `() => { require('electron').ipcRenderer.send('success', ${JSON.stringify(result)}) }`
evalInMainWorld(funcStr)
}
window.addEventListener('message', event => {
exec(event.data.name)
})
evalInMainWorld(() => {
window.exec = name => window.postMessage({ name })
})