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

Side by Side Diff: content/shell/renderer/layout_test/leak_detector.cc

Issue 2891933004: Remove raw base::DictionaryValue::Set in //content (Closed)
Patch Set: Rebase Created 3 years, 6 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
« no previous file with comments | « content/shell/browser/shell_net_log.cc ('k') | net/log/net_log.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/shell/renderer/layout_test/leak_detector.h" 5 #include "content/shell/renderer/layout_test/leak_detector.h"
6 6
7 #include <utility>
8
7 #include "base/json/json_writer.h" 9 #include "base/json/json_writer.h"
8 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/memory/ptr_util.h"
9 #include "base/values.h" 12 #include "base/values.h"
10 #include "content/shell/renderer/layout_test/blink_test_runner.h" 13 #include "content/shell/renderer/layout_test/blink_test_runner.h"
11 #include "third_party/WebKit/public/web/WebLeakDetector.h" 14 #include "third_party/WebKit/public/web/WebLeakDetector.h"
12 15
13 using blink::WebLeakDetector; 16 using blink::WebLeakDetector;
14 17
15 namespace content { 18 namespace content {
16 19
17 // The initial states of the DOM objects at about:blank. The four nodes are a 20 // The initial states of the DOM objects at about:blank. The four nodes are a
18 // Document, a HTML, a HEAD and a BODY. 21 // Document, a HTML, a HEAD and a BODY.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 } 72 }
70 73
71 void LeakDetector::OnLeakDetectionComplete( 74 void LeakDetector::OnLeakDetectionComplete(
72 const WebLeakDetectorClient::Result& result) { 75 const WebLeakDetectorClient::Result& result) {
73 LeakDetectionResult report; 76 LeakDetectionResult report;
74 report.leaked = false; 77 report.leaked = false;
75 base::DictionaryValue detail; 78 base::DictionaryValue detail;
76 79
77 if (previous_result_.number_of_live_audio_nodes < 80 if (previous_result_.number_of_live_audio_nodes <
78 result.number_of_live_audio_nodes) { 81 result.number_of_live_audio_nodes) {
79 base::ListValue* list = new base::ListValue(); 82 auto list = base::MakeUnique<base::ListValue>();
80 list->AppendInteger(previous_result_.number_of_live_audio_nodes); 83 list->AppendInteger(previous_result_.number_of_live_audio_nodes);
81 list->AppendInteger(result.number_of_live_audio_nodes); 84 list->AppendInteger(result.number_of_live_audio_nodes);
82 detail.Set("numberOfLiveAudioNodes", list); 85 detail.Set("numberOfLiveAudioNodes", std::move(list));
83 } 86 }
84 if (previous_result_.number_of_live_documents < 87 if (previous_result_.number_of_live_documents <
85 result.number_of_live_documents) { 88 result.number_of_live_documents) {
86 base::ListValue* list = new base::ListValue(); 89 auto list = base::MakeUnique<base::ListValue>();
87 list->AppendInteger(previous_result_.number_of_live_documents); 90 list->AppendInteger(previous_result_.number_of_live_documents);
88 list->AppendInteger(result.number_of_live_documents); 91 list->AppendInteger(result.number_of_live_documents);
89 detail.Set("numberOfLiveDocuments", list); 92 detail.Set("numberOfLiveDocuments", std::move(list));
90 } 93 }
91 if (previous_result_.number_of_live_nodes < result.number_of_live_nodes) { 94 if (previous_result_.number_of_live_nodes < result.number_of_live_nodes) {
92 base::ListValue* list = new base::ListValue(); 95 auto list = base::MakeUnique<base::ListValue>();
93 list->AppendInteger(previous_result_.number_of_live_nodes); 96 list->AppendInteger(previous_result_.number_of_live_nodes);
94 list->AppendInteger(result.number_of_live_nodes); 97 list->AppendInteger(result.number_of_live_nodes);
95 detail.Set("numberOfLiveNodes", list); 98 detail.Set("numberOfLiveNodes", std::move(list));
96 } 99 }
97 if (previous_result_.number_of_live_layout_objects < 100 if (previous_result_.number_of_live_layout_objects <
98 result.number_of_live_layout_objects) { 101 result.number_of_live_layout_objects) {
99 base::ListValue* list = new base::ListValue(); 102 auto list = base::MakeUnique<base::ListValue>();
100 list->AppendInteger(previous_result_.number_of_live_layout_objects); 103 list->AppendInteger(previous_result_.number_of_live_layout_objects);
101 list->AppendInteger(result.number_of_live_layout_objects); 104 list->AppendInteger(result.number_of_live_layout_objects);
102 detail.Set("numberOfLiveLayoutObjects", list); 105 detail.Set("numberOfLiveLayoutObjects", std::move(list));
103 } 106 }
104 if (previous_result_.number_of_live_resources < 107 if (previous_result_.number_of_live_resources <
105 result.number_of_live_resources) { 108 result.number_of_live_resources) {
106 base::ListValue* list = new base::ListValue(); 109 auto list = base::MakeUnique<base::ListValue>();
107 list->AppendInteger(previous_result_.number_of_live_resources); 110 list->AppendInteger(previous_result_.number_of_live_resources);
108 list->AppendInteger(result.number_of_live_resources); 111 list->AppendInteger(result.number_of_live_resources);
109 detail.Set("numberOfLiveResources", list); 112 detail.Set("numberOfLiveResources", std::move(list));
110 } 113 }
111 if (previous_result_.number_of_live_suspendable_objects < 114 if (previous_result_.number_of_live_suspendable_objects <
112 result.number_of_live_suspendable_objects) { 115 result.number_of_live_suspendable_objects) {
113 base::ListValue* list = new base::ListValue(); 116 auto list = base::MakeUnique<base::ListValue>();
114 list->AppendInteger(previous_result_.number_of_live_suspendable_objects); 117 list->AppendInteger(previous_result_.number_of_live_suspendable_objects);
115 list->AppendInteger(result.number_of_live_suspendable_objects); 118 list->AppendInteger(result.number_of_live_suspendable_objects);
116 detail.Set("numberOfLiveSuspendableObjects", list); 119 detail.Set("numberOfLiveSuspendableObjects", std::move(list));
117 } 120 }
118 if (previous_result_.number_of_live_script_promises < 121 if (previous_result_.number_of_live_script_promises <
119 result.number_of_live_script_promises) { 122 result.number_of_live_script_promises) {
120 base::ListValue* list = new base::ListValue(); 123 auto list = base::MakeUnique<base::ListValue>();
121 list->AppendInteger(previous_result_.number_of_live_script_promises); 124 list->AppendInteger(previous_result_.number_of_live_script_promises);
122 list->AppendInteger(result.number_of_live_script_promises); 125 list->AppendInteger(result.number_of_live_script_promises);
123 detail.Set("numberOfLiveScriptPromises", list); 126 detail.Set("numberOfLiveScriptPromises", std::move(list));
124 } 127 }
125 if (previous_result_.number_of_live_frames < result.number_of_live_frames) { 128 if (previous_result_.number_of_live_frames < result.number_of_live_frames) {
126 base::ListValue* list = new base::ListValue(); 129 auto list = base::MakeUnique<base::ListValue>();
127 list->AppendInteger(previous_result_.number_of_live_frames); 130 list->AppendInteger(previous_result_.number_of_live_frames);
128 list->AppendInteger(result.number_of_live_frames); 131 list->AppendInteger(result.number_of_live_frames);
129 detail.Set("numberOfLiveFrames", list); 132 detail.Set("numberOfLiveFrames", std::move(list));
130 } 133 }
131 if (previous_result_.number_of_live_v8_per_context_data < 134 if (previous_result_.number_of_live_v8_per_context_data <
132 result.number_of_live_v8_per_context_data) { 135 result.number_of_live_v8_per_context_data) {
133 base::ListValue* list = new base::ListValue(); 136 auto list = base::MakeUnique<base::ListValue>();
134 list->AppendInteger(previous_result_.number_of_live_v8_per_context_data); 137 list->AppendInteger(previous_result_.number_of_live_v8_per_context_data);
135 list->AppendInteger(result.number_of_live_v8_per_context_data); 138 list->AppendInteger(result.number_of_live_v8_per_context_data);
136 detail.Set("numberOfLiveV8PerContextData", list); 139 detail.Set("numberOfLiveV8PerContextData", std::move(list));
137 } 140 }
138 if (previous_result_.number_of_worker_global_scopes < 141 if (previous_result_.number_of_worker_global_scopes <
139 result.number_of_worker_global_scopes) { 142 result.number_of_worker_global_scopes) {
140 base::ListValue* list = new base::ListValue(); 143 auto list = base::MakeUnique<base::ListValue>();
141 list->AppendInteger(previous_result_.number_of_worker_global_scopes); 144 list->AppendInteger(previous_result_.number_of_worker_global_scopes);
142 list->AppendInteger(result.number_of_worker_global_scopes); 145 list->AppendInteger(result.number_of_worker_global_scopes);
143 detail.Set("numberOfWorkerGlobalScopes", list); 146 detail.Set("numberOfWorkerGlobalScopes", std::move(list));
144 } 147 }
145 148
146 if (!detail.empty()) { 149 if (!detail.empty()) {
147 std::string detail_str; 150 std::string detail_str;
148 base::JSONWriter::Write(detail, &detail_str); 151 base::JSONWriter::Write(detail, &detail_str);
149 report.detail = detail_str; 152 report.detail = detail_str;
150 report.leaked = true; 153 report.leaked = true;
151 } 154 }
152 155
153 previous_result_ = result; 156 previous_result_ = result;
154 test_runner_->ReportLeakDetectionResult(report); 157 test_runner_->ReportLeakDetectionResult(report);
155 } 158 }
156 159
157 } // namespace content 160 } // namespace content
OLDNEW
« no previous file with comments | « content/shell/browser/shell_net_log.cc ('k') | net/log/net_log.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698