OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/webui/foreign_session_handler.h" | 5 #include "chrome/browser/ui/webui/foreign_session_handler.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 if (is_collapsed) | 294 if (is_collapsed) |
295 current_collapsed_sessions->SetBoolean(session_tag, true); | 295 current_collapsed_sessions->SetBoolean(session_tag, true); |
296 | 296 |
297 std::unique_ptr<base::ListValue> window_list(new base::ListValue()); | 297 std::unique_ptr<base::ListValue> window_list(new base::ListValue()); |
298 const std::string group_name = | 298 const std::string group_name = |
299 base::FieldTrialList::FindFullName("TabSyncByRecency"); | 299 base::FieldTrialList::FindFullName("TabSyncByRecency"); |
300 if (group_name != "Enabled") { | 300 if (group_name != "Enabled") { |
301 // Order tabs by visual order within window. | 301 // Order tabs by visual order within window. |
302 for (const auto& window_pair : session->windows) { | 302 for (const auto& window_pair : session->windows) { |
303 std::unique_ptr<base::DictionaryValue> window_data( | 303 std::unique_ptr<base::DictionaryValue> window_data( |
304 SessionWindowToValue(*window_pair.second.get())); | 304 SessionWindowToValue(window_pair.second->wrapped_window)); |
305 if (window_data.get()) | 305 if (window_data.get()) |
306 window_list->Append(std::move(window_data)); | 306 window_list->Append(std::move(window_data)); |
307 } | 307 } |
308 } else { | 308 } else { |
309 // Order tabs by recency. This involves creating a synthetic singleton | 309 // Order tabs by recency. This involves creating a synthetic singleton |
310 // window that contains all the tabs of the session. | 310 // window that contains all the tabs of the session. |
311 base::Time modification_time; | 311 base::Time modification_time; |
312 std::vector<const ::sessions::SessionTab*> tabs; | 312 std::vector<const ::sessions::SessionTab*> tabs; |
313 open_tabs->GetForeignSessionTabs(session_tag, &tabs); | 313 open_tabs->GetForeignSessionTabs(session_tag, &tabs); |
314 std::unique_ptr<base::ListValue> tab_values(new base::ListValue()); | 314 std::unique_ptr<base::ListValue> tab_values(new base::ListValue()); |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 // collapsed state persists. | 427 // collapsed state persists. |
428 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); | 428 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); |
429 DictionaryPrefUpdate update(prefs, prefs::kNtpCollapsedForeignSessions); | 429 DictionaryPrefUpdate update(prefs, prefs::kNtpCollapsedForeignSessions); |
430 if (is_collapsed) | 430 if (is_collapsed) |
431 update.Get()->SetBoolean(session_tag, true); | 431 update.Get()->SetBoolean(session_tag, true); |
432 else | 432 else |
433 update.Get()->Remove(session_tag, NULL); | 433 update.Get()->Remove(session_tag, NULL); |
434 } | 434 } |
435 | 435 |
436 } // namespace browser_sync | 436 } // namespace browser_sync |
OLD | NEW |