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

Side by Side Diff: chrome/browser/task_profiler/task_profiler_data_serializer.cc

Issue 372103006: Stamp out CreateStringValue in chrome/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 "chrome/browser/task_profiler/task_profiler_data_serializer.h" 5 #include "chrome/browser/task_profiler/task_profiler_data_serializer.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/json/json_string_value_serializer.h" 9 #include "base/json/json_string_value_serializer.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 10 matching lines...) Expand all
21 using tracked_objects::LocationSnapshot; 21 using tracked_objects::LocationSnapshot;
22 using tracked_objects::ParentChildPairSnapshot; 22 using tracked_objects::ParentChildPairSnapshot;
23 using tracked_objects::TaskSnapshot; 23 using tracked_objects::TaskSnapshot;
24 using tracked_objects::ProcessDataSnapshot; 24 using tracked_objects::ProcessDataSnapshot;
25 25
26 namespace { 26 namespace {
27 27
28 // Re-serializes the |location| into |dictionary|. 28 // Re-serializes the |location| into |dictionary|.
29 void LocationSnapshotToValue(const LocationSnapshot& location, 29 void LocationSnapshotToValue(const LocationSnapshot& location,
30 base::DictionaryValue* dictionary) { 30 base::DictionaryValue* dictionary) {
31 dictionary->Set("file_name", 31 dictionary->Set("file_name", new base::StringValue(location.file_name));
32 base::Value::CreateStringValue(location.file_name));
33 // Note: This function name is not escaped, and templates have less-than 32 // Note: This function name is not escaped, and templates have less-than
34 // characters, which means this is not suitable for display as HTML unless 33 // characters, which means this is not suitable for display as HTML unless
35 // properly escaped. 34 // properly escaped.
36 dictionary->Set("function_name", 35 dictionary->Set("function_name",
37 base::Value::CreateStringValue(location.function_name)); 36 new base::StringValue(location.function_name));
38 dictionary->Set("line_number", 37 dictionary->Set("line_number",
39 base::Value::CreateIntegerValue(location.line_number)); 38 base::Value::CreateIntegerValue(location.line_number));
40 } 39 }
41 40
42 // Re-serializes the |birth| into |dictionary|. Prepends the |prefix| to the 41 // Re-serializes the |birth| into |dictionary|. Prepends the |prefix| to the
43 // "thread" and "location" key names in the dictionary. 42 // "thread" and "location" key names in the dictionary.
44 void BirthOnThreadSnapshotToValue(const BirthOnThreadSnapshot& birth, 43 void BirthOnThreadSnapshotToValue(const BirthOnThreadSnapshot& birth,
45 const std::string& prefix, 44 const std::string& prefix,
46 base::DictionaryValue* dictionary) { 45 base::DictionaryValue* dictionary) {
47 DCHECK(!prefix.empty()); 46 DCHECK(!prefix.empty());
48 47
49 scoped_ptr<base::DictionaryValue> location_value(new base::DictionaryValue); 48 scoped_ptr<base::DictionaryValue> location_value(new base::DictionaryValue);
50 LocationSnapshotToValue(birth.location, location_value.get()); 49 LocationSnapshotToValue(birth.location, location_value.get());
51 dictionary->Set(prefix + "_location", location_value.release()); 50 dictionary->Set(prefix + "_location", location_value.release());
52 51
53 dictionary->Set(prefix + "_thread", 52 dictionary->Set(prefix + "_thread", new base::StringValue(birth.thread_name));
54 base::Value::CreateStringValue(birth.thread_name));
55 } 53 }
56 54
57 // Re-serializes the |death_data| into |dictionary|. 55 // Re-serializes the |death_data| into |dictionary|.
58 void DeathDataSnapshotToValue(const DeathDataSnapshot& death_data, 56 void DeathDataSnapshotToValue(const DeathDataSnapshot& death_data,
59 base::DictionaryValue* dictionary) { 57 base::DictionaryValue* dictionary) {
60 dictionary->Set("count", 58 dictionary->Set("count",
61 base::Value::CreateIntegerValue(death_data.count)); 59 base::Value::CreateIntegerValue(death_data.count));
62 dictionary->Set("run_ms", 60 dictionary->Set("run_ms",
63 base::Value::CreateIntegerValue(death_data.run_duration_sum)); 61 base::Value::CreateIntegerValue(death_data.run_duration_sum));
64 dictionary->Set("run_ms_max", 62 dictionary->Set("run_ms_max",
(...skipping 16 matching lines...) Expand all
81 // Re-serializes the |snapshot| into |dictionary|. 79 // Re-serializes the |snapshot| into |dictionary|.
82 void TaskSnapshotToValue(const TaskSnapshot& snapshot, 80 void TaskSnapshotToValue(const TaskSnapshot& snapshot,
83 base::DictionaryValue* dictionary) { 81 base::DictionaryValue* dictionary) {
84 BirthOnThreadSnapshotToValue(snapshot.birth, "birth", dictionary); 82 BirthOnThreadSnapshotToValue(snapshot.birth, "birth", dictionary);
85 83
86 scoped_ptr<base::DictionaryValue> death_data(new base::DictionaryValue); 84 scoped_ptr<base::DictionaryValue> death_data(new base::DictionaryValue);
87 DeathDataSnapshotToValue(snapshot.death_data, death_data.get()); 85 DeathDataSnapshotToValue(snapshot.death_data, death_data.get());
88 dictionary->Set("death_data", death_data.release()); 86 dictionary->Set("death_data", death_data.release());
89 87
90 dictionary->Set("death_thread", 88 dictionary->Set("death_thread",
91 base::Value::CreateStringValue(snapshot.death_thread_name)); 89 new base::StringValue(snapshot.death_thread_name));
92
93 } 90 }
94 91
95 } // anonymous namespace 92 } // anonymous namespace
96 93
97 namespace task_profiler { 94 namespace task_profiler {
98 95
99 // static 96 // static
100 void TaskProfilerDataSerializer::ToValue( 97 void TaskProfilerDataSerializer::ToValue(
101 const ProcessDataSnapshot& process_data, 98 const ProcessDataSnapshot& process_data,
102 int process_type, 99 int process_type,
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 snapshot_list->Append(shutdown_snapshot); 158 snapshot_list->Append(shutdown_snapshot);
162 root->Set("snapshots", snapshot_list); 159 root->Set("snapshots", snapshot_list);
163 160
164 serializer.Serialize(*root); 161 serializer.Serialize(*root);
165 int data_size = static_cast<int>(output.size()); 162 int data_size = static_cast<int>(output.size());
166 163
167 return data_size == base::WriteFile(path, output.data(), data_size); 164 return data_size == base::WriteFile(path, output.data(), data_size);
168 } 165 }
169 166
170 } // namespace task_profiler 167 } // namespace task_profiler
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698