Bug 195602

Summary: Move IDB storage in private browsing mode to NetworkProcess
Product: WebKit Reporter: youenn fablet <youennf>
Component: WebCore Misc.Assignee: youenn fablet <youennf>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, beidson, cdumez, commit-queue, sihui_liu, tsavell, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Rebasing
none
Removing unneeded member field none

Description youenn fablet 2019-03-11 21:12:30 PDT
Move IDB storage in private browsing mode to NetworkProcess
Comment 1 youenn fablet 2019-03-11 21:15:47 PDT
Created attachment 364347 [details]
Patch
Comment 2 youenn fablet 2019-03-12 11:32:42 PDT
Created attachment 364417 [details]
Patch
Comment 3 youenn fablet 2019-03-14 13:46:19 PDT
Created attachment 364681 [details]
Rebasing
Comment 4 Alex Christensen 2019-03-14 14:36:59 PDT
Comment on attachment 364681 [details]
Rebasing

View in context: https://bugs.webkit.org/attachment.cgi?id=364681&action=review

Is it really this simple?

> Source/WebKit/WebProcess/Databases/WebDatabaseProvider.cpp:-73
> -        auto result = m_idbEphemeralConnectionMap.add(sessionID.sessionID(), nullptr);

m_idbEphemeralConnectionMap is now unused.
Comment 5 Brady Eidson 2019-03-14 14:46:41 PDT
(In reply to Alex Christensen from comment #4)
> Comment on attachment 364681 [details]
> Rebasing
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=364681&action=review
> 
> Is it really this simple?

Yup.

There's two IDBServers - In-process and remote.
There's two IDBBackingStores - SQLite and in-memory

All we had to do was change the mix and match.

👍
Comment 6 youenn fablet 2019-03-14 15:08:52 PDT
Created attachment 364695 [details]
Removing unneeded member field
Comment 7 WebKit Commit Bot 2019-03-14 16:08:33 PDT
Comment on attachment 364695 [details]
Removing unneeded member field

Clearing flags on attachment: 364695

Committed r242975: <https://trac.webkit.org/changeset/242975>
Comment 8 WebKit Commit Bot 2019-03-14 16:08:34 PDT
All reviewed patches have been landed.  Closing bug.
Comment 9 Radar WebKit Bug Importer 2019-03-14 16:09:20 PDT
<rdar://problem/48906494>
Comment 10 Truitt Savell 2019-03-15 09:44:51 PDT
The changes in https://trac.webkit.org/changeset/242975/webkit

appears to have broken:
imported/w3c/IndexedDB-private-browsing/idbobjectstore_createIndex6-event_order.html

History:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=imported%2Fw3c%2FIndexedDB-private-browsing%2Fidbobjectstore_createIndex6-event_order.html

I was able to reproduce this locally using command:
run-webkit-tests imported/w3c/IndexedDB-private-browsing/idbobjectstore_createIndex6-event_order.html --iterations 500 -f

The test fails often when run on 242975 and not at all on 242974.
Comment 11 youenn fablet 2019-03-15 11:33:39 PDT
(In reply to Truitt Savell from comment #10)
> The changes in https://trac.webkit.org/changeset/242975/webkit
> 
> appears to have broken:
> imported/w3c/IndexedDB-private-browsing/idbobjectstore_createIndex6-
> event_order.html
> 
> History:
> https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
> html#showAllRuns=true&tests=imported%2Fw3c%2FIndexedDB-private-
> browsing%2Fidbobjectstore_createIndex6-event_order.html
> 
> I was able to reproduce this locally using command:
> run-webkit-tests
> imported/w3c/IndexedDB-private-browsing/idbobjectstore_createIndex6-
> event_order.html --iterations 500 -f
> 
> The test fails often when run on 242975 and not at all on 242974.

Looking at the dashboard, the corresponding non private browsing is also flaky with the same kind of failure.

Given we updated private IDB to be closer to regular IDB, it might be that an existing flakiness is now also happening with private IDB.