• stanisc's avatar
    Sync: Perf: Optimize handing FavIcon callbacks in BookmarkChangeProcessor · d38ccdc3
    stanisc authored
    This change improves responsiveness of chrome UI thread by eliminating wasted work that BookmarkChangeProcessor
    does in BookmarkNodeFaviconChanged in a scenario when user initially connects sync to an account with a large
    number of bookmarks. This is achieved by ignoring the notification earlier when there is no FavIcon image, before doing any expensive work. Please note that the notification is called twice for each bookmark - first when a change in FavIcon is detected and then when the icon is uploaded to the bookmark model. The change cuts the work associated with the first call on the sync side.
    
    Estimated saving on the UI thread is about 10-12% (as measured by reduction of samples in sampling profile).
    
    BUG=239621
    
    Review URL: https://codereview.chromium.org/661883002
    
    Cr-Commit-Position: refs/heads/master@{#302685}
    d38ccdc3
bookmark_change_processor.cc 34 KB