New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 644102 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Feature

Blocked on:
issue 709471

Blocking:
issue 672478
issue 696563
issue 692975
issue 536988
issue 644104
issue 676259
issue 682700



Sign in to add a comment

Extend LargeIconService to support downloading favicons from a Google favicon server.

Project Member Reported by jkrcal@chromium.org, Sep 5 2016

Issue description

Currently, downloading favicons from the server-side favicon service for New Tab Page suggestions is handled in the java code.

It should move to more general-purpose C++ code.
 
Blocking: 644104
Labels: -Type-Bug Type-Feature

Comment 3 by fi...@chromium.org, Sep 8 2016

Labels: zine-client-v1 M-55 zine-triaged

Comment 4 by jkrcal@chromium.org, Sep 12 2016

Labels: zine-16-09-12
I have not started yed, hope to start (and finish) this week.

Comment 5 by jkrcal@chromium.org, Sep 16 2016

A bit more context:
Currently, the chrome client-side favicon service does not support fetching favicons from any Google favicon server. Showing good favicons independently of the local cache is important for synced content or for content suggested by the server-side.

The FaviconService should support such downloads of favicons (instead of the Java code mentioned in the original description of the bug).

Comment 6 by jkrcal@chromium.org, Sep 16 2016

Summary: Extend FaviconService to support downloading favicons from a Google favicon server. (was: Move downloading favicons into the FaviconService)

Comment 7 by jkrcal@chromium.org, Sep 20 2016

Labels: zine-16-09-19
Status: Started (was: Assigned)
Some delays encountered. I still hope to land it before EOW.

Comment 8 by jkrcal@chromium.org, Dec 21 2016

Blocking: 676259
Blocking: 682700
Cc: gambard@chromium.org
Blocking: 692975
Blocking: 536988
After more discussions with pkotwicz@, we decided to move the implementation into LargeIconService.
Summary: Extend LargeIconService to support downloading favicons from a Google favicon server. (was: Extend FaviconService to support downloading favicons from a Google favicon server.)
Blocking: 696563
Project Member

Comment 16 by bugdroid1@chromium.org, Mar 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4409b00db808ea391f7ba279126d12f3587e933c

commit 4409b00db808ea391f7ba279126d12f3587e933c
Author: mastiz <mastiz@chromium.org>
Date: Fri Mar 17 17:54:26 2017

[Image Fetcher] Fix cookies being enabled by default

image_fetcher is used by components that fetch images outside the
content area, hence cookies are undesirable.

A quick look at existing clients suggests none are relying on
cookies, hence we disable them by default and introduce no API for
now to toggle them.

BUG= 644102 ,702200

