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" |
11 #include "base/memory/scoped_vector.h" | 11 #include "base/memory/scoped_vector.h" |
12 #include "base/string_number_conversions.h" | 12 #include "base/string_number_conversions.h" |
| 13 #include "cc/rendering_stats.h" |
13 #include "content/common/gpu/gpu_rendering_stats.h" | 14 #include "content/common/gpu/gpu_rendering_stats.h" |
14 #include "content/public/renderer/render_thread.h" | 15 #include "content/public/renderer/render_thread.h" |
15 #include "content/renderer/all_rendering_benchmarks.h" | 16 #include "content/renderer/all_rendering_benchmarks.h" |
16 #include "content/renderer/render_view_impl.h" | 17 #include "content/renderer/render_view_impl.h" |
17 #include "content/renderer/rendering_benchmark.h" | 18 #include "content/renderer/rendering_benchmark.h" |
18 #include "third_party/skia/include/core/SkGraphics.h" | 19 #include "third_party/skia/include/core/SkGraphics.h" |
19 #include "third_party/skia/include/core/SkPicture.h" | 20 #include "third_party/skia/include/core/SkPicture.h" |
20 #include "third_party/skia/include/core/SkStream.h" | 21 #include "third_party/skia/include/core/SkStream.h" |
21 #include "third_party/WebKit/Source/Platform/chromium/public/WebRenderingStats.h
" | 22 #include "third_party/WebKit/Source/Platform/chromium/public/WebRenderingStats.h
" |
22 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" | 23 #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 return v8::Undefined(); | 146 return v8::Undefined(); |
146 | 147 |
147 WebView* web_view = web_frame->view(); | 148 WebView* web_view = web_frame->view(); |
148 if (!web_view) | 149 if (!web_view) |
149 return v8::Undefined(); | 150 return v8::Undefined(); |
150 | 151 |
151 RenderViewImpl* render_view_impl = RenderViewImpl::FromWebView(web_view); | 152 RenderViewImpl* render_view_impl = RenderViewImpl::FromWebView(web_view); |
152 if (!render_view_impl) | 153 if (!render_view_impl) |
153 return v8::Undefined(); | 154 return v8::Undefined(); |
154 | 155 |
| 156 #ifdef NOT_USING_WEB_RENDERING_STATS |
| 157 cc::RenderingStats stats; |
| 158 #else |
155 WebRenderingStats stats; | 159 WebRenderingStats stats; |
| 160 #endif // NOT_USING_WEB_RENDERING_STATS |
156 render_view_impl->GetRenderingStats(stats); | 161 render_view_impl->GetRenderingStats(stats); |
157 | 162 |
158 content::GpuRenderingStats gpu_stats; | 163 content::GpuRenderingStats gpu_stats; |
159 render_view_impl->GetGpuRenderingStats(&gpu_stats); | 164 render_view_impl->GetGpuRenderingStats(&gpu_stats); |
160 v8::Handle<v8::Object> stats_object = v8::Object::New(); | 165 v8::Handle<v8::Object> stats_object = v8::Object::New(); |
161 stats_object->Set(v8::String::New("numAnimationFrames"), | 166 stats_object->Set(v8::String::New("numAnimationFrames"), |
162 v8::Integer::New(stats.numAnimationFrames)); | 167 v8::Number::New(stats.numAnimationFrames)); |
163 stats_object->Set(v8::String::New("numFramesSentToScreen"), | 168 stats_object->Set(v8::String::New("numFramesSentToScreen"), |
164 v8::Integer::New(stats.numFramesSentToScreen)); | 169 v8::Number::New(stats.numFramesSentToScreen)); |
165 stats_object->Set(v8::String::New("droppedFrameCount"), | 170 stats_object->Set(v8::String::New("droppedFrameCount"), |
166 v8::Integer::New(stats.droppedFrameCount)); | 171 v8::Number::New(stats.droppedFrameCount)); |
167 stats_object->Set(v8::String::New("totalPaintTimeInSeconds"), | 172 stats_object->Set(v8::String::New("totalPaintTimeInSeconds"), |
168 v8::Number::New(stats.totalPaintTimeInSeconds)); | 173 v8::Number::New(stats.totalPaintTimeInSeconds)); |
169 stats_object->Set(v8::String::New("totalRasterizeTimeInSeconds"), | 174 stats_object->Set(v8::String::New("totalRasterizeTimeInSeconds"), |
170 v8::Number::New(stats.totalRasterizeTimeInSeconds)); | 175 v8::Number::New(stats.totalRasterizeTimeInSeconds)); |
171 stats_object->Set(v8::String::New("totalCommitTimeInSeconds"), | 176 stats_object->Set(v8::String::New("totalCommitTimeInSeconds"), |
172 v8::Number::New(stats.totalCommitTimeInSeconds)); | 177 v8::Number::New(stats.totalCommitTimeInSeconds)); |
173 stats_object->Set(v8::String::New("totalCommitCount"), | 178 stats_object->Set(v8::String::New("totalCommitCount"), |
174 v8::Integer::New(stats.totalCommitCount)); | 179 v8::Number::New(stats.totalCommitCount)); |
175 stats_object->Set(v8::String::New("numImplThreadScrolls"), | 180 stats_object->Set(v8::String::New("numImplThreadScrolls"), |
176 v8::Integer::New(stats.numImplThreadScrolls)); | 181 v8::Number::New(stats.numImplThreadScrolls)); |
177 stats_object->Set(v8::String::New("numMainThreadScrolls"), | 182 stats_object->Set(v8::String::New("numMainThreadScrolls"), |
178 v8::Integer::New(stats.numMainThreadScrolls)); | 183 v8::Number::New(stats.numMainThreadScrolls)); |
179 stats_object->Set(v8::String::New("totalPixelsPainted"), | 184 stats_object->Set(v8::String::New("totalPixelsPainted"), |
180 v8::Integer::New(stats.totalPixelsPainted)); | 185 v8::Number::New(stats.totalPixelsPainted)); |
181 stats_object->Set(v8::String::New("totalPixelsRasterized"), | 186 stats_object->Set(v8::String::New("totalPixelsRasterized"), |
182 v8::Integer::New(stats.totalPixelsRasterized)); | 187 v8::Number::New(stats.totalPixelsRasterized)); |
183 | 188 |
184 stats_object->Set(v8::String::New("globalTextureUploadCount"), | 189 stats_object->Set(v8::String::New("globalTextureUploadCount"), |
185 v8::Number::New(gpu_stats.global_texture_upload_count)); | 190 v8::Number::New(gpu_stats.global_texture_upload_count)); |
186 stats_object->Set( | 191 stats_object->Set( |
187 v8::String::New("globalTotalTextureUploadTimeInSeconds"), | 192 v8::String::New("globalTotalTextureUploadTimeInSeconds"), |
188 v8::Number::New( | 193 v8::Number::New( |
189 gpu_stats.global_total_texture_upload_time.InSecondsF())); | 194 gpu_stats.global_total_texture_upload_time.InSecondsF())); |
190 stats_object->Set(v8::String::New("textureUploadCount"), | 195 stats_object->Set(v8::String::New("textureUploadCount"), |
191 v8::Number::New(gpu_stats.texture_upload_count)); | 196 v8::Number::New(gpu_stats.texture_upload_count)); |
192 stats_object->Set( | 197 stats_object->Set( |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 | 377 |
373 return results; | 378 return results; |
374 } | 379 } |
375 }; | 380 }; |
376 | 381 |
377 v8::Extension* GpuBenchmarkingExtension::Get() { | 382 v8::Extension* GpuBenchmarkingExtension::Get() { |
378 return new GpuBenchmarkingWrapper(); | 383 return new GpuBenchmarkingWrapper(); |
379 } | 384 } |
380 | 385 |
381 } // namespace content | 386 } // namespace content |
OLD | NEW |