commit | e4a4b7a31e2ebafe436239b9f92e59c6a1c9714c | [log] [tgz] |
---|---|---|
author | Collin Baker <collinbaker@chromium.org> | Wed Dec 16 23:57:33 2020 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Dec 16 23:57:33 2020 |
tree | 6e54b17415865fd00516034f546cdb248b29cd39 | |
parent | 3ad33407302144d68bb99a31685a8487259c5407 [diff] |
Replace ThumbnailImage::Observer with Subscriber Previously, clients interested in seeing thumbnail updates had to derive from ThumbnailImage::Observer and register themselves with ThumbnailImage. Removing ThumbnailTabHelper and ThumbnailImage from the public API and instead exposing a global ThumbnailService is a design goal. ThumbnailImage::Observer makes this refactor difficult. This CL uses a callback-based subscriber model instead. base::Callbacks replace observer methods. Hints are supplied directly on the subscription object. The subscription models loosens the coupling between clients and ThumbnailImage. Clients subscribe by ThumbnailImage::Subscribe(). Subscription can later be pushed up easily to the ThumbnailService level by a method like ThumbnailService::Subscribe(content::WebContents*). Bug: 1090038 Change-Id: I020d848e00331d5f5bbb562f0c53aec5f8ccbc62 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2593158 Reviewed-by: Dana Fried <dfried@chromium.org> Reviewed-by: John Lee <johntlee@chromium.org> Commit-Queue: John Lee <johntlee@chromium.org> Auto-Submit: Collin Baker <collinbaker@chromium.org> Cr-Commit-Position: refs/heads/master@{#837818}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.