OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/sync/glue/synced_window_delegates_getter_android.h" | 5 #include "chrome/browser/sync/glue/synced_window_delegates_getter_android.h" |
6 | 6 |
7 #include "chrome/browser/ui/android/tab_model/tab_model.h" | 7 #include "chrome/browser/ui/android/tab_model/tab_model.h" |
8 #include "chrome/browser/ui/android/tab_model/tab_model_list.h" | 8 #include "chrome/browser/ui/android/tab_model/tab_model_list.h" |
9 #include "components/sync_sessions/synced_window_delegate.h" | 9 #include "components/sync_sessions/synced_window_delegate.h" |
10 | 10 |
11 using sync_sessions::SyncedWindowDelegate; | 11 using sync_sessions::SyncedWindowDelegate; |
12 | 12 |
13 namespace browser_sync { | 13 namespace browser_sync { |
14 | 14 |
15 SyncedWindowDelegatesGetterAndroid::SyncedWindowDelegatesGetterAndroid() {} | 15 SyncedWindowDelegatesGetterAndroid::SyncedWindowDelegatesGetterAndroid() {} |
16 SyncedWindowDelegatesGetterAndroid::~SyncedWindowDelegatesGetterAndroid() {} | 16 SyncedWindowDelegatesGetterAndroid::~SyncedWindowDelegatesGetterAndroid() {} |
17 | 17 |
18 std::set<const SyncedWindowDelegate*> | 18 SyncedWindowDelegatesGetterAndroid::SyncedWindowDelegateMap |
19 SyncedWindowDelegatesGetterAndroid::GetSyncedWindowDelegates() { | 19 SyncedWindowDelegatesGetterAndroid::GetSyncedWindowDelegates() { |
20 std::set<SyncedWindowDelegate const*> synced_window_delegates; | 20 SyncedWindowDelegateMap synced_window_delegates; |
21 for (auto i = TabModelList::begin(); i != TabModelList::end(); ++i) { | 21 for (auto i = TabModelList::begin(); i != TabModelList::end(); ++i) { |
22 synced_window_delegates.insert((*i)->GetSyncedWindowDelegate()); | 22 synced_window_delegates[(*i)->GetSyncedWindowDelegate()->GetSessionId()] = |
| 23 (*i)->GetSyncedWindowDelegate(); |
23 } | 24 } |
24 return synced_window_delegates; | 25 return synced_window_delegates; |
25 } | 26 } |
26 | 27 |
27 const SyncedWindowDelegate* SyncedWindowDelegatesGetterAndroid::FindById( | 28 const SyncedWindowDelegate* SyncedWindowDelegatesGetterAndroid::FindById( |
28 SessionID::id_type session_id) { | 29 SessionID::id_type session_id) { |
29 TabModel* tab_model = TabModelList::FindTabModelWithId(session_id); | 30 TabModel* tab_model = TabModelList::FindTabModelWithId(session_id); |
30 | 31 |
31 // In case we don't find the browser (e.g. for Developer Tools). | 32 // In case we don't find the browser (e.g. for Developer Tools). |
32 return tab_model ? tab_model->GetSyncedWindowDelegate() : nullptr; | 33 return tab_model ? tab_model->GetSyncedWindowDelegate() : nullptr; |
33 } | 34 } |
34 | 35 |
35 } // namespace browser_sync | 36 } // namespace browser_sync |
OLD | NEW |