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.
49 lines
1.4 KiB
49 lines
1.4 KiB
import { |
|
WINDOWS_CREATE, WINDOWS_REMOVE, WINDOWS_GET, |
|
TABS_CREATE, TABS_SELECT_AT, TABS_GET, TABS_UPDATE, TABS_REMOVE, |
|
TABS_GET_ZOOM, TABS_SET_ZOOM, |
|
EVENT_KEYPRESS, EVENT_KEYDOWN, EVENT_KEYUP, |
|
SCROLL_GET, SCROLL_SET, |
|
} from '../shared/messages'; |
|
import * as tabs from './tabs'; |
|
import { receiveContentMessage } from './ipc'; |
|
|
|
receiveContentMessage((message) => { |
|
switch (message.type) { |
|
case WINDOWS_CREATE: |
|
return browser.windows.create({ url: message.url }); |
|
case WINDOWS_REMOVE: |
|
return browser.windows.remove(message.windowId); |
|
case WINDOWS_GET: |
|
return browser.windows.get(message.windowId, { populate: true }); |
|
case TABS_CREATE: |
|
return tabs.create({ |
|
url: message.url, |
|
windowId: message.windowId, |
|
}); |
|
case TABS_SELECT_AT: |
|
return tabs.selectAt({ |
|
windowId: message.windowId, |
|
index: message.index, |
|
}); |
|
case TABS_GET: |
|
return browser.tabs.get(message.tabId); |
|
case TABS_UPDATE: |
|
return browser.tabs.update(message.tabId, message.properties); |
|
case TABS_REMOVE: |
|
return browser.tabs.remove(message.tabId); |
|
case TABS_GET_ZOOM: |
|
return browser.tabs.getZoom(message.tabId); |
|
case TABS_SET_ZOOM: |
|
return browser.tabs.setZoom(message.tabId, message.factor); |
|
case EVENT_KEYPRESS: |
|
case EVENT_KEYDOWN: |
|
case EVENT_KEYUP: |
|
case SCROLL_GET: |
|
case SCROLL_SET: |
|
return browser.tabs.sendMessage( |
|
message.tabId, |
|
message |
|
); |
|
} |
|
});
|
|
|