RESOLVED FIXED 179668
WebSWClientConnection should do IPC to StorageProcess if its WebSWOriginTable is not yet initialized
https://bugs.webkit.org/show_bug.cgi?id=179668
Summary WebSWClientConnection should do IPC to StorageProcess if its WebSWOriginTable...
youenn fablet
Reported 2017-11-14 07:21:06 PST
WebSWClientConnection should do IPC to StorageProcess if its WebSWOriginTable is not yet initialized
Attachments
Patch (15.98 KB, patch)
2017-11-14 07:28 PST, youenn fablet
no flags
Patch (19.69 KB, patch)
2017-11-14 10:45 PST, youenn fablet
no flags
youenn fablet
Comment 1 2017-11-14 07:28:52 PST
Chris Dumez
Comment 2 2017-11-14 09:18:47 PST
Comment on attachment 326877 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=326877&action=review > Source/WebKit/WebProcess/Storage/WebSWOriginTable.h:43 > + bool isInitialized() const { return m_serviceWorkerOriginTable.sharedMemory(); } The StorageProcess only sends a SharedMemoryHandle once the store actually contains at least one item. A store can be initialized and have no shared memory, in which case it merely means it is empty. Going to the StorageProcess in such cases is wrong and unnecessarily inefficient. > LayoutTests/ChangeLog:8 > + * http/tests/workers/service/basic-unregister.https-expected.txt: Please explain the test changes.
youenn fablet
Comment 3 2017-11-14 10:34:17 PST
(In reply to Chris Dumez from comment #2) > Comment on attachment 326877 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=326877&action=review > > > Source/WebKit/WebProcess/Storage/WebSWOriginTable.h:43 > > + bool isInitialized() const { return m_serviceWorkerOriginTable.sharedMemory(); } > > The StorageProcess only sends a SharedMemoryHandle once the store actually > contains at least one item. A store can be initialized and have no shared > memory, in which case it merely means it is empty. Going to the > StorageProcess in such cases is wrong and unnecessarily inefficient. OK, let's make StorageProcess do an IPC to state that the table is empty then.
youenn fablet
Comment 4 2017-11-14 10:45:53 PST
Chris Dumez
Comment 5 2017-11-14 10:56:23 PST
Comment on attachment 326889 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=326889&action=review > LayoutTests/ChangeLog:8 > + Updated tests to use hasServiceWorkerRegistration instead of hasServiceWorkerRegisteredForOrigin. Since you kill all the call sites to hasServiceWorkerRegisteredForOrigin(), please kill internals.hasServiceWorkerRegisteredForOrigin() too.
youenn fablet
Comment 6 2017-11-14 11:13:57 PST
> > LayoutTests/ChangeLog:8 > > + Updated tests to use hasServiceWorkerRegistration instead of hasServiceWorkerRegisteredForOrigin. > > Since you kill all the call sites to hasServiceWorkerRegisteredForOrigin(), > please kill internals.hasServiceWorkerRegisteredForOrigin() too. It is removed from Internals.cpp/h/idl.
Chris Dumez
Comment 7 2017-11-14 11:48:56 PST
Comment on attachment 326889 [details] Patch r=me
WebKit Commit Bot
Comment 8 2017-11-14 12:28:38 PST
Comment on attachment 326889 [details] Patch Clearing flags on attachment: 326889 Committed r224832: <https://trac.webkit.org/changeset/224832>
WebKit Commit Bot
Comment 9 2017-11-14 12:28:40 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 10 2017-11-15 09:30:50 PST
Note You need to log in before you can comment on or make changes to this bug.