Das Unternehmen Google Release des Web-Browsers . Gleichzeitig stabile Ausgabe des Open-Source-Projekts , das die Grundlage von Chrome bildet. Der Browser Chrome durch die Verwendung von Google-Logos, das Vorhandensein eines Systems zur Benachrichtigung bei Abstürzen, die Möglichkeit, Flash-Inhalte auf Anfrage zu laden, Module zur Wiedergabe von geschützten Videoinhalten (DRM), ein automatisches Aktualisierungssystem und der Übertragung bei der Suche Die nächste Version von Chrome 86 ist für den 6. Oktober geplant.
:
- die Möglichkeit, Tab-Gruppen zu minimieren. Tabs können über das Kontextmenü zu Gruppen zusammengefasst werden und können mit einer bestimmten Farbe und einem Label verknüpft werden. Ein Klick auf das Label der Gruppe blendet nun die zugehörigen Tabs aus, sodass nur das Label sichtbar bleibt. Ein erneuter Klick auf das Label hebt die Ausblendung auf.
- Die Vorschau des Inhalts von Tabs wurde implementiert. Wenn der Mauszeiger über die Schaltfläche eines Tabs fährt, wird nun eine Miniaturansicht der Seite in diesem Tab angezeigt. Diese Funktion ist noch nicht für alle Benutzer aktiviert und kann über die Einstellung „chrome://flags/#tab-hover-cards“ aktiviert werden.
- Es wurde die Möglichkeit hinzugefügt, bearbeitete PDF-Formulare zu speichern, sowie die Einstellungen „chrome://flags#pdf-viewer-update“ und „chrome://flags/#pdf-two-up-view“ für Experimente mit der Anzeige von PDF-Dokumenten.
- Die Möglichkeit zur Linkfreigabe mittels QR-Codes wurde hinzugefügt. Um einen QR-Code für die aktuelle Seite zu generieren, wird ein speziisches Symbol in die Adresszeile eingefügt, das beim Klicken auf die Adresszeile erscheint. Diese Funktion ist noch nicht für alle Benutzer aktiviert und kann über die Einstellung „chrome://flags/#sharing-qr-code-generator“ aktiviert werden.
- Auf der Seite about:flags wurde die Option „Omnibox UI Hide Steady-State URL Path, Query, and Ref“ („chrome://flags#omnibox-ui-hide-steady-state-url-path-query-and-ref-on-interaction“) hinzugefügt, um die Anzeige von Pfadelementen und Abfrageparametern in der Adresszeile zu deaktivieren, sodass nur die Domain der Website sichtbar bleibt. Das Ausblenden erfolgt zu Beginn der Interaktion mit der Seite (während des Ladevorgangs und solange der Benutzer nicht begonnen hat zu scrollen, wird die vollständige URL angezeigt). Nach dem Ausblenden wird angeboten, auf die Adresszeile zu klicken, um die vollständige URL anzuzeigen. Außerdem steht die Option „chrome://flags#omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-hover“ zur Verfügung, um die vollständige URL beim Überfahren mit der Maus anzuzeigen. Die im Kontextmenü verfügbare Einstellung „URL vollständig anzeigen“ hebt das Ausblenden von „https://“, „www.“, Pfaden und Parametern auf. Standardmäßig ist das Ausblenden derzeit nur für einen kleinen Prozentsatz der Benutzer aktiviert. Als Motivation für diese Änderung wird der Wunsch angegeben, die Benutzer vor Phishing zu schützen, das Parameter in der URL manipuliert.
- Im Tabletmodus für Geräte mit Touchscreens ist die horizontale Navigation durch geöffnete Tabs aktiviert, bei der neben den Titeln der Tabs große Miniaturen der mit den Tabs verbundenen Seiten angezeigt werden. Die Tabs können durch Touch-Gesten verschoben und neu gruppiert werden. Die Anzeige der Miniaturen kann mit einem speziellen Button ein- und ausgeschaltet werden, der neben der Adressleiste und dem Benutzeravatar platziert ist. Um den Modus zu deaktivieren, stehen die Einstellungen „chrome://flags/#webui-tab-strip“ und „chrome://flags/#scrollable-tabstrip“ zur Verfügung.
- In der Android-Version wird beim Eingeben in die Adresszeile in der Liste der vorgeschlagenen Seiten ein Hinweis zur schnellen Navigation zu bereits geöffneten Tabs angezeigt.
- In der Android-Version wird im Kontextmenü von Links, das beim langen Drücken auf einen Link erscheint, ein Tag zur Kennzeichnung schneller Seiten hinzugefügt. Die Geschwindigkeit wird basierend auf Metriken bestimmt, , die zusammenfassende Kennzahlen zur Ladezeit, Reaktionsfähigkeit und Stabilität des Inhalts berücksichtigen.
- Das Blockieren wurde sichergestellt (ohne Verschlüsselung) von ausführbaren Dateien und die Ausgabe von Warnungen bei unsicherem Herunterladen von Archiven (zip, iso usw.) hinzugefügt. In der nächsten Version wird die Blockierung von Archiven und die Ausgabe einer Warnung für Dokumente (docx, pdf usw.) erwartet. In Zukunft ist geplant, die Unterstützung für das Herunterladen von Dateien ohne Verschlüsselung schrittweise vollständig einzustellen. Die Blockierung wurde implementiert, da das Herunterladen von Dateien ohne Verschlüsselung für schädliche Aktionen durch Inhaltsersetzung während MITM-Angriffen verwendet werden kann.
- Die Unterstützung des Bildformats AVIF (AV1 Image Format) ist standardmäßig aktiviert, wobei Technologien zur intrabildlichen Kompression aus dem Videocodierungsformat AV1 verwendet werden. Der Container für die Verbreitung der komprimierten Daten in AVIF ist vollständig analog zu HEIF. AVIF unterstützt sowohl Bilder in HDR (High Dynamic Range) und im Farbraum Wide-gamut als auch im Standard-Dynamikbereich (SDR).
- Bei der Kompilierung von Builds für Windows und macOS wird beim Aufruf der Compiler MSVC und Clang standardmäßig unterstützt. Optimierung basierend auf den Ergebnissen der Code-Profilierung (PGO – Profile-guided optimization), die es ermöglicht, optimierteren Code basierend auf der Analyse der Ausführungsmerkmale des Programms zu generieren. Die Aktivierung von PGO hat es ermöglicht, die Ladezeiten von Tabs um etwa 10 % zu beschleunigen (eine Beschleunigung der Speedometer 2.0-Bewertung unter macOS um 7,7 % und unter Windows um 11,4 %). Die Reaktionsfähigkeit der Benutzeroberfläche hat sich unter macOS um 3,9 % und unter Windows um 7,3 % erhöht.
- Ein experimenteller Modus zur Reduzierung der Aktivität von Hintergrund-Tabs („Tab Throttling“) wurde hinzugefügt, der über die Einstellung „chrome://flags##intensive-wake-up-throttling“ erreichbar ist (eine Standardaktivierung wird in Chrome 86 erwartet). Bei Aktivierung des Modus wird die Übergabe an Hintergrund-Tabs (TaskQueues) auf 1 Aufruf pro Minute verringert, wenn die Seite länger als 5 Minuten im Hintergrund ist.
- Für alle Benutzerkategorien wurde ein Modus zur Reduzierung des CPU-Ressourcenverbrauchs aktiviert, wenn das Browserfenster nicht im Sichtfeld des Benutzers ist. Chrome überprüft, ob das Browserfenster von anderen Fenstern überlappt wird, und schließt das Rendern von Pixeln in den überlappten Bereichen aus.
- der Schutz gegen das Laden gemischter Multimedia-Inhalte (wenn auf einer HTTPS-Seite Ressourcen über das Protokoll http:// geladen werden). Auf Seiten, die über HTTPS geöffnet werden, erfolgt eine automatische Umwandlung von Links von „http://“ in „https://“ in Bereichen, die mit dem Laden von Bildern verbunden sind (zuvor wurden Skripte, iframes, Audio- und Videodateien umgewandelt). Wenn ein Bild nicht über https verfügbar ist, wird dessen Laden blockiert (manuell kann die Blockierung über das Menü, das über das Schloss-Symbol in der Adresszeile zugänglich ist, angekreuzt werden).
- Für TLS-Zertifikate, die ab dem 1. September 2020 ausgestellt wurden, gelten neue Beschränkungen für die Gültigkeitsdauer – die Lebensdauer dieser Zertifikate darf 398 Tage (13 Monate) nicht überschreiten. Ähnliche Einschränkungen gelten in Firefox und Safari. Für Zertifikate, die vor dem 1. September erhalten wurden, bleibt das Vertrauen erhalten, ist jedoch auf 825 Tage (2,2 Jahre) beschränkt.
- Im Modus der Origin Trials (experimentelle Funktionen, die eine separate Aktivierung erfordern) wurden mehrere neue APIs hinzugefügt. Origin Trial bedeutet die Möglichkeit, mit der angegebenen API aus Anwendungen zu arbeiten, die von localhost oder 127.0.0.1 geladen werden, oder nach erfolgreicher Registrierung und Erhalt eines speziellen Tokens, der für eine begrenzte Zeit für eine bestimmte Website gültig ist.
- Konzept Um nahtlose Navigation zwischen Websites zu gewährleisten und eine Seite in eine andere einzufügen, um Inhalte vor dem Wechsel anzuzeigen, wurde das neue Tag vorgeschlagen. Es ermöglicht die Darstellung einer anderen Seite als Einbettung, wobei beim Fokussieren auf diese Seite die eingebettete Seite in den Zustand des Hauptdokuments umgewandelt wird, in dem Navigation erlaubt ist. Im Gegensatz zu iframes ist die Einbettung vollständig isoliert von der Basis-Seite und wird als eigenständiges Dokument behandelt.
- API , das fetch-Anfragen mit dem Laden von Inhalten in Form von Streams ermöglicht (früher verlangte die Anfrage die vollständige Fertigstellung des Inhalts, jetzt können Daten in Form von Streams gesendet werden, ohne auf die vollständige Bereitstellung des Anfragekörpers zu warten). Beispielsweise kann eine Webanwendung beginnen, Daten des Webformulars zu senden, sobald der Benutzer mit der Eingabe von Text im Eingabefeld beginnt, und sobald die Eingabe abgeschlossen ist, werden die Daten über fetch() bereits gesendet. Zudem können über die neue API auch Audio- und Videodaten übermittelt werden, die auf der Client-Seite erzeugt werden.
- Eine API wurde vorgeschlagen, , um neue Wurzeläste in , beispielsweise um den importierten externen Stil eines Elements und den damit verbundenen DOM-Unterbaum vom Hauptdokument zu trennen. Die vorgeschlagene deklarative API ermöglicht es, zum Trennen von DOM-Ästen nur HTML zu verwenden, ohne JavaScript-Code schreiben zu müssen.
- Eine Eigenschaft wurde hinzugefügt, , die es dem Absender von RTC-Streams (Real-Time Communication) ermöglicht, den adaptiven Mechanismus zur Paketübertragung zu steuern.
- Die Bereitstellung eines dauerhaften Speichers für bereits installierte PWA (Progressive Web Apps) und TWA (Trusted Web Activities) wurde vereinfacht.
Die Anwendung muss lediglich die Methode navigator.storage.persist() aufrufen und wird automatisch bereitgestellt.
- Eine neue CSS-Regel wurde implementiert, , die es ermöglicht, mit Vererbung, Typprüfungen und Standardwerten zu registrieren. Die Funktion @property entspricht der zuvor hinzugefügten Methode registerProperty().
- Für Windows-basierte Systeme wurde die Möglichkeit geschaffen, die Methode zu verwenden, um die Installation von PWA-Anwendungen zu bestimmen. Diese Methode funktionierte zuvor nur auf der Android-Plattform.
- Für Desktop-Systeme wurde die Unterstützung für , die schnellen Zugriff auf häufig benötigte Standardaktionen in der Anwendung ermöglichen. Um Verknüpfungen zu erstellen, genügt es, Elemente im Manifest der Webanwendung im PWA (Progressive Web Apps) Format hinzuzufügen. Früher waren App-Verknüpfungen nur auf der Android-Plattform verfügbar.
- Eine CSS-Eigenschaft wurde hinzugefügt zur Steuerung der Sichtbarkeit von Inhalten zur Optimierung des Renderings. Bei der Einstellung des Wertes ‘auto’ wird die Sichtbarkeit vom Browser basierend auf der Nähe des Elements zur Grenze des sichtbaren Bereichs bestimmt. Der Wert ‘hidden’ ermöglicht eine vollständige Steuerung der Anzeige des Elements über Skripte.
- Eine CSS-Eigenschaft wurde hinzugefügt um einen bestimmten Wert für bestehende Zähler festzulegen. Die neue CSS-Eigenschaft ergänzt die zuvor verfügbaren Eigenschaften counter-reset und counter-increment, die zur Erstellung eines neuen Zählers oder zur Erhöhung eines bestehenden verwendet werden.
- Die CSS-Eigenschaft ‘page’ wurde hinzugefügt, die die Seite beim Drucken widerspiegelt, sowie die Eigenschaft ‘page-orientation’ zur Abrufung von Informationen zur Seitenorientierung (‘upright’, ‘rotate-left’ und ‘rotate-right’). Es wurde Unterstützung für den Zugriff auf Seiten nach Namen implementiert, z. B. ‘@page foobar {}’.
- Eine API wurde implementiert zur Messung der Verzögerungen von Ereignissen vor und nach dem Laden der Seite.
- Im Ereignis leavepictureinpicture wird jetzt ein Verweis auf pictureInPictureWindow übergeben, um auf das Fenster im Picture-in-Picture-Modus zuzugreifen.
- Beim Ausfüllen des Referrer-Headers wird nun standardmäßig die Regel strict-origin-when-cross-origin (Referrer wird an andere Hosts, von denen Ressourcen geladen werden, abgeschnitten gesendet) anstelle von no-referrer-when-downgrade (Referrer wird nicht ausgefüllt, wenn von HTTPS zu HTTP gewechselt wird, aber wird bei der Lade von Ressourcen über HTTPS weitergegeben).
- Im WebAuthn-API wurden neue Methoden hinzugefügt: getPublicKey(), getPublicKeyAlgorithm() und getAuthenticatorData().
- In WebAssembly wurde die Unterstützung für den Import und Export von 64-Bit-Ganzzahlparametern in Funktionen mithilfe des JavaScript-Typs BigInt implementiert.
- In WebAssembly wurde eine Erweiterung implementiert. , Funktionen, die mehr als einen Wert zurückgeben.
- Der Baseline-Compiler Liftoff für WebAssembly wird für alle Architekturen und Plattformen verwendet, nicht nur für Intel-Systeme. Der Hauptunterschied zwischen Liftoff und dem zuvor verwendeten Compiler TurboFan besteht darin, dass Liftoff darauf abzielt, die höchste Geschwindigkeit der Anfangskompilierung zu erreichen, was zu einer niedrigeren Leistung des generierten Codes führt. Liftoff ist erheblich einfacher als TurboFan und generiert sehr schnell ausführbaren Maschinen-Code, sodass fast sofort mit der Ausführung begonnen werden kann, wodurch die Kompilierungsverzögerung auf ein Minimum reduziert wird. Um den Rohcode zu beschleunigen, wird parallel eine Phase der optimierenden Neukompilierung gestartet, die den Turbofan-Compiler verwendet. Sobald die optimierten Maschinenanweisungen bereit sind, wird die anfängliche Rohversion durch schnelleren Code ersetzt. Insgesamt führte die Verringerung der Verzögerung vor der Ausführung durch die Verwendung von Liftoff zu einer Leistungssteigerung des WebAssembly-Testsets von ungefähr 20%.
- In JavaScript neue logische Zuweisungsoperatoren: „??=“, „&&=“ und „||=“. Der Operator „x ??= y“ weist nur zu, wenn „x“ den Wert null oder undefined annimmt. Der Operator „x ||= y“ weist nur zu, wenn „x“ den Wert FALSE hat, und bei „x &&= y“ – TRUE.
- Die Methode String.prototype.replaceAll() wurde hinzugefügt, die eine neue Zeichenkette zurückgibt (die ursprüngliche Zeichenkette bleibt unverändert), in der basierend auf dem angegebenen Muster alle Übereinstimmungen ersetzt werden. Die Muster können sowohl einfache Platzhalter als auch reguläre Ausdrücke sein.
- Die Methode Promise.any() wurde implementiert, die das erste erfüllte Promise aus der Liste zurückgibt.
- Das AppCache-Manifest (Technologie zur Bereitstellung von Webanwendungen im Offline-Modus) wurde außer Kraft gesetzt. Als Grund wird der Wunsch genannt, einen der Vektoren für Angriffe im Zusammenhang mit Cross-Site-Scripting zu beseitigen. Anstelle von AppCache wird empfohlen, das API zu verwenden. .
- Es ist untersagt, Cookies im Modus SameSite=None für unverschlüsselte Verbindungen zu übertragen. Das SameSite-Attribut wird im Set-Cookie-Header angegeben, um die Übertragung von Cookies zu steuern, und ist standardmäßig auf „SameSite=Lax“ gesetzt, was die Übertragung von Cookies für intersite Subanforderungen, wie z.B. Bildanfragen oder Inhaltsdownloads über iFrames von anderen Websites, einschränkt.
Websites können den standardmäßig angewendeten SameSite-Modus überschreiben, indem sie beim Setzen von Cookies den Wert SameSite=None explizit festlegen. Der Wert SameSite=None für Cookies kann nun nur im Secure-Modus festgelegt werden, der für Verbindungen über HTTPS gilt. - In den Werkzeugen für Webentwickler Unterstützung für die Bearbeitung von Stilen, die durch CSS-in-JS-Frameworks mithilfe der CSSOM-API (CSS Object Model) erstellt wurden, sowie von Stilen, die aus JavaScript hinzugefügt wurden. Das Audit-Panel wurde auf die neueste Version aktualisiert. , das neue Metriken wie Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) und Total Blocking Time (TBT) hinzugefügt hat.
- Im Performance-Bewertungsbereich werden Informationen über angezeigt. Bei der Navigation des Benutzers auf der Seite wird die Zeit relativ zum Beginn der Navigation und nicht zum Beginn der Aufzeichnung angezeigt.
Neben Neuerungen und Fehlerbehebungen wurden in der neuen Version . Viele dieser Schwachstellen wurden durch automatisiertes Testen mit Werkzeugen festgestellt, , , , und . Kritische Probleme, die alle Sicherheitsebenen des Browsers umgehen und Code außerhalb der Sandbox-Umgebung im System ausführen lassen, wurden nicht festgestellt. Im Rahmen des Programms zur Vergütung für die Auffindung von Schwachstellen hat Google für die aktuelle Version 14 Prämien in Höhe von 10.000 US-Dollar ausgezahlt (eine Prämie von 5.000 US-Dollar, drei Prämien von 1.000 US-Dollar und vier Prämien von 500 US-Dollar). Die Höhe von 6 Prämien ist noch nicht festgelegt.
Quelle: opennet.ru
