Das Unternehmen Google Release des Web-Browsers . Gleichzeitig stabile Ausgabe des Open-Source-Projekts , das die Grundlage von Chrome bildet. Der Browser Chrome der Verwendung von Google-Logos, der Möglichkeit, das Flash-Modul auf Anfrage hochzuladen, der VerfĂŒgbarkeit eines Benachrichtigungssystems im Falle eines Absturzes, Modulen zur Wiedergabe von geschĂŒtzten Video-Inhalten, einem System zur automatischen Installation von Updates und der Ăbertragung bei der Suche . Die nĂ€chste Version von Chrome 75 ist fĂŒr den 4. Juni geplant.
:
- Bei Eintritt des onUnload-Ereignisses, das beim SchlieĂen der Seite ausgelöst wird, werden Pop-ups angezeigt (der Aufruf von window.open() wird blockiert), was den Benutzern helfen wird, sich vor dem erzwungenen Ăffnen von Werbeseiten nach dem SchlieĂen verdĂ€chtiger Websites zu schĂŒtzen;
- Im JavaScript-Engine gibt es jetzt einen neuen Modus (Flagge ââjitlessâ), der es ermöglicht, JavaScript ohne Verwendung von JIT (nur Interpreter wird verwendet) und ohne Zuweisung von ausfĂŒhrbarem Speicher wĂ€hrend der AusfĂŒhrung des Codes auszufĂŒhren. Das Deaktivieren von JIT kann fĂŒr eine erhöhte Sicherheit bei der Arbeit mit potenziell gefĂ€hrlichen Webanwendungen nĂŒtzlich sein sowie fĂŒr die Bereitstellung auf Plattformen, die die Verwendung von JIT verbieten (zum Beispiel in iOS, auf einigen Smart TVs und Spielkonsolen). Bei der Deaktivierung von JIT sinkt die Leistung der AusfĂŒhrung von JavaScript um 40 % im Speedometer 2.0-Test und um 80 % im Web Tooling Benchmark-Test, aber bei der Simulation der Arbeit mit YouTube wurde ein RĂŒckgang der Leistung von nur 6 % festgestellt. Der Speicherverbrauch wird dabei nur geringfĂŒgig um 1.7 % reduziert;
- In V8 wurden auch viele neue Optimierungen vorgeschlagen. Zum Beispiel wurde die AusfĂŒhrung von Funktionsaufrufen, bei denen die Anzahl der tatsĂ€chlich ĂŒbergebenen Parameter von der beim Definieren der Funktion angegebenen Anzahl der Argumente abweicht, um 60 % beschleunigt. Der Zugriff auf DOM-Eigenschaften wurde durch die Funktion get beschleunigt, was sich positiv auf die Leistung des Angular-Frameworks ausgewirkt hat. Die Verarbeitung von JavaScript-Parsing wurde beschleunigt: Die Optimierung des UTF-8-Decoders hat die Leistung des Parsers im Streaming-Modus (Parsing wĂ€hrend des Ladens) um 8 % gesteigert, wĂ€hrend die Beseitigung ĂŒberflĂŒssiger Deduplication-Operationen einen weiteren Zuwachs von 10.5 % gebracht hat;
- Es wurden MaĂnahmen zur Senkung des Speicherverbrauchs der JavaScript-Engine ergriffen.
Es wurde ein Code zur Bereinigung des Bytecode-Cache hinzugefĂŒgt, der ungefĂ€hr 15 % der gesamten Heap-GröĂe ausmacht. Dem Garbage Collector wurde eine Phase hinzugefĂŒgt, um selten kompilierte Bytecodes aus dem Cache fĂŒr verwendete Funktionen oder Funktionen, die nur bei der Initialisierung aufgerufen werden, auszudrĂ€ngen. Die Entscheidung zur Bereinigung erfolgt basierend auf neuen ZĂ€hlern, die die letzte Zugriffszeit auf den Bytecode berĂŒcksichtigen. Diese Ănderung hat es ermöglicht, den Speicherverbrauch um 5â15 % zu reduzieren, ohne die Leistung negativ zu beeinflussen. DarĂŒber hinaus wurde im Bytecode-Compiler die Generierung von absichtlich ungenutztem Code ausgeschlossen, z. B. Code, der nach return oder break folgt (wenn es keinen Jump-Ăbergang gibt).
- FĂŒr WebAssembly UnterstĂŒtzung fĂŒr Threads und atomare Operationen (API WebAssembly Threads und WebAssembly Atomics);
- FĂŒr die isolierte Bereitstellung von Skripten wurde die UnterstĂŒtzung fĂŒr den Header â#!â hinzugefĂŒgt, der den Interpreter fĂŒr die AusfĂŒhrung bestimmt. Zum Beispiel könnte eine JavaScript-Datei Ă€hnlich wie folgt aussehen:
#!/usr/bin/env node
console.log(42); - In CSS wurde eine neue Media-Abfrage ââ hinzugefĂŒgt, die es der Website ermöglicht, den Zustand der Einstellungen im Betriebssystem im Hinblick auf die Deaktivierung von Animationseffekten zu bestimmen. Mit dieser Abfrage kann der Website-Besitzer erfahren, dass der Benutzer Animationseffekte deaktiviert hat und auch verschiedene Animationsmöglichkeiten auf der Website deaktivieren, z. B. die Wackel-Animation von SchaltflĂ€chen, die zur Aufmerksamkeitserregung verwendet werden;
- ZusĂ€tzlich zur in Chrome 72 erschienenen Möglichkeit zur Definition von öffentlichen Feldern die Kennzeichnung von Feldern als privat implementiert, wodurch der Zugriff auf ihre Werte nur innerhalb der Klasse möglich ist. Um ein Feld als privat zu kennzeichnen, sollte vor dem Feldnamen das Zeichen â#â angegeben werden. Wie bei öffentlichen Feldern erfordern private Eigenschaften keine explizite Verwendung des Konstruktors.
- Der HTTP-Header Feature-Policy, der das Verhalten von APIs und die Aktivierung bestimmter Funktionen steuert (z. B. kann der synchroner Modus von XMLHttpRequest aktiviert oder das Geolocation-API deaktiviert werden), wurde um zur Kontrolle der AktivitĂ€t einzelner Funktionen erweitert. FĂŒr Entwickler wurden zwei neue Methoden document.featurePolicy und frame.featurePolicy vorgeschlagen, die drei Funktionen bieten:
allowedFeatures() zur Abfrage der fĂŒr die aktuelle Domain zulĂ€ssigen Funktionen, allowsFeature() zur selektiven ĂberprĂŒfung der Aktivierung bestimmter Funktionen und getAllowlistForFeature() zur Anzeige einer Liste von Domains, fĂŒr die die angegebene Funktion auf der aktuellen Seite aktiviert ist; - Experimentelle UnterstĂŒtzung fĂŒr den âchrome://flags#enable-text-fragment-anchorâ-Modus hinzugefĂŒgt, , mit dem es möglich ist, Links zu einzelnen Wörtern oder Phrasen zu erstellen, ohne dass im Dokument explizit mit dem Tag âa nameâ oder der Eigenschaft âidâ darauf verwiesen wird. Um den Link zu ĂŒbermitteln, wird ein spezieller Parameter â#targetText=â angeboten, in dem der Text fĂŒr die Weiterleitung angegeben werden kann. Es ist zulĂ€ssig, ein Muster anzugeben, das Phrasen enthĂ€lt, die den Anfang und das Ende des Abschnitts unter Verwendung eines Kommas als Trennzeichen angeben (zum Beispiel âexample.com#targetText=startwords, endwordsâ);
- Eine Option wurde zum AudioContext-Konstruktor hinzugefĂŒgt, , die es ermöglicht, die verwendete Abtastrate fĂŒr Audiooperationen ĂŒber die Web Audio API festzulegen;
- UnterstĂŒtzung der Klasse hinzugefĂŒgt , das Methoden zur Analyse und Verarbeitung von lokalisierten Spracheinstellungen, Regionen und Schriftarten bereitstellt, sowie zum Lesen und Schreiben von Unicode-Erweiterungstags und zum Speichern benutzerdefinierter Lokalisierungseinstellungen im serialisierten Format;
- Mechanismus (SXG) wurde um Funktionen zur Fehlerbehandlung von Inhaltsanbietern beim Laden von signierten Inhalten, wie z.B. Probleme mit der Zertifikatsverifikation, erweitert. Die Fehlerbehandlung erfolgt ĂŒber die API-Erweiterungen . Erinnern wir uns daran, dass SXG es dem Inhaber einer Webseite ermöglicht, durch digitale Signaturen die Veröffentlichung bestimmter Seiten auf einer anderen Webseite zu autorisieren, sodass beim Zugriff auf diese Seiten auf der zweiten Webseite der Browser dem Benutzer die URL der ursprĂŒnglichen Webseite anzeigt, obwohl die Seite von einem anderen Host geladen wurde;
- In die Klasse TextEncoder wurde die Methode , die es ermöglicht, einen kodierten String direkt in einen zuvor reservierten Buffer zu schreiben, eingefĂŒgt. Die Methode encodeInto() ist eine leistungsstarke Alternative zu der Methode encode(), die bei jedem Zugriff eine Buffer-Zuweisung erfordert.
- Im Service Worker wird der Aufruf von client.postMessage() bis zur Bereitschaft des Dokuments gepuffert. Nachrichten, die ĂŒber client.postMessage() gesendet werden, werden bis zur Phase der Ereignisgenerierung DOMContentLoaded, der Festlegung von onmessage oder dem Aufruf von startMessages(); zurĂŒckgehalten.
- GemÀà den Anforderungen der CSS-Transitions-Spezifikation werden die Ereignisse transitionrun, transitioncancel, transitionstart und transitionend generiert, wenn die CSS-Transition in die Warteschlange gestellt, abgebrochen, gestartet oder beendet wird.
- Beim Angeben eines falschen MIME-Typs oder einer falschen Zeichencodierung fĂŒr die XMLHttpRequest mit overrideMimeType() wird jetzt auf UTF-8 anstelle von Latin-1 zurĂŒckgegriffen;
- Die Eigenschaft âallow-downloads-without-user-activationâ wurde fĂŒr veraltet erklĂ€rt und wird in einer der nĂ€chsten Versionen entfernt. Damit war es möglich, Dateien automatisch herunterzuladen, wĂ€hrend ein iframe verarbeitet wird. In Zukunft wird es erforderlich sein, dass ein Benutzer auf derselben Seite klickt, um den Download zu starten, da dies hĂ€ufig fĂŒr Missbrauch, erzwungene Downloads und die EinfĂŒgung schadhafter Software auf dem Computer des Benutzers verwendet wurde. UrsprĂŒnglich war geplant, diese Eigenschaft in Chrome 74 zu entfernen, aber die Entfernung wurde bis Chrome 76 verschoben.
- FĂŒr die Windows-Plattform wurde ein optionales dunkles Design des Benutzerinterfaces angeboten (im letzten Release wurde ein dunkles Design fĂŒr macOS vorbereitet). Da das dunkle Design fast identisch mit dem Aussehen im Inkognito-Modus ist, wurde zur Hervorhebung des privaten Arbeitsmodus ein spezieller Indikator anstelle des Profilbilds hinzugefĂŒgt;
- FĂŒr Unternehmensbenutzer wurde die Möglichkeit hinzugefĂŒgt, um die Browsereinstellungen der Benutzer ĂŒber die Google Admin-Konsole zu verwalten;
Neben Neuerungen und Fehlerbehebungen wurden in der neuen Version . Viele dieser Schwachstellen wurden durch automatisiertes Testen mit Werkzeugen festgestellt, , , , und . Kritische Probleme, die es ermöglichen, alle Sicherheitsebenen des Browsers zu umgehen und Code auĂerhalb der Sandboxing-Umgebung im System auszufĂŒhren, wurden nicht entdeckt. Im Rahmen des Programms zur Auszahlung von PrĂ€mien fĂŒr die Entdeckung von SicherheitsanfĂ€lligkeiten hat Google fĂŒr die aktuelle Version insgesamt 19 PrĂ€mien in Höhe von 26.837 US-Dollar ausgeschĂŒttet (vier PrĂ€mien in Höhe von 3.000 Dollar, vier PrĂ€mien in Höhe von 2.000 Dollar, eine PrĂ€mie in Höhe von 1.337 Dollar, vier PrĂ€mien in Höhe von 1.000 Dollar, drei PrĂ€mien in Höhe von 500 Dollar). Die Höhe von 4 PrĂ€mien ist noch nicht festgelegt.
Quelle: opennet.ru

