Compania Mozilla , deși, în ciuda utilizării sistemului de extensii bazat pe API WebExtensions în Firefox, dezvoltatorii nu intenționează să urmeze complet viitoarea a treia ediție a manifestului pentru extensiile Chrome. În special, în Firefox va continua să existe suport pentru modul de operare blocant al API-ului , care permite modificarea conținutului primit în timp real și este solicitat în blocatoarele de reclame și sistemele de filtrare a conținutului.
Ideea principală a trecerii la API WebExtensions a fost unificarea tehnologiei de dezvoltare a extensiilor pentru Firefox și Chrome, astfel încât, în prezent, Firefox asigură aproape 100% compatibilitate cu versiunea actuală a celei de-a doua versiuni a manifestului Chrome. Manifestul definește lista de funcționalități și resurse oferite extensiilor. Din cauza introducerii unor măsuri restrictive în a treia versiune a manifestului, percepute negativ de dezvoltatorii de extensii, Mozilla se va abate de la practica de a urma complet manifestul și nu va transfera în Firefox modificările care afectează compatibilitatea cu extensiile.
Reamintim că , compania Google intenționează să oprească suportul pentru modul de operare blocant al API-ului webRequest în Chrome, limitându-l doar la modul de citire și propunând un nou API declarațional pentru filtrarea conținutului . Dacă API-ul webRequest permitea conectarea de proprii handleri, având acces complet la solicitările de rețea și capabili să modifice traficul în timp real, noul API declarativeNetRequest oferă acces la un motor universal încorporat pentru filtrare, gestionând singur regulile de blocare, fără a permite utilizarea propriilor algoritmi de filtrare și fără a permite stabilirea unor reguli complexe, care se suprapun, în funcție de condiții.
Mozilla evaluează, de asemenea, oportunitatea de a transfera în Firefox suportul pentru unele alte modificări din a treia versiune a manifestului Chrome, care afectează compatibilitatea cu extensiile:
- Trecerea la execuția Service workers sub formă de procese de fundal, ceea ce va necesita de la dezvoltatori modificarea codului în unele extensii. Deși noul metod este mai optim din punct de vedere al performanței, Mozilla ia în considerare păstrarea suportului pentru execuția paginilor de fundal.
- Noua model granulat de cerere a permisiunilor — extensia nu se va putea activa imediat pentru toate paginile (s-a îndepărtat permisiunea „all_urls”), ci va funcționa doar în contextul tab-ului activ, adică utilizatorul va trebui să confirme funcționarea extensiei pentru fiecare site. Mozilla explorează modalități de consolidare a controlului accesului, fără a distrage constant atenția utilizatorului.
- Schimbarea modului de procesare a cererilor Cross-origin — conform noului manifest, restricțiile de permisiune se vor aplica și scripturilor de procesare a conținutului, la fel ca pentru pagina principală în care sunt integrate aceste scripturi (de exemplu, dacă pagina nu are acces la API-ul de definire a locației, nici scriptul de completare nu va avea acest acces). Schimbarea este planificată pentru implementare în Firefox.
- Interdicția de a executa cod descărcat de pe servere externe (se referă la situațiile în care o completare încarcă și execută cod extern). În Firefox, deja se aplică blocarea codului extern, iar dezvoltatorii Mozilla nu se opun consolidării acestei protecții, aplicând tehnici suplimentare de urmărire a descărcărilor de cod, propuse în a treia versiune a manifestului.
Sursa: opennet.ro
