Index: chrome/browser/thumbnails/thumbnail_service_impl.cc |
diff --git a/chrome/browser/thumbnails/thumbnail_service_impl.cc b/chrome/browser/thumbnails/thumbnail_service_impl.cc |
index 3b108ac345ca11a96cd6be79bddc759e4f879f5e..557d4b79cf7f88373029adc136c6fb9db870f220 100644 |
--- a/chrome/browser/thumbnails/thumbnail_service_impl.cc |
+++ b/chrome/browser/thumbnails/thumbnail_service_impl.cc |
@@ -4,10 +4,14 @@ |
#include "chrome/browser/thumbnails/thumbnail_service_impl.h" |
+#include "base/command_line.h" |
#include "base/memory/ref_counted_memory.h" |
#include "chrome/browser/history/history_service.h" |
+#include "chrome/browser/search/search.h" |
+#include "chrome/browser/thumbnails/advanced_thumbnail_crop.h" |
#include "chrome/browser/thumbnails/simple_thumbnail_crop.h" |
#include "chrome/browser/thumbnails/thumbnailing_context.h" |
+#include "chrome/common/chrome_switches.h" |
namespace { |
@@ -20,7 +24,8 @@ const int kThumbnailHeight = 132; |
namespace thumbnails { |
ThumbnailServiceImpl::ThumbnailServiceImpl(Profile* profile) |
- : top_sites_(profile->GetTopSites()) { |
+ : top_sites_(profile->GetTopSites()), |
+ use_thumbnail_retargetting_(GetThumbnailRetargettingEnabled()){ |
} |
ThumbnailServiceImpl::~ThumbnailServiceImpl() { |
@@ -47,7 +52,10 @@ bool ThumbnailServiceImpl::GetPageThumbnail( |
ThumbnailingAlgorithm* ThumbnailServiceImpl::GetThumbnailingAlgorithm() |
const { |
- return new SimpleThumbnailCrop(gfx::Size(kThumbnailWidth, kThumbnailHeight)); |
+ const gfx::Size thumbnail_size(kThumbnailWidth, kThumbnailHeight); |
+ if (use_thumbnail_retargetting_) |
+ return new AdvancedThumbnailCrop(thumbnail_size); |
+ return new SimpleThumbnailCrop(thumbnail_size); |
} |
bool ThumbnailServiceImpl::ShouldAcquirePageThumbnail(const GURL& url) { |
@@ -84,4 +92,13 @@ void ThumbnailServiceImpl::ShutdownOnUIThread() { |
top_sites_ = NULL; |
} |
+// static |
+bool ThumbnailServiceImpl::GetThumbnailRetargettingEnabled() { |
+ if (!chrome::IsInstantExtendedAPIEnabled()) |
+ return false; |
+ |
+ return CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableThumbnailRetargetting); |
} |
+ |
+} // namespace thumbnails |