La compañía Google ha lanzado la versión del navegador web Chrome 126. Al mismo tiempo, está disponible la versión estable del proyecto de código abierto Chromium, que sirve como base para Chrome. El navegador Chrome se diferencia de Chromium por el uso de los logotipos de Google, la inclusión de un sistema de notificación en caso de fallos, módulos para la reproducción de contenido audiovisual protegido por derecho de autor (DRM), un sistema de actualización automática, la activación constante del aislamiento de Sandbox, la entrega de claves para la API de Google y la transmisión de parámetros RLZ durante la búsqueda. Para aquellos que necesitan más tiempo para actualizar, se mantiene por separado la rama Extended Stable, que se acompaña de 8 semanas. La próxima versión de Chrome 127 está programada para el 23 de julio.
Los cambios principales en Chrome 126:
- Se ha integrado en el visor de PDF incorporado la capacidad de extraer texto del documento mediante la opción "Extraer texto del PDF" en el menú contextual. Para extraer texto de documentos escaneados, en los que el texto se presenta como una imagen, se utiliza un mecanismo de reconocimiento óptico de caracteres (OCR) basado en un sistema de aprendizaje automático. Se espera que esta nueva función facilite el trabajo con documentos PDF a personas con problemas de visión que utilizan lectores de pantalla. En futuras actualizaciones, se planea implementar el reconocimiento de texto en imágenes mostradas en las páginas y en capturas de pantalla. El motor OCR está habilitado por defecto para el 50% de los usuarios, mientras que los demás pueden activarlo a través de la opción "chrome://flags/#pdf-ocr".

