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

Side by Side Diff: content/renderer/dom_automation_controller.cc

Issue 12207089: Cleanup: Remove deprecated base::Value methods from contents. Use base::Value too. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 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
« no previous file with comments | « content/renderer/browser_plugin/browser_plugin.cc ('k') | content/renderer/render_view_impl.h » ('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) 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 "content/renderer/dom_automation_controller.h" 5 #include "content/renderer/dom_automation_controller.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/json/json_string_value_serializer.h" 9 #include "base/json/json_string_value_serializer.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 } 52 }
53 53
54 if (!sender_) { 54 if (!sender_) {
55 NOTREACHED(); 55 NOTREACHED();
56 result->SetNull(); 56 result->SetNull();
57 return; 57 return;
58 } 58 }
59 59
60 std::string json; 60 std::string json;
61 JSONStringValueSerializer serializer(&json); 61 JSONStringValueSerializer serializer(&json);
62 scoped_ptr<Value> value; 62 scoped_ptr<base::Value> value;
63 63
64 // Warning: note that JSON officially requires the root-level object to be 64 // Warning: note that JSON officially requires the root-level object to be
65 // an object (e.g. {foo:3}) or an array, while here we're serializing 65 // an object (e.g. {foo:3}) or an array, while here we're serializing
66 // strings, bools, etc. to "JSON". This only works because (a) the JSON 66 // strings, bools, etc. to "JSON". This only works because (a) the JSON
67 // writer is lenient, and (b) on the receiving side we wrap the JSON string 67 // writer is lenient, and (b) on the receiving side we wrap the JSON string
68 // in square brackets, converting it to an array, then parsing it and 68 // in square brackets, converting it to an array, then parsing it and
69 // grabbing the 0th element to get the value out. 69 // grabbing the 0th element to get the value out.
70 switch (args[0].type) { 70 switch (args[0].type) {
71 case NPVariantType_String: { 71 case NPVariantType_String: {
72 value.reset(Value::CreateStringValue(args[0].ToString())); 72 value.reset(new base::StringValue(args[0].ToString()));
73 break; 73 break;
74 } 74 }
75 case NPVariantType_Bool: { 75 case NPVariantType_Bool: {
76 value.reset(Value::CreateBooleanValue(args[0].ToBoolean())); 76 value.reset(new base::FundamentalValue(args[0].ToBoolean()));
77 break; 77 break;
78 } 78 }
79 case NPVariantType_Int32: { 79 case NPVariantType_Int32: {
80 value.reset(Value::CreateIntegerValue(args[0].ToInt32())); 80 value.reset(new base::FundamentalValue(args[0].ToInt32()));
81 break; 81 break;
82 } 82 }
83 case NPVariantType_Double: { 83 case NPVariantType_Double: {
84 // The value that is sent back is an integer while it is treated 84 // The value that is sent back is an integer while it is treated
85 // as a double in this binding. The reason being that KJS treats 85 // as a double in this binding. The reason being that KJS treats
86 // any number value as a double. Refer for more details, 86 // any number value as a double. Refer for more details,
87 // chrome/third_party/webkit/src/JavaScriptCore/bindings/c/c_utility.cpp 87 // chrome/third_party/webkit/src/JavaScriptCore/bindings/c/c_utility.cpp
88 value.reset(Value::CreateIntegerValue(args[0].ToInt32())); 88 value.reset(new base::FundamentalValue(args[0].ToInt32()));
89 break; 89 break;
90 } 90 }
91 default: { 91 default: {
92 result->SetNull(); 92 result->SetNull();
93 return; 93 return;
94 } 94 }
95 } 95 }
96 96
97 if (!serializer.Serialize(*value)) { 97 if (!serializer.Serialize(*value)) {
98 result->SetNull(); 98 result->SetNull();
99 return; 99 return;
100 } 100 }
101 101
102 bool succeeded = sender_->Send( 102 bool succeeded = sender_->Send(
103 new ViewHostMsg_DomOperationResponse(routing_id_, json, automation_id_)); 103 new ViewHostMsg_DomOperationResponse(routing_id_, json, automation_id_));
104 result->Set(succeeded); 104 result->Set(succeeded);
105 105
106 automation_id_ = MSG_ROUTING_NONE; 106 automation_id_ = MSG_ROUTING_NONE;
107
108 } 107 }
109 108
110 void DomAutomationController::SendJSON(const CppArgumentList& args, 109 void DomAutomationController::SendJSON(const CppArgumentList& args,
111 CppVariant* result) { 110 CppVariant* result) {
112 if (args.size() != 1) { 111 if (args.size() != 1) {
113 result->SetNull(); 112 result->SetNull();
114 return; 113 return;
115 } 114 }
116 115
117 if (automation_id_ == MSG_ROUTING_NONE) { 116 if (automation_id_ == MSG_ROUTING_NONE) {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 return; 207 return;
209 } 208 }
210 209
211 std::string histogram_json; 210 std::string histogram_json;
212 sender_->Send(new ChildProcessHostMsg_GetBrowserHistogram( 211 sender_->Send(new ChildProcessHostMsg_GetBrowserHistogram(
213 args[0].ToString(), &histogram_json)); 212 args[0].ToString(), &histogram_json));
214 result->Set(histogram_json); 213 result->Set(histogram_json);
215 } 214 }
216 215
217 } // namespace content 216 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/browser_plugin/browser_plugin.cc ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698