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

Issue 2763103002: Move ImageDecoder to components/image_fetcher/content (Closed)

Created:
3 years, 9 months ago by mastiz
Modified:
3 years, 8 months ago
CC:
achuith+watch_chromium.org, alemate+watch_chromium.org, asanka, chromium-apps-reviews_chromium.org, chromium-reviews, darin-cc_chromium.org, davemoore+watch_chromium.org, dbeam+watch-options_chromium.org, dbeam+watch-settings_chromium.org, David Black, dcheng, donnd+watch_chromium.org, elijahtaylor+arcwatch_chromium.org, extensions-reviews_chromium.org, gambard, hidehiko+watch_chromium.org, ios-reviews_chromium.org, jam, Jered, jfweitz+watch_chromium.org, kinuko+fileapi, kmadhusu+watch_chromium.org, lhchavez+watch_chromium.org, melevin+watch_chromium.org, Matt Giuca, michaelpg+watch-md-settings_chromium.org, michaelpg+watch-options_chromium.org, nhiroki, noyau+watch_chromium.org, ntp-dev+reviews_chromium.org, oshima+watch_chromium.org, pam+watch_chromium.org, samarth+watch_chromium.org, skanuj+watch_chromium.org, stevenjb+watch-md-settings_chromium.org, tfarina, Lei Zhang, tommycli, tzik, victorhsieh+watch_chromium.org, yusukes+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Move ImageDecoder to components/image_fetcher/content This allows moving ImageFetcher's equivalent, ImageDecoderImpl to components as well. Future CLs should probably clean up the naming confusion and reduce the number of wrappers. BUG=624761

Patch Set 1 #

Patch Set 2 : Added missing DEPS. #

Patch Set 3 : Namespace fixes. #

Patch Set 4 : Fixed missing dependency. #

Patch Set 5 : Minor changes. #

Patch Set 6 : Fixes. #

Patch Set 7 : Add missing file. #

Patch Set 8 : Update image_decoder_browsertest.cc #

