RESOLVED INVALID 89450
webkit2 appcache should be implemented in UIProcess
https://bugs.webkit.org/show_bug.cgi?id=89450
Summary webkit2 appcache should be implemented in UIProcess
Jussi Kukkonen (jku)
Reported 2012-06-19 02:42:48 PDT
the appcache implementation in webkit2 should live in the UI process. Quoting Now the callpath for e.g. deleteAllEntries is: * app calls deleteAllEntries in WebProcess * Call goes through IPC to UIProcess * UIProcess calls deleteAllEntries in all WebProcesses (relaunching if necessary) This is already wasteful and when the method has actual payload, the complexity grows even further. I'll see if I can manage to implement this change...
Attachments
Jussi Kukkonen (jku)
Comment 1 2012-06-19 02:44:30 PDT
> the appcache implementation in webkit2 should live in the UI process. Quoting This was supposed to say: the appcache implementation in webkit2 should live in the UI process. Quoting WebApplicationCacheManagerProxy.ccp: // FIXME (Multi-WebProcess): The application cache shouldn't be stored in the web process.
Jussi Kukkonen (jku)
Comment 2 2012-06-19 02:59:18 PDT
Right after filing I realised why this is implemented as it is: the actual appcache implementation is inside WebCore... I still think the bug is valid, but fixing it might not be trivial.
Jussi Kukkonen (jku)
Comment 3 2012-06-19 05:14:38 PDT
(In reply to comment #0) > Now the callpath for e.g. deleteAllEntries is: > * app calls deleteAllEntries in WebProcess > * Call goes through IPC to UIProcess > * UIProcess calls deleteAllEntries in all WebProcesses (relaunching if necessary) This is not actually true: when something inside a webprocess wants to do this, it just calls deleteEntries in that particular WebProcess... The path with WebContext->sendToAllProcessesRelaunchingThemIfNecessary() is only called when the UIProcess wants to do this. So not crazy like I thought :) Maybe it makes sense to just create a WebApplicationCacheManager instance in the UIProcess as well? Apparently the SQLite DB doesn't mind (as it's already coping with a WebApplicationCacheManager per webprocess)
Alexey Proskuryakov
Comment 4 2012-06-19 10:53:19 PDT
UIProcess should have as little code as possible, because it is not sandboxed. Moving application cache to that process is certainly not appropriate.
Note You need to log in before you can comment on or make changes to this bug.