vydání webového prohlížeče , a také Firefox 68.7 pro platformu Android. Kromě toho bylo vytvořeno aktualizace s dlouhou dobou podpory . V blízké budoucnosti přejde na fázi přejde na verzi Firefox 76, jejíž vydání je naplánováno na 5. května (projekt na 4-5 týdnů ).
:
- Pro Linux se začalo vytvářet ve formátu Flatpak.
- Byl aktualizován design adresního řádku. Při kliknutí na adresní řádek se nyní bez nutnosti začít psát okamžitě zobrazuje rozbalovací seznam nejčastěji používaných odkazů. Návrhy s výsledky vyhledávání byly optimalizovány pro kvalitnější práci na malých obrazovkách. V oblasti kontextových doporučení jsou nyní zobrazeny tipy na řešení běžných problémů, které mohou nastat při práci s prohlížečem.
Bylo zastaveno zobrazení protokolu https:// a poddomény „www.“ v rozbalovacím bloku odkazů, který se zobrazuje při psaní do adresního řádku (například obsahově odlišné https://opennet.ru a https://www.opennet.ru budou nerozeznatelné). Protokol http:// se zobrazuje ve výsledcích vyhledávání beze změny.
- Pro Linux bylo změněno chování při kliknutí do adresního řádku (bylo to uděláno jako ve Windows a macOS) — jedno kliknutí vybere vše bez vložení do schránky, dvojité kliknutí vybere jedno slovo, trojité kliknutí vybere vše a vloží do schránky.
- Byla implementována nahrávat obrázky, které se nacházejí mimo viditelnou oblast, dokud uživatel nescrolluje obsah stránky na místo těsně předcházející obrázku. Pro správu odloženého načítání stránek byl do tagu „img“ přidán atribut „“, který může mít hodnotu „lazy“. Předpokládá se, že odložené načítání umožní snížit spotřebu paměti, snížit provoz a zvýšit rychlost načítání stránek. Pro správu odloženého načítání byl do about:config přidán parametr „dom.image-lazy-loading.enabled“.
- plná podpora WebGL v prostředích využívajících protokol Wayland. Dosud úroveň výkonu WebGL v linuxových verzích Firefoxu zaostávala kvůli absenci podpory hardwarového zrychlení, a to z důvodu problémů s gfx ovladači pro X11 a používání různých standardů. Při použití Waylandu se situace zlepšila díky novému , který používá mechanismus . Kromě hardwarového zrychlení WebGL backend také podporu urychlení dekódování videa H.264 pomocí VA-API (Video Acceleration API) a FFmpegDataDecoder (podpora VP9 a dalších formátů kódování videa v prohlížeči Firefox 76). Pro ovládání zapnutí urychlení ve about:config jsou navrženy parametry „widget.wayland-dmabuf-webgl.enabled“ a „widget.wayland-dmabuf-vaapi.enabled“.
- Pro uživatele z Velké Británie je povoleno zobrazení placených sponzorovaných bloků na úvodní stránce v sekci doporučeného obsahem Pocket. Bloky jsou jasně označeny jako reklama a lze je vypnout v nastaveních. Předtím byla reklama pouze pro uživatele ze Spojených států.
- režim čištění starých cookies a dat webu při návštěvě webů s kódem sledování pohybu, se kterými uživatel interaktivně neinteragoval. Režim se zaměřuje na boj proti sledování prostřednictvím přesměrování.
- realizace modálních dialogů, které jsou vázány na jednotlivé karty a neblokují celé uživatelské rozhraní.
- možnost instalace a otevření webů ve formě aplikací (Apps), které umožňují organizovat práci s webem jako s běžným stolním programem. Pro aktivaci v about:config je nutné přidat nastavení „browser.ssb.enabled=true“, po čemž se v kontextovém menu akcí se stránkou (tři tečky v adresním řádku) objeví položka „Install Website as App“, která umožňuje umístit na plochu nebo do menu aplikací zástupce pro samostatné otevření aktuálního webu. Vývoj rozvoj konceptu „“ (SSB), který předpokládá otevření webu v samostatném okně bez nabídky, adresního řádku a dalších prvků uživatelského rozhraní prohlížeče. V aktuálním okně se otevírají pouze odkazy na stránky aktivního webu, a přechod na externí odkazy vede k vytvoření samostatného okna s běžným prohlížečem.

