La empresa Google la versión del navegador web . A la vez lanzamiento estable de un proyecto de código abierto , que sirve como base para Chrome. El navegador Chrome uso de logotipos de Google, la capacidad de cargar el módulo Flash por demanda, la existencia de un sistema de notificación en caso de fallos, módulos para reproducir contenido de vídeo protegido (DRM), un sistema de actualización automática y el envío durante la búsqueda . La próxima versión de Chrome 76 está programada para el 30 de julio.
:
- En el método canvas.getContext() la bandera «desynchronized» para el manejo de contextos de Canvas (2D o WebGL) utilizando un sistema alternativo de renderizado que garantiza latencias mínimas al eludir el mecanismo de actualización del DOM y renderizar directamente a través de OpenGL;
- API ampliado (el objeto navigator.share), mediante el cual se puede generar un botón unificado para compartir en redes sociales relevantes para el visitante en lugar de una lista de botones separados. En la nueva versión, en la API la posibilidad de mostrar un cuadro de diálogo estándar para enviar archivos a otras aplicaciones (por ejemplo, en Android se muestra un bloque para enviar a través de correo, Bluetooth, etc.);
- la posibilidad de separar grupos de números en literales numéricos con el símbolo de subrayado. Por ejemplo, para mejorar la legibilidad de números grandes en el código, se puede especificar 1_000_000_000 y ese número será procesado como 1000000000;
- Para todos los usuarios de la versión de escritorio, está habilitado por defecto , en el cual las páginas de diferentes hosts siempre se cargan en la memoria de diferentes procesos, cada uno de los cuales aplica su propio sandbox. La característica principal del modo de estricta aislamiento es la división no por pestañas, sino por dominios, es decir, si anteriormente el contenido cargado de scripts, iframe y popups de otros dominios se ejecutaba en un mismo proceso con el sitio base, ahora estarán separados en diferentes procesos;
- Las extensiones en la lista negra se eliminarán completamente en lugar de desactivarse al pasar al modo inactivo.
- En el administrador de tareas integrado de Chrome (Configuración > Más herramientas > Administrador de tareas) se mostrará la gestión de Service workers;
- En el método window.open() se ha añadido el atributo «», que permite abrir una página sin completar el encabezado Referer;
- directivas (Content Security Policy) «script-src-attr», «script-src-elem», «style-src-attr» y «style-src-elem», que brindan funcionalidad a las directivas script y style, pero con la posibilidad de aplicarse a controladores de eventos, elementos o atributos específicos;
- En Web Authentication API Soporte para FIDO CTAP2 PIN para utilizar un PIN asignado por el usuario para la autorización en operaciones con llaves que soportan el protocolo . En el configurador, en la sección «Avanzado» se ha añadido la opción «Gestionar claves de seguridad», donde se puede asignar un PIN para proteger las llaves almacenadas en un dispositivo USB, así como una opción para restablecer la llave (limpiar todos los datos y el PIN);
- En la API de Animaciones Web se han añadido objetos
, que permiten gestionar interactivamente los elementos animados y el cronometraje (duración, retrasos).
Además, se añadió un nuevo constructor , que proporciona medios más amplios para controlar la animación. Anteriormente, la API de Animaciones Web permitía crear animaciones mediante el método Element.animate(), que devolvía un objeto Animation ya formado. Ahora, el desarrollador puede gestionar su creación a través de una llamada explícita al constructor, donde, por ejemplo, se puede especificar un objeto KeyframeEffect; - Se ha añadido la opción , que instruye al navegador para mostrar el video en el área de reproducción del elemento (por ejemplo, para proporcionar un método de reproducción a pantalla completa);
- En el método MediaStreamTrack.getCapabilities() se ha implementado la posibilidad de obtener el rango de valores permitidos para las propiedades relacionadas con dispositivos de audio (frecuencia de muestreo, latencias, número de canales, etc.);
- En WebRTC se ha añadido la API para obtener información sobre los transportes activos, por ejemplo, sobre el uso de SCTP o DTLS (Datagram Transport Layer Security), a través de los cuales se envían o reciben paquetes RTP y RTCP. También se ha añadido la interfaz RTCIceTransport para proporcionar información sobre el estado de los transportes
ICE, utilizados en el objeto RTCPeerConnection; - En el encabezado Cache-Control se ha implementado la directiva «», que permite establecer una ventana de tiempo adicional durante la cual el navegador puede utilizar un recurso con tiempo de caducidad mientras realiza una comprobación de validez asíncrona;
- Scroll Snap Stop para definir la adherencia a elementos durante el desplazamiento inercial (por ejemplo, un gesto de deslizamiento amplio al seleccionar de una lista de imágenes resultará en la selección del siguiente elemento, no del último);
- En la versión para Android, se ha mejorado la interfaz de autocompletado de los datos de las cuentas en los formularios de autenticación. El bloque de sugerencias ahora se muestra directamente sobre el teclado en pantalla y, al hacer clic en él, muestra las posibles opciones guardadas en lugar de la teclado en pantalla, sin cubrir el campo de entrada;
- Se ha añadido soporte experimental para el modo de lectura, que al activarlo muestra solo el texto relevante, ocultando todos los elementos de control, banners, menús, barras de navegación y otras partes de la página no relacionadas con el contenido. La activación del nuevo modo se realiza mediante la opción chrome://flags/#enable-reader-mode, después de lo cual aparecerá un elemento en el menú desplegable para su uso;
- En el motor de JavaScript V8, se ha implementado un modo explícito de almacenamiento en caché de los resultados de compilación de WebAssembly (al reabrir la página, los componentes de WebAssembly previamente procesados se ejecutarán desde la caché).
También se han añadido nuevas instrucciones a WebAssembly: memory.copy, memory.fill, table.copy, memory.init y table.init para copiar, llenar e inicializar grandes áreas de memoria; - Se ha añadido soporte para analizar scripts al vuelo a medida que se cargan desde la red sin involucrar el hilo principal de Chrome. Anteriormente, el hilo se tomaba primero en el hilo principal y luego se redirigía al analizador. Esta organización podría hacer que la redirección fuera bloqueada por otras tareas que se ejecutan en el hilo principal, como el análisis de HTML y la ejecución de otros scripts de JavaScript. Ahora esa redirección ha sido eliminada;
- Mejoras en las herramientas para desarrolladores web:
- En el modo de inspección de CSS, se ha proporcionado autocompletado para nombres y valores básicos de funciones que se pueden aplicar a las propiedades CSS (por ejemplo, 'filter: blur(1px)'). Los valores sugeridos se reflejan inmediatamente en el diseño visual de la página;

- En el panel de comandos, accesible al presionar Ctrl+Shift+P, se ha implementado el comando 'Clear Site Data' para limpiar todos los datos relacionados con la página (similar a seleccionar el menú Application > Clear Storage), incluyendo Service workers, localStorage, sessionStorage, IndexedDB, Web SQL, Cookies, Cache y Application Cache;
- Se ha añadido la posibilidad de ver todas las bases de datos existentes de IndexedDB (anteriormente, en Application > IndexedDB, solo se podían ver las bases de datos para el dominio actual, lo que no permitía, por ejemplo, inspeccionar el uso de IndexedDB en bloques cargados a través de iframe);

- En la interfaz de inspección de red, ahora se muestra el tamaño del recurso en su forma original, sin comprimir, en el tooltip que aparece al pasar el mouse sobre los campos de la columna 'Size';

- En el panel del depurador, se ha proporcionado una salida separada de la información sobre el estado de los puntos de interrupción asociados a partes específicas de expresiones complejas en línea (inline breakpoint), por ejemplo, colocados en la cadena de llamada de métodos;

- En los paneles de inspección de IndexedDB y Cache se ha implementado la visualización de contadores del número total de recursos en la base de datos o en el caché;

- En el modo de inspección de CSS, se ha proporcionado autocompletado para nombres y valores básicos de funciones que se pueden aplicar a las propiedades CSS (por ejemplo, 'filter: blur(1px)'). Los valores sugeridos se reflejan inmediatamente en el diseño visual de la página;
- En las compilaciones experimentales de Canary, soporte
se han añadido llamadas a DNS sobre HTTPS (DoH, DNS over HTTPS), que se puede activar en chrome://flags#dns-over-https. DoH puede ser útil para evitar fugas de información sobre los nombres de host solicitados a través de los servidores DNS de los proveedores, combatir ataques MITM y la manipulación del tráfico DNS, hacer frente a bloqueos a nivel de DNS, o para organizar el trabajo cuando no sea posible acceder directamente a los servidores DNS (por ejemplo, cuando se trabaja a través de un proxy);
Además de las novedades y correcciones de errores, en la nueva versión se han eliminado . Muchas de las vulnerabilidades fueron identificadas a través de pruebas automatizadas con herramientas de , , , y . 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. En el marco del programa de recompensa monetaria por identificar vulnerabilidades para la versión actual, la empresa Google ha otorgado 13 recompensas por un total de 9,000 dólares estadounidenses (una recompensa de $5,000, dos recompensas de $1,000 y cuatro recompensas de $500). El monto de 7 recompensas aún no se ha determinado.
Fuente: opennet.ru





