blob: c32d9b8b5ea7179c48d2d4da8e87b3e7209c15cf [file] [log] [blame]
avm999633e238882020-12-07 18:38:54 +01001// In order to pass i18n strings and settings values to the injected scripts,
2// which don't have access to the chrome.* APIs, we use event listeners.
3window.addEventListener('TWPT_sendRequest', evt => {
4 var request = evt.detail;
5 switch (request.data.action) {
6 case 'geti18nMessage':
7 var data = chrome.i18n.getMessage(
8 request.data.msg,
9 (Array.isArray(request.data.placeholders) ?
10 request.data.placeholders :
11 []));
12 break;
13
14 case 'getProfileIndicatorOptions':
15 var data = {
16 'indicatorDot': options.profileindicator,
17 'numPosts': options.profileindicatoralt
18 };
19 break;
20
21 case 'getNumPostMonths':
22 var data = options.profileindicatoralt_months;
23 break;
24
25 default:
26 var data = 'unknownAction';
27 console.warn('Unknown action ' + request.data.action + '.');
28 break;
29 }
30
31 var response = {
32 data,
33 requestId: request.id,
34 prefix: (request.prefix || 'TWPT'),
35 };
36
37 window.postMessage(response, '*');
38});