Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: components/sessions/core/session_types.cc

Issue 2499023004: [Sync] Introduce SyncedSessionWindow type. (Closed)
Patch Set: Fix compile Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 "components/sessions/core/session_types.h" 5 #include "components/sessions/core/session_types.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "components/sessions/core/session_command.h" 9 #include "components/sessions/core/session_command.h"
10 10
(...skipping 21 matching lines...) Expand all
32 pinned = sync_data.pinned(); 32 pinned = sync_data.pinned();
33 extension_app_id = sync_data.extension_app_id(); 33 extension_app_id = sync_data.extension_app_id();
34 user_agent_override.clear(); 34 user_agent_override.clear();
35 this->timestamp = timestamp; 35 this->timestamp = timestamp;
36 navigations.clear(); 36 navigations.clear();
37 for (int i = 0; i < sync_data.navigation_size(); ++i) { 37 for (int i = 0; i < sync_data.navigation_size(); ++i) {
38 navigations.push_back( 38 navigations.push_back(
39 SerializedNavigationEntry::FromSyncData(i, sync_data.navigation(i))); 39 SerializedNavigationEntry::FromSyncData(i, sync_data.navigation(i)));
40 } 40 }
41 session_storage_persistent_id.clear(); 41 session_storage_persistent_id.clear();
42 variation_ids.clear();
43 for (int i = 0; i < sync_data.variation_id_size(); ++i)
44 variation_ids.push_back(sync_data.variation_id(i));
45 } 42 }
46 43
47 sync_pb::SessionTab SessionTab::ToSyncData() const { 44 sync_pb::SessionTab SessionTab::ToSyncData() const {
48 sync_pb::SessionTab sync_data; 45 sync_pb::SessionTab sync_data;
49 sync_data.set_tab_id(tab_id.id()); 46 sync_data.set_tab_id(tab_id.id());
50 sync_data.set_window_id(window_id.id()); 47 sync_data.set_window_id(window_id.id());
51 sync_data.set_tab_visual_index(tab_visual_index); 48 sync_data.set_tab_visual_index(tab_visual_index);
52 sync_data.set_current_navigation_index(current_navigation_index); 49 sync_data.set_current_navigation_index(current_navigation_index);
53 sync_data.set_pinned(pinned); 50 sync_data.set_pinned(pinned);
54 sync_data.set_extension_app_id(extension_app_id); 51 sync_data.set_extension_app_id(extension_app_id);
55 for (const SerializedNavigationEntry& navigation : navigations) { 52 for (const SerializedNavigationEntry& navigation : navigations) {
56 *sync_data.add_navigation() = navigation.ToSyncData(); 53 *sync_data.add_navigation() = navigation.ToSyncData();
57 } 54 }
58 for (const variations::VariationID variation_id : variation_ids) {
59 sync_data.add_variation_id(variation_id);
60 }
61 return sync_data; 55 return sync_data;
62 } 56 }
63 57
64 // SessionWindow --------------------------------------------------------------- 58 // SessionWindow ---------------------------------------------------------------
65 59
66 SessionWindow::SessionWindow() 60 SessionWindow::SessionWindow()
67 : selected_tab_index(-1), 61 : selected_tab_index(-1),
68 type(TYPE_TABBED), 62 type(TYPE_TABBED),
69 is_constrained(true), 63 is_constrained(true),
70 show_state(ui::SHOW_STATE_DEFAULT) {} 64 show_state(ui::SHOW_STATE_DEFAULT) {}
71 65
72 SessionWindow::~SessionWindow() {} 66 SessionWindow::~SessionWindow() {}
73 67
74 sync_pb::SessionWindow SessionWindow::ToSyncData() const {
75 sync_pb::SessionWindow sync_data;
76 sync_data.set_window_id(window_id.id());
77 sync_data.set_selected_tab_index(selected_tab_index);
78 switch (type) {
79 case SessionWindow::TYPE_TABBED:
80 sync_data.set_browser_type(
81 sync_pb::SessionWindow_BrowserType_TYPE_TABBED);
82 break;
83 case SessionWindow::TYPE_POPUP:
84 sync_data.set_browser_type(
85 sync_pb::SessionWindow_BrowserType_TYPE_POPUP);
86 break;
87 default:
88 NOTREACHED() << "Unhandled browser type.";
89 }
90
91 for (const auto& tab : tabs)
92 sync_data.add_tab(tab->tab_id.id());
93
94 return sync_data;
95 }
96
97 } // namespace sessions 68 } // namespace sessions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698