Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7617)

Unified Diff: chrome/browser/thumbnails/thumbnail_service_impl.cc

Issue 15458003: Plugs in the new thumbnailing algorithm to ThumbnailTabHelper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing up details to make clang happy. Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..77211379093386d91951d56db3904af9f3641c64 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/content_based_thumbnailing_algorithm.h"
#include "chrome/browser/thumbnails/simple_thumbnail_crop.h"
#include "chrome/browser/thumbnails/thumbnailing_context.h"
+#include "chrome/common/chrome_switches.h"
namespace {
@@ -15,12 +19,22 @@ namespace {
const int kThumbnailWidth = 212;
const int kThumbnailHeight = 132;
+// True if thumbnail retargetting feature is enabled (Finch/flags).
+bool IsThumbnailRetargettingEnabled() {
+ if (!chrome::IsInstantExtendedAPIEnabled())
+ return false;
+
+ return CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableThumbnailRetargetting);
+}
+
}
namespace thumbnails {
ThumbnailServiceImpl::ThumbnailServiceImpl(Profile* profile)
- : top_sites_(profile->GetTopSites()) {
+ : top_sites_(profile->GetTopSites()),
+ use_thumbnail_retargetting_(IsThumbnailRetargettingEnabled()){
}
ThumbnailServiceImpl::~ThumbnailServiceImpl() {
@@ -47,7 +61,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 ContentBasedThumbnailingAlgorithm(thumbnail_size);
+ return new SimpleThumbnailCrop(thumbnail_size);
}
bool ThumbnailServiceImpl::ShouldAcquirePageThumbnail(const GURL& url) {
@@ -84,4 +101,4 @@ void ThumbnailServiceImpl::ShutdownOnUIThread() {
top_sites_ = NULL;
}
-}
+} // namespace thumbnails

Powered by Google App Engine
This is Rietveld 408576698