van de webbrowser , evenals Firefox 68.7 voor Android. Daarnaast is er een update samengesteld. met een lange ondersteuningsperiode . Binnenkort zal in de fase deze week wordt Firefox 76 uitgebracht, gepland voor 5 mei (project van 4-5 weken ).
:
- Voor Linux is de ontwikkeling begonnen in Flatpak-formaat.
- De weergave van de adresbalk is bijgewerkt. Bij een klik op de adresbalk verschijnt nu zonder dat er meteen tekst hoeft te worden ingevoerd een dropdownlijst met de meest geconfigureerde links. De zoekresultaat-suggesties zijn geoptimaliseerd voor betere prestaties op kleinere schermen. In het gebied voor contextuele aanbevelingen worden oplossingen voor veelvoorkomende problemen bij het gebruik van de browser weergegeven.
Het weergeven van het protocol https:// en de subdomein 'www.' in de dropdownlijst met links die verschijnt tijdens het typen in de adresbalk is gestopt (bijvoorbeeld, inhoudelijk verschillende https://opennet.ru en https://www.opennet.ru zullen niet meer van elkaar te onderscheiden zijn). Het http:// protocol wordt zonder wijzigingen in de zoekresultaten weergegeven.
- Voor Linux is het gedrag bij klikken in de adresbalk gewijzigd (zoals in Windows en macOS) - een enkele klik selecteert alle inhoud zonder deze in het klembord te plaatsen, een dubbele klik selecteert één woord, en een driedubbele klik selecteert alle inhoud en plaatst deze in het klembord.
- De ondersteuning voor geen afbeeldingen laden die buiten het zichtbare gebied liggen, totdat de gebruiker de pagina naar de plaats voor het beeld heeft gescrold. Voor het beheren van de vertraagde afbeelding laden is de tag 'img' een attribuut toegevoegd,dat de waarde 'lazy' kan aannemen. Het is de bedoeling dat vertraagd laden het geheugengebruik vermindert, het dataverbruik verlaagt en de initiële laadtijd van pagina's versnelt. Voor het beheren van de vertraagde afbeelding laden is er een parameter 'dom.image-lazy-loading.enabled' toegevoegd aan about:config.
- volledige ondersteuning voor WebGL in omgevingen die het Wayland-protocol gebruiken. Tot nu toe liet het prestatieniveau van WebGL in de Linux-bouwversies van Firefox veel te wensen over vanwege het gebrek aan ondersteuning voor hardwareversnelling, als gevolg van problemen met gfx-drivers voor X11 en het gebruik van verschillende standaarden. Met het gebruik van Wayland is de situatie verbeterd dankzij de komst van een nieuwe , die gebruik maakt van het mechanisme . Naast hardwareversnelling voor WebGL heeft de backend ook ondersteuning voor video-decoderingsversnelling H.264 met behulp van VA-API (Video Acceleration API) en FFmpegDataDecoder (ondersteuning voor VP9 en andere video-encodeerformaten in Firefox 76). Voor het beheren van de inschakeling van versnelling zijn in about:config de opties «widget.wayland-dmabuf-webgl.enabled» en «widget.wayland-dmabuf-vaapi.enabled» voorgesteld.
- Voor gebruikers in het Verenigd Koninkrijk is de weergave van betaalde sponsorblokken op de startpagina in het aanbevolen gedeelte van de Pocket-inhoud ingeschakeld. De blokken zijn duidelijk gemarkeerd als advertenties en kunnen in de instellingen worden uitgeschakeld. Voorheen werden advertenties aan gebruikers in de VS.
- een modus voor het wissen van oude cookies en sitegegevens bij het bezoeken van sites met trackingcodes waarmee de gebruiker niet interactief heeft gecommuniceerd. De modus is gericht op het bestrijden van tracking via redirects.
- implementatie van modale dialogen, gekoppeld aan afzonderlijke tabbladen en die de gehele interface niet blokkeren.
- de mogelijkheid om sites in de vorm van apps te installeren en te openen, waardoor het werken met de site als met een reguliere desktopapplicatie mogelijk is. Om dit in about:config in te schakelen, moet de instelling «browser.ssb.enabled=true» worden toegevoegd, waarna in het contextmenu van de pagina-acties (de drie stippen in de adresbalk) de optie «Website als App installeren» verschijnt, waarmee een snelkoppeling voor het apart openen van de huidige site op het bureaublad of in het app-menu kan worden geplaatst. Ontwikkeling de ontwikkeling van het concept «» (SSB), dat het openen van een website in een apart venster zonder menubalk, adresbalk en andere interface-elementen van de browser bedoelt. Alleen links naar pagina's van de actieve website worden in het huidige venster geopend, terwijl het klikken op externe links leidt tot het creëren van een apart venster met een normale browser.