- Se ha añadido la posibilidad de configurar el nivel de agresividad del modo de ahorro de memoria (Memory Saver) en la página del configurador de rendimiento ("Rendimiento / Ahorro de memoria" en chrome://settings/performance), que disminuye el consumo de memoria RAM liberando la memoria ocupada por las pestañas inactivas. Por ejemplo, al seleccionar un nivel moderado, el navegador descargará de la memoria menos pestañas que si se establece el nivel máximo. La configuración, que por defecto solo está disponible para algunos usuarios, se puede activar a través de la opción "chrome://flags/#memory-saver-aggressiveness".
La posibilidad de ajustar el nivel de agresividad del modo de ahorro de memoria (Memory Saver), que disminuye el consumo de memoria RAM al liberar memoria ocupada por pestañas inactivas, se ha añadido a la página del configurador de rendimiento ("Rendimiento / Ahorro de memoria" en chrome://settings/performance). Por ejemplo, al elegir un nivel moderado, el navegador descargará menos pestañas de la memoria que si se establece el nivel máximo. Esta opción, que por defecto solo está disponible para un grupo de usuarios, se puede activar a través de "chrome://flags/#memory-saver-aggressiveness".
- Para algunos usuarios, el visor de PDF cuenta por defecto con una nueva arquitectura OOPIF (iframe fuera de proceso), donde el contenido del documento se procesa en un proceso separado. La nueva arquitectura elimina las complicaciones propias de la implementación basada en el mecanismo GuestView y simplifica la adición de nuevas funciones al visor de PDF. Para activar la nueva arquitectura, se puede usar la configuración "chrome://flags/#pdf-oopif".
- Se ha añadido el modo de carga proactiva reactiva (Reactive prefetch), que realiza la carga de recursos relacionados con la página durante la navegación, sin esperar a su solicitud real, lo que permite acelerar la apertura de nuevas páginas. Para predecir los recursos que pueden ser necesarios en el futuro, se utiliza un servicio externo de Google, que devuelve una lista de recomendaciones tras enviarle las URL de las páginas en las que se navega.
- Se ha añadido la capacidad de búsqueda en el servicio Google Lens a través de cualquier imagen y texto visibles en la pantalla. Esta función se activa a través del menú contextual, el indicador en la barra de direcciones o el menú "⋮", tras lo cual el usuario puede seleccionar el objeto de interés en la pantalla y obtener información sobre él de Google Lens. Al realizar la operación en servidor Google se envía
una captura de pantalla. Esta función está activada por defecto para el 1% de los usuarios. Para activar o desactivar el soporte de Google Lens, se puede usar el parámetro "chrome://flags/#enable-lens-region-search-static-page". - Se han presentado los resultados de las optimizaciones para acelerar el paso de la prueba Speedometer 3: en dos años, el rendimiento de Chrome en esta prueba ha aumentado en un 72%. Por ejemplo, se ha acelerado la función SpaceSplitString, utilizada para analizar expresiones del tipo "class='foo bar'", se han optimizado las funciones relacionadas con la memoria, se han eliminado operaciones innecesarias al trabajar con elementos de formularios web y se han acelerado las acciones más utilizadas, optimizando el uso de innerHTML y acelerando el renderizado de fuentes. También se ha logrado acelerar gracias a la optimización del recolector de basura en el motor V8, cuya eficacia ha aumentado gracias a la activación del recolector de basura durante el tiempo de inactividad del proceso de renderizado, para no competir con la aplicación por los recursos de la CPU.

- Se ha mejorado significativamente la eficiencia del trabajo con Cookies, lo que ha permitido reducir las latencias al trabajar con sitios web. Anteriormente, con cada acceso a Cookies, se enviaba una solicitud IPC sincrónica desde el proceso que manejaba el sitio a otro proceso que aseguraba la interacción en red. Dado que las aplicaciones web utilizan de manera activa los valores de Cookies, estas solicitudes entre procesos ralentizaban el trabajo, mientras que el 87% de los accesos al otro proceso eran redundantes.
Para resolver el problema, se ha implementado una nueva arquitectura en la que cada proceso tiene su propia copia de los datos de Cookies y accede directamente a ella, mientras que los cambios en las Cookies, que pueden ocurrir al trabajar con las mismas Cookies en otra pestaña, se monitorean a través de un mecanismo de versionado. La esencia de este mecanismo es que a cada valor.
document.cookie se le adjunta un contador con el número de versión, que se almacena en memoria compartida, se incrementa al modificar el valor y se compara con la instancia existente al leer.
- Se ha añadido la capacidad de utilizar la API View Transitions para crear efectos de animación de transición de una página a otra dentro de un mismo sitio (same-origin). Anteriormente, esta API solo podía aplicarse a efectos entre diferentes estados del DOM en una sola página (por ejemplo, una transición suave de una imagen a otra). Para aplicar efectos de transición entre diferentes documentos, se debe utilizar la propiedad 'navigation: auto' en la regla @-view-transition.
- Se ha incluido la API CloseWatcher, que permite rastrear solicitudes de Close en aplicaciones web y responder a su llegada (por ejemplo, se puede crear un manejador para el botón 'atrás' en un smartphone Android).
Las solicitudes de Close se generan al intentar cerrar diálogos modales (<dialog>) y diálogos emergentes (popover='') mediante la presión de la tecla Esc, el uso del botón 'Atrás' o un gesto en la pantalla en smartphones. - En la API Gamepad, que permite rastrear y manejar eventos de gamepads y controladores de juegos, se ha añadido soporte para mecanismos de retroalimentación (trigger-rumble), como la vibración.
- En las interfaces GeolocationCoordinates y GeolocationPosition se ha añadido el método .toJSON() para serializar objetos con coordenadas en formato JSON.
- En la versión para ChromeOS se ha añadido soporte para el modo de visualización de pestañas (propiedad CSS «display: tabbed»), lo que permite utilizar pestañas en una sola aplicación web, por ejemplo, para organizar la edición de varios documentos.
- Se ha añadido una funcionalidad experimental (origin trial) para la vista previa del contenido obtenido de la cámara o el micrófono.
- En la API WebGPU se ha acelerado significativamente la compilación de sombreados. En el backend para la API gráfica Vulkan se ha optimizado la carga de datos en la GPU (asegurando la escritura directa en el búfer de la GPU sin copias intermedias).
- Se han realizado mejoras en las herramientas para desarrolladores web. En la sección ‘Application > Storage’ se ha añadido la capacidad de inspeccionar los datos guardados utilizando la API Storage Buckets, que permite organizar el almacenamiento de datos dividiendo el espacio en segmentos asociados con las API IndexedDB y CacheStorage. En el panel de evaluación de rendimiento se ha añadido la posibilidad de mover y ocultar pistas, así como de excluir información sobre la ejecución de scripts del gráfico de rendimiento y de activar el modo de ralentización artificial del rendimiento del sistema en 20 veces.

En el panel de seguimiento de la actividad de red se ha añadido soporte para reemplazar en la respuesta obtenida toda la cadena del encabezado HTTP en el formato «nombre: valor». En el panel de supervisión del consumo de memoria se han añadido filtros para detectar un uso ineficiente de la memoria, como existen duplicados de cadenas o la retención de objetos relacionados con nodos DOM desconectados.

Además de las novedades y correcciones de errores, en la nueva versión se han solucionado 21 vulnerabilidades. Muchas de estas vulnerabilidades se identificaron mediante pruebas automatizadas con herramientas como AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer y AFL. A 9 de los problemas se les ha asignado un alto nivel de gravedad. No se han detectado problemas críticos que permitirían evadir todos los niveles de seguridad del navegador y ejecutar código en el sistema fuera del entorno sandbox. En el marco del programa de recompensas por detección de vulnerabilidades para esta versión, Google ha pagado 11 premios por un total de más de 168 mil dólares estadounidenses.
Se ha otorgado un premio récord de 100115 dólares por la vulnerabilidad CVE-2024-5839, relacionada con un problema en la implementación del mecanismo de asignación de memoria. Esta vulnerabilidad tiene un nivel de gravedad medio, ya que potencialmente permite la corrupción de memoria en el montón al procesar contenido HTML particularmente diseñado. Además, se han otorgado premios de 25000, 7000, 3000, 2000, 1000 y 500 dólares, así como dos premios de 10000 y 5000 dólares. El tamaño de 7 recompensas aún no ha sido determinado.
Fuente: opennet.ru






