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

Side by Side Diff: chrome/browser/fav_icon_helper.cc

Issue 5753007: Make us save favicon in incognito mode if the url is bookmarked. This (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome
Patch Set: Created 10 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/fav_icon_helper.h" 5 #include "chrome/browser/fav_icon_helper.h"
6 6
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 8
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/callback.h" 11 #include "base/callback.h"
12 #include "base/ref_counted_memory.h" 12 #include "base/ref_counted_memory.h"
13 #include "chrome/browser/bookmarks/bookmark_model.h"
13 #include "chrome/browser/profiles/profile.h" 14 #include "chrome/browser/profiles/profile.h"
14 #include "chrome/browser/renderer_host/render_view_host.h" 15 #include "chrome/browser/renderer_host/render_view_host.h"
15 #include "chrome/browser/tab_contents/navigation_controller.h" 16 #include "chrome/browser/tab_contents/navigation_controller.h"
16 #include "chrome/browser/tab_contents/navigation_entry.h" 17 #include "chrome/browser/tab_contents/navigation_entry.h"
17 #include "chrome/browser/tab_contents/tab_contents_delegate.h" 18 #include "chrome/browser/tab_contents/tab_contents_delegate.h"
18 #include "chrome/browser/tab_contents/tab_contents.h" 19 #include "chrome/browser/tab_contents/tab_contents.h"
19 #include "gfx/codec/png_codec.h" 20 #include "gfx/codec/png_codec.h"
20 #include "gfx/favicon_size.h" 21 #include "gfx/favicon_size.h"
21 #include "skia/ext/image_operations.h" 22 #include "skia/ext/image_operations.h"
22 23
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 } 72 }
72 73
73 void FavIconHelper::SetFavIcon( 74 void FavIconHelper::SetFavIcon(
74 const GURL& url, 75 const GURL& url,
75 const GURL& image_url, 76 const GURL& image_url,
76 const SkBitmap& image) { 77 const SkBitmap& image) {
77 const SkBitmap& sized_image = 78 const SkBitmap& sized_image =
78 (image.width() == kFavIconSize && image.height() == kFavIconSize) 79 (image.width() == kFavIconSize && image.height() == kFavIconSize)
79 ? image : ConvertToFavIconSize(image); 80 ? image : ConvertToFavIconSize(image);
80 81
81 if (GetFaviconService() && !profile()->IsOffTheRecord()) { 82 if (GetFaviconService() && ShouldSaveFavicon(url)) {
82 std::vector<unsigned char> image_data; 83 std::vector<unsigned char> image_data;
83 gfx::PNGCodec::EncodeBGRASkBitmap(sized_image, false, &image_data); 84 gfx::PNGCodec::EncodeBGRASkBitmap(sized_image, false, &image_data);
84 GetFaviconService()->SetFavicon(url, image_url, image_data); 85 GetFaviconService()->SetFavicon(url, image_url, image_data);
85 } 86 }
86 87
87 if (url == url_) { 88 if (url == url_) {
88 NavigationEntry* entry = GetEntry(); 89 NavigationEntry* entry = GetEntry();
89 if (entry) 90 if (entry)
90 UpdateFavIcon(entry, sized_image); 91 UpdateFavIcon(entry, sized_image);
91 } 92 }
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 int width = image.width(); 290 int width = image.width();
290 int height = image.height(); 291 int height = image.height();
291 if (width > 0 && height > 0) { 292 if (width > 0 && height > 0) {
292 calc_favicon_target_size(&width, &height); 293 calc_favicon_target_size(&width, &height);
293 return skia::ImageOperations::Resize( 294 return skia::ImageOperations::Resize(
294 image, skia::ImageOperations::RESIZE_LANCZOS3, 295 image, skia::ImageOperations::RESIZE_LANCZOS3,
295 width, height); 296 width, height);
296 } 297 }
297 return image; 298 return image;
298 } 299 }
300
301 bool FavIconHelper::ShouldSaveFavicon(const GURL& url) {
302 if (!profile()->IsOffTheRecord())
303 return true;
304
305 // Otherwise store the favicon if the page is bookmarked.
306 BookmarkModel* bookmark_model = profile()->GetBookmarkModel();
307 return bookmark_model && bookmark_model->IsBookmarked(url);
308 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698