A fost introdus motorul de browser Kosmonaut, scris în Rust

În limitele proiectului cosmonaut Este în curs de dezvoltare un motor de browser, scris în întregime în limbajul Rust și folosind unele dintre dezvoltările proiectului Servo. Cod distribuit de licențiat sub MPL 2.0 (Mozilla Public License). Legăturile OpenGL sunt folosite pentru randare gl-rs în limba Rust. Gestionarea ferestrelor și crearea contextului OpenGL sunt implementate de bibliotecă Glutina. Componentele sunt folosite pentru a analiza HTML și CSS html5ever и csssparserdezvoltat de proiect Servo.
Codul pentru lucrul cu DOM se bazează pe evoluțiile proiectului Kuchiki, dezvoltând o bibliotecă pentru manipularea HTML/XML. Dintre proiectele utilizate, este menționat și un motor web experimental Robinson, care se află în stare semi-abandonată de aproximativ 5 ani.

În stadiul actual de dezvoltare, sunt furnizate suport HTML de bază și un set limitat de capabilități CSS, care nu sunt încă suficiente pentru a vizualiza majoritatea paginilor moderne. cu toate acestea pagini simple pe div-urile cu CSS sunt desenate corect. Proiectul a fost fondat inițial acum un an pentru a preda procesul de dezvoltare a motoarelor de browser, dar acum încearcă să găsească noi nișe de aplicație.

Ce a fost deja implementat:

  • Analizare HTML, subset CSS, CSS în cascadă, DOM.
  • Redarea paginii, blocarea aspectului conținutului.
  • Sprijin parțial pentru rezumat modele de cutie si proprietati"direcţie“.
  • Generarea dump-urilor de depanare cu un arbore de elemente afișate.
  • Acceptă factori de scalare arbitrari pentru ecranele cu DPI ridicat.
  • Redarea textului utilizând biblioteca FreeType.
  • Sprijini Aspectul fluxului, formatare și randare inline sensibile la context.

Sursa: opennet.ru

Adauga un comentariu