• Collin Baker's avatar
    Reland "Replace ThumbnailImage::Observer with Subscriber" · 2e4e0f37
    Collin Baker authored
    This is a reland of e4a4b7a3
    
    Fixes null dereference bug
    
    Original change's description:
    > 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}
    
    Bug: 1090038
    Change-Id: I3d93fc36d9725c088ba684188265df1ad1fd0905
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2612046
    Commit-Queue: Collin Baker <collinbaker@chromium.org>
    Reviewed-by: default avatarJohn Lee <johntlee@chromium.org>
    Reviewed-by: default avatarDana Fried <dfried@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#842260}
    2e4e0f37
thumbnail_image.cc 7.59 KB