OK, I am still a bit baffled why it seemed to work for me with FireFox v25 (perhaps I don't stress it properly).

But lets say that I put in a check for the case of FireFox

data = (window.navigator.userAgent == "Mozilla")? split(data): data;
var buffer = new Uint8Array(data);

This can't be good PouchDB style for handing browser specific hacks, so what is the preferred method? Or do we want to pay the cost of the split for every browser?