Review-Url: https://codereview.chromium.org/2756633003
Cr-Commit-Position: refs/heads/master@{#457811}

[modify] https://crrev.com/4409b00db808ea391f7ba279126d12f3587e933c/components/image_fetcher/image_data_fetcher.cc
[modify] https://crrev.com/4409b00db808ea391f7ba279126d12f3587e933c/components/image_fetcher/image_data_fetcher_unittest.cc

Cc: mard...@chromium.org
Project Member

Comment 18 by bugdroid1@chromium.org, Mar 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5d0381faf29ba02bec52363bb62c0237cfd4a314

commit 5d0381faf29ba02bec52363bb62c0237cfd4a314
Author: mastiz <mastiz@chromium.org>
Date: Tue Mar 21 09:47:12 2017

Extend HistoryService with support for favicons from Google servers

We plan to extend LargeIconService with a feature that will, in certain
cases like server-side suggestions, fetch favicons from Google servers,
that is, for pages that haven't been visited locally. Design Doc
in go/favicon-pe-google-server.

An API extension in HistoryService/backend is needed because we want
to be very conservative and support an atomic verify-empty-and-write:
the remotely fetched data should not overwrite data in the local
database in any case (e.g. the local database could have changed
during the request to Google servers).

These icons should also be marked initially expired such that, if the
user visits the page in the future, new favicons will be fetched and
written to the database (overriding previously fetched icons, which
could theoretically differ, e.g. if the site serves different
favicons depending on agent info).

BUG= 644102 

Review-Url: https://codereview.chromium.org/2750313002
Cr-Commit-Position: refs/heads/master@{#458359}

[modify] https://crrev.com/5d0381faf29ba02bec52363bb62c0237cfd4a314/components/history/core/browser/history_backend.cc
[modify] https://crrev.com/5d0381faf29ba02bec52363bb62c0237cfd4a314/components/history/core/browser/history_backend.h
[modify] https://crrev.com/5d0381faf29ba02bec52363bb62c0237cfd4a314/components/history/core/browser/history_backend_unittest.cc
[modify] https://crrev.com/5d0381faf29ba02bec52363bb62c0237cfd4a314/components/history/core/browser/history_service.cc
[modify] https://crrev.com/5d0381faf29ba02bec52363bb62c0237cfd4a314/components/history/core/browser/history_service.h

Project Member

Comment 19 by bugdroid1@chromium.org, Mar 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a31cd7215e84eee41286dc7f08020c740515ebe5

commit a31cd7215e84eee41286dc7f08020c740515ebe5
Author: mastiz <mastiz@chromium.org>
Date: Tue Mar 21 15:19:58 2017

Move iOS image_fetcher::ImageDecoder to layered component

In general, ImageDecoder is not specific to suggestions and hence the
code does not belong ios/chrome/browser/suggestions.

In particular, we do this to avoid a dependency cycle in a future CL,
due to the integration of ImageFetcher in FaviconService, causing:
ERROR Dependency cycle:
  //ios/chrome/browser/sync:sync ->
  //ios/chrome/browser/bookmarks:bookmarks ->
  //ios/chrome/browser/favicon:favicon ->
  //ios/chrome/browser/suggestions:suggestions ->
  //ios/chrome/browser/sync:sync

BUG= 644102 ,624761

Review-Url: https://codereview.chromium.org/2762063003
Cr-Commit-Position: refs/heads/master@{#458419}

[modify] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/components/image_fetcher/ios/BUILD.gn
[modify] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/components/image_fetcher/ios/DEPS
[add] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/components/image_fetcher/ios/ios_image_decoder_impl.h
[rename] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/components/image_fetcher/ios/ios_image_decoder_impl.mm
[rename] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/components/image_fetcher/ios/ios_image_decoder_impl_unittest.mm
[modify] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/ios/chrome/browser/ntp_snippets/BUILD.gn
[modify] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory.cc
[modify] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/ios/chrome/browser/ntp_tiles/BUILD.gn
[modify] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/ios/chrome/browser/ntp_tiles/ios_most_visited_sites_factory.cc
[modify] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/ios/chrome/browser/suggestions/BUILD.gn
[delete] https://crrev.com/33d8074e449407ac84ad0e6f3ea7ab3dbda19f28/ios/chrome/browser/suggestions/ios_image_decoder_impl.h
[modify] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/ios/chrome/browser/suggestions/suggestions_service_factory.mm
[modify] https://crrev.com/a31cd7215e84eee41286dc7f08020c740515ebe5/ios/chrome/test/BUILD.gn

Project Member

Comment 20 by bugdroid1@chromium.org, Mar 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef

commit bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef
Author: mastiz <mastiz@chromium.org>
Date: Fri Mar 24 11:44:45 2017

Extend LargeIconService to fetch missing favicons from a Google server

(Based on original work by jkrcal@)

Design Doc: go/favicon-pe-google-server

Showing good large icons independently of the local favicon cache is
important for synced content or for content suggested from the
server-side (such as tiles and suggestions on New Tab Page on Android).

This CL extends the service by a dedicated API that allows clients to
fetch favicons/largeicons from Google server. No actual use of the
functionality is introduced in this patch.

BUG= 644102 

Review-Url: https://codereview.chromium.org/2721363002
Cr-Commit-Position: refs/heads/master@{#459392}

[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/chrome/browser/favicon/large_icon_service_factory.cc
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/data_use_measurement/core/data_use_user_data.cc
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/data_use_measurement/core/data_use_user_data.h
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/favicon/core/BUILD.gn
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/favicon/core/DEPS
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/favicon/core/favicon_service.h
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/favicon/core/favicon_service_impl.cc
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/favicon/core/favicon_service_impl.h
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/favicon/core/large_icon_service.cc
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/favicon/core/large_icon_service.h
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/favicon/core/large_icon_service_unittest.cc
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/components/favicon/core/test/mock_favicon_service.h
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/ios/chrome/app/spotlight/spotlight_manager_unittest.mm
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/ios/chrome/browser/DEPS
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/ios/chrome/browser/favicon/BUILD.gn
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/ios/chrome/browser/favicon/ios_chrome_large_icon_service_factory.cc
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/ios/chrome/browser/ui/history/favicon_view_provider_unittest.mm
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/ios/chrome/browser/ui/reading_list/reading_list_collection_view_controller_unittest.mm
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/ios/chrome/browser/ui/reading_list/reading_list_coordinator_unittest.mm
[modify] https://crrev.com/bf4de3ff1c10a7ca6b1c4ca00451165f18fa1eef/tools/metrics/histograms/histograms.xml

Project Member

Comment 21 by bugdroid1@chromium.org, Mar 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9113ea78bc7a96ef8ba2b89a26aafd2fbc0b55e8

commit 9113ea78bc7a96ef8ba2b89a26aafd2fbc0b55e8
Author: jkrcal <jkrcal@chromium.org>
Date: Fri Mar 31 15:08:55 2017

[History service] Fix a typo in SetLastResortFavicons

Previously, backend task were not performed on the right thread which
caused a crash in debug-build.

This CL assigns the task to the the right task runner.

BUG= 644102 

Review-Url: https://codereview.chromium.org/2788443003
Cr-Commit-Position: refs/heads/master@{#461124}

[modify] https://crrev.com/9113ea78bc7a96ef8ba2b89a26aafd2fbc0b55e8/components/history/core/browser/history_service.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Apr 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7ce66c1137284f0fd3b9d6a17df4802c2ac875c

commit e7ce66c1137284f0fd3b9d6a17df4802c2ac875c
Author: jkrcal <jkrcal@chromium.org>
Date: Tue Apr 04 07:06:47 2017

[LargeIconService] Update parameters for Google server

This CL makes two small changes:
 - Fix two typos/omissions in the URL format so that it actually works
   as intended.
 - Change to sizes that we ask for. As the only (experimental)
   application for M59 is for publisher favicons which are at most 64px
   on high-end hardware, we decrease the sizes for the time being to
   save users' data as well as server band-width.

BUG= 644102 

Review-Url: https://codereview.chromium.org/2790113002
Cr-Commit-Position: refs/heads/master@{#461650}

[modify] https://crrev.com/e7ce66c1137284f0fd3b9d6a17df4802c2ac875c/components/favicon/core/large_icon_service.cc
[modify] https://crrev.com/e7ce66c1137284f0fd3b9d6a17df4802c2ac875c/components/favicon/core/large_icon_service_unittest.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Apr 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1222984cb4d97e3e51a0d524ca623a18d39d1d4a

commit 1222984cb4d97e3e51a0d524ca623a18d39d1d4a
Author: jkrcal <jkrcal@chromium.org>
Date: Fri Apr 07 17:18:13 2017

[LargeIconService] Adding URL fallback for the server

This CL fixes the fallback_opts parameter for favicon server once again
(after CL 2790113002).

BUG= 644102 

Review-Url: https://codereview.chromium.org/2804293003
Cr-Commit-Position: refs/heads/master@{#462905}

[modify] https://crrev.com/1222984cb4d97e3e51a0d524ca623a18d39d1d4a/components/favicon/core/large_icon_service.cc
[modify] https://crrev.com/1222984cb4d97e3e51a0d524ca623a18d39d1d4a/components/favicon/core/large_icon_service_unittest.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Apr 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fe52c7f885b342a38e4351317b63f56982cb8955

commit fe52c7f885b342a38e4351317b63f56982cb8955
Author: jkrcal <jkrcal@chromium.org>
Date: Mon Apr 10 14:37:20 2017

[Image fetcher] Add Content-Location header to image_fetcher::RequestMetadata

Previous CL (2793983002) added a pointer to net::HttpResponseHeaders
into image_fetcher::RequestMetadata. This was flawed because the object
got deleted before the callback to ImageFetcher was called. A solution
would be to create a copy of the headers object from its raw_headers()
content. This seems too heavy for a corner-use case needing one header.

As a solution, this CL removes the what has been added by the previous
CL and adds a new struct field for this particular use case.

BUG= 644102 

Review-Url: https://codereview.chromium.org/2807143002
Cr-Commit-Position: refs/heads/master@{#463260}

[modify] https://crrev.com/fe52c7f885b342a38e4351317b63f56982cb8955/components/image_fetcher/core/image_data_fetcher.cc
[modify] https://crrev.com/fe52c7f885b342a38e4351317b63f56982cb8955/components/image_fetcher/core/image_data_fetcher_unittest.cc
[modify] https://crrev.com/fe52c7f885b342a38e4351317b63f56982cb8955/components/image_fetcher/core/request_metadata.cc
[modify] https://crrev.com/fe52c7f885b342a38e4351317b63f56982cb8955/components/image_fetcher/core/request_metadata.h
[modify] https://crrev.com/fe52c7f885b342a38e4351317b63f56982cb8955/components/image_fetcher/core/request_metadata_unittest.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Apr 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e58f7fce980c4231c7b6af6ddd235a693b0eb566

commit e58f7fce980c4231c7b6af6ddd235a693b0eb566
Author: jkrcal <jkrcal@chromium.org>
Date: Mon Apr 10 19:08:36 2017

[LargeIconService] Store downloaded icons under original URL

This CL implements a TODO to use the original URL of the favicon
downloaded from the Google server as the key in the database.

BUG= 644102 

Review-Url: https://codereview.chromium.org/2810733002
Cr-Commit-Position: refs/heads/master@{#463348}

[modify] https://crrev.com/e58f7fce980c4231c7b6af6ddd235a693b0eb566/components/favicon/core/large_icon_service.cc
[modify] https://crrev.com/e58f7fce980c4231c7b6af6ddd235a693b0eb566/components/favicon/core/large_icon_service_unittest.cc

Blockedon: 709471
The main functionality is implemented, the only important thing that remains from the original design is  http://crbug.com/709471 

Comment 28 by kolos@chromium.org, May 18 2017

Blocking: 672478
Status: Fixed (was: Started)

Sign in to add a comment