forked from mirrors/gecko-dev
		
	Depends on D193853 Differential Revision: https://phabricator.services.mozilla.com/D193854
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			2 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 "common/ActorConstants.sys.mjs";
 | 
						|
import { actionCreators as ac } from "common/Actions.sys.mjs";
 | 
						|
 | 
						|
export const ASRouterUtils = {
 | 
						|
  addListener(listener) {
 | 
						|
    if (global.ASRouterAddParentListener) {
 | 
						|
      global.ASRouterAddParentListener(listener);
 | 
						|
    }
 | 
						|
  },
 | 
						|
  removeListener(listener) {
 | 
						|
    if (global.ASRouterRemoveParentListener) {
 | 
						|
      global.ASRouterRemoveParentListener(listener);
 | 
						|
    }
 | 
						|
  },
 | 
						|
  sendMessage(action) {
 | 
						|
    if (global.ASRouterMessage) {
 | 
						|
      return global.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;
 | 
						|
  },
 | 
						|
};
 |