Skip to content

guidance on inheritance between contexts #111

Open
@wanderview

Description

@wanderview

There are a number of places in the web platform where some policy or state is inherited from one context to another. Its up to each feature in the platform to define how it gets inherited or not. The result is that there are a number of inconsistent inheritance behaviors.

Some downsides of this inconsistent behavior are:

  1. Confusing API surface for developers.
  2. Special case logic is required in implementations resulting in brittleness and increased security risk. (Many of the policies have security implications.)
  3. Increased cost to specifying a new feature because inheritance must be figured out again for each feature individually.

It might be nice to have some guidance on how inheritance should work on the web platform to produce a more consistent system.

Off the top of my head I can think of the following types of inheritance:

There are probably more cases to consider.

My personal preference would be to make all inheritable attributes align to the same source. So if a local URL inherits an origin from a context, then all other attributes are inherited from that same source context. If a context has its own URL that defines its own origin, then nothing is inherited from other contexts.

Thanks for your help sorting this out!

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions