[A bunch of the team met up today to hammer out some decisions.]

In brief: for strings that are known to be Unicode (that is, not
random byte strings read from a file), we will migrate towards using
string16.  This means all places we use wstring should be split into
the appropriate types:
 - byte strings should be string or vectors of chars
 - paths should be FilePath
 - urls should be GURL
 - UI strings, etc. should be string16.

string16 uses UTF-16 underneath.  It's equivalent to wstring on
Windows, but wstring involves 4-byte characters on Linux/Mac.

Some important factors were:
- we don't have too many strings in this category (with the huge
exception of WebKit), so memory usage isn't much of an issue
- it's the native string type of Windows, Mac, and WebKit
- we want it to be explicit (i.e. a compile error) when you
accidentally use a byte string in a place where we should know the
encoding (which std::string and UTF-8 doesn't allow)
- we still use UTF-8 in some places (like the history full-text
database) where space is more of a concern

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to