For each step in this project we'll make two versions of each experiment, one with manifest v2 and one with manifest v3, with each step subdivided as an "episode."
Let's make two new directories under an ep_001
parent, ep_001/v2
and ep_001/v3
, and initialize a pair of manifest files.
Here's /v2/manifest.json
:
"version": "0.0.101",
"name": "Baseline",
"description": "Manifest V2 Baseline",
"manifest_version": 2
}
Open up Canary's chrome://extensions page
and be sure Developer Mode is on. Then install the baseline extension by dragging in the ep_001/v2
folder and dropping it. You should see the title, version, short description, an ID, and some UI on the bottom, featuring Details, Remove, Reload, and Disable buttons.
Here's /v3/manifest.json
:
"version": "0.0.101",
"name": "Test",
"description": "Manifest V3 Test",
"manifest_version": 3
}
Same deal here: drag in the ep_001/v3
folder into chrome://extensions
and drop it. (V2 and V3 extensions should run side-by-side in Canary.)
Uh-oh. There's an Errors button in the UI bar. Click to see what's going on.
The maximum currently-supported manifest version is 2, but this is 3. Certain features may not work as expected.
While this presents as an error it is really a warning, and will train us to ignore the Errors button.
I've reported this in the Chromium Extensions Google Group. It's annoying, especially when you start trying to run the extension on domains that are loading cookies with weird-looking sameSite attributes.
We're good to move on to our next challenge, site permissions.