aboutsummaryrefslogblamecommitdiff
path: root/src/background/infrastructures/ContentMessageClient.js
blob: 0fab5a3977a61f6658bc3957dd0bda6f4aeba39d (plain) (tree)
1
2
3
4
5
6
7
8
9




                                             

                                         



                                        











                                                             






                                            
 
import messages from '../../shared/messages';

export default class ContentMessageClient {
  async broadcastSettingsChanged() {
    let tabs = await browser.tabs.query({});
    for (let tab of tabs) {
      if (tab.url.startsWith('about:')) {
        continue;
      }
      browser.tabs.sendMessage(tab.id, {
        type: messages.SETTINGS_CHANGED,
      });
    }
  }

  async getAddonEnabled(tabId) {
    let { enabled } = await browser.tabs.sendMessage(tabId, {
      type: messages.ADDON_ENABLED_QUERY,
    });
    return enabled;
  }

  toggleAddonEnabled(tabId) {
    return browser.tabs.sendMessage(tabId, {
      type: messages.ADDON_TOGGLE_ENABLED,
    });
  }

  scrollTo(tabId, x, y) {
    return browser.tabs.sendMessage(tabId, {
      type: messages.TAB_SCROLL_TO,
      x,
      y,
    });
  }
}