demo · v136

Same-origin self-link exception

Partitioning :visited triple-keys on (link URL, top-level site, frame origin). The spec carves out one exception: a link to a URL on this same origin always renders as visited if any same-origin context has visited it. Reason: users expect their own site's internal links to remember themselves; the privacy concern is only cross-origin leakage.

Click links to mark them visited, then refresh to see what styles re-load.

same-origin links from this page

key: (URL, site, origin) — but for same-origin self-links, partition is collapsed.

cross-origin links from this page

cross-origin links only render as visited if THIS site visited them.

the code

// Effective :visited key:
//   normal:           (link URL, top-level site, frame origin)
//   self-link case:   (link URL, link's origin) -- self-link exception
//
// Because the link points at the same origin as the document, the partition
// can include "any context where this origin saw this URL."

why this angle

The sibling concept demonstrates the privacy story — cross-site sniffing no longer works. This concept covers the deliberate exception in the spec: same-origin self-links are not partitioned, because users would notice a regression if their own site forgot which of its own pages they'd already opened.

see also