Wydanie Chrome 147 z obsługą poziomych kart i zmodyfikowanym trybem czytania

Firma Google opublikowała wersję przeglądarki internetowej Chrome 147. Jednocześnie dostępna jest stabilna wersja projektu open source Chromium, który jest podstawą Chrome. Przeglądarka Chrome różni się od Chromium użyciem logo Google, systemem powiadamiania w przypadku awarii, modułami do odtwarzania chronionych przed kopiowaniem treści wideo (DRM), systemem automatycznej instalacji aktualizacji, ciągłym włączonym trybem Sandbox, dostarczaniem kluczy do Google API oraz przesyłaniem parametrów RLZ podczas wyszukiwania. Dla tych, którzy potrzebują więcej czasu na aktualizacje, osobno utrzymywana jest gałąź Extended Stable, towarzysząca przez 8 tygodni. Następna wersja Chrome 148 zaplanowana jest na 5 maja.

Główne zmiany w Chrome 147 (1, 2, 3, 4):

  • Dodano tryb pionowego wyświetlania kart, który zastępuje górny poziomy pasek z przyciskami kart bocznym panelem z pionowymi kartami. Pionowe karty mogą być wyświetlane w rozwiniętym (ikona + część opisu) i zwiniętym trybie (tylko ikony). Po najechaniu kursorem na kartę boczną wyświetlany jest podgląd jej zawartości. Uproszczono zarządzanie grupami kart. Do menu kontekstowego, które pojawia się po kliknięciu prawym przyciskiem myszy na pasku kart, dodano opcję „Pokaż karty pionowo” („Show Tabs Vertically”). Jeśli opcja nie pojawiła się domyślnie, można ją aktywować przez ustawienie „chrome://flags/#vertical-tabs”. Wydanie Chrome 147 z obsługą poziomych kart i zmodyfikowanym trybem czytania Wydanie Chrome 147 z obsługą poziomych kart i zmodyfikowanym trybem czytania
  • Przebudowano tryb czytania (reading mode), w którym wyświetlany jest tylko istotny tekst strony, natomiast wszystkie towarzyszące elementy sterujące, banery, menu, panele nawigacyjne i inne nie związane z treścią części strony są ukryte. W nowej wersji, podobnie jak w Firefox, znacząca zawartość jest wyświetlana na całej widocznej powierzchni, a nie jak wcześniej w wąskim bocznym oknie obok oryginalnej strony. Jeśli nowy tryb nie zastosował się domyślnie, można go aktywować przez ustawienie „chrome://flags/#read-anything-immersive-reading-mode”. Wydanie Chrome 147 z obsługą poziomych kart i zmodyfikowanym trybem czytania
  • W menu „Pomoc” dodano przycisk do zgłaszania skarg na strony internetowe utworzone w celu oszustwa lub phishingu. Przycisk jest wyświetlany, gdy włączony jest tryb „Bezpieczne przeglądanie”. Wydanie Chrome 147 z obsługą poziomych kart i zmodyfikowanym trybem czytania
  • Rozszerzono środki ochrony przed dostępem do lokalnego systemu podczas interakcji z publicznymi stronami. adresów IP Kiedy korzystasz z lokalnej sieci (intranet lub wewnętrzne adresy) albo interfejsu loopback (127.0.0.0/8), użytkownik będzie musiał potwierdzić operację. Ochrona obejmuje teraz nie tylko próby ładowania zasobów za pomocą HTTP/HTTPS, zapytania fetch() i osadzenia iframe, ale także nawiązywanie połączeń przez WebSockets i WebTransport oraz zapytania fetch inicjowane za pomocą metody WindowClient.navigate(). Dostęp do wewnętrznych zasobów jest wykorzystywany przez cyberprzestępców do pośredniej identyfikacji i realizacji ataków CSRF na routery, punkty dostępu, drukarki, korporacyjne interfejsy webowe oraz inne urządzenia i usługi, które przyjmują zapytania tylko z lokalnej sieci.
  • Funkcjonalność do analizy XML została przeniesiona z libxml2 na nową bibliotekę stworzoną w języku Rust, z myślą o bezpieczeństwie. Zmiana dotyczy wyłącznie XML, jak już wcześniej ogłoszono, wsparcie dla XSLT wkrótce zostanie zaprzestane.
  • Zrealizowano możliwość zastosowania metody startViewTransition() nie tylko dla całej strony, ale także dla pojedynczych elementów HTML.
  • Dodano funkcję CSS contrast-color(), która zwraca przeciwstawny wariant dla podanego koloru (dla białego zwróci czarny, a dla czarnego — biały). Funkcję można wykorzystać do dobierania koloru tła dla określonego koloru tekstu i odwrotnie.
  • Dodano właściwość CSS „border-shape”, która pozwala tworzyć nieregularne obramowanie elementów, na przykład, ramki o okrągłym lub wielokątnym kształcie. Właściwość CSS „border-shape” przyjmuje te same rodzaje form co właściwość „clip-path”, ale w odróżnieniu od niej definiuje kontur, dekoduje go i przycina zawartość wykraczającą poza kontur.
  • Dodano interfejs CSSPseudoElement, pozwalający na pracę z pseudo-elementami CSS z poziomu JavaScript.
  • W elemencie link wprowadzono możliwość stosowania atrybutu „rel=modulepreload” do wstępnego ładowania nie tylko skryptów, ale także modułów z stylami CSS () oraz danymi JSON ().
  • Zmodyfikowano zachowanie przy obliczaniu szerokości ramek i konturów w właściwościach CSS border-width, outline-width i column-rule-width, co zostało zunifikowane z Firefox i przeglądarkami opartymi na silniku WebKit. Dotychczas szerokość w podanych właściwościach była zerowana, niezależnie od określonych w nich wartości, jeśli właściwości border-style, outline-style lub column-rule-style miały wartość „none” lub „hidden”. Teraz wartości order-width, outline-width i column-rule-width zawsze przyjmują wartości określone przez programistę, niezależnie od zawartości właściwości „*-style”.
  • Dodano metodę Math.sumPrecise(), umożliwiającą obliczenie sumy elementów tablic oraz innych obiektów enumerowalnych z precyzją przekraczającą precyzję zwykłego sumowania w pętli (wyklucza straty precyzji przy pośrednim zapisie wyników).
  • Dodano atrybut Request.isReloadNavigation, umożliwiający określenie, że strona została przeładowana, na przykład po naciśnięciu przycisku „Odśwież” lub wywołaniu metod location.reload() i history.go(0).
  • W celu zmniejszenia precyzji pośredniej identyfikacji zmieniono logikę zaokrąglania rozmiaru pamięci zwracanego przez API Device Memory, pozwalającego uzyskać informacje o wielkości pamięci RAM. Informacje te mogą być przydatne do tworzenia lekkich wersji aplikacji webowych, ładujących się na urządzeniach z niewielką ilością RAM lub do aktywacji rozszerzonych możliwości przy dużej ilości pamięci. W kompilacjach dla platformy Android rozmiar pamięci jest teraz zaokrąglany do 1, 2, 4 i 8, a dla innych platform do 2, 4, 8, 16 i 32.
  • Dla izolowanych aplikacji webowych (IWA — Isolated Web Apps) wdrożono API Web Printing, udostępniające metody do określania dostępności drukarek, wysyłania dokumentów do druku oraz zarządzania kolejką wydruku. Używane w API nazwy atrybutów i semantyka odpowiadają protokołowi IPP (Internet Printing Protocol).
  • W trybie „Origin trials” wprowadzono API WebNN, które pozwala na wykorzystanie usług systemowych do uczenia maszynowego i związanych z tym możliwości sprzętowych.
  • Wprowadzono ulepszenia w narzędziach dla twórców stron internetowych. Wbudowany asystent AI zrealizował automatyczny wybór kontekstu. Zmodernizowano panel „Tryb urządzenia”, stosowany do testowania działania witryny na różnych urządzeniach mobilnych. W panelu sieciowym zapewniono automatyczne dekodowanie skompresowanej zawartości żądań przesyłanych z nagłówkiem Content-Encoding: gzip lub deflate. Umożliwiono stosowanie wyrażeń regularnych do filtrowania stylów CSS.

W nowej wersji, oprócz wprowadzonych innowacji i poprawek błędów, usunięto 60 luk w zabezpieczeniach. Wiele z tych luk zostało zidentyfikowanych dzięki automatycznemu testowaniu przy użyciu narzędzi takich jak AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer i AFL. Dwa problemy (przepełnienie bufora i przepełnienie liczb całkowitych w WebML) zostały zakwalifikowane jako krytyczne, co oznacza, że luki te umożliwiają omijanie wszystkich poziomów ochrony przeglądarki oraz wykonanie kodu w systemie poza warunkami środowiska piaskownicy. W ramach programu nagród za wykrywanie luk w zabezpieczeniach dla bieżącej wersji firma Google przyznała 60 nagród i wypłaciła 118 tysięcy dolarów amerykańskich (dwie nagrody w wysokości 43000 dolarów, dwie nagrody w wysokości 11000 dolarów i po jednej nagrodzie w wysokości 4000, 3000, 2000 oraz 1000 dolarów. Kwota 52 nagród nie została jeszcze ustalona.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster