summaryrefslogtreecommitdiffstats
path: root/ppapi/shared_impl/var.cc
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-07 05:38:00 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-07 05:38:00 +0000
commit2d449b31b71c259f63dbf4b7a28ee297531b721a (patch)
tree91564c036afe5a22e6ab4414d2a948decec28542 /ppapi/shared_impl/var.cc
parentf4f1be5d33972f2bd04dc6a295aaeaee6c96e94c (diff)
downloadchromium_src-2d449b31b71c259f63dbf4b7a28ee297531b721a.zip
chromium_src-2d449b31b71c259f63dbf4b7a28ee297531b721a.tar.gz
chromium_src-2d449b31b71c259f63dbf4b7a28ee297531b721a.tar.bz2
Remove special handling for strings in var serialization.
Previously we had to have a lot of weird string handling because strings needed a PP_Module to be constructed, and because they had different methods for being created in the host and the plugin processes. We've removed all of these limitations, so now we can just delete the whole mess. Review URL: https://chromiumcodereview.appspot.com/9316123 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120724 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/shared_impl/var.cc')
-rw-r--r--ppapi/shared_impl/var.cc26
1 files changed, 10 insertions, 16 deletions
diff --git a/ppapi/shared_impl/var.cc b/ppapi/shared_impl/var.cc
index d7b0dac..da7a2cb 100644
--- a/ppapi/shared_impl/var.cc
+++ b/ppapi/shared_impl/var.cc
@@ -113,6 +113,9 @@ void Var::AssignVarID(int32 id) {
// StringVar -------------------------------------------------------------------
+StringVar::StringVar() {
+}
+
StringVar::StringVar(const std::string& str)
: value_(str) {
}
@@ -124,11 +127,6 @@ StringVar::StringVar(const char* str, uint32 len)
StringVar::~StringVar() {
}
-StringVar::StringVar(scoped_ptr<std::string> str) {
- // Swap the given string's contents in to value to avoid copying.
- str->swap(value_);
-}
-
StringVar* StringVar::AsStringVar() {
return this;
}
@@ -151,17 +149,6 @@ PP_Var StringVar::StringToPPVar(const char* data, uint32 len) {
}
// static
-PP_Var StringVar::StringToPPVar(scoped_ptr<std::string> str) {
- DCHECK(str.get());
- if (!str.get())
- return PP_MakeNull();
- scoped_refptr<StringVar> str_var(new StringVar(str.Pass()));
- if (!str_var || !IsStringUTF8(str_var->value()))
- return PP_MakeNull();
- return str_var->GetPPVar();
-}
-
-// static
StringVar* StringVar::FromPPVar(PP_Var var) {
if (var.type != PP_VARTYPE_STRING)
return NULL;
@@ -172,6 +159,13 @@ StringVar* StringVar::FromPPVar(PP_Var var) {
return var_object->AsStringVar();
}
+// static
+PP_Var StringVar::SwapValidatedUTF8StringIntoPPVar(std::string* src) {
+ scoped_refptr<StringVar> str(new StringVar);
+ str->value_.swap(*src);
+ return str->GetPPVar();
+}
+
// ArrayBufferVar --------------------------------------------------------------
ArrayBufferVar::ArrayBufferVar() {