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 |
14 // static | 59 // static |
15 NavigationEntry* TabNavigation::ToNavigationEntry(int page_id, | 60 NavigationEntry* TabNavigation::ToNavigationEntry(int page_id, |
16 Profile *profile) const { | 61 Profile *profile) const { |
17 NavigationEntry* entry = NavigationController::CreateNavigationEntry( | 62 NavigationEntry* entry = NavigationController::CreateNavigationEntry( |
18 virtual_url_, | 63 virtual_url_, |
19 referrer_, | 64 referrer_, |
20 // Use a transition type of reload so that we don't incorrectly | 65 // Use a transition type of reload so that we don't incorrectly |
21 // increase the typed count. | 66 // increase the typed count. |
22 PageTransition::RELOAD, | 67 PageTransition::RELOAD, |
23 profile); | 68 profile); |
24 | 69 |
25 entry->set_page_id(page_id); | 70 entry->set_page_id(page_id); |
26 entry->set_title(title_); | 71 entry->set_title(title_); |
27 entry->set_content_state(state_); | 72 entry->set_content_state(state_); |
28 entry->set_has_post_data(type_mask_ & TabNavigation::HAS_POST_DATA); | 73 entry->set_has_post_data(type_mask_ & TabNavigation::HAS_POST_DATA); |
29 | 74 |
30 return entry; | 75 return entry; |
31 } | 76 } |
32 | 77 |
33 void TabNavigation::SetFromNavigationEntry(const NavigationEntry& entry) { | 78 void TabNavigation::SetFromNavigationEntry(const NavigationEntry& entry) { |
34 virtual_url_ = entry.virtual_url(); | 79 virtual_url_ = entry.virtual_url(); |
35 referrer_ = entry.referrer(); | 80 referrer_ = entry.referrer(); |
36 title_ = entry.title(); | 81 title_ = entry.title(); |
37 state_ = entry.content_state(); | 82 state_ = entry.content_state(); |
38 transition_ = entry.transition_type(); | 83 transition_ = entry.transition_type(); |
39 type_mask_ = entry.has_post_data() ? TabNavigation::HAS_POST_DATA : 0; | 84 type_mask_ = entry.has_post_data() ? TabNavigation::HAS_POST_DATA : 0; |
40 } | 85 } |
41 | 86 |
| 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 |
42 // SessionWindow --------------------------------------------------------------- | 98 // SessionWindow --------------------------------------------------------------- |
43 | 99 |
44 SessionWindow::SessionWindow() | 100 SessionWindow::SessionWindow() |
45 : selected_tab_index(-1), | 101 : selected_tab_index(-1), |
46 type(Browser::TYPE_NORMAL), | 102 type(Browser::TYPE_NORMAL), |
47 is_constrained(true), | 103 is_constrained(true), |
48 is_maximized(false) { | 104 is_maximized(false) { |
49 } | 105 } |
50 | 106 |
51 SessionWindow::~SessionWindow() { | 107 SessionWindow::~SessionWindow() { |
52 STLDeleteElements(&tabs); | 108 STLDeleteElements(&tabs); |
53 } | 109 } |
54 | 110 |
55 // ForeignSession -------------------------------------------------------------- | 111 // ForeignSession -------------------------------------------------------------- |
56 | 112 |
57 ForeignSession::ForeignSession() : foreign_tession_tag("invalid") { | 113 ForeignSession::ForeignSession() : foreign_tession_tag("invalid") { |
58 } | 114 } |
59 | 115 |
60 ForeignSession::~ForeignSession() { | 116 ForeignSession::~ForeignSession() { |
61 STLDeleteElements(&windows); | 117 STLDeleteElements(&windows); |
62 } | 118 } |
63 | 119 |
OLD | NEW |