Ο Firefox ξεκίνησε να δοκιμάζει την τρίτη έκδοση του μανιφέστου του Chrome

Η Mozilla ανακοίνωσε ότι έχει αρχίσει να δοκιμάζει την εφαρμογή του Firefox της τρίτης έκδοσης του μανιφέστου Chrome, η οποία καθορίζει τις δυνατότητες και τους πόρους που είναι διαθέσιμοι σε πρόσθετα που έχουν γραφτεί χρησιμοποιώντας το WebExtensions API. Για να δοκιμάσετε την τρίτη έκδοση του μανιφέστου στο Firefox 101 beta, θα πρέπει να ορίσετε την παράμετρο "extensions.manifestV3.enabled" σε true και την παράμετρο "xpinstall.signatures.required" σε false στη σελίδα about:config. Για να εγκαταστήσετε πρόσθετα, μπορείτε να χρησιμοποιήσετε τη διεπαφή about:debugging. Η τρίτη έκδοση της δήλωσης έχει προγραμματιστεί να ενεργοποιηθεί από προεπιλογή μέχρι το τέλος του έτους.

Ξεκινώντας με την έκδοση 57, ο Firefox άλλαξε εντελώς στη χρήση του WebExtensions API για την ανάπτυξη πρόσθετων και σταμάτησε να υποστηρίζει την τεχνολογία XUL. Η μετάβαση στο WebExtensions κατέστησε δυνατή την ενοποίηση της ανάπτυξης πρόσθετων με τις πλατφόρμες Chrome, Opera, Safari και Edge, απλοποίησε τη μεταφορά των πρόσθετων μεταξύ διαφορετικών προγραμμάτων περιήγησης ιστού και κατέστησε δυνατή την πλήρη χρήση της λειτουργίας πολλαπλών διεργασιών του λειτουργία (τα πρόσθετα WebExtensions μπορούν να εκτελεστούν σε ξεχωριστές διεργασίες, απομονωμένες από το υπόλοιπο πρόγραμμα περιήγησης). Για να ενοποιήσει την ανάπτυξη πρόσθετων με άλλα προγράμματα περιήγησης, ο Firefox παρέχει σχεδόν πλήρη συμβατότητα με τη δεύτερη έκδοση του μανιφέστου του Chrome.

Το Chrome εργάζεται αυτήν τη στιγμή για να μετακινηθεί στην έκδοση 2023 του μανιφέστου και η υποστήριξη για την έκδοση XNUMX θα διακοπεί τον Ιανουάριο του XNUMX. Επειδή η τρίτη έκδοση του μανιφέστου έχει δεχθεί πυρά και θα σπάσει πολλά πρόσθετα αποκλεισμού περιεχομένου και ασφάλειας, η Mozilla αποφάσισε να απομακρυνθεί από την πρακτική της διασφάλισης πλήρους συμβατότητας με το μανιφέστο στον Firefox και να εφαρμόσει κάποιες αλλαγές με διαφορετικό τρόπο.

Η κύρια δυσαρέσκεια με την τρίτη έκδοση του μανιφέστου σχετίζεται με τη μετάφραση σε λειτουργία μόνο για ανάγνωση του webRequest API, η οποία κατέστησε δυνατή τη σύνδεση των δικών σας χειριστών που έχουν πλήρη πρόσβαση σε αιτήματα δικτύου και μπορούν να τροποποιήσουν την κυκλοφορία εν κινήσει. Αυτό το API χρησιμοποιείται στο uBlock Origin και σε πολλά άλλα πρόσθετα για τον αποκλεισμό ακατάλληλου περιεχομένου και την παροχή ασφάλειας. Αντί για το webRequest API, η τρίτη έκδοση του manifest προσφέρει ένα περιορισμένης δυνατότητας declarativeNetRequest API, το οποίο παρέχει πρόσβαση σε μια ενσωματωμένη μηχανή φιλτραρίσματος που επεξεργάζεται ανεξάρτητα κανόνες αποκλεισμού, δεν επιτρέπει τη χρήση των δικών της αλγορίθμων φιλτραρίσματος και δεν επιτρέπουν τη θέσπιση πολύπλοκων κανόνων που αλληλοεπικαλύπτονται ανάλογα με τις συνθήκες.

