A fork of https://github.com/ueokande/vim-vixen
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.
33 lines
869 B
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, |
|
}, |
|
}); |
|
} |
|
}
|
|
|