summaryrefslogtreecommitdiffstats
path: root/gin/converter.h
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-29 03:21:48 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-29 03:21:48 +0000
commitb520e13a9cddc9089d5ff0bf1c168a0abb6b7ec9 (patch)
treed76d8a9997fe450fab28a52af87000a21f72578d /gin/converter.h
parentd4d1e4b16a0c7f496b00232314ba9405014f8f36 (diff)
downloadchromium_src-b520e13a9cddc9089d5ff0bf1c168a0abb6b7ec9.zip
chromium_src-b520e13a9cddc9089d5ff0bf1c168a0abb6b7ec9.tar.gz
chromium_src-b520e13a9cddc9089d5ff0bf1c168a0abb6b7ec9.tar.bz2
Implement gin::ObjectTemplateBuilder
BUG= Review URL: https://codereview.chromium.org/93813002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237867 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gin/converter.h')
-rw-r--r--gin/converter.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/gin/converter.h b/gin/converter.h
index 4ff7043..d10f315 100644
--- a/gin/converter.h
+++ b/gin/converter.h
@@ -8,6 +8,7 @@
#include <string>
#include <vector>
+#include "base/strings/string_piece.h"
#include "v8/include/v8.h"
namespace gin {
@@ -72,6 +73,13 @@ struct Converter<double> {
};
template<>
+struct Converter<base::StringPiece> {
+ static v8::Handle<v8::Value> ToV8(v8::Isolate* isolate,
+ const base::StringPiece& val);
+ // No conversion out is possible because StringPiece does not contain storage.
+};
+
+template<>
struct Converter<std::string> {
static v8::Handle<v8::Value> ToV8(v8::Isolate* isolate,
const std::string& val);
@@ -164,12 +172,12 @@ v8::Handle<v8::Value> ConvertToV8(v8::Isolate* isolate,
}
inline v8::Handle<v8::String> StringToV8(v8::Isolate* isolate,
- std::string input) {
+ const base::StringPiece& input) {
return ConvertToV8(isolate, input).As<v8::String>();
}
v8::Handle<v8::String> StringToSymbol(v8::Isolate* isolate,
- const std::string& val);
+ const base::StringPiece& val);
template<typename T>
bool ConvertFromV8(v8::Isolate* isolate, v8::Handle<v8::Value> input,