Add UI that allows user to browse, change prefs for all IndexedDB databases in their profile

RESOLVED FIXED

Status

enhancement
P2
normal
RESOLVED FIXED
6 years ago
11 months ago

People

(Reporter: akligman, Unassigned)

Tracking

(Depends on 2 bugs, Blocks 2 bugs)

26 Branch
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [todo-mr][t5])

(Reporter)

Description

6 years ago
There's no way for me to delete IndexedDB databases or change preferences (quota?) for instances stored on my machine using Firefox. I have to navigate through profile subdirectories and delete them manually.

A resource manager that can list databases stored for all domains, show how much space they are using and their allowed quotas would be useful.

Chrome already has a feature that does some of this.
(Reporter)

Updated

6 years ago
Summary: Add UI that allows user to browse, change prefs for all IndexedDB in their profile → Add UI that allows user to browse, change prefs for all IndexedDB databases in their profile
(Reporter)

Updated

6 years ago
Whiteboard: [games:p?]

Comment 1

6 years ago
Should this encompass viewing and manipulating entries of IndexedDB databases? Then that's something the devtools should cover. 

If this is targeted for non-devs, about:permissions (or successors) is probably the right place.

Please clarify.
Flags: needinfo?(akligman)
(Reporter)

Comment 2

6 years ago
Probably not, that seems like a different scope. It really needs to show you, per-domain, what databases exist and show you info about them, like how big they are and you should be able to adjust quotas. Chrome has a "resources" tab in their dev tools, but you have to browse to the domain in order to use it and that makes it less useful for non-devs.
Flags: needinfo?(akligman)

Comment 3

6 years ago
(In reply to Alan K [:ack] from comment #2)
> Chrome has a "resources" tab in their dev tools, but you have to browse to 
> the domain in order to use it and that makes it less useful for non-devs.

Yeah, I was wondering what you meant when you said that Chrome has something like that ;).

So, :shorlander may want to have a look at this. Should we put that in about:permissions or something else?

Comment 4

6 years ago
FTR, the developer equivalent is in Bug 926449.
See Also: → 926449
(Reporter)

Comment 5

6 years ago
Putting it in about:permissions seems like a fine idea. It would be great to have something, someplace instead of what we have now :)
Whiteboard: [games:p?] → [games:p2]
about:permissions is (1) not exposed to users anywhere and (2) not being worked on.

Updated

6 years ago
Depends on: 917362

Comment 7

5 years ago
This has become quite an annoyance for me on all platforms - desktop, Android and Firefox OS. I would love to see an option to view and delete IndexedDB data on all of these!
Moving to the devtools storage tool
Component: Preferences → Developer Tools: Storage Inspector
Whiteboard: [games:p2] → [games:p2][gaming-tools]
Priority: -- → P1
Anthony, would a (possibly easier?) solution in the meantime be just a feature to delete all IndexedDB data on a profile?
Flags: needinfo?(avaughn)
That would be great ahead of the larger feature. I defer to Jukka/others who have a direct need for this, but I'm hearing a lot of "anything now would be awesome" and a delete-all button for indexedDB data seems to fit that bill!
Flags: needinfo?(avaughn) → needinfo?(jujjyl)
I am currently working on double-clicking to edit cookies and I should be able to use the same tool for other storage items so watch this space.
Of course, if somebody wants to add a context menu delete all option that would be a great help.

Comment 13

3 years ago
For Emscripten developers who are hurt by this, we have instructed them how to delete a profile and create a new one, which effectively performs the delete all functionality.

Btw, how does the checkboxes in History -> Clear Recent History.. menu option relate to IndexedDB. Is it correct that clearing "Offline Website Data" there clears up temporary IndexedDB data, but persistent IndexedDB data cannot be cleared via that menu?

The "full" solution is important to let developers be able to debug their IndexedDB-related bugs, but in the meanwhile being able to delete all would make it a bit easier to clear IndexedDB rather than having to create a new profile.
Flags: needinfo?(jujjyl)
Whiteboard: [games:p2][gaming-tools] → [games:p2][gaming-tools][btpp-fix-later]
Whiteboard: [games:p2][gaming-tools][btpp-fix-later] → [games:p?][gaming-tools][btpp-fix-later]

Comment 14

3 years ago
Marking this as games:p1, this is critical for games developers when they start doing persistent storage in their titles and try to debug the storage behavior of their games. Also, we are looking to migrate our Emscripten in-memory "MEMFS" filesystem to fully operate on top of IndexedDB to reduce memory usage, which grows the need for having debugging tools for this.
Whiteboard: [games:p?][gaming-tools][btpp-fix-later] → [games:p1][gaming-tools][btpp-fix-later]

Updated

3 years ago
Whiteboard: [games:p1][gaming-tools][btpp-fix-later] → [games:p1][gaming-tools][btpp-fix-later][platform-rel-Games]
@Jukka: You can now do delete databases etc. through the storage inspector... does that work for you?
Flags: needinfo?(jujjyl)

Comment 16

2 years ago
Thanks Michael! I've now given the storage inspector a bit of use, and it is doing exactly what we want. There are some unexpected behavior although I'm not sure I understand if it's my JS code or the inspector bugging. I'll open new items on those after I triage, but closing this as resolved. Great work here!

Can you recall which Firefox version will ship with Storage Inspector? Also, I do need to explicitly go and enable the Storage Inspector in Settings. Is that temporary flow (e.g. not enabled by default until ready to ship?), or will that also be part of the release? (e.g. not enabled by default to keep the devtools tab bar uncluttered by default?)
Flags: needinfo?(jujjyl)
Whiteboard: [games:p1][gaming-tools][btpp-fix-later][platform-rel-Games] → [papercut-mr]
(In reply to Jukka Jylänki from comment #16)
> Can you recall which Firefox version will ship with Storage Inspector? 

Some form of Storage tool has been around for many releases, so it depends more on what features you need.  For example, removing an IndexedDB database landed in 49.

> Also,
> I do need to explicitly go and enable the Storage Inspector in Settings. Is
> that temporary flow (e.g. not enabled by default until ready to ship?), or
> will that also be part of the release? (e.g. not enabled by default to keep
> the devtools tab bar uncluttered by default?)

It appears to still be disabled by default until some toolbox UX work is done (bug 1194190).
Filter on Brobdingnagian.
Whiteboard: [papercut-mr] → [todo-mr]
Filter on HOTFROG.
Whiteboard: [todo-mr] → [todo-mr][t5]
It looks like this is resolved as per comment 16 ?? So I'm going to close it. Please reopen if you feel this still needs work, or file another issue if it's a different feature. Thank you!
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
(In reply to Soledad Penades [:sole] [:spenades] from comment #20)
> It looks like this is resolved as per comment 16 ?

The options within the DevTools' Storage Inspector only allow you to inspect the IndexedDBs related to the *current* website and is rather meant for developers.
Though it looks like the reporter actually wanted a tool to inspect *all* IndexedDBs stored by the browser at once. And I assume his use case is to see how much space they require on the hard drive and wanted to have a way to delete them individually or all together to tighten up the space.
This feature got already implemented a long time ago in bug 767944 and is available in Firefox 57 under Options > Privacy & Security > Site Data > Settings...

So, I expect it is ok that this bug got closed. Unfortunately, Alan wasn't on Bugzilla for a long time, so I assume he won't be available to clarify this.

Sebastian

Updated

11 months ago
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.