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

Side by Side Diff: ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_var.cc

Issue 8826011: Remove PP_Module from parameters for PPB_Var.VarFromUtf8. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge Created 9 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "native_client/src/shared/ppapi_proxy/plugin_ppb_var.h" 5 #include "native_client/src/shared/ppapi_proxy/plugin_ppb_var.h"
6 6
7 #include <stdio.h> 7 #include <stdio.h>
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 17 matching lines...) Expand all
28 PluginVar::DebugString(var).c_str()); 28 PluginVar::DebugString(var).c_str());
29 ProxyVarCache::GetInstance().RetainProxyVar(var); 29 ProxyVarCache::GetInstance().RetainProxyVar(var);
30 } 30 }
31 31
32 void Release(PP_Var var) { 32 void Release(PP_Var var) {
33 DebugPrintf("PPB_Var::Release: var=PPB_Var(%s)\n", 33 DebugPrintf("PPB_Var::Release: var=PPB_Var(%s)\n",
34 PluginVar::DebugString(var).c_str()); 34 PluginVar::DebugString(var).c_str());
35 ProxyVarCache::GetInstance().ReleaseProxyVar(var); 35 ProxyVarCache::GetInstance().ReleaseProxyVar(var);
36 } 36 }
37 37
38 PP_Var VarFromUtf8(PP_Module module_id, const char* data, uint32_t len) { 38 PP_Var VarFromUtf8(const char* data, uint32_t len) {
39 DebugPrintf("PPB_Var::VarFromUtf8: data='%.*s'\n", len, data); 39 DebugPrintf("PPB_Var::VarFromUtf8: data='%.*s'\n", len, data);
40 UNREFERENCED_PARAMETER(module_id);
41 if (!StringIsUtf8(data, len)) { 40 if (!StringIsUtf8(data, len)) {
42 DebugPrintf("PPB_Var::VarFromUtf8: not UTF8\n"); 41 DebugPrintf("PPB_Var::VarFromUtf8: not UTF8\n");
43 return PP_MakeNull(); 42 return PP_MakeNull();
44 } 43 }
45 SharedProxyVar proxy_var(new StringProxyVar(data, len)); 44 SharedProxyVar proxy_var(new StringProxyVar(data, len));
46 ProxyVarCache::GetInstance().RetainSharedProxyVar(proxy_var); 45 ProxyVarCache::GetInstance().RetainSharedProxyVar(proxy_var);
47 PP_Var var; 46 PP_Var var;
48 var.type = PP_VARTYPE_STRING; 47 var.type = PP_VARTYPE_STRING;
49 var.value.as_id = proxy_var->id(); 48 var.value.as_id = proxy_var->id();
50 // Increment the reference count for the return to the caller. 49 // Increment the reference count for the return to the caller.
51 AddRef(var); 50 AddRef(var);
52 DebugPrintf("PPB_Var::VarFromUtf8: as_id=%"NACL_PRId64"\n", var.value.as_id); 51 DebugPrintf("PPB_Var::VarFromUtf8: as_id=%"NACL_PRId64"\n", var.value.as_id);
53 return var; 52 return var;
54 } 53 }
55 54
55 PP_Var VarFromUtf8_1_0(PP_Module /*module*/, const char* data, uint32_t len) {
56 return VarFromUtf8(data, len);
57 }
58
56 const char* VarToUtf8(PP_Var var, uint32_t* len) { 59 const char* VarToUtf8(PP_Var var, uint32_t* len) {
57 DebugPrintf("PPB_Var::VarToUtf8: as_id=%"NACL_PRId64"\n", var.value.as_id); 60 DebugPrintf("PPB_Var::VarToUtf8: as_id=%"NACL_PRId64"\n", var.value.as_id);
58 SharedStringProxyVar string_var = StringProxyVar::CastFromProxyVar( 61 SharedStringProxyVar string_var = StringProxyVar::CastFromProxyVar(
59 ProxyVarCache::GetInstance().SharedProxyVarForVar(var)); 62 ProxyVarCache::GetInstance().SharedProxyVarForVar(var));
60 const char* data = NULL; 63 const char* data = NULL;
61 if (string_var == NULL) { 64 if (string_var == NULL) {
62 *len = 0; 65 *len = 0;
63 } else { 66 } else {
64 *len = static_cast<uint32_t>(string_var->contents().size()); 67 *len = static_cast<uint32_t>(string_var->contents().size());
65 // Mimics PPAPI implementation: as long as SharedStringProxyVar is alive, 68 // Mimics PPAPI implementation: as long as SharedStringProxyVar is alive,
(...skipping 19 matching lines...) Expand all
85 const PPB_Var* PluginVar::GetInterface() { 88 const PPB_Var* PluginVar::GetInterface() {
86 static const PPB_Var var_interface = { 89 static const PPB_Var var_interface = {
87 AddRef, 90 AddRef,
88 Release, 91 Release,
89 VarFromUtf8, 92 VarFromUtf8,
90 VarToUtf8 93 VarToUtf8
91 }; 94 };
92 return &var_interface; 95 return &var_interface;
93 } 96 }
94 97
98 const PPB_Var_1_0* PluginVar::GetInterface1_0() {
99 static const PPB_Var_1_0 var_interface = {
100 AddRef,
101 Release,
102 VarFromUtf8_1_0,
103 VarToUtf8
104 };
105 return &var_interface;
106 }
107
95 std::string PluginVar::DebugString(const PP_Var& var) { 108 std::string PluginVar::DebugString(const PP_Var& var) {
96 switch (var.type) { 109 switch (var.type) {
97 case PP_VARTYPE_UNDEFINED: 110 case PP_VARTYPE_UNDEFINED:
98 return "##UNDEFINED##"; 111 return "##UNDEFINED##";
99 case PP_VARTYPE_NULL: 112 case PP_VARTYPE_NULL:
100 return "##NULL##"; 113 return "##NULL##";
101 case PP_VARTYPE_BOOL: 114 case PP_VARTYPE_BOOL:
102 return (var.value.as_bool ? "true" : "false"); 115 return (var.value.as_bool ? "true" : "false");
103 case PP_VARTYPE_INT32: 116 case PP_VARTYPE_INT32:
104 { 117 {
(...skipping 25 matching lines...) Expand all
130 case PP_VARTYPE_ARRAY: 143 case PP_VARTYPE_ARRAY:
131 case PP_VARTYPE_DICTIONARY: 144 case PP_VARTYPE_DICTIONARY:
132 case PP_VARTYPE_ARRAY_BUFFER: 145 case PP_VARTYPE_ARRAY_BUFFER:
133 NACL_NOTREACHED(); 146 NACL_NOTREACHED();
134 break; 147 break;
135 } 148 }
136 ASSERT_MSG(0, "Unexpected type seen"); 149 ASSERT_MSG(0, "Unexpected type seen");
137 return "##ERROR##"; 150 return "##ERROR##";
138 } 151 }
139 152
140 PP_Var PluginVar::StringToPPVar(PP_Module module_id, const std::string& str) { 153 PP_Var PluginVar::StringToPPVar(const std::string& str) {
141 static const PPB_Var* ppb_var = NULL; 154 static const PPB_Var* ppb_var = NULL;
142 if (ppb_var == NULL) { 155 if (ppb_var == NULL) {
143 ppb_var = static_cast<const PPB_Var*>( 156 ppb_var = static_cast<const PPB_Var*>(
144 ppapi_proxy::PluginVar::GetInterface()); 157 ppapi_proxy::PluginVar::GetInterface());
145 } 158 }
146 if (ppb_var == NULL) { 159 if (ppb_var == NULL) {
147 return PP_MakeUndefined(); 160 return PP_MakeUndefined();
148 } 161 }
149 return ppb_var->VarFromUtf8( 162 return ppb_var->VarFromUtf8(str.c_str(),
150 module_id, str.c_str(), nacl::assert_cast<uint32_t>(str.size())); 163 nacl::assert_cast<uint32_t>(str.size()));
151 } 164 }
152 165
153 std::string PluginVar::PPVarToString(const PP_Var& var) { 166 std::string PluginVar::PPVarToString(const PP_Var& var) {
154 static const PPB_Var* ppb_var = NULL; 167 static const PPB_Var* ppb_var = NULL;
155 if (ppb_var == NULL) { 168 if (ppb_var == NULL) {
156 ppb_var = static_cast<const PPB_Var*>( 169 ppb_var = static_cast<const PPB_Var*>(
157 ppapi_proxy::PluginVar::GetInterface()); 170 ppapi_proxy::PluginVar::GetInterface());
158 } 171 }
159 if (ppb_var == NULL || var.type != PP_VARTYPE_STRING) { 172 if (ppb_var == NULL || var.type != PP_VARTYPE_STRING) {
160 return ""; 173 return "";
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 break; 205 break;
193 case PP_VARTYPE_ARRAY: 206 case PP_VARTYPE_ARRAY:
194 case PP_VARTYPE_DICTIONARY: 207 case PP_VARTYPE_DICTIONARY:
195 case PP_VARTYPE_ARRAY_BUFFER: 208 case PP_VARTYPE_ARRAY_BUFFER:
196 NACL_NOTREACHED(); 209 NACL_NOTREACHED();
197 break; 210 break;
198 } 211 }
199 } 212 }
200 213
201 } // namespace ppapi_proxy 214 } // namespace ppapi_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698