Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1201)

Unified Diff: mojo/common/common_type_converters.cc

Issue 294833002: Mojo: more idiomatic C++ bindings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/common/common_type_converters.cc
diff --git a/mojo/common/common_type_converters.cc b/mojo/common/common_type_converters.cc
index 3aa0e948195961159e3ad7a8d54e02ea9fc5e4e5..6d406d899045da14add14c6edafe3d5d70813d32 100644
--- a/mojo/common/common_type_converters.cc
+++ b/mojo/common/common_type_converters.cc
@@ -12,33 +12,30 @@ namespace mojo {
// static
String TypeConverter<String, base::StringPiece>::ConvertFrom(
- const base::StringPiece& input,
- Buffer* buf) {
- if (input.empty())
- return String();
- String::Builder result(input.size(), buf);
- memcpy(&result[0], input.data(), input.size());
- return result.Finish();
+ const base::StringPiece& input) {
+ if (input.empty()) {
+ char c = 0;
+ return String(&c, 0).Pass();
+ }
+ return String(input.data(), input.size()).Pass();
}
// static
base::StringPiece TypeConverter<String, base::StringPiece>::ConvertTo(
const String& input) {
- return input.is_null() ? base::StringPiece() :
- base::StringPiece(&input[0], input.size());
+ return input.get();
}
// static
String TypeConverter<String, base::string16>::ConvertFrom(
- const base::string16& input,
- Buffer* buf) {
+ const base::string16& input) {
return TypeConverter<String, base::StringPiece>::ConvertFrom(
- base::UTF16ToUTF8(input), buf);
+ base::UTF16ToUTF8(input));
}
// static
base::string16 TypeConverter<String, base::string16>::ConvertTo(
const String& input) {
- return input.is_null() ? base::string16() :
- base::UTF8ToUTF16(base::StringPiece(&input[0], input.size()));
+ return base::UTF8ToUTF16(TypeConverter<String, base::StringPiece>::ConvertTo(
+ input));
}
} // namespace mojo

Powered by Google App Engine
This is Rietveld 408576698