Patch Set 9 : Rebased. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+158 lines, -586 lines) Patch
M chrome/browser/BUILD.gn View 1 2 3 4 5 6 7 8 4 chunks +1 line, -5 lines 0 comments Download
M chrome/browser/android/download/ui/thumbnail_provider.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/android/download/ui/thumbnail_provider.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/android/logo_bridge.cc View 1 2 3 4 5 6 7 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/android/logo_service.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/apps/drive/drive_app_converter.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/bitmap_fetcher/bitmap_fetcher.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/app_mode/kiosk_app_data.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/arc/wallpaper/arc_wallpaper_service.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/extensions/wallpaper_function_base.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/hats/hats_notification_controller.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/login/screens/user_image_screen.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/users/avatar/user_image_loader.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/users/avatar/user_image_manager_test_util.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/download/download_commands.cc View 2 chunks +1 line, -1 line 0 comments Download
M chrome/browser/download/notification/download_item_notification.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/extensions/clipboard_extension_helper_chromeos.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/favicon/large_icon_service_factory.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -2 lines 0 comments Download
D chrome/browser/image_decoder.h View 5 1 chunk +0 lines, -140 lines 0 comments Download
D chrome/browser/image_decoder.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -229 lines 0 comments Download
M chrome/browser/image_decoder_browsertest.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/media_galleries/fileapi/supported_image_type_validator.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ntp_snippets/content_suggestions_service_factory.cc View 1 2 4 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/ntp_tiles/chrome_most_visited_sites_factory.cc View 1 2 3 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/profiles/profile_downloader.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/search/instant_service.cc View 2 chunks +1 line, -1 line 0 comments Download
D chrome/browser/search/suggestions/image_decoder_impl.h View 1 chunk +0 lines, -44 lines 0 comments Download
D chrome/browser/search/suggestions/image_decoder_impl.cc View 1 chunk +0 lines, -95 lines 0 comments Download
M chrome/browser/search/suggestions/image_fetcher_impl_browsertest.cc View 1 2 2 chunks +4 lines, -5 lines 0 comments Download
M chrome/browser/search/suggestions/suggestions_service_factory.cc View 1 2 2 chunks +3 lines, -4 lines 0 comments Download
M chrome/browser/search/thumbnail_source.cc View 1 2 2 chunks +4 lines, -5 lines 0 comments Download
M chrome/browser/ui/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/ui/app_list/arc/arc_app_icon.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/app_list/search/common/url_icon_source.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/webui/ntp_tiles_internals_ui.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/webui/settings/chromeos/change_picture_handler.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/test/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
A components/image_fetcher/content/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +28 lines, -0 lines 0 comments Download
A components/image_fetcher/content/DEPS View 1 2 3 4 5 6 7 8 1 chunk +9 lines, -0 lines 0 comments Download
A + components/image_fetcher/content/image_decoder.h View 1 2 5 4 chunks +6 lines, -7 lines 0 comments Download
A + components/image_fetcher/content/image_decoder.cc View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -5 lines 0 comments Download
A components/image_fetcher/content/image_decoder_impl.h View 1 2 3 4 5 1 chunk +41 lines, -0 lines 0 comments Download
A + components/image_fetcher/content/image_decoder_impl.cc View 1 2 3 4 5 5 chunks +12 lines, -12 lines 0 comments Download
A components/image_fetcher/core/DEPS View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
M components/image_fetcher/ios/DEPS View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 57 (40 generated)
mastiz
Not sure if this is yet ready to be reviewed.
3 years, 9 months ago (2017-03-21 16:49:25 UTC) #4
mastiz
rockot@: you seem to be contributing to ImageDecoder? Any objection to moving it to components/image_fetcher?
3 years, 9 months ago (2017-03-22 09:22:08 UTC) #14
Ken Rockot(use gerrit already)
I don't really care about it, but if it's going to require any amount of ...
3 years, 9 months ago (2017-03-22 11:55:14 UTC) #21
markusheintz_
We need some abstraction in between so that we can plug in a iOS specific ...
3 years, 9 months ago (2017-03-23 09:02:54 UTC) #37
Ken Rockot(use gerrit already)
On 2017/03/23 at 09:02:54, markusheintz wrote: > We need some abstraction in between so that ...
3 years, 9 months ago (2017-03-23 17:14:16 UTC) #40
markusheintz_
On 2017/03/23 17:14:16, Ken Rockot wrote: > On 2017/03/23 at 09:02:54, markusheintz wrote: > > ...
3 years, 9 months ago (2017-03-23 17:20:13 UTC) #41
Ken Rockot(use gerrit already)
Big but largely mechanical and low risk. I anticipate getting it landed quickly. Thanks! On ...
3 years, 9 months ago (2017-03-23 17:21:15 UTC) #42
mastiz
On 2017/03/23 17:21:15, Ken Rockot wrote: > Big but largely mechanical and low risk. I ...
3 years, 9 months ago (2017-03-27 12:27:50 UTC) #43
markusheintz_
On 2017/03/27 12:27:50, mastiz wrote: > On 2017/03/23 17:21:15, Ken Rockot wrote: > > Big ...
3 years, 9 months ago (2017-03-27 12:55:47 UTC) #44
markusheintz_
On 2017/03/27 12:27:50, mastiz wrote: > On 2017/03/23 17:21:15, Ken Rockot wrote: > > Big ...
3 years, 9 months ago (2017-03-27 12:55:53 UTC) #45
markusheintz_
On 2017/03/27 12:27:50, mastiz wrote: > On 2017/03/23 17:21:15, Ken Rockot wrote: > > Big ...
3 years, 9 months ago (2017-03-27 12:55:53 UTC) #46
markusheintz_
On 2017/03/27 12:27:50, mastiz wrote: > On 2017/03/23 17:21:15, Ken Rockot wrote: > > Big ...
3 years, 9 months ago (2017-03-27 12:55:54 UTC) #47
Ken Rockot(use gerrit already)
Maybe this is a discussion for another time, but I wonder if we should just ...
3 years, 9 months ago (2017-03-27 18:27:37 UTC) #53
mastiz
On 2017/03/27 18:27:37, Ken Rockot wrote: > Maybe this is a discussion for another time, ...
3 years, 9 months ago (2017-03-27 19:57:40 UTC) #54
blundell
On 2017/03/27 18:27:37, Ken Rockot wrote: > Maybe this is a discussion for another time, ...
3 years, 8 months ago (2017-03-28 14:24:48 UTC) #55
blundell
On 2017/03/27 19:57:40, mastiz wrote: > On 2017/03/27 18:27:37, Ken Rockot wrote: > > Maybe ...
3 years, 8 months ago (2017-03-28 14:26:34 UTC) #56
markusheintz_
3 years, 8 months ago (2017-03-28 17:25:22 UTC) #57
On 2017/03/28 14:26:34, blundell wrote:
> On 2017/03/27 19:57:40, mastiz wrote:
> > On 2017/03/27 18:27:37, Ken Rockot wrote:
> > > Maybe this is a discussion for another time, but I wonder if we should
just
> > have
> > > the in-process Service Manager running on iOS. The SM and its client
library
> > are
> > > lightweight and depend only on //mojo and //base, both of which are
already
> > used
> > > on iOS, and this presents an opportunity to simplify how we approach the
iOS
> > > port of various features.
> > > 
> > > +blundell@ as the originator (or one of the originators) of the whole iOS
> > > componentization effort for thoughts.
> > > 
> > > We could trivially configure the data_decoder service to run in-process on
> > iOS,
> > > and it could have its own private iOS implementation of its public
> > ImageDecoder
> > > interface.
> > > 
> > > Then all code which needs to decode an image can do so by connecting to
the
> > > data_decoder service, and we simplify the layering.
> > > 
> > > With this CL we'd end up having:
> > > 
> > > (all platforms) image_fetcher::ImageDecoder
> > >   |
> > >   |_ (non-iOS) Content image_fetcher::ImageDecoder impl
> > >   |  |
> > >   |  |_ Connect to data_decoder service, request ImageDecoder interface
> > >   |     |
> > >   |     |_ Blink data_decoder::ImageDecoder impl
> > >   |
> > >   |_ (iOS) iOS image_fetcher::ImageDecoder impl
> > > 
> > > 
> > > and this would instead become:
> > > 
> > > 
> > > (all platforms) Connect to data_decoder service, request ImageDecoder
> > interface
> > >   |
> > >   |_ (non-iOS) Blink data_decoder::ImageDecoder impl
> > >   |
> > >   |_ (iOS) iOS data_decoder::ImageDecoder impl
> > > 
> > > 
> > > The layered components approach makes a lot of sense when content/ is
still
> > the
> > > chokepoint through which most non-iOS browser features are exposed, but
> we're
> > > trying to remove content from the picture as much as possible. It
certainly
> > > doesn't make sense for the concept of image decoding to be tied to content
> if
> > we
> > > can avoid it.
> > 
> > Thanks for the detailed proposal and blundell@ to follow up!
> > 
> > That discussion is certainly beyond my knowledge and CL scope. Depending on
> the
> > expected timing, I believe this patch would make sense as a transitional
> state,
> > since right now the component is half-layered (introducing ios/ was
important
> to
> > break cyclic dependencies). Once the proposal above was finalized, the
> layering
> > could always be reverted.
> > 
> > On the other hand, as I mentioned earlier, dropping this patch is not
> something
> > I care about much.
> > 
> > blundell@, let us know what you think :-)
> 
> If you don't need to land this patch for any concrete reason, I'd prefer we
> didn't. I'd like to avoid as much as possible introducing the notion that
> "connecting to services" means "should be in content/ portion of a layered
> component."
> 
> If you have a driving need for this patch (which it sounds like you don't?),
you
> should feel free to go ahead though, as it's going to take some time to get to
> the state that we'd like to be in (i.e., what Ken outlined above).

Ok then we will hold off and not land this CL

Powered by Google App Engine
This is Rietveld 408576698