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

Reply via email to