Google ha publicado el lanzamiento del navegador web Chrome 126. Al mismo tiempo, está disponible una versión estable del proyecto gratuito Chromium, que sirve como base para Chrome. El navegador Chrome se diferencia de Chromium en el uso de los logotipos de Google, la presencia de un sistema para enviar notificaciones en caso de falla, módulos para reproducir contenido de video protegido contra copia (DRM), un sistema para instalar actualizaciones automáticamente y habilitar permanentemente el aislamiento Sandbox. , proporcionando claves para la API de Google y transmitiendo RLZ- durante la búsqueda. Para aquellos que necesitan más tiempo para actualizar, la rama estable extendida se admite por separado, seguida de 8 semanas. El próximo lanzamiento de Chrome 127 está previsto para el 23 de julio.
Cambios clave en Chrome 126:
- El visor de PDF incorporado integra la capacidad de extraer texto de un documento, llamado a través de la opción "Extraer texto de PDF" en el menú contextual. Se utiliza un motor de reconocimiento óptico de caracteres (OCR) basado en aprendizaje automático para extraer texto de documentos escaneados en los que el texto se ha insertado como una imagen. Se espera que la nueva función facilite a las personas que tienen problemas de visión y utilizan lectores de pantalla trabajar con documentos PDF. En el futuro, está previsto implementar el reconocimiento de texto en las imágenes mostradas en páginas y en capturas de pantalla. El motor OCR está habilitado de forma predeterminada para el 50% de los usuarios, y el resto puede activarlo a través de la configuración “chrome://flags/#pdf-ocr”.

- A la página del configurador con parámetros de rendimiento.
(“Rendimiento/Ahorro de memoria” en la sección chrome://configuración/rendimiento) agregó la capacidad de configurar el nivel de agresividad del uso del modo Ahorro de memoria, que reduce el consumo de RAM al liberar la memoria ocupada por pestañas inactivas. Por ejemplo, al elegir un nivel moderado, el navegador descargará menos pestañas de la memoria que cuando lo configure al máximo. La configuración, que de forma predeterminada está disponible solo para algunos usuarios, se puede activar a través del parámetro “chrome://flags/#memory-saver-aggressiveness”.
- Para algunos usuarios, el visor de PDF utiliza de forma predeterminada la nueva arquitectura OOPIF (iframe fuera de proceso), donde el contenido del documento se procesa en un proceso separado. La nueva arquitectura elimina la complejidad de las implementaciones basadas en GuestView y facilita la adición de nuevas capacidades al visor de PDF. Para habilitar la nueva arquitectura, puede utilizar la configuración "chrome://flags/#pdf-oopif".
- Se agregó el modo de captación previa reactiva, que carga los recursos asociados con una página durante la navegación, sin esperar a que realmente se soliciten, lo que le 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 después de enviarle las URL de las páginas por las que se navega.
- Google Lens ahora permite a los usuarios buscar cualquier imagen o texto visible en la pantalla. Esta función se habilita a través del menú contextual, el indicador en la barra de direcciones o el menú "⋮". Los usuarios pueden seleccionar un objeto de interés en la pantalla y obtener información sobre él desde Google Lens. Al realizar una operación en servidor Google está enviando
captura de pantalla. Actualmente, la función está activada de forma predeterminada para el 1% de los usuarios. La configuración "chrome://flags/#enable-lens-region-search-static-page" se puede utilizar para habilitar o deshabilitar la compatibilidad con Google Lens. - Se resumen los resultados de las optimizaciones para acelerar la prueba del Velocímetro 3: el rendimiento de Chrome en esta prueba aumentó un 72% en dos años. Por ejemplo, se aceleró el trabajo de la función SpaceSplitString, utilizada al analizar expresiones como "class='foo bar'", se optimizaron las funciones para trabajar con la memoria, se eliminaron operaciones innecesarias al trabajar con elementos de formulario web y se utilizaron con mayor frecuencia. Se aceleraron las acciones, se optimizó el uso de InnerHTML y se aceleró la representación de fuentes. La aceleración también se logró gracias a la optimización del recolector de basura en el motor V8, cuya eficiencia aumentó debido a la activación de la recolección 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 reducido los retrasos al trabajar con sitios web. Anteriormente, cada vez que se accedía a una Cookie, se enviaba una solicitud IPC sincrónica desde el proceso que procesa el sitio al proceso que proporciona la interacción de red. Dado que las aplicaciones web utilizan de forma bastante activa los valores de las cookies, este tipo de solicitudes entre procesos ralentizaron el trabajo, a pesar de que el 87% de las llamadas a otro proceso eran redundantes.
Para solucionar el problema se utiliza una nueva arquitectura, en la que cada proceso contiene su propia copia de los datos de la Cookie y accede a ella directamente, y cambios en la Cookie, que, por ejemplo, pueden ocurrir al trabajar con la misma Cookie en otra pestaña. , se rastrean a través de un mecanismo de control de versiones. La esencia de este mecanismo es que para cada valor
document.cookie adjunta un contador con un número de versión, que se almacena en la memoria compartida, se incrementa cuando cambia el valor y se compara con la instancia existente cuando se lee.
- Se agregó la capacidad de usar la API Ver transiciones para crear efectos de animación de transición al pasar de una página a otra dentro de un sitio (mismo origen). Anteriormente, esta API solo podía usarse para efectos entre diferentes estados DOM en la misma página (por ejemplo, una transición suave de una imagen a otra). Para aplicar efectos de transición entre diferentes documentos, utilice la propiedad "navegación: automática" en la regla @ "ver-transición".
- La API CloseWatcher se ha habilitado, lo que le permite rastrear las solicitudes de cierre en aplicaciones web y responder a su recepción (por ejemplo, puede crear un controlador para presionar el botón "atrás" en Android-teléfono inteligente).
Las solicitudes de cierre se generan al intentar cerrar modal ( ) y cuadros de diálogo emergentes (popover="") presionando la tecla Esc, usando el botón Atrás o un gesto en pantalla en los teléfonos inteligentes. - La API Gamepad, que le permite rastrear y procesar eventos desde gamepads y controladores de juegos, ha agregado soporte para mecanismos de retroalimentación (trigger-rumble), como la vibración.
- El método .toJSON() se ha agregado a las interfaces GeolocationCoordinates y GeolocationPosition para serializar objetos con coordenadas en formato JSON.
- La versión para ChromeOS agrega soporte para el modo de visualización de pestañas (propiedad CSS “display: tabbed”), que le permite usar pestañas en una aplicación web, por ejemplo, para organizar la edición de varios documentos.
- Se agregó una función experimental (prueba de origen) para obtener una vista previa del contenido recibido desde una cámara o micrófono.
- La API WebGPU ha acelerado significativamente la compilación de sombreadores. En el backend de la API de gráficos de Vulkan, se optimiza la carga de datos en la GPU (se proporciona escritura directa en el búfer de la GPU sin copia intermedia).
- Se han realizado mejoras en las herramientas para desarrolladores web. En la sección 'Aplicación > Almacenamiento', se agregó la capacidad de inspeccionar los datos guardados usando la API Storage Buckets, lo que le permite organizar el almacenamiento de datos dividiéndolo en segmentos separados asociados con las API IndexedDB y CacheStorage. En el panel de evaluación de rendimiento, se agregó la capacidad de mover y ocultar pistas, además de excluir información sobre la ejecución del script del gráfico de rendimiento y habilitar un modo para ralentizar artificialmente el rendimiento del sistema 20 veces.

El panel de seguimiento de actividad de la red brinda soporte para sustituir una cadena completa con un encabezado HTTP en el formato "nombre: valor" en la respuesta recibida. Se agregaron filtros al panel de consumo de memoria para identificar ineficiencias de memoria, como filas duplicadas o dejar objetos asociados con nodos DOM separados.

Además de las innovaciones y correcciones de errores, la nueva versión elimina 21 vulnerabilidades. Muchas de las vulnerabilidades se identificaron como resultado de pruebas automatizadas utilizando las herramientas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer y AFL. A 9 problemas se les asigna un alto nivel de peligro. No se han identificado problemas críticos que permitan eludir todos los niveles de protección del navegador y ejecutar código en el sistema fuera del entorno sandbox. Como parte del programa para pagar recompensas en efectivo por descubrir vulnerabilidades para la versión actual, Google pagó 11 premios por valor de más de 168 mil dólares.
Por la vulnerabilidad CVE-2024-5839, asociada a un problema en la implementación del mecanismo de asignación de memoria, se pagó una recompensa récord de 100115 dólares. Esta vulnerabilidad está clasificada como de gravedad moderada y tiene el potencial de causar daños en la memoria dinámica al procesar contenido HTML con formato especial. Además, se pagó un bono de 25000, 7000, 3000, 2000, 1000 y 500 dólares, así como dos premios de 10000 y 5000 dólares cada uno. Aún no se ha determinado el tamaño de las 7 recompensas.
Fuente: opennet.ru






