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

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

Issue 1361613002: Move all core files in //components/sessions into core/ subdir (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 2 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
« no previous file with comments | « components/sessions/session_types.h ('k') | components/sessions/session_types_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "components/sessions/session_types.h"
6
7 #include "base/basictypes.h"
8 #include "base/stl_util.h"
9 #include "components/sessions/session_command.h"
10
11 namespace sessions {
12
13 //using class SerializedNavigationEntry;
14
15 // SessionTab -----------------------------------------------------------------
16
17 SessionTab::SessionTab()
18 : tab_visual_index(-1),
19 current_navigation_index(-1),
20 pinned(false) {
21 }
22
23 SessionTab::~SessionTab() {
24 }
25
26 void SessionTab::SetFromSyncData(const sync_pb::SessionTab& sync_data,
27 base::Time timestamp) {
28 window_id.set_id(sync_data.window_id());
29 tab_id.set_id(sync_data.tab_id());
30 tab_visual_index = sync_data.tab_visual_index();
31 current_navigation_index = sync_data.current_navigation_index();
32 pinned = sync_data.pinned();
33 extension_app_id = sync_data.extension_app_id();
34 user_agent_override.clear();
35 this->timestamp = timestamp;
36 navigations.clear();
37 for (int i = 0; i < sync_data.navigation_size(); ++i) {
38 navigations.push_back(
39 SerializedNavigationEntry::FromSyncData(i, sync_data.navigation(i)));
40 }
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 }
46
47 sync_pb::SessionTab SessionTab::ToSyncData() const {
48 sync_pb::SessionTab sync_data;
49 sync_data.set_tab_id(tab_id.id());
50 sync_data.set_window_id(window_id.id());
51 sync_data.set_tab_visual_index(tab_visual_index);
52 sync_data.set_current_navigation_index(current_navigation_index);
53 sync_data.set_pinned(pinned);
54 sync_data.set_extension_app_id(extension_app_id);
55 for (const SerializedNavigationEntry& navigation : navigations) {
56 *sync_data.add_navigation() = navigation.ToSyncData();
57 }
58 for (const variations::VariationID variation_id : variation_ids) {
59 sync_data.add_variation_id(variation_id);
60 }
61 return sync_data;
62 }
63
64 // SessionWindow ---------------------------------------------------------------
65
66 SessionWindow::SessionWindow()
67 : selected_tab_index(-1),
68 type(TYPE_TABBED),
69 is_constrained(true),
70 show_state(ui::SHOW_STATE_DEFAULT) {
71 }
72
73 SessionWindow::~SessionWindow() {
74 STLDeleteElements(&tabs);
75 }
76
77 sync_pb::SessionWindow SessionWindow::ToSyncData() const {
78 sync_pb::SessionWindow sync_data;
79 sync_data.set_window_id(window_id.id());
80 sync_data.set_selected_tab_index(selected_tab_index);
81 switch (type) {
82 case SessionWindow::TYPE_TABBED:
83 sync_data.set_browser_type(
84 sync_pb::SessionWindow_BrowserType_TYPE_TABBED);
85 break;
86 case SessionWindow::TYPE_POPUP:
87 sync_data.set_browser_type(
88 sync_pb::SessionWindow_BrowserType_TYPE_POPUP);
89 break;
90 default:
91 NOTREACHED() << "Unhandled browser type.";
92 }
93
94 for (size_t i = 0; i < tabs.size(); i++)
95 sync_data.add_tab(tabs[i]->tab_id.id());
96
97 return sync_data;
98 }
99
100 } // namespace sessions
OLDNEW
« no previous file with comments | « components/sessions/session_types.h ('k') | components/sessions/session_types_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698