Well, nobody is explicitly using LChar with SerializedScriptValue (maybe it should, maybe that's another issue) but I guess this is why I'm asking - I'm happy to just deal with this in IDB with some ugly reinterpret_casts here and there (ok maybe not happy, but satisfied enough) if folks prefer that. I don't personally find uint8_t to be any more intuitive than char, but it sounds like some do. Nevermind...
(In my own experience I've always found explicit "unsigned" to be more of a hassle then a tool for good type safely, and I suspect that's why LevelDB uses it as its lowest-common-denominator, but we don't have to have that debate here :)) Alec On Mon, Feb 4, 2013 at 4:43 PM, Benjamin Poulain <benja...@webkit.org>wrote: > On Mon, Feb 4, 2013 at 3:51 PM, Alec Flett <alecfl...@chromium.org> wrote: > >> At the moment, SerializedScriptValue uses Vector<uint8_t> (aka >> Vector<unsigned char>) for both it's API (createFromWireBytes, toWireBytes) >> as well as its internal representation. (for both v8 and jsc >> implementations) >> >> The two largest consumers of this aspect of SerializedScriptValue seems >> to be IndexedDB and postMessage(). >> >> I'm jumping through some small hoops (i.e. reinterpret_cast and whatnot) >> in IndexedDB to convert between Vector<uint8_t> and Vector<char> and a >> 'const char*' buffer in order to write out to LevelDB, who likes 'char' as >> opposed to unsigned char. >> >> postMessage() seems to be pretty agnostic to char vs unsigned char, since >> it uses SerializedScriptValue to both produce and consume the buffers it >> sends between windows. >> >> Before I did a code cleanup and just fixed up all the implementations to >> use Vector<char> I wanted to see if anyone had any objections here, on both >> the V8 and the JSC sides. The ultimate compiled code is going to be >> identical, but I'll be able to avoid all sorts of reinterpret_cast's at >> various points in the code. >> >> objections? >> > > WTF/WebCore 8bits characters (LChar) are unsigned char. > Wouldn't you just push the reinterpret_cast<> to the other side of > the IndexedDB module? I find it a little odd to modify WebCore based on one > particular dependency (LevelDB) but maybe there is a good reason. > > Benjamin >
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev