Chrome-Version 80

Google präsentiert Webbrowser-Version Chrome 80. Gleichzeitig ist verfügbar stabile Veröffentlichung eines kostenlosen Projekts Chrom, die die Basis von Chrome ist. Chrome-Browser anders die Verwendung von Google-Logos, das Vorhandensein eines Systems zum Versenden von Benachrichtigungen im Falle eines Absturzes, die Möglichkeit, auf Anfrage ein Flash-Modul herunterzuladen, Module zum Abspielen geschützter Videoinhalte (DRM), ein System zur automatischen Installation von Updates und Übertragung während der Suche RLZ-Parameter. Die nächste Veröffentlichung von Chrome 81 ist für den 17. März geplant.

Haupt- Veränderungen в Chrome 80:

  • Für einen kleinen Prozentsatz der Nutzer wird eine Tab-Gruppierungsfunktion angeboten, die es ermöglicht, mehrere Tabs mit ähnlichen Zwecken zu optisch getrennten Gruppen zusammenzufassen. Jeder Gruppe kann eine eigene Farbe und ein eigener Name zugewiesen werden. Benutzer, die nicht in der ersten Aktivierungswelle enthalten waren, können die Gruppierungsunterstützung über die Option „chrome://flags/#tab-groups“ aktivieren.

    Chrome-Version 80

  • Unterstützung für diese Funktion hinzugefügt Zum Text scrollen, mit dem Sie Links zu einzelnen Wörtern oder Phrasen erstellen können, ohne explizit Labels im Dokument mithilfe des „a name“-Tags oder der „id“-Eigenschaft anzugeben. Es ist geplant, die Syntax solcher Links als Webstandard zu verabschieden, was sich noch in der Phase befindet Entwurf. Die Übergangsmaske (im Wesentlichen eine scrollende Suche) ist durch das Attribut „:~:“ vom regulären Anker getrennt. Wenn Sie beispielsweise den Link „https://opennet.ru/52312/#:~:text=Chrome“ öffnen, wird die Seite an die Position verschoben, an der das Wort „Chrome“ zum ersten Mal erwähnt wird, und dieses Wort wird hervorgehoben .
  • Angewandt Eine strengere Beschränkung der Übertragung von Cookies zwischen Websites für Nicht-HTTPS-Anfragen, wodurch die Verarbeitung von Cookies Dritter verboten wird, die beim Zugriff auf andere Websites als die Domäne der aktuellen Seite gesetzt werden. Solche Cookies werden verwendet, um Benutzerbewegungen zwischen Websites im Code von Werbenetzwerken, Widgets für soziale Netzwerke und Webanalysesystemen zu verfolgen. Denken Sie daran, dass zur Steuerung der Übertragung von Cookies das im Set-Cookie-Header angegebene SameSite-Attribut verwendet wird, das jetzt standardmäßig auf den Wert „SameSite=Lax“ gesetzt ist, wodurch das Senden von Cookies für standortübergreifende Unteranfragen eingeschränkt wird B. eine Bildanfrage oder das Laden von Inhalten über einen Iframe von einer anderen Website. Websites können das Standardverhalten von SameSite außer Kraft setzen, indem sie die Cookie-Einstellung explizit auf SameSite=None setzen. Allerdings kann der Wert SameSite=None für Cookie nur im Secure-Modus gesetzt werden (gültig für Verbindungen über HTTPS). Der Wandel wird stufenweise beginnen anwenden 17. Februar, zunächst für einen kleinen Prozentsatz der Nutzer, dann schrittweise Ausweitung der Abdeckung.
  • Hinzugefügt von Schutz vor lästigen Benachrichtigungen im Zusammenhang mit der Bestätigung von Anmeldeinformationen. Da Aktivitäten wie das Versenden von Push-Benachrichtigungsanfragen als Spam das Benutzererlebnis unterbrechen und die Aufmerksamkeit von Bestätigungsdialogen ablenken, kann in Chrome 80 anstelle eines separaten Dialogs jetzt ein informativer Tooltip in der Adressleiste angezeigt werden, der darauf hinweist, dass die Berechtigungsanfrage blockiert wurde es zerfällt zu einem Indikator mit dem Bild einer durchgestrichenen Glocke. Durch Klicken auf den Indikator können Sie die angeforderte Erlaubnis jederzeit aktivieren oder ablehnen. Der neue Modus wird automatisch selektiv für Benutzer aktiviert, die solche Anfragen bisher normalerweise blockiert haben, sowie für Websites, die einen hohen Prozentsatz abgelehnter Anfragen verzeichnen. Um den neuen Modus für alle Anfragen zu aktivieren, wurde den Einstellungen eine spezielle Option hinzugefügt (chrome://flags/#quiet-notification-prompts).

    Chrome-Version 80

  • Verboten Anzeigen von Popup-Fenstern (Aufrufen der Methode window.open()) und Senden synchroner XMLHttpRequests in Ereignishandlern zum Schließen oder Ausblenden von Seiten (Unload, Beforeunload, Pagehide und VisibilityChange);
  • Vorgeschlagene Initiale Sicherheit vom Laden gemischter Multimedia-Inhalte (wenn Ressourcen über das http://-Protokoll auf eine HTTPS-Seite geladen werden). Auf über HTTPS geöffneten Seiten werden „http://“-Links in Blöcken, die mit der Wiedergabe von Audio- und Videodateien verknüpft sind, nun automatisch durch „https://“ ersetzt. Wenn eine Audio- oder Videoressource nicht über https verfügbar ist, wird ihr Download blockiert (Sie können die Blockierung manuell über das Menü markieren, das über das Vorhängeschloss-Symbol in der Adressleiste zugänglich ist).

    Bilder werden weiterhin unverändert geladen (Autokorrektur wird in Chrome 81 angewendet), aber um sie durch https zu ersetzen oder Bilder zu blockieren, stehen Website-Entwicklern die CSP-Eigenschaften upgrade-insecure-requests und block-all-mixed-content zur Verfügung. Für Skripte und Iframes wurde die Blockierung gemischter Inhalte bereits zuvor implementiert.

  • Ein schrittweises abschalten FTP-Unterstützung. Standardmäßig ist die FTP-Unterstützung weiterhin verfügbar, wird dies jedoch tun ausgetragen ein Experiment, bei dem die FTP-Unterstützung für einen bestimmten Prozentsatz der Benutzer deaktiviert wird (um zurückzukehren, müssen Sie den Browser mit der Option „-enable-ftp“ starten). Erinnern wir uns daran, dass in früheren Versionen die Anzeige des Inhalts von Ressourcen, die über das Protokoll „ftp://“ heruntergeladen wurden, im Browserfenster bereits deaktiviert war (z. B. wurde die Anzeige von HTML-Dokumenten und README-Dateien gestoppt), die Verwendung von FTP jedoch nicht beim Herunterladen von Unterressourcen aus Dokumenten verboten und die Proxy-Unterstützung für FTP wurde eingestellt. Es war jedoch weiterhin möglich, Dateien über direkte Links herunterzuladen und den Inhalt von Verzeichnissen anzuzeigen.
  • Hinzugefügt von
    die Möglichkeit, Vektor-SVG-Bilder als Site-Symbol (Favicon) zu verwenden.

  • Den Einstellungen wurde die Möglichkeit hinzugefügt, bestimmte Arten von Daten, die während der Synchronisierung zwischen Browsern übertragen werden, selektiv zu deaktivieren.
  • Für zentral verwaltete Unternehmensbenutzer wurde eine Regel hinzugefügt BlockExternalExtensions, wodurch Sie die Installation externer Add-Ons auf dem Gerät verhindern können.
  • Umgesetzt Gelegenheit eine einmalige Überprüfung der gesamten Kette von Eigenschaften oder Aufrufen in JavaScript. Beispielsweise war es bisher beim Zugriff auf „db.user.name.length“ erforderlich, die Definition aller Komponenten Schritt für Schritt zu überprüfen, beispielsweise durch „if (db && db.user && db.user.name)“. Verwenden Sie nun die Operation „?“. Auf den Wert „db?.user?.name?.length“ können Sie ohne Vorprüfungen zugreifen und ein solcher Zugriff führt nicht zu einem Fehler. Bei Problemen (wenn ein Element als null oder undefiniert verarbeitet wird) wird die Ausgabe „undefiniert“ sein.
  • JavaScript führt einen neuen logischen Verkettungsoperator ein „??", der den rechten Operanden zurückgibt, wenn der linke Operand NULL oder undefiniert ist, und umgekehrt. Beispiel: „const foo = bar ?? 'Standardzeichenfolge'“, wenn bar null ist, gibt andernfalls den Wert von bar zurück, auch wenn bar 0 und „ “ ist, im Gegensatz zum „||“-Operator.
  • Im Origin Trials-Modus (experimentelle Funktionen, die separat benötigt werden Aktivierung) vorgeschlagene API zur Inhaltsindizierung. Die Origin-Testversion impliziert die Möglichkeit, mit der angegebenen API aus Anwendungen zu arbeiten, die von localhost oder 127.0.0.1 heruntergeladen wurden, oder nach der Registrierung und dem Erhalt eines speziellen Tokens, das für eine begrenzte Zeit für eine bestimmte Site gültig ist. API Inhaltsindizierungstellt Metadaten zu Inhalten bereit, die zuvor von Webanwendungen zwischengespeichert wurden, die im PWS-Modus (Progressive Web Apps) ausgeführt wurden. Die Anwendung kann verschiedene Daten auf der Browserseite speichern, darunter Bilder, Videos und Artikel, und sie bei Verlust der Netzwerkverbindung über die APIs Cache Storage und IndexedDB verwenden. Die Content Indexing API ermöglicht das Hinzufügen, Suchen und Löschen solcher Ressourcen. Im Browser wird diese API bereits verwendet, um eine Liste der Seiten und Multimediadaten aufzulisten, die für die Offline-Anzeige verfügbar sind.

    Chrome-Version 80

  • Stabilisiert und jetzt außerhalb der Origin Trials API verteilt Kontaktieren Sie Picker, wodurch der Benutzer Einträge aus dem Adressbuch auswählen und bestimmte Details darüber an die Site übermitteln kann. Die Anforderung gibt eine Liste der Eigenschaften an, die abgerufen werden müssen. Diese Eigenschaften werden dem Benutzer explizit angezeigt, der entscheidet, ob er diese Eigenschaften weitergibt oder nicht. Die API kann beispielsweise in einem Webmail-Client zur Auswahl von Empfängern für einen versendeten Brief, in einer Webanwendung mit VoIP-Funktion zum Einleiten eines Anrufs an eine bestimmte Nummer oder in einem sozialen Netzwerk zur Suche nach bereits registrierten Freunden verwendet werden . Gleichzeitig werden im Rahmen der Origin-Testversionen einige neue Contact Picker-Eigenschaften angeboten: Zusätzlich zum bisher verfügbaren vollständigen Namen, der E-Mail-Adresse und der Telefonnummer wurde die Möglichkeit hinzugefügt, eine E-Mail-Adresse und ein Bild zu übertragen.
  • In Web Workers vorgeschlagen eine neue Möglichkeit, ECMAScript-Module zu laden, sodass Sie die Verwendung der Funktion importScripts() vermeiden können, die den Worker während der Verarbeitung des importierten Skripts blockiert und es im globalen Kontext ausführt. Die neue Methode beinhaltet die Erstellung spezieller Module für Web Worker, die Standard-JavaScript-Importmechanismen unterstützen und dynamisch geladen werden können, ohne die Worker-Ausführung zu blockieren. Um Module zu laden, stellt der Worker-Konstruktor einen neuen Ressourcentyp bereit – „Module“:

    const worker = new Worker('worker.js', {
    Typ: 'Modul'
    });

  • Umgesetzt Die in JavaScript integrierte Fähigkeit, komprimierte Streams zu verarbeiten, ohne dass externe Bibliotheken verwendet werden müssen. Für die Komprimierung und Dekomprimierung wurden APIs hinzugefügt CompressionStream und DecompressionStream. Die Komprimierung mit den Algorithmen gzip und deflate wird unterstützt.

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

  • CSS-Eigenschaft hinzugefügt „Zeilenumbruch: irgendwo", das Umbrüche auf der Ebene jedes typografischen Zeichens ermöglicht, einschließlich Umbrüche in der Nähe von durch Leerzeichen vordefinierten Satzzeichen ( ) und mitten in Wörtern. Außerdem wurde die CSS-Eigenschaft „ hinzugefügt.Überlaufverpackung: überall» ermöglicht es Ihnen, ununterbrochene Zeichenfolgen an einer beliebigen Stelle zu unterbrechen, wenn in der Zeile keine geeignete Position für den Umbruch gefunden werden konnte.
  • Für verschlüsselt verarbeiteten Medienkontext wurde eine Unterstützung für die Methode implementiert MediaCapabilities.decodingInfo(), das Informationen über die Fähigkeiten des Browsers zum Dekodieren geschützter Inhalte bereitstellt (mit dieser Methode können beispielsweise hochwertige oder energieeffiziente Dekodierungsszenarien basierend auf der verfügbaren Bandbreite und Bildschirmgröße ausgewählt werden).
  • Methode hinzugefügt HTMLVideoElement.getVideoPlaybackQuality(), über die Sie Informationen zur Videowiedergabeleistung erhalten, um Bitrate, Auflösung und andere Videoparameter anzupassen.
  • In der API Zahlungsabwicklung, das die Integration in bestehende Zahlungssysteme vereinfacht, fügte die Möglichkeit hinzu Delegation Verarbeitung von Adress- und Kontaktinformationen an einen externen Prozessor des Zahlungssystems (die Zahlungssystemanwendung verfügt möglicherweise über genauere Informationen als der Browser).
  • Unterstützung für HTTP-Header hinzugefügt Sec-Fetch-Dest, wodurch Sie zusätzliche Metadaten über die Art des mit der Anfrage verbundenen Inhalts senden können (z. B. ist bei einer Anfrage über das img-Tag der Typ „Bild“, für Schriftarten „Schriftart“, für Skripte „Skript“). für Stile - „Stil“ usw. ). Basierend auf dem angegebenen Typ kann der Server Maßnahmen zum Schutz vor bestimmten Arten von Angriffen ergreifen (z. B. ist es unwahrscheinlich, dass ein Link zu einem Handler für eine Geldüberweisung über ein img-Tag angegeben wird, sodass solche Anfragen nicht erforderlich sind). wird verarbeitet).
  • In der JavaScript-Engine V8 Optimierung durchgeführt Speichern von Zeigern auf dem Heap. Anstatt den vollständigen 64-Bit-Wert zu speichern, werden nur die eindeutigen unteren Bits des Zeigers gespeichert. Diese Optimierung ermöglichte eine Reduzierung des Heap-Speicherverbrauchs um 40 %, allerdings auf Kosten einer Leistungseinbuße von 3–8 %.
    Chrome-Version 80

    Chrome-Version 80

  • Änderungen in Tools für Webentwickler:
    • Die Webkonsole bietet jetzt die Möglichkeit, Let- und Klassenausdrücke neu zu definieren.

      Chrome-Version 80

    • Verbesserte WebAssembly-Debugging-Tools. Unterstützung hinzugefügt ZWERG zum schrittweisen Debuggen, Festlegen von Haltepunkten und Analysieren von Stack-Traces im Quellcode, in dem eine WebAssembly-Anwendung geschrieben ist.

      Chrome-Version 80

    • Verbessertes Panel zur Analyse der Netzwerkaktivität. Es wurde die Möglichkeit hinzugefügt, die Aufrufkette von Skripts anzuzeigen, die mit der Anforderungsinitiierung verbunden sind.

      Chrome-Version 80

      Neue Pfad- und URL-Spalten hinzugefügt, die den absoluten Pfad und die vollständige URL für jede Netzwerkressource anzeigen. Stellt sicher, dass die ausgewählte Abfrage im Übersichtsdiagramm hervorgehoben wird.

      Chrome-Version 80

    • Auf der Registerkarte „Netzwerkbedingungen“ wurde eine Option zum Ändern des User-Agent-Parameters hinzugefügt.

      Chrome-Version 80

    • Für die Konfiguration des Audit-Panels wurde eine neue Schnittstelle vorgeschlagen.
      Chrome-Version 80

    • Der Reiter Abdeckung bot die Möglichkeit, Abdeckungsdaten für jede Funktion oder für jeden Codeblock zu sammeln (detailliertere Statistiken, erfordert aber mehr Ressourcen).

      Chrome-Version 80

  • AppCache-Manifestaktion (Technologie zum Organisieren des Betriebs einer Webanwendung im Offline-Modus) begrenzt das aktuelle Verzeichnis der Site (wenn das Manifest von www.example.com/foo/bar/ heruntergeladen wurde, funktioniert die Möglichkeit zum Überschreiben der URL nur innerhalb von /foo/bar/). Die AppCache-Unterstützung soll in Chrome 82 vollständig entfernt werden. Als Grund wird der Wunsch genannt, einen der Vektoren für Cross-Site-Scripting-Angriffe loszuwerden. Es wird empfohlen, API anstelle von AppCache zu verwenden Cache-Speicher.
  • Abgesetzt Unterstützung für die alte WebVR 1.1-API, die durch die API ersetzt werden kann WebXR-Gerät, mit dem Sie auf Komponenten zur Erstellung virtueller und erweiterter Realität zugreifen und die Arbeit mit verschiedenen Geräteklassen vereinheitlichen können, von stationären Virtual-Reality-Helmen bis hin zu Lösungen auf Basis mobiler Geräte.
  • Protokollhandler, die über die Methoden registerProtocolHandler() und unregisterProtocolHandler() verbunden sind, können jetzt nur noch in einem sicheren Kontext arbeiten (bei Zugriff über HTTPS).

Neben Neuerungen und Fehlerbehebungen enthält die neue Version auch Beseitigungen 56 Schwachstellen. Viele der Schwachstellen wurden durch automatisierte Testtools identifiziert AddressSanitizer, MemorySanitizer, Kontrollflussintegrität, LibFuzzer и AFL. Es wurden keine kritischen Probleme identifiziert, die es ermöglichen würden, alle Ebenen des Browserschutzes zu umgehen und Code auf dem System außerhalb der Sandbox-Umgebung auszuführen. Im Rahmen des Programms zur Auszahlung von Geldprämien für die Entdeckung von Schwachstellen in der aktuellen Version zahlte Google 37 Auszeichnungen im Wert von 48 US-Dollar aus (eine Auszeichnung in Höhe von 10000 US-Dollar, drei Auszeichnungen in Höhe von 5000 US-Dollar, drei Auszeichnungen in Höhe von 3000 US-Dollar, vier Auszeichnungen in Höhe von 2000 US-Dollar, drei Auszeichnungen in Höhe von 1000 US-Dollar und sechs Auszeichnungen in Höhe von 500 US-Dollar). Die Höhe von 17 Belohnungen steht noch nicht fest.

Source: opennet.ru

Kommentar hinzufügen