Obtenga el texto seleccionado de la vista web electrónica

¿Cómo obtener el texto seleccionado de una vista web en una aplicación electrónica? Estoy usando Angular con Electron. Entonces tengo un componente que tiene una vista web:

<webview id="foo" attr.src={{activeUrl}} style="height: 600px"></webview>

Esto es lo que uso para obtener el texto seleccionado:

let rightClickPosition = null;
const menu = new Menu();
const menuItem = new MenuItem({
  label: 'Get selected text',
  click: () => {
    // does not work for selected text in webview
    console.log(window.getSelection().toString());
  }
});
menu.append(menuItem);
window.addEventListener('contextmenu', (e) => {
  e.preventDefault();
  rightClickPosition = {x: e.x, y: e.y};
  menu.popup(remote.getCurrentWindow());
}, false);

El problema:window.getSelection().toString() no funciona para el texto seleccionado en la vista web. Funciona solo para el texto fuera de la vista web.

Respuestas a la pregunta(1)

Su respuesta a la pregunta