function receiveMessage()

in src/js/webview/webview.js [29:68]


function receiveMessage(message: BrowserMessage): void {
  if (document.body == null) {
    return;
  }
  switch (message.type) {
    case BrowserMessageTypes.HIGHLIGHT_ELEMENT:
      WebviewStateMachine.state = WebviewStates.DEFAULT;
      WebviewUtils.highlightElementsBySelector(
        message.selector,
        message.contextSelector
      );
      break;

    case BrowserMessageTypes.HIGHLIGHT_WARNING_ELEMENTS:
      WebviewStateMachine.state = WebviewStates.DEFAULT;
      WebviewUtils.highlightWarningElementsBySelector(message.selector);
      break;

    case BrowserMessageTypes.SELECT_ELEMENT:
      WebviewUtils.clearHighlights();
      WebviewStateMachine.contextSelector = message.selector;
      WebviewStateMachine.passThroughSelectors = message.passThroughSelectors;
      WebviewStateMachine.fieldName = message.fieldName;
      if (message.multiple) {
        WebviewStateMachine.state = WebviewStates.SELECTING_MULTIPLE;
      } else {
        WebviewStateMachine.state = WebviewStates.SELECTING_ELEMENT;
      }
      break;

    case BrowserMessageTypes.CLEAR_HIGHLIGHTS:
      WebviewStateMachine.state = WebviewStates.DEFAULT;
      WebviewUtils.clearHighlights();
      break;

    case BrowserMessageTypes.FETCH_ATTRIBUTES:
      fetchAttributes(message.selector, message.contextSelector);
      break;
  }
}