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

Issue 299713007: [Suggestions] Adding a Thumbnail Manager for the Suggestions Service (Closed)

Created:
6 years, 7 months ago by Mathieu
Modified:
6 years, 7 months ago
Reviewers:
huangs, Jered
CC:
chromium-reviews, skanuj+watch_chromium.org, melevin+watch_chromium.org, dhollowa+watch_chromium.org, dougw+watch_chromium.org, donnd+watch_chromium.org, dominich, jfweitz+watch_chromium.org, David Black, samarth+watch_chromium.org, kmadhusu+watch_chromium.org
Visibility:
Public.

Description

[Suggestions] Adding a Thumbnail Manager for the Suggestions Service Will fetch server thumbnails if they are available. Using the BitmapFetcher to obtain and decode images. I've tested with a subsequent CL that modifies suggestions_source.cc. Next CLs will implement local caching once the image is fetched. BUG=None TEST=ThumbnailManagerTest,ThumbnailManagerBrowserTest Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=273012

Patch Set 1 #

Patch Set 2 : clean #

Total comments: 34

Patch Set 3 : addressed comments #

Total comments: 44

Patch Set 4 : Addressed comments #

Patch Set 5 : removed C++11 statement #

Total comments: 36

Patch Set 6 : latest round #

Total comments: 4

Patch Set 7 : nits #

Patch Set 8 : clang quirk #

Total comments: 5

Patch Set 9 : remove typedef #

Patch Set 10 : delete pointer on destruction #

Total comments: 4

Patch Set 11 : no guard #

Patch Set 12 : remove comment #

Total comments: 3

Patch Set 13 : Now swapping #

