- Electron version:
  1.3.3
- Operating system:
  OSX El Capitan

``` javascript
      function cbError(e) {
         console.error('failure', e);
      }

      navigator.webkitPersistentStorage.requestQuota( 10 * 1024* 1024, function(granted) {
        webkitRequestFileSystem(PERSISTENT, granted, cb, cbError);
      },
      cbError)
```

webkitRequestFileSystem is failing with:

```
FileError {code: 2, name: "SecurityError", message: "It was determined that certain files are unsafe fo… too many calls are being made on file resources."}code: 2message: "It was determined that certain files are unsafe for access within a Web application, or that too many calls are being made on file resources."name: "SecurityError"__proto__: FileError
```

This page is being served from a custom:// scheme if that matters.

atom/browser/atom_browser_client.h
class ClientCertificateDelegate;
}
namespace net {
class SSLCertRequestInfo;
}
namespace atom {
class AtomResourceDispatcherHostDelegate;
class AtomBrowserClient : public brightray::BrowserClient,
                          public content::RenderProcessHostObserver {
 public:
  AtomBrowserClient();
  virtual ~AtomBrowserClient();
  using Delegate = content::ContentBrowserClient;
  void set_delegate(Delegate* delegate) { delegate_ = delegate; }
  
  content::WebContents* GetWebContentsFromProcessID(int process_id);
  
  static void SuppressRendererProcessRestartForOnce();
  
  static void SetCustomServiceWorkerSchemes(
      const std::vector<std::string>& schemes);
 protected:
  
  void RenderProcessWillLaunch(content::RenderProcessHost* host) override;
  content::SpeechRecognitionManagerDelegate*
      CreateSpeechRecognitionManagerDelegate() override;
  content::AccessTokenStore* CreateAccessTokenStore() override;
  void OverrideWebkitPrefs(content::RenderViewHost* render_view_host,
                           content::WebPreferences* prefs) override;
  std::string GetApplicationLocale() override;