Κατά την υλοποίηση της τρίτης έκδοσης του μανιφέστου που προτείνεται στον Firefox, προστέθηκε ένα νέο δηλωτικό API για φιλτράρισμα περιεχομένου, αλλά σε αντίθεση με το Chrome, δεν σταμάτησαν να υποστηρίζουν τον παλιό τρόπο λειτουργίας αποκλεισμού του webRequest API. Άλλα χαρακτηριστικά της νέας υλοποίησης του μανιφέστου στον Firefox περιλαμβάνουν:

  • Η δήλωση ορίζει την αντικατάσταση των σελίδων παρασκηνίου με την επιλογή Service Workers, η οποία εκτελείται ως διεργασίες παρασκηνίου (Background Service Workers). Για να διασφαλίσει τη συμβατότητα, ο Firefox θα εφαρμόσει αυτήν την απαίτηση, αλλά θα προσφέρει επιπλέον έναν νέο μηχανισμό Σελίδων συμβάντων, ο οποίος είναι πιο οικείος στους προγραμματιστές ιστού, δεν απαιτεί πλήρη επανεπεξεργασία πρόσθετων και εξαλείφει τους περιορισμούς που σχετίζονται με τη χρήση των Service Workers. Οι Σελίδες συμβάντων θα επιτρέπουν στις υπάρχουσες προσθήκες σελίδων παρασκηνίου να συμμορφώνονται με τις απαιτήσεις της τρίτης έκδοσης του μανιφέστου, διατηρώντας παράλληλα την πρόσβαση σε όλες τις δυνατότητες που απαιτούνται για την εργασία με το DOM. Στην υλοποίηση του μανιφέστου που είναι διαθέσιμη για δοκιμή στον Firefox, προς το παρόν υποστηρίζονται μόνο Σελίδες συμβάντων και η υποστήριξη για μια λύση που βασίζεται σε Service Workers υπόσχεται να προστεθεί αργότερα. Η Apple υποστήριξε την πρόταση και εφάρμοσε τις σελίδες συμβάντων στο Safari Technology Preview 136.
  • Το νέο μοντέλο λεπτομερούς αιτήματος άδειας - το πρόσθετο δεν θα μπορεί να ενεργοποιηθεί για όλες τις σελίδες ταυτόχρονα (το δικαίωμα "all_urls" έχει καταργηθεί), αλλά θα λειτουργεί μόνο στο πλαίσιο της ενεργής καρτέλας, π.χ. ο χρήστης θα πρέπει να επιβεβαιώσει ότι το πρόσθετο λειτουργεί για κάθε ιστότοπο. Στον Firefox, όλα τα αιτήματα για πρόσβαση σε δεδομένα ιστότοπου θα θεωρούνται προαιρετικά και η τελική απόφαση για την παραχώρηση πρόσβασης θα λαμβάνεται από τον χρήστη, ο οποίος θα μπορεί να αποφασίσει επιλεκτικά σε ποιο πρόσθετο θα παραχωρήσει πρόσβαση στα δεδομένα του σε έναν συγκεκριμένο ιστότοπο.
  • Αλλαγή στον χειρισμό αιτημάτων πολλαπλής προέλευσης - σύμφωνα με το νέο μανιφέστο, τα σενάρια επεξεργασίας περιεχομένου θα υπόκεινται στους ίδιους περιορισμούς αδειών όπως για την κύρια σελίδα στην οποία είναι ενσωματωμένα αυτά τα σενάρια (για παράδειγμα, εάν η σελίδα δεν έχει πρόσβαση στο location API, τότε τα πρόσθετα σεναρίου δεν θα λάβουν επίσης αυτήν την πρόσβαση). Αυτή η αλλαγή εφαρμόζεται πλήρως στον Firefox.
  • API που βασίζεται σε υποσχέσεις. Ο Firefox υποστηρίζει ήδη αυτό το API και θα το μετακινήσει στον χώρο ονομάτων "chrome.*" για την τρίτη έκδοση του μανιφέστου.
  • Απαγόρευση εκτέλεσης κώδικα που έχει ληφθεί από εξωτερικούς διακομιστές (μιλάμε για καταστάσεις κατά τις οποίες το πρόσθετο φορτώνει και εκτελεί εξωτερικό κώδικα). Ο Firefox χρησιμοποιεί ήδη εξωτερικό αποκλεισμό κώδικα και οι προγραμματιστές της Mozilla έχουν προσθέσει πρόσθετες τεχνικές παρακολούθησης λήψης κώδικα που προσφέρονται στην τρίτη έκδοση του μανιφέστου. Για σενάρια επεξεργασίας περιεχομένου, παρέχεται μια ξεχωριστή πολιτική περιορισμού πρόσβασης περιεχομένου (CSP, Πολιτική ασφάλειας περιεχομένου).

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο