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

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: Fix windows build and some nacl tests. 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 24 matching lines...) Expand all
129 } 142 }
130 case PP_VARTYPE_ARRAY: 143 case PP_VARTYPE_ARRAY:
131 case PP_VARTYPE_DICTIONARY: 144 case PP_VARTYPE_DICTIONARY:
132 NACL_NOTREACHED(); 145 NACL_NOTREACHED();
133 break; 146 break;
134 } 147 }
135 ASSERT_MSG(0, "Unexpected type seen"); 148 ASSERT_MSG(0, "Unexpected type seen");
136 return "##ERROR##"; 149 return "##ERROR##";
137 } 150 }
138 151
139 PP_Var PluginVar::StringToPPVar(PP_Module module_id, const std::string& str) { 152 PP_Var PluginVar::StringToPPVar(const std::string& str) {
140 static const PPB_Var* ppb_var = NULL; 153 static const PPB_Var* ppb_var = NULL;
141 if (ppb_var == NULL) { 154 if (ppb_var == NULL) {
142 ppb_var = static_cast<const PPB_Var*>( 155 ppb_var = static_cast<const PPB_Var*>(
143 ppapi_proxy::PluginVar::GetInterface()); 156 ppapi_proxy::PluginVar::GetInterface());
144 } 157 }
145 if (ppb_var == NULL) { 158 if (ppb_var == NULL) {
146 return PP_MakeUndefined(); 159 return PP_MakeUndefined();
147 } 160 }
148 return ppb_var->VarFromUtf8( 161 return ppb_var->VarFromUtf8(str.c_str(),
149 module_id, str.c_str(), nacl::assert_cast<uint32_t>(str.size())); 162 nacl::assert_cast<uint32_t>(str.size()));
150 } 163 }
151 164
152 std::string PluginVar::PPVarToString(const PP_Var& var) { 165 std::string PluginVar::PPVarToString(const PP_Var& var) {
153 static const PPB_Var* ppb_var = NULL; 166 static const PPB_Var* ppb_var = NULL;
154 if (ppb_var == NULL) { 167 if (ppb_var == NULL) {
155 ppb_var = static_cast<const PPB_Var*>( 168 ppb_var = static_cast<const PPB_Var*>(
156 ppapi_proxy::PluginVar::GetInterface()); 169 ppapi_proxy::PluginVar::GetInterface());
157 } 170 }
158 if (ppb_var == NULL || var.type != PP_VARTYPE_STRING) { 171 if (ppb_var == NULL || var.type != PP_VARTYPE_STRING) {
159 return ""; 172 return "";
(...skipping 30 matching lines...) Expand all
190 DebugPrintf("PP_Var(object: %"NACL_PRIu64")", GetVarId(var)); 203 DebugPrintf("PP_Var(object: %"NACL_PRIu64")", GetVarId(var));
191 break; 204 break;
192 case PP_VARTYPE_ARRAY: 205 case PP_VARTYPE_ARRAY:
193 case PP_VARTYPE_DICTIONARY: 206 case PP_VARTYPE_DICTIONARY:
194 NACL_NOTREACHED(); 207 NACL_NOTREACHED();
195 break; 208 break;
196 } 209 }
197 } 210 }
198 211
199 } // namespace ppapi_proxy 212 } // namespace ppapi_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698