Release von Chrome 80

Google präsentierte Freigabe des Webbrowsers Chrome 80. Gleichzeitig ist verfügbar stabile Freigabe des Open-Source-Projekts Chromium, das die Grundlage von Chrome bildet. Der Browser Chrome zeichnet sich aus Verwendung von Google-Logos, ein Benachrichtigungssystem bei Abstürzen, die Möglichkeit, das Flash-Modul auf Anfrage herunterzuladen, Module zur Wiedergabe von geschützten Videoinhalten (DRM), ein automatisches Update-Installationssystem sowie Datentransfer bei der Suche. RLZ-Parameter. Die nächste Version von Chrome 81 ist für den 17. März geplant.

Haupt eingeführt wurde, die im Januar dieses Jahres in den Kernel übernommen wurde. Es betrifft ausschließlich die Version 5.1 und tritt in den meisten Fällen auf Systemen mit Samsung-SSD-Speichern auf, bei denen zur Verschlüsselung Daten mit dm-crypt/LUKS über device-mapper/LVM verwendet werden. in Chrome 80:

  • Für einen kleinen Prozentsatz der Nutzer wird die Funktion zur Gruppierung von Tabs angeboten, die es ermöglicht, mehrere ähnliche Tabs in visuell getrennte Gruppen zu organisieren. Jede Gruppe kann eine eigene Farbe und einen Namen zugewiesen bekommen. Nutzer, die nicht in der ersten Welle der Aktivierung sind, können die Unterstützung für Gruppierungen über die Option „chrome://flags/#tab-groups“ aktivieren.

    Release von Chrome 80
  • Die Unterstützung für die Funktion Scroll-To-Text, die es ermöglicht, Links zu einzelnen Wörtern oder Phrasen zu erstellen, ohne klar im Dokument durch das Tag „a name“ oder das Attribut „id“ darauf hinzuweisen. Die Syntax solcher Links soll als Web-Standard angenommen werden, der sich derzeit in der Entwurfsphase. Die Übergangsmaske (die im Grunde eine Scroll-Suche ausführt) wird durch das Zeichen „:~:“ vom normalen Anker getrennt. Zum Beispiel wird beim Öffnen des Links „https://opennet.ru/52312/#:~:text=Chromе“ die Seite auf die Position mit der ersten Erwähnung des Wortes „Chromе“ verschoben, und dieses Wort wird hervorgehoben.
  • Angewendet eine strengere Einschränkung der Cookie-Übertragung zwischen Websites für nicht-HTTPS-Anfragen, die die Verarbeitung von Drittanbieter-Cookies verbietet, die von Websites gesetzt werden, die nicht mit der Domain der aktuellen Seite übereinstimmen. Solche Cookies werden verwendet, um die Bewegungen von Nutzern zwischen Websites im Code von Werbenetzwerken, sozialen Medien Widgets und Web-Analyse-Systemen zu verfolgen. Wir erinnern daran, dass die Steuerung der Cookie-Übertragung durch das im Set-Cookie-Header angegebene Attribut SameSite erfolgt, das standardmäßig auf "SameSite=Lax" gesetzt ist und die Übertragung von Cookies für intersite Anfragen, wie z.B. das Anfordern von Bildern oder das Laden von Inhalten über ein iframe von einer anderen Website, einschränkt. Websites können den standardmäßig angewendeten SameSite-Modus überschreiben, indem sie das SameSite-Attribut beim Setzen von Cookies ausdrücklich auf "SameSite=None" setzen. Dabei kann der Wert SameSite=None für Cookies nur im Secure-Modus eingestellt werden (gilt für Verbindungen über HTTPS). Die Änderung wird schrittweise umgesetzt ab dem 17. Februar, zunächst für einen kleinen Prozentsatz der Nutzer und anschließend schrittweise ausgeweitet.
  • Hinzugefügt Schutz vor lästigen Benachrichtigungen im Zusammenhang mit der Bestätigung von Berechtigungen. Da solche Aktivitäten, wie beispielsweise Spam-Anfragen für Push-Benachrichtigungen, den Benutzer stören und die Aufmerksamkeit auf die Bestätigungsdialoge lenken, wird in Chrome 80 anstelle eines separaten Dialogs jetzt ein Informationstooltip in der Adressleiste angezeigt, der vor der Blockierung der Berechtigungsanfrage warnt. Dieser reduziert sich dann auf ein Symbol mit einem durchgestrichenen Glockenbild. Durch einen Klick auf das Symbol können die angeforderten Berechtigungen jederzeit aktiviert oder abgelehnt werden. Der neue Modus wird automatisch selektiv für Benutzer aktiviert, die zuvor solche Anfragen häufig blockiert haben, sowie für Websites, auf denen eine hohe Ablehnungsrate festgestellt wird. Um den neuen Modus für alle Anfragen zu aktivieren, wurde eine spezielle Option in die Einstellungen aufgenommen (chrome://flags/#quiet-notification-prompts).

    Release von Chrome 80
  • Verboten Ausgabe von Pop-ups (Aufruf der Methode window.open()) und das Senden synchroner XMLHttpRequest-Anfragen in den Ereignis-Handlern für das Schließen oder Verstecken der Seite (unload, beforeunload, pagehide und visibilitychange);
  • Angebotene Anfangs Schutz vor dem Laden von gemischten Multimedia-Inhalten (wenn auf einer HTTPS-Seite Ressourcen über http:// geladen werden). Auf Seiten, die über HTTPS geöffnet werden, werden nun automatisch Links "http://" in "https://" in den Bereichen ersetzt, die mit der Wiedergabe von Audio- und Video-Dateien verbunden sind. Wenn eine Audio- oder Videodatei nicht über HTTPS verfügbar ist, wird deren Laden blockiert (manuell kann die Blockierung über das Menü, das durch das Schloss-Symbol in der Adresszeile zugänglich ist, markiert werden).

    Bilder werden weiterhin unverändert geladen (die Autoumstellung wird in Chrome 81 angewendet), aber für die Umstellung auf HTTPS oder die Blockierung von Bildern haben Site-Entwickler CSP-Eigenschaften wie upgrade-insecure-requests und block-all-mixed-content zur Verfügung. Für Skripte und iframes wurde die Blockierung von gemischten Inhalten bereits früher implementiert.

  • Es hat mit der schrittweisen deaktivierung der FTP-Unterstützung begonnen. Standardmäßig bleibt die Unterstützung für FTP vorerst erhalten, wird jedoch durchgeführt Ein Experiment, bei dem für einen bestimmten Prozentsatz der Nutzer die Unterstützung für FTP deaktiviert wird (um zurückzukehren, muss der Browser mit der Option „—enable-ftp“ gestartet werden). Wir erinnern daran, dass in früheren Versionen bereits die Anzeige von Inhalten von Ressourcen, die über das Protokoll „ftp://“ geladen werden, deaktiviert wurde (z. B. wurde die Anzeige von HTML-Dokumenten und README-Dateien eingestellt), die Verwendung von FTP beim Laden von Unterressourcen aus Dokumenten verboten wurde und die Unterstützung von Proxys für FTP eingestellt wurde. Dennoch bleibt die Möglichkeit, Dateien über direkte Links herunterzuladen und den Inhalt von Verzeichnissen anzuzeigen.
  • Hinzugefügt
    Die Möglichkeit, Vektor-SVG-Bilder als Website-Ikon (favicon) zu verwenden.
  • In die Einstellungen wurde die Möglichkeit zur selektiven Deaktivierung bestimmter Datentypen hinzugefügt, die bei der Synchronisierung zwischen Browsern übertragen werden.
  • Für zentral verwaltete Unternehmensbenutzer wurde eine Regel hinzugefügt BlockExternalExtensions, die die Installation externer Erweiterungen auf dem Gerät verbietet.
  • Unterstützung für das parallele Bauen von Paketen auf Mehrkernsystemen wurde implementiert. Die Anzahl der Threads kann über das Makro „%_smp_build_ncpus“ und die Variable $RPM_BUILD_NCPUS festgelegt werden. Zur Bestimmung der Anzahl der CPUs wurde das Makro „%getncpus“ vorgeschlagen; die Möglichkeit eine einmalige Überprüfung der gesamten Eigenschafts- oder Aufrufkette in JavaScript. Früher musste beim Zugriff auf „db.user.name.length“ stufenweise sichergestellt werden, dass alle Bestandteile definiert sind, zum Beispiel durch „if (db && db.user && db.user.name)“. Jetzt kann man mit dem Operator „?.“ direkt auf den Wert „db?.user?.name?.length“ zugreifen, ohne vorherige Überprüfungen, und dieser Zugriff führt nicht zu einem Fehler. Bei Problemen (wenn ein Element als null oder undefined behandelt wird) wird „undefined“ ausgegeben.
  • In JavaScript wurde ein neuer logischer Operator zur Vereinheitlichung eingeführt „??„, der den rechten Operand zurückgibt, wenn der linke Operand den Wert NULL oder undefined hat, und umgekehrt. Zum Beispiel gibt „const foo = bar ?? ‘default string'“ die Zeichenfolge oder den Wert von bar zurück, wenn bar null ist, andernfalls den Wert von bar, auch wenn bar gleich 0 und „“ ist, im Gegensatz zum Operator „||“.
  • Im Origin Trials-Modus (experimentelle Funktionen, die eine separate Aktivierung erfordern)) wird die API für die Inhaltsindizierung angeboten. Die Origin Trial ermöglicht die Nutzung dieser API aus Anwendungen, die von localhost oder 127.0.0.1 geladen werden, oder nach erfolgreicher Registrierung und Erhalt eines speziellen Tokens, das zeitlich begrenzt für eine bestimmte Website gültig ist. API Inhaltsindizierung, liefert Metadaten zu Inhalten, die zuvor von Webanwendungen, die im Modus der Progressiven Webanwendungen (PWS) arbeiten, zwischengespeichert wurden. Die Anwendung kann verschiedene Daten, einschließlich Bilder, Videos und Artikel, im Browser speichern und diese bei Verlust der Netzwerkverbindung mithilfe der API Cache Storage und IndexedDB nutzen. Die Inhaltsindizierungs-API bietet die Möglichkeit, solche Ressourcen hinzuzufügen, zu finden und zu löschen. Diese API wird im Browser bereits verwendet, um eine Liste der Seiten und Multimedia-Daten aufzulisten, die offline verfügbar sind.

    Release von Chrome 80
  • Stabilisiert und nun außerhalb der Origin Trials verbreitet wird die Programmierschnittstelle Kontaktnehmer, der es dem Benutzer ermöglicht, Einträge aus dem Adressbuch auszuwählen und bestimmte Details darüber an die Website zu übermitteln. Bei der Anfrage wird die Liste der Eigenschaften bestimmt, die abgerufen werden sollen. Diese Eigenschaften werden dem Benutzer klar angezeigt, der dann entscheidet, ob er diese Eigenschaften übermitteln möchte oder nicht. Die API kann beispielsweise in einem webbasierten E-Mail-Client verwendet werden, um Empfänger für eine gesendete E-Mail auszuwählen, in einer Webanwendung mit VoIP-Funktion, um einen Anruf zu einer bestimmten Nummer zu initiieren, oder in einem sozialen Netzwerk, um bereits registrierte Freunde zu finden. Im Rahmen der Origin Trials wurden einige neue Eigenschaften des Contact Pickers vorgeschlagen: Neben den zuvor verfügbaren Angaben wie vollständigem Namen, E-Mail und Telefonnummer wurde die Möglichkeit hinzugefügt, eine Postanschrift und ein Bild zu übermitteln.
  • In Web Workers wurde angeboten Eine neue Methode zum Laden von ECMAScript-Modulen, die die Verwendung der Funktion importScripts() überflüssig macht. Diese Funktion blockiert den Worker während der Verarbeitung des importierten Skripts und führt es im globalen Kontext aus. Die neue Methode ermöglicht die Erstellung spezieller Module für Web Worker, die die standardisierten Importmechanismen von JavaScript unterstützen und dynamisch geladen werden können, ohne die Ausführung des Workers zu blockieren. Für das Laden von Modulen im Worker-Konstruktor wird ein neuer Ressourcentyp - 'module' - bereitgestellt.

    const worker = new Worker('worker.js', {
    type: 'module'
    });

  • Unterstützung für das parallele Bauen von Paketen auf Mehrkernsystemen wurde implementiert. Die Anzahl der Threads kann über das Makro „%_smp_build_ncpus“ und die Variable $RPM_BUILD_NCPUS festgelegt werden. Zur Bestimmung der Anzahl der CPUs wurde das Makro „%getncpus“ vorgeschlagen; eine eingebaute Möglichkeit zur Verarbeitung von komprimierten Streams in JavaScript, die keine externen Bibliotheken benötigt. Zum Komprimieren und Dekomprimieren wurden die APIs CompressionStream und DecompressionStreamhinzugefügt. Es wird die Komprimierung mit den Algorithmen gzip und deflate unterstützt.

    const compressionReadableStream
    = inputReadableStream.pipeThrough(new CompressionStream('gzip'));

  • Eine neue CSS-Eigenschaft "line-break: anywhere" wurde hinzugefügt, die Zeilenumbrüche auf der Ebene jedes typografischen Zeichens zulässt, einschließlich Umbrachen neben Satzzeichen, vordefinierten Leerzeichen (
    ) und in der Mitte von Wörtern. Außerdem wurde die CSS-Eigenschaft "overflow-wrap: anywhere» ermöglicht das Brechen untrennbarer Zeichenfolgen an beliebigen Stellen, wenn in der Zeichenkette keine geeignete Position für den Bruch gefunden werden konnte. 
  • Für medialen Inhalt, der verschlüsselt verarbeitet wird, wurde die Unterstützung der Methode MediaCapabilities.decodingInfo()implementiert, die Informationen über die Browsing-Fähigkeiten zur Dekodierung geschützer Inhalte bereitstellt (zum Beispiel kann die angegebene Methode verwendet werden, um Szenarien hoher Qualität oder energieeffiziente Dekodierungsarten basierend auf verfügbarer Bandbreite und Bildschirmgröße auszuwählen).
  • Es wurde die Methode HTMLVideoElement.getVideoPlaybackQuality(), über die Informationen zur Video-Wiedergabewürdigkeit abgerufen werden können, um die Bitrate, Auflösung und andere Videoparameter anzupassen.
  • Im API Payment Handler, das die Integration mit bestehenden Zahlungssystemen erleichtert, wurde die Möglichkeit hinzugefügt Delegierung die Adresse und Kontaktdaten an einen externen Zahlungsdienstleister zu übermitteln (die Zahlungssystemanwendung kann über genauere Informationen verfügen als der Browser).
  • Es wurde Unterstützung für den HTTP-Header Sec-Fetch-Dest, das das Senden zusätzlicher Metadaten über den Typ des mit der Anfrage verbundenen Inhalts ermöglicht (zum Beispiel wird für eine Anfrage über das img-Tag der Typ „image“, für Schriftarten „font“, für Skripte „script“, für Stile „style“ usw. angegeben). Auf Basis des angegebenen Typs kann der Server Maßnahmen ergreifen, um gegen einige Arten von Angriffen zu schützen (zum Beispiel ist es unwahrscheinlich, dass ein Handler für Geldtransfers über ein img-Tag aufgerufen wird, weshalb solche Anfragen nicht bearbeitet werden müssen).
  • Im JavaScript-Engine V8 wurde eine Optimierung der Speicherung von Zeigern im Heap durchgeführt. Anstelle des vollständigen 64-Bit-Werts wird nur der einzigartige untere Teil des Zeigers gespeichert. Eine solche Optimierung hat den Speicherverbrauch im Heap um 40 % reduziert, wobei die Leistung um 3-8 % gesenkt wurde.
    Release von Chrome 80

    Release von Chrome 80
  • Änderungen in den Entwicklertools:
    • In der Web-Konsole gibt es die Möglichkeit, die Ausdrücke let und class zu überschreiben.

      Release von Chrome 80
    • Die Debugging-Tools für WebAssembly wurden verbessert. Unterstützung für DWARF wurde hinzugefügt für schrittweises Debugging, das Setzen von Haltepunkten und die Analyse von Stack-Traces im Quellcode, auf dem die WebAssembly-Anwendung geschrieben ist.

      Release von Chrome 80
    • Das Dashboard zur Analyse der Netzwerkanalyse wurde verbessert. Es wurde die Möglichkeit hinzugefügt, die Call-Chain von Skripten zu sehen, die mit der Anfrageinitiierung verbunden sind.

      Release von Chrome 80

      Neue Spalten für Pfad und URL wurden hinzugefügt, die den absoluten Pfad und die vollständige URL für jede Netzwerkressource anzeigen. Die Auswahl der angeforderten Abfrage wurde im Überblicksdiagramm hervorgehoben.

      Release von Chrome 80
    • Im Tab Netzwerkanforderungen wurde eine Option zur Änderung des User-Agent-Parameters hinzugefügt.

      Release von Chrome 80
    • Eine neue Benutzeroberfläche zur Konfiguration des Audit-Dashboards wurde vorgeschlagen.
      Release von Chrome 80
    • Im Tab Coverage es wurde die Auswahl der Erfassung von Coverage-Daten für jede Funktion oder jeden Codeblock bereitgestellt (ausführlichere Statistiken, benötigen jedoch mehr Ressourcen).

      Release von Chrome 80
  • Die Funktion des AppCache-Manifests (eine Technologie zur Organisation des Betriebs von Webanwendungen im Offline-Modus) wurde eingeschränkt auf das aktuelle Verzeichnis der Website (wenn das Manifest von www.example.com/foo/bar/ geladen wurde, wird die Möglichkeit zur Überschreibung der URL nur innerhalb von /foo/bar/ gelten). Die Unterstützung für AppCache soll in Chrome 82 vollständig entfernt werden. Als Grund wird das Bestreben genannt, eine der Möglichkeiten zur Durchführung von Angriffen im Zusammenhang mit Cross-Site-Scripting zu beseitigen. Statt AppCache wird empfohlen, das API Cache.
  • Eingestellt Unterstützung für die veraltete WebVR 1.1 API, die durch die API ersetzt werden kann WebXR-Gerät, das den Zugriff auf Komponenten ermöglicht, um virtuelle und erweiterte Realität zu erstellen und die Arbeit mit verschiedenen Gerätetypen, von stationären Virtual-Reality-Headsets bis hin zu mobilen Lösungen, zu vereinheitlichen.
  • Protokollhandler, die über die Methoden registerProtocolHandler() und unregisterProtocolHandler() angebunden werden, können jetzt nur noch in einem sicheren Kontext (bei Zugriff über HTTPS) arbeiten.

Neben Neuerungen und Fehlerbehebungen wurden in der neuen Version 56 Sicherheitsanfälligkeiten. Viele dieser Sicherheitsanfälligkeiten wurden durch automatisierte Tests mit Tools wie AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer und AFL. Kritische Probleme, die es ermöglichen, alle Sicherheitsebenen des Browsers zu umgehen und Code im System außerhalb der Sandbox-Umgebung auszuführen, wurden nicht festgestellt. Im Rahmen des Bug-Bounty-Programms für die aktuelle Version hat Google insgesamt 37 Auszeichnungen in Höhe von 48.000 US-Dollar vergeben (eine Auszeichnung von 10.000 US-Dollar, drei Auszeichnungen von 5.000 US-Dollar, drei Auszeichnungen von 3.000 US-Dollar, vier Auszeichnungen von 2.000 US-Dollar, drei Auszeichnungen von 1.000 US-Dollar und sechs Auszeichnungen von 500 US-Dollar). Die Höhe von 17 Auszeichnungen wurde noch nicht festgelegt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster