Igor Semenov
Igor Semenov

Reputation: 483

Chrome webkitStorageInfo.requestQuota

I'm trying to utilize local FS in Chrome. The first thing I do - request filesystem quota. The code below worked only once, making Chrome to show confirmation. But after that this code does nothing: no alert is displayed. What is wrong with this code?

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;     
window.webkitStorageInfo.requestQuota( 
            window.PERSISTENT,
            fsize,
            function( bytes ) {
                alert( "Quota is available: " + bytes );
            },
            function( e ) {
                alert( "Error allocating quota: " + e );
            }

);

Upvotes: 3

Views: 5152

Answers (3)

Pr0methean
Pr0methean

Reputation: 315

From http://www.html5rocks.com/en/tutorials/file/filesystem/:

"Once the user has granted permission, there's no need to call requestQuota() in the future (unless you wish to increase your app's quota). Subsequent calls for equal or lesser quota are a noop."

NB: This implies there's no way for an app to release quota that it no longer needs.

Upvotes: 1

ebidel
ebidel

Reputation: 24109

Once the user has granted access to fsize quota, the browser won't reprompt them. Your success callback will be called without the info bar. The only way to see it again (for testing), is to request a larger fsize.

You could also try 'Clear browsing data' in settings to see if that resets things.

Upvotes: 4

i_a
i_a

Reputation: 2763

Resetting quota for testing

When you are testing storage in your app, you might want to clear the stored data so that you can test quota management afresh in your app. To do so:

  1. Enter chrome://settings/cookies in the omnibox (the address bar).
  2. Search for your app.
  3. Select your app.
  4. Click the X on the right side of the highlighted selection.

https://developers.google.com/chrome/whitepapers/storage

Upvotes: 0

Related Questions