TLDR: What's keeping it back is Web standards. Extensions cannot initiate TCP connections and there is no IPFS network made of (possibly hybrid -- both protocols) nodes that are able to use WebSockets instead of TCP.
The js-ipfs daemon can only fully run on Node.js where it has access to real UDP/TCP sockets. (I don't see this as a clear proclamation in their readme, so don't take this for granted)
> The js-ipfs daemon can only fully run on Node.js
Not sure what "fully" refers to here, but js-ipfs in the browser can fetch/add content like a normal IPFS node via either websockets or webrtc. Although, TCP connections would make a lot of things, a lot more efficient and nicer.
The js-ipfs daemon can only fully run on Node.js where it has access to real UDP/TCP sockets. (I don't see this as a clear proclamation in their readme, so don't take this for granted)