OLD | NEW |
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/gpu/gpu_benchmarking_extension.h" | 5 #include "content/renderer/gpu/gpu_benchmarking_extension.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/file_path.h" | 9 #include "base/file_path.h" |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 return v8::FunctionTemplate::New(PrintToSkPicture); | 130 return v8::FunctionTemplate::New(PrintToSkPicture); |
131 if (name->Equals(v8::String::New("BeginSmoothScroll"))) | 131 if (name->Equals(v8::String::New("BeginSmoothScroll"))) |
132 return v8::FunctionTemplate::New(BeginSmoothScroll); | 132 return v8::FunctionTemplate::New(BeginSmoothScroll); |
133 if (name->Equals(v8::String::New("RunRenderingBenchmarks"))) | 133 if (name->Equals(v8::String::New("RunRenderingBenchmarks"))) |
134 return v8::FunctionTemplate::New(RunRenderingBenchmarks); | 134 return v8::FunctionTemplate::New(RunRenderingBenchmarks); |
135 | 135 |
136 return v8::Handle<v8::FunctionTemplate>(); | 136 return v8::Handle<v8::FunctionTemplate>(); |
137 } | 137 } |
138 | 138 |
139 static v8::Handle<v8::Value> GetRenderingStats(const v8::Arguments& args) { | 139 static v8::Handle<v8::Value> GetRenderingStats(const v8::Arguments& args) { |
| 140 |
140 WebFrame* web_frame = WebFrame::frameForEnteredContext(); | 141 WebFrame* web_frame = WebFrame::frameForEnteredContext(); |
141 if (!web_frame) | 142 if (!web_frame) |
142 return v8::Undefined(); | 143 return v8::Undefined(); |
143 | 144 |
144 WebView* web_view = web_frame->view(); | 145 WebView* web_view = web_frame->view(); |
145 if (!web_view) | 146 if (!web_view) |
146 return v8::Undefined(); | 147 return v8::Undefined(); |
147 | 148 |
148 RenderViewImpl* render_view_impl = RenderViewImpl::FromWebView(web_view); | 149 RenderViewImpl* render_view_impl = RenderViewImpl::FromWebView(web_view); |
149 if (!render_view_impl) | 150 if (!render_view_impl) |
150 return v8::Undefined(); | 151 return v8::Undefined(); |
151 | 152 |
152 WebRenderingStats stats; | 153 WebRenderingStats stats; |
153 render_view_impl->GetRenderingStats(stats); | 154 render_view_impl->GetRenderingStats(stats); |
154 | 155 |
155 content::GpuRenderingStats gpu_stats; | 156 content::GpuRenderingStats gpu_stats; |
156 render_view_impl->GetGpuRenderingStats(&gpu_stats); | 157 render_view_impl->GetGpuRenderingStats(&gpu_stats); |
157 | 158 |
158 v8::Handle<v8::Object> stats_object = v8::Object::New(); | 159 v8::Handle<v8::Object> stats_object = v8::Object::New(); |
159 stats_object->Set(v8::String::New("numAnimationFrames"), | 160 stats_object->Set(v8::String::New("numAnimationFrames"), |
160 v8::Integer::New(stats.numAnimationFrames)); | 161 v8::Integer::New(stats.numAnimationFrames)); |
161 stats_object->Set(v8::String::New("numFramesSentToScreen"), | 162 stats_object->Set(v8::String::New("numFramesSentToScreen"), |
162 v8::Integer::New(stats.numFramesSentToScreen)); | 163 v8::Integer::New(stats.numFramesSentToScreen)); |
163 stats_object->Set(v8::String::New("droppedFrameCount"), | 164 stats_object->Set(v8::String::New("droppedFrameCount"), |
164 v8::Integer::New(stats.droppedFrameCount)); | 165 v8::Integer::New(stats.droppedFrameCount)); |
165 stats_object->Set(v8::String::New("totalPaintTimeInSeconds"), | 166 stats_object->Set(v8::String::New("totalPaintTimeInSeconds"), |
166 v8::Number::New(stats.totalPaintTimeInSeconds)); | 167 v8::Number::New(stats.totalPaintTimeInSeconds)); |
167 stats_object->Set(v8::String::New("totalRasterizeTimeInSeconds"), | 168 stats_object->Set(v8::String::New("totalRasterizeTimeInSeconds"), |
168 v8::Number::New(stats.totalRasterizeTimeInSeconds)); | 169 v8::Number::New(stats.totalRasterizeTimeInSeconds)); |
| 170 stats_object->Set(v8::String::New("totalCommitTimeInSeconds"), |
| 171 v8::Number::New(stats.totalCommitTimeInSeconds)); |
| 172 stats_object->Set(v8::String::New("totalCommitCount"), |
| 173 v8::Integer::New(stats.totalCommitCount)); |
| 174 |
169 stats_object->Set(v8::String::New("globalTextureUploadCount"), | 175 stats_object->Set(v8::String::New("globalTextureUploadCount"), |
170 v8::Number::New(gpu_stats.global_texture_upload_count)); | 176 v8::Number::New(gpu_stats.global_texture_upload_count)); |
171 stats_object->Set( | 177 stats_object->Set( |
172 v8::String::New("globalTotalTextureUploadTimeInSeconds"), | 178 v8::String::New("globalTotalTextureUploadTimeInSeconds"), |
173 v8::Number::New( | 179 v8::Number::New( |
174 gpu_stats.global_total_texture_upload_time.InSecondsF())); | 180 gpu_stats.global_total_texture_upload_time.InSecondsF())); |
175 stats_object->Set(v8::String::New("textureUploadCount"), | 181 stats_object->Set(v8::String::New("textureUploadCount"), |
176 v8::Number::New(gpu_stats.texture_upload_count)); | 182 v8::Number::New(gpu_stats.texture_upload_count)); |
177 stats_object->Set( | 183 stats_object->Set( |
178 v8::String::New("totalTextureUploadTimeInSeconds"), | 184 v8::String::New("totalTextureUploadTimeInSeconds"), |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 | 341 |
336 return results; | 342 return results; |
337 } | 343 } |
338 }; | 344 }; |
339 | 345 |
340 v8::Extension* GpuBenchmarkingExtension::Get() { | 346 v8::Extension* GpuBenchmarkingExtension::Get() { |
341 return new GpuBenchmarkingWrapper(); | 347 return new GpuBenchmarkingWrapper(); |
342 } | 348 } |
343 | 349 |
344 } // namespace content | 350 } // namespace content |
OLD | NEW |