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;
}
}