Chromium Code Reviews| Index: chrome/renderer/render_view.cc |
| diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc |
| index 2378d9e083cc89aeda16507de1a41d0b8bc147a3..65c910c1ad3709642d7e9c1d0e928eff01e3b7a7 100644 |
| --- a/chrome/renderer/render_view.cc |
| +++ b/chrome/renderer/render_view.cc |
| @@ -95,6 +95,7 @@ |
| #include "gfx/native_widget_types.h" |
| #include "gfx/point.h" |
| #include "gfx/rect.h" |
| +#include "gfx/skbitmap_operations.h" |
| #include "grit/generated_resources.h" |
| #include "grit/renderer_resources.h" |
| #include "media/base/media_switches.h" |
| @@ -1105,14 +1106,19 @@ bool RenderView::CaptureThumbnail(WebView* view, |
| SkBitmap subset; |
| device.accessBitmap(false).extractSubset(&subset, src_rect); |
| - // Resample the subset that we want to get it the right size. |
| + // First do a fast downsample by powers of two to get close to the final size. |
| + SkBitmap downsampledSubset = |
|
brettw
2010/11/12 07:05:57
Le style Goog: downsampled_subset
|
| + SkBitmapOperations::DownsampleByTwoUntilSize(subset, w, h); |
| + |
| + // Do a high-quality resize from the downscaled size to the final size. |
| *thumbnail = skia::ImageOperations::Resize( |
| - subset, skia::ImageOperations::RESIZE_LANCZOS3, w, h); |
| + downsampledSubset, skia::ImageOperations::RESIZE_LANCZOS3, w, h); |
| score->boring_score = CalculateBoringScore(thumbnail); |
| HISTOGRAM_TIMES("Renderer4.Thumbnail", |
| base::TimeTicks::Now() - beginning_time); |
| + |
| return true; |
| } |