Chromium Code Reviews| Index: content/browser/devtools/devtools_frame_trace_recorder.cc |
| diff --git a/content/browser/devtools/devtools_frame_trace_recorder.cc b/content/browser/devtools/devtools_frame_trace_recorder.cc |
| index 0771f8f1908760c01a442e5d321b112dd9a20e83..f18b16db997976c4abe65bcbbc415fae6e16690e 100644 |
| --- a/content/browser/devtools/devtools_frame_trace_recorder.cc |
| +++ b/content/browser/devtools/devtools_frame_trace_recorder.cc |
| @@ -91,14 +91,17 @@ void CaptureFrame(RenderFrameHostImpl* host, |
| int current_frame_count = base::subtle::NoBarrier_Load(&frame_data_count); |
| if (current_frame_count >= kMaximumFrameDataCount) |
| return; |
| + |
| float scale = metadata.page_scale_factor; |
| - float area = metadata.scrollable_viewport_size.GetArea(); |
| - if (area * scale * scale > kFrameAreaLimit) |
| + gfx::Size src_size = gfx::ToCeiledSize(gfx::ScaleSize( |
| + metadata.scrollable_viewport_size, scale)); |
| + float area = src_size.GetArea(); |
| + if (area > kFrameAreaLimit) |
| scale = sqrt(kFrameAreaLimit / area); |
| gfx::Size snapshot_size(gfx::ToRoundedSize(gfx::ScaleSize( |
|
dgozman
2016/05/13 22:55:41
Looks to be equal to src_size, let's reuse it.
|
| metadata.scrollable_viewport_size, scale))); |
| view->CopyFromCompositingSurface( |
| - gfx::Rect(), snapshot_size, |
| + gfx::Rect(gfx::Point(), src_size), snapshot_size, |
| base::Bind(FrameCaptured, base::TimeTicks::Now()), |
| kN32_SkColorType); |
| } |