Skip to content
  • Pavel Yatsuk's avatar
    [Sync] Avoid loop in navigation chain on TabTasks · 01ed7f94
    Pavel Yatsuk authored
    The issue is that current navigation eviction logic allows creating loop of
    navigations. This results in out-of-memory when trying to build vector of
    navigations in the task in TabTasks::GetTaskIdsForNavigation().
    
    The cause of issue is that when root navigation is evicted and later rectreated
    its parent id is set to the last one seen by TabTask::UpdateWithNavigation.
    
    The solution is to remember which navigation was created first (root navigation)
    and to exclude it from eviction logic.
    
    BUG=766963
    R=zea@chromium.org
    
    Change-Id: If994721f67050771e8a9555c3399b0d252e39596
    Reviewed-on: https://chromium-review.googlesource.com/710474
    
    
    Commit-Queue: Pavel Yatsuk <pavely@chromium.org>
    Reviewed-by: default avatarNicolas Zea <zea@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#508032}
    01ed7f94