forked from mirrors/gecko-dev
		
	 1bb7ccda05
			
		
	
	
		1bb7ccda05
		
	
	
	
	
		
			
			This better reflects the file is being accessed from both content and system scopes. Differential Revision: https://phabricator.services.mozilla.com/D203401
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* This Source Code Form is subject to the terms of the Mozilla Public
 | |
|  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 | |
|  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 | |
| 
 | |
| import { MESSAGE_TYPE_HASH as msg } from "../modules/ActorConstants.mjs";
 | |
| import { actionCreators as ac } from "../../newtab/common/Actions.mjs";
 | |
| 
 | |
| export const ASRouterUtils = {
 | |
|   addListener(listener) {
 | |
|     if (globalThis.ASRouterAddParentListener) {
 | |
|       globalThis.ASRouterAddParentListener(listener);
 | |
|     }
 | |
|   },
 | |
|   removeListener(listener) {
 | |
|     if (globalThis.ASRouterRemoveParentListener) {
 | |
|       globalThis.ASRouterRemoveParentListener(listener);
 | |
|     }
 | |
|   },
 | |
|   sendMessage(action) {
 | |
|     if (globalThis.ASRouterMessage) {
 | |
|       return globalThis.ASRouterMessage(action);
 | |
|     }
 | |
|     throw new Error(`Unexpected call:\n${JSON.stringify(action, null, 3)}`);
 | |
|   },
 | |
|   blockById(id, options) {
 | |
|     return ASRouterUtils.sendMessage({
 | |
|       type: msg.BLOCK_MESSAGE_BY_ID,
 | |
|       data: { id, ...options },
 | |
|     });
 | |
|   },
 | |
|   modifyMessageJson(content) {
 | |
|     return ASRouterUtils.sendMessage({
 | |
|       type: msg.MODIFY_MESSAGE_JSON,
 | |
|       data: { content },
 | |
|     });
 | |
|   },
 | |
|   executeAction(button_action) {
 | |
|     return ASRouterUtils.sendMessage({
 | |
|       type: msg.USER_ACTION,
 | |
|       data: button_action,
 | |
|     });
 | |
|   },
 | |
|   unblockById(id) {
 | |
|     return ASRouterUtils.sendMessage({
 | |
|       type: msg.UNBLOCK_MESSAGE_BY_ID,
 | |
|       data: { id },
 | |
|     });
 | |
|   },
 | |
|   blockBundle(bundle) {
 | |
|     return ASRouterUtils.sendMessage({
 | |
|       type: msg.BLOCK_BUNDLE,
 | |
|       data: { bundle },
 | |
|     });
 | |
|   },
 | |
|   unblockBundle(bundle) {
 | |
|     return ASRouterUtils.sendMessage({
 | |
|       type: msg.UNBLOCK_BUNDLE,
 | |
|       data: { bundle },
 | |
|     });
 | |
|   },
 | |
|   overrideMessage(id) {
 | |
|     return ASRouterUtils.sendMessage({
 | |
|       type: msg.OVERRIDE_MESSAGE,
 | |
|       data: { id },
 | |
|     });
 | |
|   },
 | |
|   editState(key, value) {
 | |
|     return ASRouterUtils.sendMessage({
 | |
|       type: msg.EDIT_STATE,
 | |
|       data: { [key]: value },
 | |
|     });
 | |
|   },
 | |
|   sendTelemetry(ping) {
 | |
|     return ASRouterUtils.sendMessage(ac.ASRouterUserEvent(ping));
 | |
|   },
 | |
|   getPreviewEndpoint() {
 | |
|     return null;
 | |
|   },
 | |
| };
 |