diff options
Diffstat (limited to 'chrome/browser/views')
-rw-r--r-- | chrome/browser/views/tabs/tab_overview_cell.cc | 6 | ||||
-rw-r--r-- | chrome/browser/views/tabs/tab_overview_controller.cc | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/chrome/browser/views/tabs/tab_overview_cell.cc b/chrome/browser/views/tabs/tab_overview_cell.cc index c05aae3..b0b5f9f 100644 --- a/chrome/browser/views/tabs/tab_overview_cell.cc +++ b/chrome/browser/views/tabs/tab_overview_cell.cc @@ -6,6 +6,7 @@ #include "app/gfx/favicon_size.h" #include "base/string_util.h" +#include "skia/ext/image_operations.h" #include "views/border.h" #include "views/controls/image_view.h" #include "views/controls/label.h" @@ -64,7 +65,10 @@ TabOverviewCell::TabOverviewCell() { } void TabOverviewCell::SetThumbnail(const SkBitmap& thumbnail) { - thumbnail_view_->SetImage(thumbnail); + // Do mipmapped-based resampling to get closer to the correct size. The + // input bitmap isn't guaranteed to have any specific resolution. + thumbnail_view_->SetImage(skia::ImageOperations::DownsampleByTwoUntilSize( + thumbnail, kThumbnailWidth, kThumbnailHeight)); } void TabOverviewCell::SetTitle(const string16& title) { diff --git a/chrome/browser/views/tabs/tab_overview_controller.cc b/chrome/browser/views/tabs/tab_overview_controller.cc index 86456c1..fb7dfa4 100644 --- a/chrome/browser/views/tabs/tab_overview_controller.cc +++ b/chrome/browser/views/tabs/tab_overview_controller.cc @@ -5,8 +5,10 @@ #include "chrome/browser/views/tabs/tab_overview_controller.h" #include "chrome/browser/browser.h" +#include "chrome/browser/browser_process.h" #include "chrome/browser/gtk/browser_window_gtk.h" #include "chrome/browser/tab_contents/tab_contents.h" +#include "chrome/browser/tab_contents/thumbnail_generator.h" #include "chrome/browser/views/tabs/tab_overview_cell.h" #include "chrome/browser/views/tabs/tab_overview_container.h" #include "chrome/browser/views/tabs/tab_overview_grid.h" @@ -107,10 +109,14 @@ void TabOverviewController::Show() { void TabOverviewController::ConfigureCell(TabOverviewCell* cell, TabContents* contents) { - // TODO: need to set thumbnail here. if (contents) { cell->SetTitle(contents->GetTitle()); cell->SetFavIcon(contents->GetFavIcon()); + + ThumbnailGenerator* generator = g_browser_process->GetThumbnailGenerator(); + cell->SetThumbnail( + generator->GetThumbnailForRenderer(contents->render_view_host())); + cell->SchedulePaint(); } else { // Need to figure out under what circumstances this is null and deal. |