| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/sessions/session_types.h" | 5 #include "chrome/browser/sessions/session_types.h" |
| 6 | 6 |
| 7 #include "base/string_util.h" | 7 #include "base/string_util.h" |
| 8 #include "chrome/browser/browser.h" | 8 #include "chrome/browser/browser.h" |
| 9 #include "chrome/browser/tab_contents/navigation_controller.h" | 9 #include "chrome/browser/tab_contents/navigation_controller.h" |
| 10 #include "chrome/browser/tab_contents/navigation_entry.h" | 10 #include "chrome/browser/tab_contents/navigation_entry.h" |
| 11 | 11 |
| 12 // TabNavigation -------------------------------------------------------------- | 12 // TabNavigation -------------------------------------------------------------- |
| 13 | 13 |
| 14 TabNavigation::TabNavigation() | |
| 15 : transition_(PageTransition::TYPED), | |
| 16 type_mask_(0), | |
| 17 index_(-1) { | |
| 18 } | |
| 19 | |
| 20 TabNavigation::TabNavigation(int index, | |
| 21 const GURL& virtual_url, | |
| 22 const GURL& referrer, | |
| 23 const string16& title, | |
| 24 const std::string& state, | |
| 25 PageTransition::Type transition) | |
| 26 : virtual_url_(virtual_url), | |
| 27 referrer_(referrer), | |
| 28 title_(title), | |
| 29 state_(state), | |
| 30 transition_(transition), | |
| 31 type_mask_(0), | |
| 32 index_(index) { | |
| 33 } | |
| 34 | |
| 35 TabNavigation::TabNavigation(const TabNavigation& tab) | |
| 36 : virtual_url_(tab.virtual_url_), | |
| 37 referrer_(tab.referrer_), | |
| 38 title_(tab.title_), | |
| 39 state_(tab.state_), | |
| 40 transition_(tab.transition_), | |
| 41 type_mask_(tab.type_mask_), | |
| 42 index_(tab.index_) { | |
| 43 } | |
| 44 | |
| 45 TabNavigation::~TabNavigation() { | |
| 46 } | |
| 47 | |
| 48 TabNavigation& TabNavigation::operator=(const TabNavigation& tab) { | |
| 49 virtual_url_ = tab.virtual_url_; | |
| 50 referrer_ = tab.referrer_; | |
| 51 title_ = tab.title_; | |
| 52 state_ = tab.state_; | |
| 53 transition_ = tab.transition_; | |
| 54 type_mask_ = tab.type_mask_; | |
| 55 index_ = tab.index_; | |
| 56 return *this; | |
| 57 } | |
| 58 | |
| 59 // static | 14 // static |
| 60 NavigationEntry* TabNavigation::ToNavigationEntry(int page_id, | 15 NavigationEntry* TabNavigation::ToNavigationEntry(int page_id, |
| 61 Profile *profile) const { | 16 Profile *profile) const { |
| 62 NavigationEntry* entry = NavigationController::CreateNavigationEntry( | 17 NavigationEntry* entry = NavigationController::CreateNavigationEntry( |
| 63 virtual_url_, | 18 virtual_url_, |
| 64 referrer_, | 19 referrer_, |
| 65 // Use a transition type of reload so that we don't incorrectly | 20 // Use a transition type of reload so that we don't incorrectly |
| 66 // increase the typed count. | 21 // increase the typed count. |
| 67 PageTransition::RELOAD, | 22 PageTransition::RELOAD, |
| 68 profile); | 23 profile); |
| 69 | 24 |
| 70 entry->set_page_id(page_id); | 25 entry->set_page_id(page_id); |
| 71 entry->set_title(title_); | 26 entry->set_title(title_); |
| 72 entry->set_content_state(state_); | 27 entry->set_content_state(state_); |
| 73 entry->set_has_post_data(type_mask_ & TabNavigation::HAS_POST_DATA); | 28 entry->set_has_post_data(type_mask_ & TabNavigation::HAS_POST_DATA); |
| 74 | 29 |
| 75 return entry; | 30 return entry; |
| 76 } | 31 } |
| 77 | 32 |
| 78 void TabNavigation::SetFromNavigationEntry(const NavigationEntry& entry) { | 33 void TabNavigation::SetFromNavigationEntry(const NavigationEntry& entry) { |
| 79 virtual_url_ = entry.virtual_url(); | 34 virtual_url_ = entry.virtual_url(); |
| 80 referrer_ = entry.referrer(); | 35 referrer_ = entry.referrer(); |
| 81 title_ = entry.title(); | 36 title_ = entry.title(); |
| 82 state_ = entry.content_state(); | 37 state_ = entry.content_state(); |
| 83 transition_ = entry.transition_type(); | 38 transition_ = entry.transition_type(); |
| 84 type_mask_ = entry.has_post_data() ? TabNavigation::HAS_POST_DATA : 0; | 39 type_mask_ = entry.has_post_data() ? TabNavigation::HAS_POST_DATA : 0; |
| 85 } | 40 } |
| 86 | 41 |
| 87 // SessionTab ----------------------------------------------------------------- | |
| 88 | |
| 89 SessionTab::SessionTab() | |
| 90 : tab_visual_index(-1), | |
| 91 current_navigation_index(-1), | |
| 92 pinned(false) { | |
| 93 } | |
| 94 | |
| 95 SessionTab::~SessionTab() { | |
| 96 } | |
| 97 | |
| 98 // SessionWindow --------------------------------------------------------------- | 42 // SessionWindow --------------------------------------------------------------- |
| 99 | 43 |
| 100 SessionWindow::SessionWindow() | 44 SessionWindow::SessionWindow() |
| 101 : selected_tab_index(-1), | 45 : selected_tab_index(-1), |
| 102 type(Browser::TYPE_NORMAL), | 46 type(Browser::TYPE_NORMAL), |
| 103 is_constrained(true), | 47 is_constrained(true), |
| 104 is_maximized(false) { | 48 is_maximized(false) { |
| 105 } | 49 } |
| 106 | 50 |
| 107 SessionWindow::~SessionWindow() { | 51 SessionWindow::~SessionWindow() { |
| 108 STLDeleteElements(&tabs); | 52 STLDeleteElements(&tabs); |
| 109 } | 53 } |
| 110 | 54 |
| 111 // ForeignSession -------------------------------------------------------------- | 55 // ForeignSession -------------------------------------------------------------- |
| 112 | 56 |
| 113 ForeignSession::ForeignSession() : foreign_tession_tag("invalid") { | 57 ForeignSession::ForeignSession() : foreign_tession_tag("invalid") { |
| 114 } | 58 } |
| 115 | 59 |
| 116 ForeignSession::~ForeignSession() { | 60 ForeignSession::~ForeignSession() { |
| 117 STLDeleteElements(&windows); | 61 STLDeleteElements(&windows); |
| 118 } | 62 } |
| 119 | 63 |
| OLD | NEW |