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

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: Fixed up a compile problem (indpendent change). 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 21f7227925edeb7253ad9e1f1d3f713835f11d28..ab3ef6273a8a2de41c9f51b5f33e55d473cb4cb3 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 retargeting feature is enabled (Finch/flags).
+bool IsThumbnailRetargetingEnabled() {
+ if (!chrome::IsInstantExtendedAPIEnabled())
+ return false;
+
+ return CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableThumbnailRetargeting);
+}
+
}
namespace thumbnails {
ThumbnailServiceImpl::ThumbnailServiceImpl(Profile* profile)
- : top_sites_(profile->GetTopSites()) {
+ : top_sites_(profile->GetTopSites()),
+ use_thumbnail_retargeting_(IsThumbnailRetargetingEnabled()){
}
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_retargeting_)
+ 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
« no previous file with comments | « chrome/browser/thumbnails/thumbnail_service_impl.h ('k') | chrome/browser/thumbnails/thumbnail_tab_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698