IndexedDB No storage quota with CEF 3029 build

Having problems with building or using CEF's C/C++ APIs? This forum is here to help. Please do not post bug reports or feature requests here.

IndexedDB No storage quota with CEF 3029 build

Postby kavadog » Mon Apr 24, 2017 1:09 pm

While using indexedDB from cefsimple I keep getting warning
[2017-04-22 00:03:39.215:WARNING:quota_manager.cc(1590)] No storage quota provided in QuotaSettings.
(sample picked from https://developer.mozilla.org/en-US/doc ... _IndexedDB)
which results onerror getting called. This CL https://chromium.googlesource.com/chrom ... 3680465b3e Says we need to explicitly set QuotaSettings from "embedder" .
Same code works for chrome 56 ( 2924 build) . i.e onsuccess is called.
Tested on Windows 10 and 7. google chrome 58 works fine.
kavadog
Techie
 
Posts: 28
Joined: Mon Jul 27, 2015 5:46 pm

Re: IndexedDB No storage quota with CEF 3029 build

Postby Czarek » Wed Apr 26, 2017 9:26 am

Try implementing CefRequestHandler::OnQuotaRequest.
Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Re: IndexedDB No storage quota with CEF 3029 build

Postby kavadog » Wed Apr 26, 2017 12:18 pm

OnQuotaRequest is not called for this use case. Also, it worked fine with chromium 57 and OnQuotaRequest isn't called there either. So it's definitely a regression in chromium 58 + CEF.
kavadog
Techie
 
Posts: 28
Joined: Mon Jul 27, 2015 5:46 pm

Re: IndexedDB No storage quota with CEF 3029 build

Postby Czarek » Wed Apr 26, 2017 1:08 pm

Maintainer of the CEF Python, PHP Desktop and CEF C API projects. My LinkedIn.
User avatar
Czarek
Virtuoso
 
Posts: 1927
Joined: Sun Nov 06, 2011 2:12 am

Re: IndexedDB No storage quota with CEF 3029 build

Postby kavadog » Wed Apr 26, 2017 3:04 pm

I think the problem is that CEF 3029 doesn't implement the callback for the new Chromium 58 storage rules.

See 3029/chromium/src/content/public/browser/content_browser_client.cc
void ContentBrowserClient::GetQuotaSettings(
BrowserContext* context,
StoragePartition* partition,
const storage::OptionalQuotaSettingsCallback& callback) {
// By default, no quota is provided, embedders should override.
callback.Run(storage::GetNoQuotaSettings());
}
kavadog
Techie
 
Posts: 28
Joined: Mon Jul 27, 2015 5:46 pm

Re: IndexedDB No storage quota with CEF 3029 build

Postby kavadog » Wed Apr 26, 2017 6:28 pm

I'm using cefclient test app. Also, I'm setting cache_path in my own app.

This is a change in Chromium 58 that CEF 3029 is not handling yet. CEF needs to hook up a new callback to allow the embedder (ie. CEF) to specify the QuotaSettings since as of Chromium 58, they are now defaulted to 0.

const storage::OptionalQuotaSettingsCallback& callback) {
// By default, no quota is provided, embedders should override.
callback.Run(storage::GetNoQuotaSettings());
kavadog
Techie
 
Posts: 28
Joined: Mon Jul 27, 2015 5:46 pm


Return to Support Forum

Who is online

Users browsing this forum: No registered users and 81 guests