OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef COMPONENTS_SESSIONS_CORE_SERIALIZED_NAVIGATION_ENTRY_H_ | 5 #ifndef COMPONENTS_SESSIONS_CORE_SERIALIZED_NAVIGATION_ENTRY_H_ |
6 #define COMPONENTS_SESSIONS_CORE_SERIALIZED_NAVIGATION_ENTRY_H_ | 6 #define COMPONENTS_SESSIONS_CORE_SERIALIZED_NAVIGATION_ENTRY_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
| 10 #include <map> |
10 #include <memory> | 11 #include <memory> |
11 #include <set> | 12 #include <set> |
12 #include <string> | 13 #include <string> |
13 #include <vector> | 14 #include <vector> |
14 | 15 |
15 #include "base/strings/string16.h" | 16 #include "base/strings/string16.h" |
16 #include "base/time/time.h" | 17 #include "base/time/time.h" |
17 #include "components/sessions/core/sessions_export.h" | 18 #include "components/sessions/core/sessions_export.h" |
18 #include "ui/base/page_transition_types.h" | 19 #include "ui/base/page_transition_types.h" |
19 #include "url/gurl.h" | 20 #include "url/gurl.h" |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 | 117 |
117 std::set<std::string> content_pack_categories() const { | 118 std::set<std::string> content_pack_categories() const { |
118 return content_pack_categories_; | 119 return content_pack_categories_; |
119 } | 120 } |
120 void set_content_pack_categories( | 121 void set_content_pack_categories( |
121 const std::set<std::string>& content_pack_categories) { | 122 const std::set<std::string>& content_pack_categories) { |
122 content_pack_categories_ = content_pack_categories; | 123 content_pack_categories_ = content_pack_categories; |
123 } | 124 } |
124 const std::vector<GURL>& redirect_chain() const { return redirect_chain_; } | 125 const std::vector<GURL>& redirect_chain() const { return redirect_chain_; } |
125 | 126 |
| 127 const std::map<std::string, std::string>& extended_info_map() const { |
| 128 return extended_info_map_; |
| 129 } |
| 130 |
126 private: | 131 private: |
127 friend class ContentSerializedNavigationBuilder; | 132 friend class ContentSerializedNavigationBuilder; |
128 friend class ContentSerializedNavigationDriver; | 133 friend class ContentSerializedNavigationDriver; |
129 friend class SerializedNavigationEntryTestHelper; | 134 friend class SerializedNavigationEntryTestHelper; |
130 friend class IOSSerializedNavigationBuilder; | 135 friend class IOSSerializedNavigationBuilder; |
131 friend class IOSSerializedNavigationDriver; | 136 friend class IOSSerializedNavigationDriver; |
132 | 137 |
133 // Index in the NavigationController. | 138 // Index in the NavigationController. |
134 int index_; | 139 int index_; |
135 | 140 |
(...skipping 13 matching lines...) Expand all Loading... |
149 base::string16 search_terms_; | 154 base::string16 search_terms_; |
150 GURL favicon_url_; | 155 GURL favicon_url_; |
151 int http_status_code_; | 156 int http_status_code_; |
152 bool is_restored_; // Not persisted. | 157 bool is_restored_; // Not persisted. |
153 std::vector<GURL> redirect_chain_; // Not persisted. | 158 std::vector<GURL> redirect_chain_; // Not persisted. |
154 | 159 |
155 // Additional information. | 160 // Additional information. |
156 BlockedState blocked_state_; | 161 BlockedState blocked_state_; |
157 PasswordState password_state_; | 162 PasswordState password_state_; |
158 std::set<std::string> content_pack_categories_; | 163 std::set<std::string> content_pack_categories_; |
| 164 |
| 165 // The map that tracks all the extended info that need to be persisted, but |
| 166 // would want to avoid the core session restore to know about the details. |
| 167 // The consumer should implement the ExtendedInfoHandler interface and calls |
| 168 // SerializedNavigationDriver::RegisterExtendedInfoHandler to register it. |
| 169 // Note that all the map data are not synced since the only one added now does |
| 170 // not need it. |
| 171 std::map<std::string, std::string> extended_info_map_; |
159 }; | 172 }; |
160 | 173 |
161 } // namespace sessions | 174 } // namespace sessions |
162 | 175 |
163 #endif // COMPONENTS_SESSIONS_CORE_SERIALIZED_NAVIGATION_ENTRY_H_ | 176 #endif // COMPONENTS_SESSIONS_CORE_SERIALIZED_NAVIGATION_ENTRY_H_ |
OLD | NEW |