Wydanie silnika przeglądarki Servo 0.0.5

Opublikowano wersję silnika przeglądarki Servo 0.0.5 oraz rozwijaną razem z nim demo przeglądarkę ServoShell, napisaną w języku Rust. Gotowe wersje zostały stworzone dla systemów Linux, Android, macOS i Windows.

Silnik został pierwotnie rozwinięty przez firmę Mozilla, ale później przeszedł pod skrzydła organizacji Linux Foundation. Servo wyróżnia się wsparciem dla wielowątkowego renderowania stron internetowych, równoległym przetwarzaniem operacji z DOM (Document Object Model) oraz wykorzystywaniem mechanizmów bezpiecznego programowania zapewnianych przez język Rust. Servo zostało pierwotnie stworzone z myślą o rozbiciu kodu DOM i renderowaniu na mniejsze podzadania, które mogą być wykonywane równolegle, co pozwala na bardziej efektywne wykorzystanie zasobów wielordzeniowych CPU. W Firefoksie zintegrowano już niektóre części Servo, takie jak wielowątkowy silnik CSS oraz system renderowania WebRender.

Wydanie silnika przeglądarki Servo 0.0.5

Główne zmiany:

  • Do elementu HTML <audio> dodano wsparcie dla odtwarzania plików w formacie OGG.
  • Dodano wsparcie dla wstępnego ładowania zasobów, za pomocą tagu <link rel=preload>, które umożliwia zorganizowanie ładowania zasobów bez czekania na ich żądanie, na przykład można od razu załadować określone pliki CSS, skrypty, wideo i obrazy.
  • W elementach HTML 'style' i 'link' wdrożono wsparcie dla właściwości 'blocking', aby wstrzymać wyświetlanie strony do momentu zakończenia ładowania zasobu.
  • Do elementu HTML 'img' dodano wsparcie dla właściwości 'align' do zarządzania wyrównywaniem obrazu.
  • Do elementu HTML 'select' dodano wsparcie dla właściwości 'disabled' do dezaktywacji listy rozwijanej.
  • Dodano wsparcie dla właściwości 'cursor-color' do zmiany koloru kursora w polach wejściowych.
  • Dodano wsparcie dla zastosowania właściwości CSS 'content' do zastąpienia dowolnego elementu HTML obrazem.
  • Dodano wsparcie dla pseudo-elementu '::details-content' do zmiany stylu treści określonej za pomocą elementu HTML <details>.
  • Do elementu HTML <details> dodano wsparcie dla pseudoklasy ':open', która wyzwala się podczas otwierania dialogu.
  • Dla elementu HTML <input type=button> wdrożono wsparcie dla pseudoklasy ':active', działającej w czasie od naciśnięcia do zwolnienia przycisku.
  • Dodano API Origin do uzyskiwania informacji o źródle kontentu na poziomie powiązania 'protokół + domenę + port.
  • Wprowadzono właściwość MouseEvent.detail do uzyskiwania informacji o charakterze kliknięcia (pojedyncze, podwójne).
  • Do obiektu Request dodano właściwość 'keepalive' do określenia, czy połączenie jest w stanie keepalive.
  • Dodano wsparcie dla importowania modułów w formacie JSON za pomocą wyrażeń import.
  • Dodano możliwość określenia atrybutów dla wskazania typu zawartości przy imporcie za pomocą wyrażenia import.
  • Dodano wsparcie dla cyklicznego importu modułów JavaScript.
  • Włączono domyślnie wsparcie dla interfejsu navigator.sendBeacon, do asynchronicznego przesyłania małych porcji danych z przeglądarki na serwer.
  • Dodano konfigurację https_proxy oraz zmienne środowiskowe HTTPS_PROXY i NO_PROXY do organizacji pracy poprzez proxy HTTPS.
  • W API Crypto dodano wsparcie dla algorytmów ML-KEM, ML-DSA oraz AES-OCB.
  • Dodano wsparcie dla krzyżowego kompilowania z użyciem platformy Windows jako hosta.
  • Dodano ustawienie network_connection_timeout do określenia limitu czasu na nawiązanie połączenia sieciowego (domyślnie 15 sekund).

Ź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