forked from mirrors/gecko-dev
We import the ActorConstants into the ASRouter unit-entry.js script because ASRouterChild.sys.mjs loads ActorConstants.sys.mjs, and the ResourceUriPlugin that does the rewriting for the Karma tests doesn't understand how to do remapping outside of the newtab folder. So instead of trying to hack that capability into ResourceUriPlugin, we just import the ActorConstants into the Karma global scope. Differential Revision: https://phabricator.services.mozilla.com/D200087
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 "modules/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;
|
|
},
|
|
};
|