Change base64Encode() output type from Vector<char> to Vector<LChar>
Created attachment 163716 [details] Patch
Comment on attachment 163716 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=163716&action=review It is a good idea, but unless there is a good reason for it, we should change all the APIs accordingly. > Source/WTF/wtf/text/Base64.h:52 > -WTF_EXPORT_PRIVATE void base64Encode(const char*, unsigned, Vector<char>&, Base64EncodePolicy = Base64DoNotInsertLFs); > -WTF_EXPORT_PRIVATE void base64Encode(const Vector<char>&, Vector<char>&, Base64EncodePolicy = Base64DoNotInsertLFs); > -WTF_EXPORT_PRIVATE void base64Encode(const CString&, Vector<char>&, Base64EncodePolicy = Base64DoNotInsertLFs); > +WTF_EXPORT_PRIVATE void base64Encode(const char*, unsigned, Vector<LChar>&, Base64EncodePolicy = Base64DoNotInsertLFs); > +WTF_EXPORT_PRIVATE void base64Encode(const Vector<char>&, Vector<LChar>&, Base64EncodePolicy = Base64DoNotInsertLFs); > +WTF_EXPORT_PRIVATE void base64Encode(const CString&, Vector<LChar>&, Base64EncodePolicy = Base64DoNotInsertLFs); > WTF_EXPORT_PRIVATE String base64Encode(const char*, unsigned, Base64EncodePolicy = Base64DoNotInsertLFs); > WTF_EXPORT_PRIVATE String base64Encode(const Vector<char>&, Base64EncodePolicy = Base64DoNotInsertLFs); > WTF_EXPORT_PRIVATE String base64Encode(const CString&, Base64EncodePolicy = Base64DoNotInsertLFs); Consistency is important, we should probably change all the Vector<char> to Vector<LChar>. Including the base64Decode().
LChar is a type for Latin-1 characters, so it seems slightly misleading to use it where we know it's all ASCII.
> LChar is a type for Latin-1 characters, so it seems slightly misleading to use it where we know it's all ASCII. I am a bit divided on that. We use the type char for pretty much anything, not only ASCII. Maybe a ::adopt(Vector<char>) that ASSERT if characters aren't all ASCII.