blob: 4b7ced980ca47c959cbd8d2614568f536f460c77 [file] [log] [blame]
// Copyright 2012 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 "components/sessions/core/session_types.h"
#include <stddef.h>
#include "components/sessions/core/session_command.h"
namespace sessions {
//using class SerializedNavigationEntry;
// SessionTab -----------------------------------------------------------------
SessionTab::SessionTab()
: tab_visual_index(-1),
current_navigation_index(-1),
pinned(false) {
}
SessionTab::~SessionTab() {
}
void SessionTab::SetFromSyncData(const sync_pb::SessionTab& sync_data,
base::Time timestamp) {
window_id.set_id(sync_data.window_id());
tab_id.set_id(sync_data.tab_id());
tab_visual_index = sync_data.tab_visual_index();
current_navigation_index = sync_data.current_navigation_index();
pinned = sync_data.pinned();
extension_app_id = sync_data.extension_app_id();
user_agent_override.clear();
this->timestamp = timestamp;
navigations.clear();
for (int i = 0; i < sync_data.navigation_size(); ++i) {
navigations.push_back(
SerializedNavigationEntry::FromSyncData(i, sync_data.navigation(i)));
}
session_storage_persistent_id.clear();
}
sync_pb::SessionTab SessionTab::ToSyncData() const {
sync_pb::SessionTab sync_data;
sync_data.set_tab_id(tab_id.id());
sync_data.set_window_id(window_id.id());
sync_data.set_tab_visual_index(tab_visual_index);
sync_data.set_current_navigation_index(current_navigation_index);
sync_data.set_pinned(pinned);
sync_data.set_extension_app_id(extension_app_id);
for (const SerializedNavigationEntry& navigation : navigations) {
*sync_data.add_navigation() = navigation.ToSyncData();
}
return sync_data;
}
// SessionWindow ---------------------------------------------------------------
SessionWindow::SessionWindow()
: selected_tab_index(-1),
type(TYPE_TABBED),
is_constrained(true),
show_state(ui::SHOW_STATE_DEFAULT) {}
SessionWindow::~SessionWindow() {}
} // namespace sessions