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

Side by Side Diff: gpu/np_utils/np_utils.cc

Issue 481007: Deleted np_utils library. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 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 | « gpu/np_utils/np_utils.h ('k') | gpu/np_utils/np_utils_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "gpu/np_utils/np_utils.h"
6
7 namespace np_utils {
8
9 bool NPVariantToValue(bool* value, const NPVariant& variant) {
10 if (NPVARIANT_IS_BOOLEAN(variant)) {
11 *value = NPVARIANT_TO_BOOLEAN(variant);
12 return true;
13 }
14
15 return false;
16 }
17
18 bool NPVariantToValue(int32* value, const NPVariant& variant) {
19 if (NPVARIANT_IS_INT32(variant)) {
20 *value = NPVARIANT_TO_INT32(variant);
21 return true;
22 }
23
24 return false;
25 }
26
27 bool NPVariantToValue(float* value, const NPVariant& variant) {
28 if (NPVARIANT_IS_DOUBLE(variant)) {
29 *value = static_cast<float>(NPVARIANT_TO_DOUBLE(variant));
30 return true;
31 } else if (NPVARIANT_IS_INT32(variant)) {
32 *value = static_cast<float>(NPVARIANT_TO_INT32(variant));
33 return true;
34 }
35
36 return false;
37 }
38
39 bool NPVariantToValue(double* value, const NPVariant& variant) {
40 if (NPVARIANT_IS_DOUBLE(variant)) {
41 *value = NPVARIANT_TO_DOUBLE(variant);
42 return true;
43 } else if (NPVARIANT_IS_INT32(variant)) {
44 *value = NPVARIANT_TO_INT32(variant);
45 return true;
46 }
47
48 return false;
49 }
50
51 bool NPVariantToValue(std::string* value, const NPVariant& variant) {
52 if (NPVARIANT_IS_STRING(variant)) {
53 const NPString& str = NPVARIANT_TO_STRING(variant);
54 *value = std::string(str.UTF8Characters, str.UTF8Length);
55 return true;
56 }
57
58 return false;
59 }
60
61 void ValueToNPVariant(bool value, NPVariant* variant) {
62 BOOLEAN_TO_NPVARIANT(value, *variant);
63 }
64
65 void ValueToNPVariant(int32 value, NPVariant* variant) {
66 INT32_TO_NPVARIANT(value, *variant);
67 }
68
69 void ValueToNPVariant(float value, NPVariant* variant) {
70 DOUBLE_TO_NPVARIANT(value, *variant);
71 }
72
73 void ValueToNPVariant(double value, NPVariant* variant) {
74 DOUBLE_TO_NPVARIANT(value, *variant);
75 }
76
77 void ValueToNPVariant(const std::string& value, NPVariant* variant) {
78 NPUTF8* p = static_cast<NPUTF8*>(NPBrowser::get()->MemAlloc(value.length()));
79 memcpy(p, value.c_str(), value.length());
80 STRINGN_TO_NPVARIANT(p, value.length(), *variant);
81 }
82
83 SmartNPVariant::SmartNPVariant() {
84 VOID_TO_NPVARIANT(*this);
85 }
86
87 SmartNPVariant::SmartNPVariant(const SmartNPVariant& rhs) {
88 rhs.CopyTo(this);
89 }
90
91 SmartNPVariant::SmartNPVariant(const NPVariant& rhs) {
92 static_cast<const SmartNPVariant&>(rhs).CopyTo(this);
93 }
94
95 SmartNPVariant::~SmartNPVariant() {
96 Release();
97 }
98
99 SmartNPVariant& SmartNPVariant::operator=(const SmartNPVariant& rhs) {
100 Release();
101 rhs.CopyTo(this);
102 return *this;
103 }
104
105 SmartNPVariant& SmartNPVariant::operator=(const NPVariant& rhs) {
106 Release();
107 static_cast<const SmartNPVariant&>(rhs).CopyTo(this);
108 return *this;
109 }
110
111 bool SmartNPVariant::IsVoid() const {
112 return NPVARIANT_IS_VOID(*this);
113 }
114
115 void SmartNPVariant::Release() {
116 NPBrowser::get()->ReleaseVariantValue(this);
117 VOID_TO_NPVARIANT(*this);
118 }
119
120 void SmartNPVariant::Invalidate() {
121 if (NPVARIANT_IS_OBJECT(*this)) {
122 NULL_TO_NPVARIANT(*this);
123 }
124 }
125
126 void SmartNPVariant::CopyTo(NPVariant* rhs) const {
127 if (NPVARIANT_IS_OBJECT(*this)) {
128 NPObject* object = NPVARIANT_TO_OBJECT(*this);
129 OBJECT_TO_NPVARIANT(object, *rhs);
130 NPBrowser::get()->RetainObject(object);
131 } else if (NPVARIANT_IS_STRING(*this)) {
132 NPUTF8* copy = static_cast<NPUTF8*>(NPBrowser::get()->MemAlloc(
133 value.stringValue.UTF8Length));
134 memcpy(copy,
135 value.stringValue.UTF8Characters,
136 value.stringValue.UTF8Length);
137 STRINGN_TO_NPVARIANT(copy, value.stringValue.UTF8Length, *rhs);
138 } else {
139 memcpy(rhs, this, sizeof(*rhs));
140 }
141 }
142
143 bool NPHasMethod(NPP npp,
144 const NPObjectPointer<NPObject>& object,
145 const NPUTF8* name) {
146 return NPBrowser::get()->HasMethod(
147 npp,
148 object.Get(),
149 NPBrowser::get()->GetStringIdentifier(name));
150 }
151
152 bool NPHasProperty(NPP npp,
153 const NPObjectPointer<NPObject>& object,
154 const NPUTF8* name) {
155 return NPBrowser::get()->HasProperty(
156 npp,
157 object.Get(),
158 NPBrowser::get()->GetStringIdentifier(name));
159 }
160
161 bool NPRemoveProperty(NPP npp,
162 const NPObjectPointer<NPObject>& object,
163 const NPUTF8* name) {
164 return NPBrowser::get()->RemoveProperty(
165 npp,
166 object.Get(),
167 NPBrowser::get()->GetStringIdentifier(name));
168 }
169
170 } // namespace np_utils
OLDNEW
« no previous file with comments | « gpu/np_utils/np_utils.h ('k') | gpu/np_utils/np_utils_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698