• sdefresne's avatar
    Componentize FaviconTabHelper · 70a04802
    sdefresne authored
    Split FaviconTabHelper into three classes depending on what can be
    shared with iOS (FaviconDriverImpl), what only depends on //content
    (ContentFaviconDriver) and what depends on //chrome (FaviconTabHelper).
    
    FaviconTabHelper still exists to provide an easier factory (as
    ContentFaviconDriver cannot access KeyedService factories defined in
    //chrome) as FaviconTabHelper::CreateForWebContents() is called from
    multiple locations in //chrome code and to provide an implementation for
    FaviconTabHelper::ShouldDisplayFavicon (this method will be turned into
    a free function in a followup CL as it only depends on WebContents
    public interface, not on ContentFaviconDriver).
    
    Introduce WebFaviconDriver, an iOS implementation of FaviconDriver that
    uses FaviconDriverImpl to share as much code as possible with the
    ContentFaviconDriver.
    
    BUG=370877, 472117
    
    Review URL: https://codereview.chromium.org/1064823002
    
    Cr-Commit-Position: refs/heads/master@{#324430}
    70a04802
content_favicon_driver.cc 5.93 KB