Versión de Chrome 74

Google presentado versión do navegador web Chrome 74... Simultaneamente dispoñible liberación estable dun proxecto gratuíto Cromo, que serve como base de Chrome. navegador Chrome diferente o uso de logotipos de Google, a posibilidade de descargar un módulo Flash previa solicitude, a presenza dun sistema de envío de notificacións en caso de fallo, módulos para reproducir contido de vídeo protexido, un sistema de instalación automática de actualizacións e transmisión durante a busca Parámetros RLZ. A próxima versión de Chrome 75 está programada para o 4 de xuño.

O principal cambios в cromo 74:

  • Cando se produce o evento onUnload, que se chama cando se pecha a páxina, agora prohibido mostrar ventás emerxentes (a chamada window.open() está bloqueada), o que protexerá aos usuarios de ser obrigados a abrir páxinas publicitarias despois de pechar sitios dubidosos;
  • No motor JavaScript implementado apareceu un novo réxime Sen JIT Bandeira ("—jitless"), que permite executar JavaScript sen usar JIT (só se usa o intérprete) e sen asignar memoria executable durante a execución do código. Desactivar JIT pode ser útil para mellorar a seguridade cando se traballa con aplicacións web potencialmente perigosas, así como para garantir as versións en plataformas que prohiban o uso de JIT (por exemplo, iOS, algúns televisores intelixentes e consolas de xogos. Cando JIT está desactivado, a execución de JavaScript). o rendemento diminúe un 40 % na proba Speedometer 2.0 e un 80 % na proba Web Tooling Benchmark, pero ao simular o traballo con YouTube, só se produciu unha diminución do rendemento do 6 %, mentres que o consumo de memoria diminuíu lixeiramente, só un 1.7 %;
  • V8 tamén ofrece unha gran parte de novas optimizacións. Por exemplo, a execución de chamadas de función nas que o número de parámetros realmente pasados ​​non se corresponde co número de argumentos especificado ao definir a función acelerouse nun 60%. Acelerouse o acceso ás propiedades DOM mediante a función get, o que ten un impacto positivo no rendemento do marco Angular. Acelerouse a análise de JavaScript: a optimización do decodificador UTF-8 permitiu aumentar o rendemento do analizador no modo de transmisión (análise a medida que se carga) nun 8 %, e a eliminación de operacións de deduplicación innecesarias deu un incremento doutro 10.5 %;
  • Traballouse para reducir o consumo de memoria do motor JavaScript.
    Engadiuse código para borrar a caché de bytecode, que ocupa aproximadamente o 15 % do tamaño total do montón. Engadiuse unha etapa ao colector de lixo para expulsar o bytecode compilado con pouca frecuencia da caché para as funcións que se usan ou as que só se chaman despois da inicialización. A decisión de limpar faise en base a novos contadores que teñen en conta a última vez que se accedeu ao bytecode. Este cambio reduciu o consumo de memoria nun 5-15 % sen afectar negativamente ao rendemento. Ademais, o compilador de bytecode exclúe a xeración de código obviamente non utilizado, por exemplo, que segue a retorno ou ruptura (se non hai transición de salto a el);

    Versión de Chrome 74

  • Para WebAssembly implementado soporte para fíos e operacións atómicas (API WebAssembly Threads e WebAssembly Atomics);
  • Para a entrega separada de scripts, engadiuse soporte para a cabeceira "#!", que determina o intérprete que se executará. Por exemplo, de xeito similar a outros linguaxes de script, un ficheiro JavaScript pode verse así:

    #!/usr/bin/env nodo
    console.log(42);

  • Engadiuse unha nova consulta multimedia a CSS "prefire-movemento reducido", permitindo ao sitio determinar o estado da configuración do sistema operativo relacionada coa desactivación dos efectos animados. Usando a solicitude suxerida, o propietario do sitio lata descubra que o usuario desactivou os efectos animados e tamén desactiva varias funcións de animación no sitio, por exemplo, elimina o efecto de axitación dos botóns utilizados para chamar a atención;
  • Ademais da capacidade de definir campos públicos introducida en Chrome 72 apoio implementado Marcando campos como privados, despois de que o acceso aos seus valores estará aberto só dentro da clase. Para marcar un campo como privado, engade un signo "#" antes do nome do campo. Do mesmo xeito que cos campos públicos, as propiedades privadas non requiren o uso explícito dun construtor.
  • Engadiuse a cabeceira HTTP Feature-Policy, que che permite controlar o comportamento da API e activar determinadas funcións (por exemplo, podes activar o modo de operación sincrónica de XMLHttpRequest ou desactivar a API de xeolocalización). API de JavaScript para controlar a actividade de certas oportunidades. Para os desenvolvedores, hai dous novos métodos document.featurePolicy e frame.featurePolicy, que ofrecen tres funcións:
    allowFeatures() para obter unha lista de funcións permitidas para o dominio actual, allowFeature() para comprobar selectivamente se están activadas funcións específicas e getAllowlistForFeature() para devolver unha lista de dominios para os que se permite unha función especificada na páxina actual;

  • Engadido soporte experimental ("chrome://flags#enable-text-fragment-anchor") para o modo Desprácese ata o texto, que permite formar ligazóns a palabras ou frases individuais, sen especificar de forma explícita etiquetas no documento mediante a etiqueta "un nome" ou a propiedade "id". Para enviar unha ligazón, ofrécese un parámetro especial "#targetText=", no que pode especificar o texto para a transición. Permítese especificar unha máscara que inclúa frases que indiquen o comezo e o final do fragmento usando unha coma como separador (por exemplo, “example.com#targetText=start%20words, end%20words”);
  • Engadiuse unha opción ao construtor AudioContext taxa de mostra, que permite establecer a frecuencia de mostraxe para as operacións de audio a través da API Web Audio;
  • Engadido soporte de clase Local Intl, que proporciona métodos para analizar e procesar os parámetros de linguaxe, rexión e estilo definidos pola configuración rexional, así como para ler e escribir etiquetas de extensión Unicode, gardando a configuración da configuración rexional do usuario nun formato serializado;
  • Mecanismo Intercambios HTTP asinados (SXG) ampliado con ferramentas para informando distribuidores de contido sobre erros na descarga de contido asinado, como problemas coa verificación do certificado. O tratamento de erros realízase mediante extensións da API Rexistro de erros de rede. Lembremos que SXG permite o propietario dun sitio, mediante unha sinatura dixital, autoriza a colocación de determinadas páxinas noutro sitio, despois de que, se se accede a estas páxinas nun segundo sitio, o navegador mostrará ao usuario o URL do sitio orixinal, a pesar de que que a páxina foi cargada desde un host diferente;
  • Engadiuse un método á clase TextEncoder encodeInto(), que permite escribir unha cadea codificada directamente nun búfer previamente asignado. O método encodeInto() é unha alternativa de alto rendemento ao método encode(), que require que se realice unha operación de asignación de búfer cada vez que se acceda a el.
  • Traballador en servizo asegurado almacenando en búfer a chamada client.postMessage() ata que o documento estea listo. As mensaxes enviadas a través de client.postMessage() manteranse ata que se produza o evento DOMContentLoaded, se estableza onmessage ou se chame a startMessages();
  • Segundo o requirido pola especificación CSS Transitions engadido eventos transitionrun, transitioncancel, transitionstart e transitionend xerados cando unha transición CSS está en cola, cancela, comeza ou remata de executarse.
  • Cando se especifica unha codificación de caracteres incorrecta mediante overrideMimeType() ou tipo MIME para unha XMLHttpRequest, agora volve a ser UTF-8 en lugar de Latin-1;
  • A propiedade "allow-downloads-without-user-activation", a través da cal era posible descargar ficheiros automaticamente ao procesar iframes, quedou en desuso e eliminarase nunha versión futura. No futuro, prohibirase iniciar descargas de ficheiros sen a acción explícita do usuario, xa que se utilizou activamente para abusos, forzando descargas e inserindo partes de malware no ordenador do usuario. Será necesario que o usuario faga clic na mesma páxina para iniciar a descarga. A propiedade estaba prevista orixinalmente para ser eliminada en Chrome 74, pero a eliminación foi aprazada ata Chrome 76.
  • Ofrécese un tema escuro opcional para o deseño da interface para a plataforma Windows (na versión anterior preparouse un tema escuro para macOS). Dado que o deseño escuro é case idéntico ao deseño no modo de incógnito, engadiuse un indicador especial en lugar da icona do perfil de usuario para resaltar o modo operativo privado;
  • Engadiuse unha oportunidade para usuarios corporativos Xestión da nube do navegador Chrome para xestionar a configuración do navegador do usuario a través da consola de administración de Google;

    Versión de Chrome 74

Ademais de innovacións e correccións de erros, a nova versión elimina 39 vulnerabilidades. Moitas das vulnerabilidades identificáronse como resultado de probas automatizadas con ferramentas Dirección Sanitizer, MemorySanitizer, Controla a integridade do fluxo, LibFuzzer и AFL. Non se identificaron problemas críticos que permitan ignorar todos os niveis de protección do navegador e executar código no sistema fóra do entorno sandbox. Como parte do programa para pagar recompensas en metálico por descubrir vulnerabilidades para a versión actual, Google pagou 19 premios por importe de 26837 dólares (catro premios de 3000 dólares, catro premios de 2000 dólares, un premio de 1337 dólares, catro premios de 1000 dólares, tres premios de 500 dólares). O tamaño das 4 recompensas aínda non se determinou.

Fonte: opennet.ru

Engadir un comentario