Open Bug 1374970 Opened 6 years ago Updated 2 months ago

navigator.storage.estimate() returns the group's usage instead of the origin's usage

Categories

(Core :: Storage: Quota Manager, defect, P3)

56 Branch
x86_64
Linux
defect

Tracking

()

People

(Reporter: icrisan, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

Attachments

(1 file)

3.62 KB, application/zip
Details
Attached file Test.zip
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0
Build ID: 20170620091714


Steps to reproduce:
1. Open 2 urls belonging to the same group in Nightly 56.0a1
2. Store data into both origins via indexeddb
3. Run the estimate() method in a tab opened for one origin(e.g: origin2)

Expected results:
The estimate() method returns the usage per origin(in this case origin2).
Please see the link to documentation: https://storage.spec.whatwg.org/#dom-storagemanager-estimate

Actual results:
The estimate() method returns the usage per entire group.
Blocks: 1254428
We make estimate() returns group usage because of current QuotaManager's implementation. The QuotaManager bounds site's usage by group limit to prevent from fill disk attack [1]. Since estimate() needs to return quota and usage pair, we choose to return group limit and group usage. 

We've filed the bug 1305665 for removing the group concept from QuotaManager. Once we do that, we'll change estimate() to return origin usage.

[1] http://www.filldisk.com/
Priority: -- → P2
this is by design for current project scope. improvement could be considered for post-57.
Whiteboard: [storage-v1][triage]
Depends on: 1305665

:janv, as we are far post-57, is this (and bug 1305665) something to consider in our QuotaManager refactorings?

Flags: needinfo?(jvarga)

Well, this is not directly related to the layout on disk which is the main subject of QM v4. The main bug for removing groups is bug 1305665 and it will be addressed in some other refactoring or rather architecture change. Anyway, I feel that QM v4 can help in this regard because it will enable implementation of buckets which can have different quota limits and eviction policies. So for example, the group limit might stay for the default bucket but other buckets wouldn't be limited by the group limit anymore. A further investigatation and discussion is needed.

Flags: needinfo?(jvarga)
Priority: P2 → P3
See Also: → 1629200
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.