I took a shot at building a browser plugin for 1pass [1] a little while back.
Turns out, the hardest thing is not the crypto or the browser to app communication, but parsing the HTML to accurately find the login forms.
If I remember correctly, the browser plugin on Mac actually sends the entire HTML to the app for parsing. The parser is probably quite complicated and they avoid reimplementing it in extensions that way.
[1] https://medium.com/@paulsc/making-a-1password-client-15dd39a...