- de implementatie van de modus ««, geactiveerd via de HTTP-header «X-Content-Type-Options», die nu ook de logica voor de automatische detectie van MIME-types voor HTML-documenten uitschakelt, en niet alleen voor JavaScript en CSS. De modus helpt zich te beschermen tegen aanvallen die verband houden met het manipuleren van MIME-types. De browser analyseert standaard het type te verwerken inhoud en verwerkt het afhankelijk van het gedefinieerde type. Bijvoorbeeld, als HTML-code wordt opgeslagen in een bestand «.jpg», wordt dit bestand geopend als HTML en niet als afbeelding. Een aanvaller kan een uploadformulier gebruiken voor een jpg-bestand dat HTML met JavaScript-code bevat, waarna hij een link naar dit bestand kan publiceren, die bij directe opening JavaScript-code in de context van de site waarop de upload is uitgevoerd zal uitvoeren (kan cookie en andere aan de site gebonden gebruikersgegevens bepalen bij het openen van de link).
- Lokale caching van alle vertrouwde PKI-certificaten van certificeringsinstanties, die door Mozilla zijn erkend, is verzekerd, wat de compatibiliteit met onjuist geconfigureerde webservers heeft verbeterd.
- Het gebruik van de API Web Crypto is verboden op pagina's die via onbeveiligde HTTP zijn geopend.
- Voor Windows is de modus voor directe compositie (Direct Composition) geïmplementeerd, waardoor de prestaties zijn verbeterd en de invoering van het compositiesysteem dichterbij is gekomen. , geschreven in Rust, en renderoperaties van de inhoud van de pagina naar de GPU zijn verplaatst.
- Voor macOS is een experimentele functie geïmplementeerd voor het gebruik van clientcertificaten uit de algemene certificaatopslag van het besturingssysteem (om dit in about:config in te schakelen, moet de optie security.osclientcerts.autoload worden geactiveerd). Vanaf Firefox 72 was deze functie alleen beschikbaar voor Windows.
- Na Linux is in de builds voor macOS het isolatiemechanisme ingezet. , gericht op het blokkeren van exploitatie van kwetsbaarheden in externe functiebibliotheken. Op dit moment is isolatie alleen ingeschakeld voor de bibliotheek , verantwoordelijk voor de weergave van lettertypen. RLBox compileert C/C++-code van de te isoleren bibliotheek naar laag-niveau WebAssembly-tussencode, die vervolgens wordt verpakt als een WebAssembly-module, waarvan de bevoegdheden alleen aan deze module zijn toegewezen. De gecompileerde module werkt in een apart geheugenbereik en heeft geen toegang tot de rest van de adresruimte. In geval van exploitatie van een kwetsbaarheid in de bibliotheek zal de aanvaller beperkt zijn en geen toegang hebben tot geheugengebieden van het hoofdproces of controle kunnen overdragen buiten de geïsoleerde omgeving.
- Het attribuut "type" in het element kan nu alleen de waarde "text/css" aannemen.
- In CSS zijn functies geïmplementeerd. , en .
- Voor de CSS-eigenschap ondersteuning voor de waarde "all" is geïmplementeerd, die een verplichte lijnonderbreking van onderstrepingen en doorhalingen voorschrijft wanneer ze worden gekruist met tekstgliefen (de eerder gebruikte waarde "auto" vormde adaptief onderbrekingen en uitsluit niet dat ze elkaar aanraken; bij de waarde all zijn aanrakingen met de glief volledig verboden).
- In JavaScript is ondersteuning toegevoegd voor voor instanties van JavaScript-klassen, waarmee vooraf gedefinieerde eigenschappen kunnen worden opgegeven die buiten de constructeur worden geïnitialiseerd.
class ClassWithStaticField {
static staticField = 'static field'
} - Ondersteuning voor de klasse , biedt methoden voor het parseren en verwerken van door het locale systeem opgegeven taal-, regio- en lettertypeparameters, evenals voor het lezen en schrijven van Unicode-extensie-tags en het opslaan van gebruikerslocale-instellingen in een geserialized formaat;
- De implementatie van de eigenschap Function.caller is in overeenstemming gebracht met de laatste conceptversie van de nieuwe ECMAScript-specificatie (in plaats van TypeError wordt nu null geretourneerd als de aanroep plaatsvond vanuit een functie met het strict-, async- of generatorattribuut).
- Er is een methode toegevoegd aan HTMLFormElement. , which initiates programmatic submission of form data similarly to clicking a submit button. This function can be used when developing custom submit buttons, where a call to form.submit() is insufficient due to not triggering interactive validation, generating a 'submit' event, and passing data associated with the submit button.
- Het submit-event wordt nu afgehandeld door een object van het type SubmitEvent in plaats van Event. SubmitEvent bevat nieuwe eigenschappen waarmee je het element kunt identificeren dat de verzending van het formulier heeft veroorzaakt. Bijvoorbeeld, SubmitEvent maakt het mogelijk om één handler te gebruiken die gemeenschappelijk is voor verschillende knoppen en links die de verzending van het formulier activeren.
- Correcte doorgifte van het klik-event is geïmplementeerd bij het aanroepen van de click()-methode voor losgekoppelde elementen (die geen deel uitmaken van de DOM-boom).
- In de API Er is de mogelijkheid toegevoegd om animaties te koppelen aan de start- of eindkeyframe en de browser berekent automatisch de eind- of beginstatus (het is voldoende om alleen het eerste of laatste keyframe op te geven). De Animation.timeline getter, Document.timeline, DocumentTimeline, AnimationTimeline, Document.getAnimations() en Element.getAnimations() zijn standaard ingeschakeld.
- Er is de mogelijkheid toegevoegd om de paginaprofileringsinterface te activeren zonder een aparte extensie te installeren, via de knop 'Enable Profiler Menu Button' op de website. . Een prestatie-analysemode is toegevoegd die alleen actief is voor het tabblad.
- In de webconsole is er een instant-evaluatiemodus toegevoegd, waarmee ontwikkelaars sneller fouten kunnen identificeren en corrigeren bij het invoeren van complexe uitdrukkingen door een voorlopige uitkomst te tonen tijdens het typen.
- In in de pagina-oppervlakte meettool is de mogelijkheid toegevoegd om de grootte van de rechthoekige rand te wijzigen (vroeger kon de rand niet worden gewijzigd als de muisknop werd losgelaten, en bij onjuiste plaatsing moest opnieuw vanaf nul worden gemeten).
- In de interface voor het inspecteren van pagina's is ondersteuning toegevoegd voor het zoeken naar elementen met behulp van XPath-expressies naast de eerder beschikbare CSS-selectoren.
- Er is de mogelijkheid toegevoegd om WebSocket-berichten te filteren met behulp van reguliere expressies (eerder werden alleen tekstmaskers ondersteund).
- In de JavaScript-debugger is ondersteuning toegevoegd voor het binden van breakpoints aan WebSocket-evenementhandlers.
- De interface voor netwerkactiviteitsanalyse is schoongemaakt. De weergave van tabellen is geoptimaliseerd voor gelijktijdige verwerking van een groot aantal verbindingen. Kolomafscheidingen en knoppen voor filtertoepassing zijn duidelijker gemaakt. In het paneel voor het blokkeren van netwerkverzoeken is de mogelijkheid geïmplementeerd om het teken „*” in URL-maskers te gebruiken (dit maakt het mogelijk om het gedrag van de site te beoordelen in het geval van laadproblemen met bronnen).
Naast de innovaties en bugfixes in Firefox 75 is ook verwijderd , waarvan er enkele als kritiek zijn gemarkeerd, dat wil zeggen dat ze kunnen leiden tot het uitvoeren van kwaadaardige code bij het openen van speciaal opgemaakte pagina's. Momenteel is er geen informatie beschikbaar over de details van de verholpen beveiligingsproblemen, maar de lijst met kwetsbaarheden wordt binnen enkele uren gepubliceerd.
Bron: opennet.ru

