Basic

The manifest as the contract

The manifest is the file the browser reads before anything runs. It is the contract, and the contract is why an extension can be reviewed before it is installed.

What you will see

refuse names third.com. The refusal names the permission.

About 1 min of reading

Try It

Count the reach

1

Write the host list

printf 'example.com\nother.com\n' > /tmp/h.txt; wc -l < /tmp/h.txt

Before you run it, say out loud what it will print. Then open the answer.

What it prints
2. Two hosts is a reach a reviewer counts.
2

Attempt a star

printf '*\n' | awk '{print ($1=="*") ? "refuse reach unreadable" : "ok"}'

Before you run it, say out loud what it will print. Then open the answer.

What it prints
refuse reach unreadable. A star is a reach nobody can read.
3

Refuse by name

printf 'ask=third.com\n' | grep -c -f -x /tmp/h.txt /dev/stdin | awk '{print ($1==0) ? "refuse names third.com" : "ok"}'

Before you run it, say out loud what it will print. Then open the answer.

What it prints
refuse names third.com. The refusal names the permission.

Data Flow

A manifest to a reach
1 The manifest is written with a version
↓
2 The hosts are written as a list
↓
3 The list is read before anything runs
↓
4 A permission outside the list refuses by name
Why this works
Why the reach is a list and not a star

A star is a reach nobody can read. A list is a reach that a reviewer counts, and a count is a claim.

The one field that must never be wide

The host list. Wide is a reach that includes pages that were never asked about.

Examples

The manifest names the reach

The hosts it may touch. A named reach is a reach that a reviewer can read.

The manifest has a version

The version is a number in the file. A number in the file is a number that a review can be about.

A permission that is not named is refused

The refusal names the permission. A named permission is a permission that can be argued with.

Words this lesson uses

Each one is defined here on this site. Open the entry for the full definition and the other words it points at.

← What an extension is
Previous Lesson
What an extension is
Next Lesson
Reading a page as a query
Reading a page as a query →