// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/ui/sync/browser_synced_window_delegates_getter.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/sync/browser_synced_window_delegate.h" #include "components/sync_sessions/synced_window_delegate.h" namespace browser_sync { BrowserSyncedWindowDelegatesGetter::BrowserSyncedWindowDelegatesGetter( Profile* profile) : profile_(profile) {} BrowserSyncedWindowDelegatesGetter::~BrowserSyncedWindowDelegatesGetter() {} std::set<const SyncedWindowDelegate*> BrowserSyncedWindowDelegatesGetter::GetSyncedWindowDelegates() { std::set<const SyncedWindowDelegate*> synced_window_delegates; // Add all the browser windows. for (auto* browser : *BrowserList::GetInstance()) { if (browser->profile() != profile_) continue; synced_window_delegates.insert(browser->synced_window_delegate()); } return synced_window_delegates; } const SyncedWindowDelegate* BrowserSyncedWindowDelegatesGetter::FindById( SessionID::id_type id) { Browser* browser = chrome::FindBrowserWithID(id); return (browser != nullptr) ? browser->synced_window_delegate() : nullptr; } } // namespace browser_sync