global.browser = require('webextension-polyfill');

const context = {
  targetElement: null,
};

browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
  switch (message.type) {
    case 'getURL':
      sendResponse(window.location.href);
      break;

    case 'getDOM':
      sendResponse(document.getElementsByTagName('html')[0].outerHTML);
      break;

    case 'setDOM':
      document.getElementsByTagName('html')[0].innerHTML = message.html;
      break;

    case 'getTargetElement':
      sendResponse(context.targetElement ? context.targetElement.outerHTML : null);
      break;
  }
});

document.addEventListener('contextmenu', event => {
  context.targetElement = event.target;
});

// vim:sw=2:ts=2:et: