Display useful at-a-glance storage information: number of entries, size/length, etc.
Firefox: Not implemented
Chrome: Not implemented
CRUD
Records can be created, retrieved, updated and deleted.
Firefox:
Create: can create cookies, and localStorage or SessionStorage items pressing the "+" button or context menu "Add Item" option. Cannot create items in IndexedDB.
Retrieve:
Records are inconsistently retrieved. Out of 100 initial records, only up to 50 are rendered in the IndexedDB view. The whole 100 are rendered in the cookie, localStorage and sessionStorage views (although it seems to take a bit to load the next batch when you scroll to the bottom, and you can see the flash/jank).
Records can be sorted by key, value (or other fields e.g. domain, in Cookie view).
Update:
can edit some fields (by double clicking on the row) for Cookie, localStorage, sessionStorage.
Can't edit IndexedDB data.
Delete: can delete individual cookies, can delete all by host or session (with context menu).
Chrome:
Create: Not implemented (or I can't find how)
Retrieve:
IndexedDB also only shows 50, but lets you move between 'pages' of 50 records.
localStorage, Cookie, Session show all the 100 records.
When refreshing the stored data, you really need to close devtools and open again to see the new data, otherwise it keeps showing the old contents (?).
It's not possible to sort by key or value.
Update:
can edit some fields (by double clicking on the row) for Cookie, Session and localStorage.
Can't edit IndexedDB data.
Cookies: seemingly no date validation for Expires column, although it rejects the change and goes back to 'Session' if the date is invalid.
Delete: for all of cookie, localStorage, sessionStorage and IndexedDB views, it's possible to delete individual entries, selected or 'all' (with the forbidden sign button)
Provide readable entries
Does not just display raw data. Attempts to parse stringified data and shows output in an object inspector.
Firefox: when the row is active, the item's value is rendered on the sidebar if it's an object. But it does not undecode urlencoded entries which are common in the Cookie view, so not entirely done.
Chrome: in Cookie view, not implemented (data shown raw, very unreadable). Displayed as string in localStorage, Session Storage views. The item value is directly rendered as "Object" with inline inspector in the row in the IndexedDB view.
Speed: perceived as fast
The panel speed is perceived as fast. Visual feedback (spinners etc) is displayed while loading data.
Loading data is asynchronous or progressive. Rows are rendered as soon as they can be retrieved, or at least in batches.
Firefox:
"No data present for selected host" is erroneusly displayed while loading (despite data being present).
Jank, as everything is rendered at once.
Cookies view does a weird flashy fade from yellow thing as it sort of updates rows, I guess to highlight the fact they were rendered (?). It is very distracting and looks super slow and janky.
Chrome: almost instant render--get to see a blank state for a fraction of a second, but no confusing weirdnesses
Auto-refresh
The panels pick new changes and refresh automatically without user intervention.
Firefox:
new data appears on the Cookie, localStorage and SessionStorage views - the 'refresh' button is seemingly superfluous here.
Refresh required on IndexedDB view
Chrome:
Need to manually press 'Refresh' button to get updated data.
The refresh button is in different places depending on the view (bottom in IndexedDB, top in rest of views)