- realizace režimu „«, aktivovaného prostřednictvím HTTP hlavičky «X-Content-Type-Options», který nyní deaktivuje také logiku automatického určování MIME typů pro HTML dokumenty, a ne pouze pro JavaScript a CSS. Tento režim pomáhá chránit před útoky souvisejícími s manipulací MIME typy. Browser předem analyzuje typ zpracovávaného obsahu a zpracovává ho v závislosti na zjištěném typu. Například, pokud uložíte HTML kód do souboru «.jpg», tento soubor se při otevření zpracovává jako HTML, a ne jako obrázek. Útočník může využít formulář pro nahrávání obrázků pro jpg soubor obsahující HTML s JavaScript kódem, po kterém může publikovat odkaz na tento soubor, který při přímém otevření vykoná JavaScript kód v kontextu webu, na který byl soubor nahrán (může být určeno cookie a další přidružené údaje o uživateli, který odkaz otevřel).
- Bylo zajištěno lokální ukládání všech důvěryhodných PKI certifikátů certifikačních autorit, které jsou známy společnosti Mozilla, což zlepšilo kompatibilitu s nesprávně nastavenými webovými servery.
- Na stránkách otevřených pomocí HTTP bez šifrování je zakázáno používání API Web Crypto.
- Pro Windows byl implementován režim přímého kompozitování (Direct Composition), který zvyšuje výkon a přibližuje realizaci systému kompozitování , napsaného v jazyce Rust, který přesouvá operace vykreslování obsahu stránky na GPU.
- Pro macOS byla implementována experimentální možnost použití klientských certifikátů z obecného úložiště certifikátů operačního systému (pro aktivaci v about:config je třeba povolit možnost security.osclientcerts.autoload). Od Firefoxu 72 byla tato možnost dostupná pouze pro Windows.
- Po Linuxu byl v sestavách pro macOS zaveden mechanismus izolace , zaměřený na blokaci využívání zranitelností ve třetích knihovnách funkcí. V tomto stadiu je izolace aktivována pouze pro knihovnu , odpovídající za vykreslování písem. RLBox provádí kompilaci C/C++ kódu izolované knihovny do nízkoúrovňového mezikódu WebAssembly, který je poté zabaleno do WebAssembly modulu, jehož oprávnění jsou nastavena pouze pro tento modul. Sestavený modul běží v oddělené oblasti paměti a nemá přístup k ostatnímu adresnímu prostoru. V případě vykonání zranitelnosti v knihovně bude útočník omezen a nebude se moci dostat k oblastem paměti hlavního procesu nebo přenést kontrolu mimo izolované prostředí.
- Atribut „type“ v prvku nyní může mít pouze hodnotu „text/css“.
- V CSS byly implementovány funkce , a .
- Pro vlastnost CSS byla implementována podpora hodnoty „all“, která předepisuje povinné přerušení linky podtržení a přeškrtnutí při průniku s textovými glyfy (dříve používaná hodnota „auto“ adaptivně generovala přerušení a nevyškrtávala dotyky, při hodnotě all jsou dotyky s glyfem zcela zakázány).
- V JavaScriptu byla přidána podpora pro instance tříd JavaScriptu, které umožňují definovat předem určené vlastnosti inicializované mimo konstruktor.
class ClassWithStaticField {
static staticField = ‘statické pole’
} - Byla přidána podpora třídy , poskytující metody pro analýzu a zpracování sad zvolených parametru jazyka, regionu a stylu, stejně jako pro čtení a zápis tagů rozšíření Unicode a uchování uživatelských nastavení lokality v serializovaném formátu;
- Implementace vlastnosti Function.caller byla přizpůsobena poslednímu návrhu nové specifikace ECMAScript (místo TypeError nyní vrací null, pokud je volání provedeno z funkce s atributem strict, async nebo generator).
- Do HTMLFormElement byla přidána metoda , která iniciuje programové odeslání dat formuláře analogicky ke kliknutí na tlačítko pro odeslání dat. Funkce může být použita při vývoji vlastních tlačítek pro odeslání formuláře, pro která volání form.submit() nestačí, protože nevede k interaktivnímu ověření parametrů, generaci události 'submit' a přenosu dat přidružených k tlačítku pro odeslání.
- Událost submit je nyní realizována objektem SubmitEvent, nikoli Event. SubmitEvent zahrnuje nové vlastnosti, které umožňují zjistit prvek, jehož vyvolání vedlo k odeslání formuláře. Například, SubmitEvent umožňuje použít jeden zpracovatel, který je společný pro různé tlačítka a odkazy vedoucí k odeslání formuláře.
- Bylo implementováno správné předání události kliknutí při vyvolání metody click() pro odpojené prvky (které nejsou součástí DOM stromu).
- V API Byla přidána možnost vázání animace na počáteční nebo koncový klíčový snímek, přičemž prohlížeč sám vypočítá finální nebo počáteční stav (stačí uvést pouze první nebo poslední klíčový snímek). Ve výchozím nastavení jsou zahrnuty Animation.timeline getter, Document.timeline, DocumentTimeline, AnimationTimeline, Document.getAnimations() a Element.getAnimations().
- Byla přidána možnost aktivace rozhraní pro profilování stránek bez instalace samostatného doplňku, stisknutím tlačítka „Enable Profiler Menu Button“ na webu. . Přidán režim analýzy výkonu pouze pro aktivní kartu.
- V webové konzoli se objevil režim okamžitého výpočtu výrazů, který umožňuje vývojářům rychleji odhalovat a opravovat chyby při zadávání složitých výrazů díky zobrazení předběžného výsledku při psaní.
- V pro měření oblastí stránky (Measuring Tool) byla přidána možnost změny velikosti obdélníkového rámce (dříve, pokud jste uvolnili tlačítko myši, rámeček nebylo možné změnit a v případě nepřesného zaměření bylo nutné měřit od začátku).
- V rozhraní inspekce stránek byla přidána podpora vyhledávání prvků pomocí výrazů XPath vedle dříve dostupného vyhledávání pomocí CSS selektorů.
- Byla přidána možnost filtrování zpráv WebSocket pomocí regulárních výrazů (dříve byly podporovány pouze textové masky).
- V JavaScript ladicích nástrojích byla přidána podpora vázání zarážek na zpracovatele událostí WebSocket.
- Byl proveden úklid uživatelského rozhraní pro analýzu síťové aktivity. Bylo optimalizováno vykreslování tabulek při souběžném zpracování velkého počtu připojení. Oddělovače sloupců a tlačítka pro aplikaci filtrů byly učiněny více kontrastními. V panelu blokování síťových požadavků byla implementována možnost použít znak „*“ v maskách URL (umožňuje posoudit chování webu v podmínkách selhání načítání zdrojů).
Kromě novinek a oprav chyb ve Firefoxu 75 byla odstraněna , z nichž některé jsou označeny jako kritické, tedy mohou vést k provedení kódu útočníka při otevření speciálně upravených stránek. V současné době nejsou k dispozici podrobnosti o opravených bezpečnostních problémech, očekává se, že seznam zranitelností bude zveřejněn během několika hodin.
Zdroj: opennet.ru

