Navegador C/C++ de código abierto con soporte Javascript y SSL/TLS

Estoy buscando un navegador web de código abierto (código/biblioteca, aplicación no compilada) escrito en C o C++ para una aplicación integrada (microcontrolador). Al final, deberá ejecutarse a través de HTTPS y necesitará al menos soporte básico de Javascript. (Se acepta un motor separado para Javascript, siempre que pueda conectarse a él). Me conectaré a una pantalla personalizada, por lo que tendré que conectar mi pantalla al motor de renderizado. No necesito CSS, marcos, cuadros de entrada ni nada más que la representación básica de HTML (y el control de Javascript sobre el DOM). Tengo alrededor de 100kB de RAM y 1MB de flash disponibles.

Supongo que no soy la primera persona en hacer esto y preferiría unirme a un proyecto de código abierto existente que reinventar la rueda. ¿Alguien puede sugerir uno? Realmente estoy luchando por encontrar algo apropiado.

¿Necesita soporte para mouse o no? Además, ¿supongo que no son XHTML ni funciones avanzadas de HTML5?
¿Cuál es el tamaño de la pantalla? Por ejemplo, ¿es una especie de reloj inteligente, o una pantalla del tamaño de una computadora de escritorio, o algo más?
Resolución alrededor de 250x150, solo visualización (sin intervención del usuario). Escribiré una breve descripción de la solución que se me ocurrió como respuesta a continuación en caso de que ayude a alguien más, aunque terminó sin ser HTML, por lo que no es una respuesta real a mi pregunta original.

Respuestas (2)

La solución con la que terminé no era HTML como en la pregunta original, pero sin embargo, algunas notas sobre mi solución para cualquier otra persona que se encuentre con esto:

Para JavaScript terminé portando y probando mJS (motor de JavaScript), luego usé MongooseOS que usa mJS y con el que estaba más o menos contento. Decidí usar JavaScript y básicamente olvidar mi plan original con soporte HTML.

Con MongooseJS puede agregar fácilmente funciones C/C++ a las que se puede llamar desde JavaScript, por lo que para mi pequeña pantalla de 250x150 píxeles, y como no necesitaba comentarios de los usuarios, algunas funciones de impresión () formateadas funcionaron bien. Descargué el JavaScript a través de HTTP.

Me abstendré de discutir los pros y los contras de MongooseOS (hay ambos), basta con decir que creo que terminó siendo la solución correcta en mi caso.

¿ Has mirado links2? http://www.aboutlinux.info/2007/02/links2-cross-platform-console-based-web.html

No estoy seguro de si tiene TODO el soporte de javascript que necesita, pero es el único navegador superligero que conozco que admite cualquier tipo de javascript.

Otra alternativa podría ser algo como w3m (recuerdo que había una extensión o un programa de ayuda que permitía javascript), pero creo que un navegador GUI completo terminará siendo demasiado grande para usted.

Una alternativa final puede ser encontrar parte del código original de Maemo y tal vez los repositorios Debian correspondientes que podría usar. Maemo fue un sistema operativo basado en Debian para la primera incursión de Nokia en tabletas en el área de 2000-2002. El navegador predeterminado era un Opera personalizado que suplantaba a un agente de usuario de IE, pero podía agregar repositorios de Debian y usar aplicaciones de los repositorios de Debian ARM.

Solo estoy leyendo, no lo he probado todavía, pero parece que el soporte de JavaScript de links2 está en desuso, como también posiblemente con w3m. Sin embargo, su respuesta me llevó a eLinks y esta publicación. Pero que todos estos soporten (ed) Javascript hasta cierto punto probablemente significa que todos son buenos candidatos para mi aplicación, posiblemente con un motor Javascript diferente.