| import MainWorldContentScriptBridgeServer from '../mainWorldContentScriptBridge/Server.js'; |
| |
| import {kCSTarget, kMWTarget} from './consts.js'; |
| |
| // Main World i18n server (used in content scripts to be able to serve the |
| // chrome.i18n API to Main World (MW) scripts). |
| export default class MWI18nServer extends MainWorldContentScriptBridgeServer { |
| constructor() { |
| super(kCSTarget, kMWTarget); |
| this.setUpHandler(this.handleMessage); |
| } |
| |
| handleMessage(uuid, action, request) { |
| switch (action) { |
| case 'getMessage': |
| var response = chrome.i18n.getMessage( |
| request.messageName, request.substitutions, request.options); |
| this._respond(uuid, response); |
| return; |
| |
| case 'getUILanguage': |
| this._respond(uuid, chrome.i18n.getUILanguage()); |
| return; |
| |
| default: |
| console.error(`[MWI18nServer] Invalid action received (${action})`); |
| } |
| } |
| } |