tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

storage.md (4093B)


Storage Panel Architecture

Actor structure

This is the new architecture that is being implemented to support Fission. It's currently used when inspecting tabs.

Class structure architecture (resource-based)

- Parent process: Cookies, IndexedDB, Web Extension. - Content process: LocalStorage, SessionStorage, Cache.

Flow

Some considerations to keep in mind:

- Content process storage types: multiple resources, one per target - Parent process storage types: a single resource

Initial load

Web page loaded, open toolbox. Later on, we see what happens if a new remote target is added (for instance, an iframe is created that points to a different host).

Fission OFF

Initial load diagram, fission off

Fission ON

Initial load diagram, fission on

Similar to the previous scenario (fission off), but now when a new remote target is added:

Navigation

Fission ON, target switching OFF

Navigation diagram, fission on, target switching off

Fission ON, target switching ON

Navigation diagram, fission on, target switching off

Similar to the previous scenario (fission on, target switching off), but parent process storage resources are handled differently, since their watchers remain instantiated.

- The new actor/resource is sent after a "target-available-form" event.

CRUD operations

Add a new cookie

Other CRUD operations work very similar to this one.

CRUD operation diagram, add a new cookie