summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/views')
-rw-r--r--chrome/browser/views/tabs/tab_overview_cell.cc6
-rw-r--r--chrome/browser/views/tabs/tab_overview_controller.cc8
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.