You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 

33 lines
869 B

import * as operations from '../../shared/operations';
import * as messages from '../../shared/messages';
export default interface OperationClient {
execBackgroundOp(op: operations.Operation): Promise<void>;
internalOpenUrl(
url: string, newTab?: boolean, background?: boolean,
): Promise<void>;
}
export class OperationClientImpl implements OperationClient {
execBackgroundOp(op: operations.Operation): Promise<void> {
return browser.runtime.sendMessage({
type: messages.BACKGROUND_OPERATION,
operation: op,
});
}
internalOpenUrl(
url: string, newTab?: boolean, background?: boolean,
): Promise<void> {
return browser.runtime.sendMessage({
type: messages.BACKGROUND_OPERATION,
operation: {
type: operations.INTERNAL_OPEN_URL,
url,
newTab,
background,
},
});
}
}