עדכון המניפסט

המרת מניפסט V2 למניפסט V3

קובץ manifest.json צריך להיות בפורמט שונה במקצת עבור Manifest V3 בהשוואה ל-Manifest V2. בדף הזה מתוארים שינויים שמשפיעים רק על הקובץ manifest.json. עם זאת, רבים מהשינויים בסקריפטים ובדפים מחייבים גם שינויים במניפסט. השינויים האלה מופיעים במשימות ההעברה שבהן הם נדרשים.

שינוי מספר גרסת המניפסט

משנים את הערך של השדה "manifest_version" מ-2 ל-3.

Manifest V2
{
  ...
  "manifest_version": 2
  ...
}
מניפסט V3
{
  ...
  "manifest_version": 3
  ...
}

עדכון הרשאות המארח

הרשאות המארח במניפסט V3 הן שדה נפרד. לא מציינים אותן ב-"permissions" או ב-"optional_permissions".

סקריפטים של תוכן נשארים בקטע "content_scripts.matches". מידע על "content_scripts.matches" זמין במאמר הזרקה באמצעות הצהרות סטטיות.

Manifest V2
{
  ...
  "permissions": [
    "tabs",
    "bookmarks",
    "https://www.blogger.com/",
  ],
  "optional_permissions": [
    "unlimitedStorage",
    "*://*/*",
  ]
  ...
}
מניפסט V3
{
  ...
  "permissions": [
    "tabs",
    "bookmarks"
  ],
  "optional_permissions": [
    "unlimitedStorage"
  ],
  "host_permissions": [
    "https://www.blogger.com/",
  ],
  "optional_host_permissions": [
    "*://*/*",
  ]
  ...
}

עדכון משאבים שגולשים יכולים לגשת אליהם באינטרנט

משאבים שגלויים באינטרנט הם קבצים בתוך תוסף שאפשר לגשת אליהם מדפי אינטרנט או מתוספים אחרים. כפי שהוטמע ב-Manifest V2, השדה "web_accessible_resources" אפשר לאתרים ולתוקפים לזהות תוספים אם התוסף בחר לחשוף משאבים. המצב הזה יצר הזדמנויות ליצירת טביעות אצבע או לגישה לא מכוונת למשאבים.

Manifest V3 מגביל את החשיפה על ידי הגבלת האתרים והתוספים שיכולים לגשת למשאבים בתוסף. במקום לספק רשימה של קבצים כמו בעבר, עכשיו צריך לספק מערך של אובייקטים, שכל אחד מהם ממפה קבוצה של משאבים לקבוצה של כתובות URL או מזהי תוספים.

בדוגמה הבאה מוצגת השוואה בין משאבים שזמינים באינטרנט בין Manifest V2 לבין Manifest V3. ב-Manifest V2, כל האתרים יכלו לגשת למשאבים שצוינו כברירת מחדל. בקוד של Manifest V3 שמוצג בהמשך, המשאבים האלה זמינים רק ל-https://example.com, בעוד שרק תמונות מסוימות זמינות לכל האתרים.

מידע נוסף זמין במאמרים משאבים שגלויים לאינטרנט ותבניות התאמה.

Manifest V2
{
  ...
  "web_accessible_resources": [
    "images/*",
    "style/extension.css",
    "script/extension.js"
  ],
  ...
}
מניפסט V3
{
  ...
    "web_accessible_resources": [
    {
      "resources": [
        "images/*"
      ],
      "matches": [
        "*://*/*"
      ]
    },
    {
      "resources": [
        "style/extension.css",
        "script/extension.js"
      ],
      "matches": [
        "https://example.com/*"
      ]
    }
  ],
  ...
}