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 utiliza los logotipos de Google, tiene un sistema para enviar notificaciones en caso de fallos, permite la descarga del módulo Flash a petición, módulos para la reproducción de contenido de video protegido (DRM), un sistema de actualización automática y la transmisión en las búsquedas . La próxima versión de Chrome 78 está programada para el 22 de octubre.
:
- una nota separada para los sitios con certificados de nivel EV (Validación Extendida). La información sobre el uso de certificados EV ahora solo se muestra en el menú desplegable que aparece al hacer clic en el ícono de conexión segura. El nombre de la empresa verificada por la autoridad de certificación, a la que está vinculado el certificado EV, ya no se mostrará en la barra de direcciones;
- Se ha reforzado la aislamiento de los manejadores de sitios. Se ha agregado protección para datos intersitio, como Cookies y recursos HTTP obtenidos de sitios de terceros controlados por atacantes. La aislamiento funciona incluso si el atacante encuentra un error en el proceso responsable de la renderización y intenta ejecutar código en su contexto;
- Se ha agregado una nueva página de bienvenida para nuevos usuarios (chrome://welcome/), que se muestra en lugar de la interfaz estándar de apertura de una nueva pestaña después de la primera ejecución de Chrome. La página permite agregar a favoritos servicios populares de Google (GMail, YouTube, Maps, News y Translate), adjuntar accesos directos a la página de nueva pestaña, conectarse a la cuenta de Google para habilitar Chrome Sync y establecer Chrome como navegador predeterminado en el sistema.
- En el menú de la página de nueva pestaña, que se muestra en la esquina superior derecha, se ha agregado la opción de cargar una imagen de fondo, así como nuevas opciones para elegir un tema y personalizar el bloque de accesos directos para un acceso rápido (sitios más visitados, selección manual por parte del usuario y ocultar bloques de accesos directos). Las configuraciones se posicionan por ahora como experimentales y requieren activación a través de las banderas “chrome://flags/#ntp-customization-menu-v2” y “chrome://flags/#chrome-colors-custom-color-picker”;
- Se asegura la animación del ícono del sitio en la pestaña, señalando que la página se está cargando;
- Se ha añadido el flag “—guest”, que permite iniciar Chrome desde la línea de comandos en modo de invitado (sin conexión a la cuenta de Google, sin registrar la actividad del navegador en el disco y sin guardar la sesión);
- Se ha continuado la limpieza de flags en chrome://flags iniciada en la versión anterior. Ahora se recomienda usar conjuntos de reglas en lugar de flags para ajustar el comportamiento del navegador;
- En el menú contextual de la página, las pestañas y la barra de direcciones se ha añadido un botón 'Enviar a tus dispositivos', que permite enviar un enlace a otro dispositivo mediante Chrome Sync. Después de seleccionar el dispositivo de destino vinculado a la misma cuenta y enviar el enlace, se mostrará una notificación en el dispositivo de destino para abrir el enlace;
- En la versión para Android, se ha rediseñado completamente la página de la lista de archivos descargados, en la que se han añadido botones para filtrar la lista general por tipo de contenido en lugar de un menú desplegable con secciones de contenido, y las miniaturas de las imágenes descargadas ahora se muestran a todo ancho de la pantalla;
- nuevas métricas para evaluar la velocidad de carga y renderizado del contenido en el navegador, que permiten a los desarrolladores web determinar cuán rápido se vuelve accesible el contenido principal de la página para el usuario. Las herramientas de control de renderizado ofrecidas anteriormente solo permitían juzgar el hecho del inicio de la renderización, pero no la disponibilidad de la página en su totalidad. En Chrome 77 se propone una nueva API , que permite conocer el tiempo de renderizado de elementos grandes (notables para el usuario) en el área visible, como imágenes, videos, elementos en bloque y el fondo de la página;
- Se ha añadido la API , que proporciona información sobre la demora antes de la primera interacción del usuario (por ejemplo, presionar una tecla en el teclado o en el ratón, hacer clic o mover el puntero). La nueva API es un subconjunto de la API EventTiming, que permite obtener información adicional para medir y optimizar la capacidad de respuesta de la interfaz;
- nuevas posibilidades para formularios, facilitando el uso de elementos de control de formularios personalizados (campos de entrada no estándar, botones, etc.). El nuevo evento 'formdata' permite usar controladores en JavaScript para agregar datos al formulario en la etapa de envío sin necesidad de guardar los datos en elementos input ocultos.
La segunda novedad es el soporte para la creación de elementos personalizados asociados con el formulario y que actúan como controles de formulario integrados, incluyendo funcionalidades como la validación de entrada y la iniciación del envío de datos al servidor. Para marcar un elemento como componente de la interfaz del formulario, se propone la propiedad formAssociated, y para acceder a métodos adicionales de control del formulario, como setFormValue() y setValidity(), se añade la llamada a attachInternals();
- En modo (funcionalidades experimentales que requieren activación independiente) se añadió una nueva API , que permite al usuario seleccionar registros de la lista de contactos y enviar ciertos detalles sobre ellos al sitio web. Al solicitar, se define una lista de propiedades que deben ser obtenidas (por ejemplo, nombre completo, email, número de teléfono). Estas propiedades se muestran claramente al usuario, quien toma la decisión final de si enviar los datos o no. La API puede ser utilizada, por ejemplo, en un cliente de correo web para elegir destinatarios de un correo electrónico, en una aplicación web con funciones de VoIP para iniciar una llamada a un número específico o en una red social para buscar amigos ya registrados.
Origin Trial implica la posibilidad de trabajar con la API especificada desde aplicaciones cargadas desde localhost o 127.0.0.1, o tras registrarse y obtener un token especial, que tiene una validez limitada para un sitio específico.
- Para formularios se ha implementado el atributo ««, que permite definir el comportamiento al presionar la tecla Enter en el teclado virtual. El atributo puede tomar los valores enter, done, go, next, previous, search y send;
- Se añadió la regla , que controla el acceso a la propiedad «document.domain». Por defecto, el acceso está permitido, pero si se prohíbe, intentar cambiar el valor de «document.domain» generará un error;
- En la API Performance se añadió la llamada , que permite rastrear cambios en la posición de los elementos DOM en la pantalla.
- El tamaño del encabezado HTTP «Referer» está limitado a 4 KB, y al exceder este valor, el contenido se corta hasta el nombre de dominio;
- El argumento url en la función registerProtocolHandler() está limitado a usar solo los esquemas http:// y https:// y ahora no permite los esquemas «data:» y «blob:».
- En método se agregó soporte para el formato de unidades de medida, moneda, notaciones científicas y compactas (por ejemplo, «Intl.NumberFormat('en', {style: 'unit',
unit: 'meter-per-second'})»); - Se han añadido nuevas propiedades CSS para controlar el comportamiento del desplazamiento al alcanzar el límite lógico del área de desplazamiento;
- Para la propiedad CSS white-space se agregó soporte para el valor break-spaces;
- En los Service Workers se agregó soporte para autenticación HTTP Basic y se mostró un cuadro de diálogo predeterminado para la entrada de parámetros de inicio de sesión;
- La API Web MIDI ahora solo puede aplicarse en el contexto de una conexión segura (https, archivo local o localhost);
- Se declaró obsoleta la API WebVR 1.1, a la que reemplazó la API , que permite acceder a componentes para crear realidad virtual y aumentada y unificar el trabajo con diferentes clases de dispositivos, desde cascos de realidad virtual estacionarios hasta soluciones basadas en dispositivos móviles.
- En las herramientas para desarrolladores se introdujo la posibilidad de copiar propiedades CSS de un nodo DOM a través del menú contextual que se invoca haciendo clic derecho en el nodo en el árbol DOM. Se agregó una interfaz (Show Rendering/Layout Shift Regions) para rastrear los cambios de diseño debido a la falta de marcadores de posición para publicidad e imágenes (cuando la carga de otra imagen durante la vista desplaza el texto hacia abajo). El panel de auditoría se actualizó a la versión . Se aseguró el cambio automático al tema oscuro de DevTools al usar el tema oscuro en el sistema operativo. En el modo de inspección de red, se agregó el indicador de carga de recursos desde el caché de precarga (prefetch cache). En el panel de Aplicación se agregó soporte para mostrar notificaciones y mensajes push. En la consola web, al previsualizar objetos, ahora se muestran también los campos privados de las clases;
- En el motor de JavaScript V8 se optimizó el almacenamiento de estadísticas sobre los tipos de operandos pasados a diferentes operaciones (lo que permite optimizar la ejecución de estas operaciones teniendo en cuenta tipos específicos). Para reducir el consumo de memoria, los vectores para el seguimiento de tipos ahora se almacenan en memoria solo después de ejecutar un cierto volumen de bytecode, lo que excluye la aplicación de optimización para funciones con una vida útil corta. Este cambio permite ahorrar entre un 1 y 2% de memoria en la versión de escritorio y entre un 5 y 6% en dispositivos móviles.
Se ha mejorado la escalabilidad de la compilación en segundo plano de WebAssembly: cuántos más núcleos tenga el procesador en el sistema, mayor será la ganancia de las optimizaciones añadidas. Por ejemplo, en un ordenador de 24 núcleos con un procesador Xeon, el tiempo de compilación de la aplicación de demostración Epic ZenGarden se ha reducido a la mitad.

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 . Un problema (CVE-2019-5870) ha sido marcado como crítico, lo que significa que permite eludir todos los niveles de protección del navegador y ejecutar código en el sistema fuera del entorno sandbox. Los detalles sobre la vulnerabilidad crítica aún , solo se sabe que puede llevar a acceder a áreas de memoria ya liberadas en el código de procesamiento de datos multimedia. En el marco del programa de recompensas por identificar vulnerabilidades para la versión actual, Google ha pagado 38 premios por un total de 33,500 dólares estadounidenses (un premio de $7500, cuatro premios de $3000, tres premios de $2000, cuatro premios de $1000 y ocho premios de $500). El tamaño de 18 recompensas aún no se ha determinado.
Fuente: opennet.ru

