Work towards implementing the Contact Picker API.
<rdar://problem/69317957>
Created attachment 409296 [details] Patch
Created attachment 409298 [details] Patch
Created attachment 409301 [details] Patch
Created attachment 409328 [details] Patch
Created attachment 409359 [details] Patch
Created attachment 409364 [details] Patch
Created attachment 409373 [details] Attempt Windows fix
Created attachment 409391 [details] Patch
Created attachment 409476 [details] Patch
Created attachment 410369 [details] Patch
Comment on attachment 410369 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=410369&action=review Looks good overall! I think we might need a clean build for Win EWS though. > LayoutTests/contact-picker/contacts-interfaces.html:22 > + shouldBeTrue("navigator.contacts.select(['name', 'email'], {multiple: true}) instanceof Promise"); I think it would be nice to test a few additional corner cases, like calling select with some strings that don’t map to enum values, or even non-strings, or an empty array, or passing in invalid ContactsSelectOptions.
(In reply to Wenson Hsieh from comment #12) > Comment on attachment 410369 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=410369&action=review > > Looks good overall! I think we might need a clean build for Win EWS though. There's no longer a way to force clean builds (the "[clean-build]" functionality was removed). However, I did verify that a clean build passes on Win EWS – see the most recent obsoleted patch for proof. > > LayoutTests/contact-picker/contacts-interfaces.html:22 > > + shouldBeTrue("navigator.contacts.select(['name', 'email'], {multiple: true}) instanceof Promise"); > > I think it would be nice to test a few additional corner cases, like calling > select with some strings that don’t map to enum values, or even non-strings, > or an empty array, or passing in invalid ContactsSelectOptions. I was planning on adding those tests along with the full implementation of ContactsManager.select() if that's alright?
Comment on attachment 410369 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=410369&action=review >>> LayoutTests/contact-picker/contacts-interfaces.html:22 >>> + shouldBeTrue("navigator.contacts.select(['name', 'email'], {multiple: true}) instanceof Promise"); >> >> I think it would be nice to test a few additional corner cases, like calling select with some strings that don’t map to enum values, or even non-strings, or an empty array, or passing in invalid ContactsSelectOptions. > > I was planning on adding those tests along with the full implementation of ContactsManager.select() if that's alright? Sounds good.
Note: This will require a clean build on Windows bots once landed.
Committed r267988: <https://trac.webkit.org/changeset/267988> All reviewed patches have been landed. Closing bug and clearing flags on attachment 410369 [details].