| 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
 | 
| 
 |