Google Freigabe des Webbrowsers . Gleichzeitig stabile Freigabe des Open-Source-Projekts , das die Grundlage von Chrome bildet. Der Browser Chrome 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. . Die nächste Version Chrome 86 ist für den 6. Oktober geplant.
:
- Die Funktion zum Gruppieren von Tabs wurde eingeführt. Tabs können über das Kontextmenü in Gruppen zusammengefasst und mit einer bestimmten Farbe und Bezeichnung verknüpft werden. Ein Klick auf das Gruppensymbol blendet nun die zugehörigen Tabs aus und hinterlässt nur das Symbol. Ein erneuter Klick auf das Symbol stellt die Sichtbarkeit wieder her.
- Eine Vorschau der Tab-Inhalte wurde implementiert. Wenn der Mauszeiger über die Registerkartenschaltfläche bewegt wird, wird eine Miniaturansicht der Seite im Tab angezeigt. Diese Funktion ist derzeit nicht für alle Nutzer aktiviert und kann über die Einstellung „chrome://flags/#tab-hover-cards“ eingeschaltet werden.
- Die Möglichkeit, bearbeitete PDF-Formulare zu speichern, wurde hinzugefügt. Zudem wurden die Einstellungen „chrome://flags#pdf-viewer-update“ und „chrome://flags/#pdf-two-up-view“ zur Verfügung gestellt, um mit von PDF-Dokumenten zu experimentieren.
- Die Möglichkeit, Links mithilfe von QR-Codes auszutauschen, wurde hinzugefügt. Um einen QR-Code für die aktuelle Seite zu generieren, erscheint ein speziisches Symbol in der Adresszeile, das beim Klicken auf die Adresszeile angezeigt wird. Diese Funktion ist derzeit 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 gibt es die Option „Omnibox UI Steady-State URL-Pfad, Abfrage und Referenz ausblenden“ („chrome://flags#omnibox-ui-hide-steady-state-url-path-query-and-ref-on-interaction“). Deaktivieren Sie die Anzeige von Pfad- und Abfrageparametern in der Adresszeile, sodass nur die Domain der Website sichtbar bleibt. Die Ausblendung erfolgt beim Beginn der Interaktion mit der Seite (während des Ladevorgangs wird die vollständige URL angezeigt, bis der Nutzer mit dem Scrollen beginnt). Nach der Ausblendung wird vorgeschlagen, auf die Adresszeile zu klicken, um die vollständige URL anzuzeigen. Zudem 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 immer vollständig anzeigen“ hebt die Ausblendung von „https://“, „www.“, Pfaden und Parametern auf. Standardmäßig ist die Ausblendung derzeit nur für einen kleinen Prozentsatz der Nutzer aktiviert. Als Beweggrund für diese Veränderung wird der Wunsch angeführt, Nutzer vor Phishing zu schützen, das mit URL-Parametern manipuliert.
- Im Tablet-Modus für Geräte mit Touchscreens ist eine horizontale Navigation durch die geöffneten Tabs aktiviert. Neben den Titeln der Tabs werden große Miniaturansichten der damit verbundenen Seiten angezeigt. Die Tabs können durch Bildschirmgesten verschoben und neu gruppiert werden. Die Anzeige der Miniaturansichten kann über einen speziellen Knopf neben der Adressleiste und dem Benutzeravatar ein- und ausgeschaltet werden. Für das Deaktivieren des Modus sind die Einstellungen „chrome://flags/#webui-tab-strip“ und „chrome://flags/#scrollable-tabstrip“ vorgesehen.
- In der Android-Version wird beim Eingeben in die Adressleiste eine Vorschlagsliste angezeigt, die einen schnellen Zugang zu bereits geöffneten Tabs ermöglicht.
- In der Android-Version erscheint im Kontextmenü der Links, das durch langes Drücken auf einen Link aktiviert wird, eine Markierung zur Kennzeichnung schneller Seiten. Die Geschwindigkeit wird anhand von Metriken bestimmt, , die die zusammengefassten Leistungskennzahlen für Ladezeiten, Reaktionsfähigkeit und Stabilität des Inhalts berücksichtigen.
- Es wurde eine Blockierung bereitgestellt (ohne Verschlüsselung) von ausführbaren Dateien und zusätzlich wird eine Warnmeldung bei unsicheren Archivuploads (zip, iso usw.) ausgegeben. 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 den Upload von Dateien ohne Verschlüsselung allmählich komplett einzustellen. Die Blockierung wurde umgesetzt, da das Hochladen von Dateien ohne Verschlüsselung für böswillige Aktivitäten durch Manipulation von Inhalten während MITM-Angriffen verwendet werden kann.
- Die Unterstützung für das AVIF-Bildformat (AV1 Image Format) ist standardmäßig aktiviert, das Technologien der intra-frame Kompression aus dem AV1-Videocodierungsformat verwendet. Der Container für die Verbreitung komprimierter Daten im AVIF ist vollständig identisch mit HEIF. AVIF unterstützt sowohl HDR-Bilder (High Dynamic Range) und den erweiterten Farbraum als auch Standarddynamikbereich (SDR).
- Bei der Kompilierung von Builds für Windows und macOS wird standardmäßig beim Aufruf der Compiler MSVC und Clang verwendet. Optimierung auf der Grundlage von Code-Profilierungsergebnissen (PGO – Profile-guided Optimization), die es ermöglichen, effizienteren Code zu generieren, basierend auf der Analyse der Programmausführung. Die Aktivierung von PGO hat die Ladezeiten von Tabs um rund 10 % verbessert (Beschleunigung im Speedometer 2.0-Test um 7,7 % auf macOS und um 11,4 % auf Windows). Die Reaktionsfähigkeit der Benutzeroberfläche hat sich um 3,9 % auf macOS und um 7,3 % auf Windows 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“ aktiviert werden kann (eine Standardaktivierung wird in Chrome 86 erwartet). Bei Aktivierung wird die Kontrolle über Hintergrund-Tabs (TaskQueues) auf 1 Aufruf pro Minute reduziert, wenn die Seite länger als 5 Minuten im Hintergrund ist.
- Für alle Benutzerkategorien wurde der Modus zur Reduzierung des CPU-Ressourcenverbrauchs aktiviert, wenn das Browserfenster nicht im Sichtfeld des Benutzers ist. Chrome prüft, ob das Browserfenster von anderen Fenstern überlappt wird, und schließt das Rendern von Pixeln in überdeckten Bereichen aus.
- Schutz vor dem Laden gemischter Multimedia-Inhalte (wenn Ressourcen auf einer HTTPS-Seite über das Protokoll http:// geladen werden). Auf Seiten, die über HTTPS geöffnet werden, erfolgt automatisch die Umstellung von Links „http://“ auf „https://“ in den Bereichen, die mit dem Laden von Bildern verbunden sind (zuvor wurden Skripte und iFrames, Audio- und Videodateien ersetzt). Wenn ein Bild nicht über https verfügbar ist, wird dessen Laden blockiert (manuell kann die Blockierung über das Menü, das über das Schlosssymbol in der Adresszeile zugänglich ist, markiert werden).
- Für TLS-Zertifikate, die ab dem 1. September 2020 ausgestellt werden, gilt eine neue Einschränkung bezüglich der Gültigkeitsdauer – die Lebensdauer dieser Zertifikate darf 398 Tage (13 Monate) nicht überschreiten. Ähnliche Einschränkungen gelten für Firefox und Safari. Für Zertifikate, die vor dem 1. September erhalten wurden, bleibt das Vertrauen bestehen, ist jedoch auf 825 Tage (2,2 Jahre) begrenzt.
- Im Origin Trials-Modus (experimentelle Funktionen, die eine separate Aktivierung erfordern) wurden mehrere neue APIs hinzugefügt. Der Origin Trial ermöglicht die Nutzung der angegebenen API aus Anwendungen, die von localhost oder 127.0.0.1 geladen werden, oder nach Registrierung und Erhalt eines speziellen Tokens, das für einen bestimmten Zeitraum für eine bestimmte Website gültig ist.
- ein Konzept um nahtlose Navigation zwischen Websites zu gewährleisten und eine Seite in eine andere einzufügen, um deren Inhalt vor dem Wechsel anzuzeigen. Ein neues Tag wurde eingeführt, das es ermöglicht, eine andere Seite in Form eines Embeds darzustellen, wobei der Fokus auf dieser eingebetteten Seite die angezeigte Seite in den Zustand des Hauptdokuments überführt, innerhalb dessen Navigation möglich ist. Im Gegensatz zu iframes ist das Embed vollständig von der Basis-Seite isoliert und wird als separates Dokument behandelt.
- API , das es erlaubt, Fetch-Anfragen mit Inhalten im Streaming-Format durchzuführen (früher erforderte die Anfrage die vollständige Verfügbarkeit des Inhalts, nun können Daten im Streaming-Format gesendet werden, ohne auf die vollständige Bereitstellung des Anfragekörpers zu warten). Zum Beispiel kann eine Webanwendung beginnen, die Daten aus einem Web-Formular zu senden, sobald der Benutzer mit der Eingabe im Textfeld beginnt, und wenn die Eingabe abgeschlossen ist, sind die Daten bereits über fetch() gesendet worden. Auch über die neue API können Audio- und Videodaten übermittelt werden, die auf der Client-Seite generiert werden.
- Eine API wurde vorgeschlagen zum Erstellen neuer Wurzelzweige in , zum Beispiel um den importierten externen Stil eines Elements und den damit verbundenen DOM-Teil vom Hauptdokument zu trennen. Die vorgeschlagene deklarative API ermöglicht es, DOM-Zweige nur mit HTML zu trennen, ohne JavaScript-Code schreiben zu müssen.
- Eigenschaft hinzugefügt , die es dem Absender von RTC-Streams (Echtzeitkommunikation) ermöglicht, den adaptiven Mechanismus zur Paketübertragung zu steuern.
- Es wurde vereinfacht, dauerhaften Speicher für bereits installierte PWA (Progressive Web Apps) und TWA (Trusted Web Activities) bereitzustellen.
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üfung und Standardwerten zu registrieren. Die Funktion von @property ist ähnlich dem zuvor hinzugefügten Methode registerProperty().
- Für Systeme mit Windows-Betriebssystemen wurde die Möglichkeit eingeführt, die Methode zu verwenden, um die Installation von PWA-Anwendungen zu ermitteln. Diese Methode funktionierte zuvor nur auf der Android-Plattform.
- Für Desktop-Systeme wurde die Unterstützung von , die einen schnellen Zugriff auf häufig verwendete Aktionen in der Anwendung ermöglichen. Um Verknüpfungen zu erstellen, genügt es, Elemente im Manifest der Webanwendung im PWA-Format (Progressive Web Apps) hinzuzufügen. Früher waren Anwendungs-Shortcuts nur auf der Android-Plattform verfügbar.
- Die CSS-Eigenschaft wurde hinzugefügt, um die Sichtbarkeit von Inhalten zur Optimierung des Renderings zu steuern. 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 durch Skripte.
- Die CSS-Eigenschaft um einen bestimmten Wert für vorhandene Zähler festzulegen. Die neue CSS-Eigenschaft ergänzt die zuvor verfügbaren Eigenschaften counter-reset und counter-increment, die zum Erstellen eines neuen Zählers oder zum Erhöhen eines vorhandenen verwendet werden.
- Die CSS-Eigenschaft 'page' wurde hinzugefügt, die die Seite beim Drucken widerspiegelt, sowie die Eigenschaft 'page-orientation', um Informationen zur Ausrichtung der Seite ('upright', 'rotate-left' und 'rotate-right') zu erhalten. Die Unterstützung für den Zugriff auf Seiten nach Namen wurde implementiert, z. B. '@page foobar {}'.
- Die API wurde zur Messung der Verzögerungszeiten von Ereignissen vor und nach dem Laden der Seite.
- Im Ereignis leavepictureinpicture wird jetzt ein Link zum pictureInPictureWindow übergeben, um auf das Fenster im Picture-in-Picture-Modus zuzugreifen.
- Beim Ausfüllen des Standard-Referrer-Headers jetzt die Regel strict-origin-when-cross-origin (Referrer wird an andere Hosts gesendet, von denen Ressourcen geladen werden, ohne dass der ursprüngliche Teil verloren geht) anstelle von no-referrer-when-downgrade (Referrer wird nicht ausgefüllt, wenn von HTTPS auf HTTP zugegriffen wird, wird aber beim Laden von Ressourcen über HTTPS übermittelt).
- Im WebAuthn-API neue Methoden getPublicKey(), getPublicKeyAlgorithm() und getAuthenticatorData().
- In WebAssembly wird die Unterstützung für den Import und Export von 64-Bit-Ganzzahlfunktionsparametern unter Verwendung des JavaScript-Typs BigInt bereitgestellt.
- In WebAssembly wurde die Erweiterung , die es Funktionen ermöglicht, mehr als einen Wert zurückzugeben.
- Der anfängliche (Baseline) Liftoff-Compiler für WebAssembly wird für alle Architekturen und Plattformen eingesetzt, nicht nur für Intel-Systeme. Der Hauptunterschied zwischen Liftoff und dem zuvor verwendeten TurboFan-Compiler besteht darin, dass Liftoff darauf abzielt, die schnellste initiale Kompilierung zu erreichen, was jedoch zu einer geringeren Leistung des generierten Codes führt. Liftoff ist deutlich einfacher als TurboFan und erzeugt sehr schnell ausführbaren Maschinen-Code, was ermöglicht, nahezu sofort mit dessen Ausführung zu beginnen und die Kompilierungsverzögerung auf ein Minimum zu reduzieren. Um den Rohcode zu beschleunigen, wird parallel eine Phase der optimierenden Neukompilierung gestartet, die mit dem TurboFan-Compiler durchgeführt wird. Sobald die optimierten Maschinenanweisungen bereitstehen, wird die anfängliche Rohversion durch schnelleren Code ersetzt. Insgesamt hat die Anwendung von Liftoff, durch die Reduzierung der Verzögerung vor dem Beginn der Ausführung, zu einer Leistungssteigerung des WebAssembly-Testsets um etwa 20% geführt.
- In JavaScript Neue logische Zuweisungsoperatoren: „??=“, „&&=“ und „||=“. Der Operator „x ??= y“ führt die Zuweisung nur durch, wenn „x“ den Wert null oder undefined annimmt. Der Operator „x ||= y“ führt die Zuweisung nur durch, wenn „x“ den Wert FALSE hat, während in „x &&= y“ der Wert TRUE ist.
- Die Methode String.prototype.replaceAll() wurde hinzugefügt, die eine neue Zeichenfolge zurückgibt (die ursprüngliche Zeichenfolge bleibt unverändert), in der alle Übereinstimmungen basierend auf dem angegebenen Muster 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.
- Die Nutzung des AppCache-Manifests wurde eingestellt (eine Technologie zur Organisation des Betriebs von Web-Anwendungen im Offline-Modus). Als Grund wird das Bestreben genannt, einen der vektoren für Angriffe im Zusammenhang mit Cross-Site-Scripting zu beseitigen. Anstelle von AppCache wird empfohlen, die API zu verwenden. .
- Die Übertragung von Cookies im SameSite=None-Modus ist für unverschlüsselte Verbindungen verboten. Das Attribut SameSite wird im Set-Cookie-Header angegeben, um die Cookie-Übertragung zu steuern, und ist standardmäßig auf „SameSite=Lax“ eingestellt, was die Übertragung von Cookies für Cross-Site-Anfragen einschränkt, wie z. B. Anfragen nach Bildern oder das Laden von Inhalten über ein iframe von einer anderen Website.
Websites können den standardmäßig angewendeten SameSite-Modus überschreiben, indem sie beim Setzen von Cookies den Wert SameSite=None angeben. Der Wert SameSite=None für Cookies kann jetzt nur noch im Secure-Modus festgelegt werden, der für Verbindungen über HTTPS gilt. - In den Entwicklertools wird die Unterstützung für die Bearbeitung von Stilen, die von CSS-in-JS-Frameworks unter Verwendung der CSSOM-API (CSS Object Model) erstellt wurden, sowie von Stilen, die aus JavaScript hinzugefügt wurden, bereitgestellt. Das Audit-Panel wurde auf die Version aktualisiert, in der neue Metriken wie Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) und Total Blocking Time (TBT) hinzugefügt wurden.
- Im Leistungsbewertungs-Panel wird die Information ü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 Sicherheitsanfälligkeiten wurden durch automatisierte Tests mit Tools wie , , , und . Kritische Probleme, die alle Sicherheitsebenen des Browsers umgehen und Code außerhalb der Sandbox-Umgebung ausführen können, wurden nicht entdeckt. Im Rahmen des Programms zur Belohnung für das Auffinden von Sicherheitslücken hat Google für die aktuelle Version insgesamt 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
