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

Side by Side Diff: ppapi/shared_impl/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
« no previous file with comments | « ppapi/shared_impl/var.h ('k') | ppapi/tests/test_var.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "ppapi/shared_impl/var.h" 5 #include "ppapi/shared_impl/var.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/string_number_conversions.h" 10 #include "base/string_number_conversions.h"
11 #include "base/string_util.h" 11 #include "base/string_util.h"
12 #include "ppapi/c/pp_var.h" 12 #include "ppapi/c/pp_var.h"
13 #include "ppapi/shared_impl/ppapi_globals.h" 13 #include "ppapi/shared_impl/ppapi_globals.h"
14 #include "ppapi/shared_impl/var_tracker.h" 14 #include "ppapi/shared_impl/var_tracker.h"
15 15
16 namespace ppapi { 16 namespace ppapi {
17 17
18 // Var ------------------------------------------------------------------------- 18 // Var -------------------------------------------------------------------------
19 19
20 Var::Var(PP_Module module) : pp_module_(module), var_id_(0) { 20 Var::Var() : var_id_(0) {
21 } 21 }
22 22
23 Var::~Var() { 23 Var::~Var() {
24 } 24 }
25 25
26 // static 26 // static
27 std::string Var::PPVarToLogString(PP_Var var) { 27 std::string Var::PPVarToLogString(PP_Var var) {
28 switch (var.type) { 28 switch (var.type) {
29 case PP_VARTYPE_UNDEFINED: 29 case PP_VARTYPE_UNDEFINED:
30 return "[Undefined]"; 30 return "[Undefined]";
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 return var_id_; 90 return var_id_;
91 } 91 }
92 92
93 void Var::AssignVarID(int32 id) { 93 void Var::AssignVarID(int32 id) {
94 DCHECK(!var_id_); // Must not have already been generated. 94 DCHECK(!var_id_); // Must not have already been generated.
95 var_id_ = id; 95 var_id_ = id;
96 } 96 }
97 97
98 // StringVar ------------------------------------------------------------------- 98 // StringVar -------------------------------------------------------------------
99 99
100 StringVar::StringVar(PP_Module module, const std::string& str) 100 StringVar::StringVar(const std::string& str)
101 : Var(module), 101 : value_(str) {
102 value_(str) {
103 } 102 }
104 103
105 StringVar::StringVar(PP_Module module, const char* str, uint32 len) 104 StringVar::StringVar(const char* str, uint32 len)
106 : Var(module), 105 : value_(str, len) {
107 value_(str, len) {
108 } 106 }
109 107
110 StringVar::~StringVar() { 108 StringVar::~StringVar() {
111 } 109 }
112 110
113 StringVar* StringVar::AsStringVar() { 111 StringVar* StringVar::AsStringVar() {
114 return this; 112 return this;
115 } 113 }
116 114
117 PP_Var StringVar::GetPPVar() { 115 PP_Var StringVar::GetPPVar() {
118 int32 id = GetOrCreateVarID(); 116 int32 id = GetOrCreateVarID();
119 if (!id) 117 if (!id)
120 return PP_MakeNull(); 118 return PP_MakeNull();
121 119
122 PP_Var result; 120 PP_Var result;
123 result.type = PP_VARTYPE_STRING; 121 result.type = PP_VARTYPE_STRING;
124 result.padding = 0; 122 result.padding = 0;
125 result.value.as_id = id; 123 result.value.as_id = id;
126 return result; 124 return result;
127 } 125 }
128 126
129 PP_VarType StringVar::GetType() const { 127 PP_VarType StringVar::GetType() const {
130 return PP_VARTYPE_STRING; 128 return PP_VARTYPE_STRING;
131 } 129 }
132 130
133 // static 131 // static
134 PP_Var StringVar::StringToPPVar(PP_Module module, const std::string& var) { 132 PP_Var StringVar::StringToPPVar(const std::string& var) {
135 return StringToPPVar(module, var.c_str(), var.size()); 133 return StringToPPVar(var.c_str(), var.size());
136 } 134 }
137 135
138 // static 136 // static
139 PP_Var StringVar::StringToPPVar(PP_Module module, 137 PP_Var StringVar::StringToPPVar(const char* data, uint32 len) {
140 const char* data, uint32 len) { 138 scoped_refptr<StringVar> str(new StringVar(data, len));
141 scoped_refptr<StringVar> str(new StringVar(module, data, len));
142 if (!str || !IsStringUTF8(str->value())) 139 if (!str || !IsStringUTF8(str->value()))
143 return PP_MakeNull(); 140 return PP_MakeNull();
144 return str->GetPPVar(); 141 return str->GetPPVar();
145 } 142 }
146 143
147 // static 144 // static
148 StringVar* StringVar::FromPPVar(PP_Var var) { 145 StringVar* StringVar::FromPPVar(PP_Var var) {
149 if (var.type != PP_VARTYPE_STRING) 146 if (var.type != PP_VARTYPE_STRING)
150 return NULL; 147 return NULL;
151 scoped_refptr<Var> var_object( 148 scoped_refptr<Var> var_object(
152 PpapiGlobals::Get()->GetVarTracker()->GetVar(var)); 149 PpapiGlobals::Get()->GetVarTracker()->GetVar(var));
153 if (!var_object) 150 if (!var_object)
154 return NULL; 151 return NULL;
155 return var_object->AsStringVar(); 152 return var_object->AsStringVar();
156 } 153 }
157 154
158 } // namespace ppapi 155 } // namespace ppapi
159 156
OLDNEW
« no previous file with comments | « ppapi/shared_impl/var.h ('k') | ppapi/tests/test_var.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698