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

Side by Side Diff: ppapi/proxy/serialized_var_unittest.cc

Issue 9316123: Remove special handling for strings in var serialization. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 months 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/proxy/ppapi_proxy_test.h" 5 #include "ppapi/proxy/ppapi_proxy_test.h"
6 6
7 #include "ppapi/proxy/serialized_var.h" 7 #include "ppapi/proxy/serialized_var.h"
8 8
9 namespace ppapi { 9 namespace ppapi {
10 namespace proxy { 10 namespace proxy {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 EXPECT_EQ(1, var_tracker().GetRefCountForObject(plugin_object)); 52 EXPECT_EQ(1, var_tracker().GetRefCountForObject(plugin_object));
53 // We should have informed the host that a reference was taken. 53 // We should have informed the host that a reference was taken.
54 EXPECT_EQ(1u, sink().message_count()); 54 EXPECT_EQ(1u, sink().message_count());
55 *out_param.OutParam(plugin_dispatcher()) = plugin_object; 55 *out_param.OutParam(plugin_dispatcher()) = plugin_object;
56 } 56 }
57 57
58 // The object should have transformed the plugin object back to the host 58 // The object should have transformed the plugin object back to the host
59 // object ID. Nothing in the var tracker should have changed yet, and no 59 // object ID. Nothing in the var tracker should have changed yet, and no
60 // messages should have been sent. 60 // messages should have been sent.
61 SerializedVarTestReader reader(sv); 61 SerializedVarTestReader reader(sv);
62 EXPECT_EQ(host_object.value.as_id, reader.GetIncompleteVar().value.as_id); 62 EXPECT_EQ(host_object.value.as_id, reader.GetVar().value.as_id);
63 EXPECT_EQ(1, var_tracker().GetRefCountForObject(plugin_object)); 63 EXPECT_EQ(1, var_tracker().GetRefCountForObject(plugin_object));
64 EXPECT_EQ(1u, sink().message_count()); 64 EXPECT_EQ(1u, sink().message_count());
65 } 65 }
66 66
67 // The out param should have done an "end receive caller owned" on the plugin 67 // The out param should have done an "end receive caller owned" on the plugin
68 // var serialization rules, which should have released the "track-with-no- 68 // var serialization rules, which should have released the "track-with-no-
69 // reference" count in the var tracker as well as the 1 reference we passed 69 // reference" count in the var tracker as well as the 1 reference we passed
70 // back to the host, so the object should no longer be in the tracker. The 70 // back to the host, so the object should no longer be in the tracker. The
71 // reference we added has been removed, so another message should be sent to 71 // reference we added has been removed, so another message should be sent to
72 // the host to tell it we're done with the object. 72 // the host to tell it we're done with the object.
(...skipping 25 matching lines...) Expand all
98 var_tracker().AddRefVar(plugin_string); 98 var_tracker().AddRefVar(plugin_string);
99 EXPECT_EQ(2, var_tracker().GetRefCountForObject(plugin_string)); 99 EXPECT_EQ(2, var_tracker().GetRefCountForObject(plugin_string));
100 EXPECT_EQ(0u, sink().message_count()); 100 EXPECT_EQ(0u, sink().message_count());
101 *out_param.OutParam(plugin_dispatcher()) = plugin_string; 101 *out_param.OutParam(plugin_dispatcher()) = plugin_string;
102 } 102 }
103 103
104 // The SerializedVar should have set the string value internally. Nothing in 104 // The SerializedVar should have set the string value internally. Nothing in
105 // the var tracker should have changed yet, and no messages should have been 105 // the var tracker should have changed yet, and no messages should have been
106 // sent. 106 // sent.
107 SerializedVarTestReader reader(sv); 107 SerializedVarTestReader reader(sv);
108 EXPECT_EQ(kTestString, *reader.GetTrackerStringPtr()); 108 //EXPECT_EQ(kTestString, *reader.GetTrackerStringPtr());
109 EXPECT_EQ(2, var_tracker().GetRefCountForObject(plugin_string)); 109 EXPECT_EQ(2, var_tracker().GetRefCountForObject(plugin_string));
110 EXPECT_EQ(0u, sink().message_count()); 110 EXPECT_EQ(0u, sink().message_count());
111 } 111 }
112 // The reference the string had initially should be gone, and the reference we 112 // The reference the string had initially should be gone, and the reference we
113 // passed to the host should also be gone, so the string should be removed. 113 // passed to the host should also be gone, so the string should be removed.
114 EXPECT_EQ(-1, var_tracker().GetRefCountForObject(plugin_string)); 114 EXPECT_EQ(-1, var_tracker().GetRefCountForObject(plugin_string));
115 EXPECT_EQ(0u, sink().message_count()); 115 EXPECT_EQ(0u, sink().message_count());
116 } 116 }
117 117
118 // Tests receiving an argument and passing it back to the browser as an output 118 // Tests receiving an argument and passing it back to the browser as an output
(...skipping 12 matching lines...) Expand all
131 // The "OutParam" does its work in its destructor, it will write the 131 // The "OutParam" does its work in its destructor, it will write the
132 // information to the SerializedVar we passed in the constructor. 132 // information to the SerializedVar we passed in the constructor.
133 SerializedVarOutParam out_param(&sv); 133 SerializedVarOutParam out_param(&sv);
134 *out_param.OutParam(plugin_dispatcher()) = plugin_object; 134 *out_param.OutParam(plugin_dispatcher()) = plugin_object;
135 } 135 }
136 136
137 // The object should have transformed the plugin object back to the host 137 // The object should have transformed the plugin object back to the host
138 // object ID. Nothing in the var tracker should have changed yet, and no 138 // object ID. Nothing in the var tracker should have changed yet, and no
139 // messages should have been sent. 139 // messages should have been sent.
140 SerializedVarTestReader reader(sv); 140 SerializedVarTestReader reader(sv);
141 EXPECT_EQ(host_object.value.as_id, reader.GetIncompleteVar().value.as_id); 141 EXPECT_EQ(host_object.value.as_id, reader.GetVar().value.as_id);
142 EXPECT_EQ(1, var_tracker().GetRefCountForObject(plugin_object)); 142 EXPECT_EQ(1, var_tracker().GetRefCountForObject(plugin_object));
143 EXPECT_EQ(0u, sink().message_count()); 143 EXPECT_EQ(0u, sink().message_count());
144 } 144 }
145 145
146 // The out param should have done an "end send pass ref" on the plugin 146 // The out param should have done an "end send pass ref" on the plugin
147 // var serialization rules, which should have in turn released the reference 147 // var serialization rules, which should have in turn released the reference
148 // in the var tracker. Since we only had one reference, this should have sent 148 // in the var tracker. Since we only had one reference, this should have sent
149 // a release to the browser. 149 // a release to the browser.
150 EXPECT_EQ(-1, var_tracker().GetRefCountForObject(plugin_object)); 150 EXPECT_EQ(-1, var_tracker().GetRefCountForObject(plugin_object));
151 EXPECT_EQ(1u, sink().message_count()); 151 EXPECT_EQ(1u, sink().message_count());
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 } 331 }
332 332
333 // When the ReturnValue object goes out of scope, it should have sent a 333 // When the ReturnValue object goes out of scope, it should have sent a
334 // release message to the browser. 334 // release message to the browser.
335 EXPECT_EQ(-1, var_tracker().GetRefCountForObject(plugin_object)); 335 EXPECT_EQ(-1, var_tracker().GetRefCountForObject(plugin_object));
336 EXPECT_EQ(1u, sink().message_count()); 336 EXPECT_EQ(1u, sink().message_count());
337 } 337 }
338 338
339 } // namespace proxy 339 } // namespace proxy
340 } // namespace ppapi 340 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698