fune/browser/components/asrouter/content-src/asrouter-utils.js
Mike Conley c65fe995c1 Bug 1877196 - Move ActorConstants.sys.mjs to browser/components/asrouter. r=pdahiya,omc-reviewers
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
2024-02-05 22:03:15 +00:00

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;
},
};