Unified diffs Side-by-side diffs Delta from patch set Stats (+428 lines, -1 line) Patch
M chrome/browser/search/suggestions/proto/suggestions.proto View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/browser/search/suggestions/suggestions_service.h View 1 2 3 4 5 3 chunks +11 lines, -0 lines 0 comments Download
M chrome/browser/search/suggestions/suggestions_service.cc View 1 2 3 4 5 3 chunks +9 lines, -1 line 0 comments Download
A chrome/browser/search/suggestions/thumbnail_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +101 lines, -0 lines 0 comments Download
A chrome/browser/search/suggestions/thumbnail_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +96 lines, -0 lines 0 comments Download
A chrome/browser/search/suggestions/thumbnail_manager_browsertest.cc View 1 2 3 1 chunk +155 lines, -0 lines 0 comments Download
A chrome/browser/search/suggestions/thumbnail_manager_unittest.cc View 1 2 1 chunk +46 lines, -0 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/chrome_tests.gypi View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M chrome/chrome_tests_unit.gypi View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 29 (0 generated)
Mathieu
Hi, this is ready for a review. I was thinking Sam: Main review (familiar with ...
6 years, 7 months ago (2014-05-21 21:07:37 UTC) #1
huangs
First round. My recommendations in thumbnail_manager.cc might be irrelevant if you decide to implement what ...
6 years, 7 months ago (2014-05-22 06:17:35 UTC) #2
Mathieu
Thanks for your comments and help, have a look. https://chromiumcodereview.appspot.com/299713007/diff/20001/chrome/browser/search/suggestions/proto/suggestions.proto File chrome/browser/search/suggestions/proto/suggestions.proto (right): https://chromiumcodereview.appspot.com/299713007/diff/20001/chrome/browser/search/suggestions/proto/suggestions.proto#newcode29 chrome/browser/search/suggestions/proto/suggestions.proto:29: ...
6 years, 7 months ago (2014-05-22 15:45:50 UTC) #3
huangs
More comments. I'm concerned about thread safety. https://chromiumcodereview.appspot.com/299713007/diff/40001/chrome/browser/search/suggestions/proto/suggestions.proto File chrome/browser/search/suggestions/proto/suggestions.proto (right): https://chromiumcodereview.appspot.com/299713007/diff/40001/chrome/browser/search/suggestions/proto/suggestions.proto#newcode32 chrome/browser/search/suggestions/proto/suggestions.proto:32: // Specification ...
6 years, 7 months ago (2014-05-22 18:08:22 UTC) #4
Mathieu
Thanks! https://codereview.chromium.org/299713007/diff/40001/chrome/browser/search/suggestions/proto/suggestions.proto File chrome/browser/search/suggestions/proto/suggestions.proto (right): https://codereview.chromium.org/299713007/diff/40001/chrome/browser/search/suggestions/proto/suggestions.proto#newcode32 chrome/browser/search/suggestions/proto/suggestions.proto:32: // Specification for the thumbnail to be used. ...
6 years, 7 months ago (2014-05-22 19:46:31 UTC) #5
Jered
https://codereview.chromium.org/299713007/diff/80001/chrome/browser/search/suggestions/proto/suggestions.proto File chrome/browser/search/suggestions/proto/suggestions.proto (right): https://codereview.chromium.org/299713007/diff/80001/chrome/browser/search/suggestions/proto/suggestions.proto#newcode32 chrome/browser/search/suggestions/proto/suggestions.proto:32: // Specification for the thumbnail to be used, specified ...
6 years, 7 months ago (2014-05-23 16:57:47 UTC) #6
huangs
Nitty details. https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/suggestions_service.h File chrome/browser/search/suggestions/suggestions_service.h (right): https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/suggestions_service.h#newcode16 chrome/browser/search/suggestions/suggestions_service.h:16: #include "chrome/browser/search/suggestions/thumbnail_manager.h" thumbnail_manager.h is included solely for ...
6 years, 7 months ago (2014-05-23 17:23:34 UTC) #7
Mathieu
Thanks for your detailed comments, all! https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/proto/suggestions.proto File chrome/browser/search/suggestions/proto/suggestions.proto (right): https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/proto/suggestions.proto#newcode32 chrome/browser/search/suggestions/proto/suggestions.proto:32: // Specification for ...
6 years, 7 months ago (2014-05-23 19:21:57 UTC) #8
huangs
Sorry for the delay. Few more comments. https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode51 chrome/browser/search/suggestions/thumbnail_manager.cc:51: Session* session ...
6 years, 7 months ago (2014-05-23 20:16:22 UTC) #9
huangs
lgtm
6 years, 7 months ago (2014-05-23 20:17:27 UTC) #10
Mathieu
https://chromiumcodereview.appspot.com/299713007/diff/90001/chrome/browser/search/suggestions/thumbnail_manager.h File chrome/browser/search/suggestions/thumbnail_manager.h (right): https://chromiumcodereview.appspot.com/299713007/diff/90001/chrome/browser/search/suggestions/thumbnail_manager.h#newcode45 chrome/browser/search/suggestions/thumbnail_manager.h:45: virtual void OnFetchComplete(const GURL thumbnail_url, On 2014/05/23 20:16:22, huangs1 ...
6 years, 7 months ago (2014-05-23 20:22:42 UTC) #11
Mathieu
My latest patchset (8) needs to be there otherwise it doesn't compile with Clang++.
6 years, 7 months ago (2014-05-23 20:58:56 UTC) #12
Jered
https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode51 chrome/browser/search/suggestions/thumbnail_manager.cc:51: Session* session = &session_map_[thumbnail_url]; On 2014/05/23 20:16:22, huangs1 wrote: ...
6 years, 7 months ago (2014-05-23 21:25:00 UTC) #13
huangs
https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode51 chrome/browser/search/suggestions/thumbnail_manager.cc:51: Session* session = &session_map_[thumbnail_url]; We tried this, but std::map<GURL, ...
6 years, 7 months ago (2014-05-23 22:34:25 UTC) #14
Jered
https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode51 chrome/browser/search/suggestions/thumbnail_manager.cc:51: Session* session = &session_map_[thumbnail_url]; On 2014/05/23 22:34:26, huangs1 wrote: ...
6 years, 7 months ago (2014-05-23 22:37:00 UTC) #15
Mathieu
Have a look! https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode51 chrome/browser/search/suggestions/thumbnail_manager.cc:51: Session* session = &session_map_[thumbnail_url]; On 2014/05/23 ...
6 years, 7 months ago (2014-05-23 22:40:24 UTC) #16
Mathieu
Thanks! https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/80001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode51 chrome/browser/search/suggestions/thumbnail_manager.cc:51: Session* session = &session_map_[thumbnail_url]; On 2014/05/23 22:37:01, Jered ...
6 years, 7 months ago (2014-05-23 22:54:58 UTC) #17
Jered
Thanks, this makes me happier :-) https://chromiumcodereview.appspot.com/299713007/diff/160001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/160001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode19 chrome/browser/search/suggestions/thumbnail_manager.cc:19: ThumbnailManager::ThumbnailRequest::ThumbnailRequest() {} say ...
6 years, 7 months ago (2014-05-23 22:57:37 UTC) #18
Mathieu
Thanks! I'm satisfied as well! https://chromiumcodereview.appspot.com/299713007/diff/160001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/160001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode19 chrome/browser/search/suggestions/thumbnail_manager.cc:19: ThumbnailManager::ThumbnailRequest::ThumbnailRequest() {} On 2014/05/23 ...
6 years, 7 months ago (2014-05-23 23:14:51 UTC) #19
huangs
Some concerns on free-after-use? https://chromiumcodereview.appspot.com/299713007/diff/200001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/200001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode63 chrome/browser/search/suggestions/thumbnail_manager.cc:63: pending_requests_[thumbnail_url] = request; Wouldn't |request|'s ...
6 years, 7 months ago (2014-05-24 03:45:39 UTC) #20
huangs
I mean use-after-free. :)
6 years, 7 months ago (2014-05-24 17:46:15 UTC) #21
Mathieu
Have a look! https://chromiumcodereview.appspot.com/299713007/diff/200001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/200001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode63 chrome/browser/search/suggestions/thumbnail_manager.cc:63: pending_requests_[thumbnail_url] = request; On 2014/05/24 03:45:40, ...
6 years, 7 months ago (2014-05-26 18:55:29 UTC) #22
huangs
LGTM. However, note that std::swap is in <algorithm> in C++98, and in <utility> for C++11. ...
6 years, 7 months ago (2014-05-26 19:30:14 UTC) #23
Jered
On 2014/05/26 19:30:14, huangs1 wrote: > LGTM. However, note that std::swap is in <algorithm> in ...
6 years, 7 months ago (2014-05-27 15:26:47 UTC) #24
Jered
lgtm https://chromiumcodereview.appspot.com/299713007/diff/200001/chrome/browser/search/suggestions/thumbnail_manager.cc File chrome/browser/search/suggestions/thumbnail_manager.cc (right): https://chromiumcodereview.appspot.com/299713007/diff/200001/chrome/browser/search/suggestions/thumbnail_manager.cc#newcode63 chrome/browser/search/suggestions/thumbnail_manager.cc:63: pending_requests_[thumbnail_url] = request; On 2014/05/26 18:55:30, Mathieu Perreault ...
6 years, 7 months ago (2014-05-27 15:26:59 UTC) #25
Mathieu
The CQ bit was checked by mathp@chromium.org
6 years, 7 months ago (2014-05-27 15:27:18 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mathp@chromium.org/299713007/220001
6 years, 7 months ago (2014-05-27 15:27:33 UTC) #27
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_aosp on tryserver.chromium ...
6 years, 7 months ago (2014-05-27 18:41:41 UTC) #28
commit-bot: I haz the power
6 years, 7 months ago (2014-05-27 19:54:24 UTC) #29
Message was sent while issue was closed.
Change committed as 273012

Powered by Google App Engine
This is Rietveld 408576698