electron/spec/fixtures/extensions/chrome-api/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

52 lines
1.5 KiB
JavaScript

/* global chrome */
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
sendResponse(message);
});
const testMap = {
connect () {
let success = false;
try {
chrome.runtime.connect(chrome.runtime.id);
chrome.runtime.connect(chrome.runtime.id, { name: 'content-script' });
chrome.runtime.connect({ name: 'content-script' });
success = true;
} finally {
console.log(JSON.stringify(success));
}
},
getManifest () {
const manifest = chrome.runtime.getManifest();
console.log(JSON.stringify(manifest));
},
sendMessage (message) {
chrome.runtime.sendMessage({ method: 'sendMessage', args: [message] }, response => {
console.log(JSON.stringify(response));
});
},
executeScript (code) {
chrome.runtime.sendMessage({ method: 'executeScript', args: [code] }, response => {
console.log(JSON.stringify(response));
});
},
connectTab (name) {
chrome.runtime.onConnect.addListener(port => {
port.onMessage.addListener(message => {
console.log([port.name, message].join());
});
});
chrome.runtime.sendMessage({ method: 'connectTab', args: [name] });
},
update (tabId, props) {
chrome.runtime.sendMessage({ method: 'update', args: [tabId, props] }, response => {
console.log(JSON.stringify(response));
});
}
};
const dispatchTest = (event) => {
const { method, args = [] } = JSON.parse(event.data);
testMap[method](...args);
};
window.addEventListener('message', dispatchTest, false);