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 CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_ |
6 #define CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_ | 6 #define CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/memory/scoped_vector.h" | 10 #include "base/memory/scoped_vector.h" |
11 #include "base/time/time.h" | 11 #include "base/time/time.h" |
12 #include "content/browser/frame_host/frame_navigation_entry.h" | 12 #include "content/browser/frame_host/frame_navigation_entry.h" |
13 #include "content/browser/frame_host/frame_tree_node.h" | 13 #include "content/browser/frame_host/frame_tree_node.h" |
14 #include "content/browser/site_instance_impl.h" | 14 #include "content/browser/site_instance_impl.h" |
15 #include "content/common/frame_message_enums.h" | 15 #include "content/common/frame_message_enums.h" |
| 16 #include "content/common/navigation_params.h" |
16 #include "content/public/browser/favicon_status.h" | 17 #include "content/public/browser/favicon_status.h" |
17 #include "content/public/browser/global_request_id.h" | 18 #include "content/public/browser/global_request_id.h" |
18 #include "content/public/browser/navigation_entry.h" | 19 #include "content/public/browser/navigation_entry.h" |
19 #include "content/public/common/page_state.h" | 20 #include "content/public/common/page_state.h" |
20 #include "content/public/common/ssl_status.h" | 21 #include "content/public/common/ssl_status.h" |
21 | 22 |
22 namespace content { | 23 namespace content { |
23 struct CommonNavigationParams; | 24 struct CommonNavigationParams; |
24 struct RequestNavigationParams; | |
25 struct StartNavigationParams; | 25 struct StartNavigationParams; |
26 | 26 |
27 class CONTENT_EXPORT NavigationEntryImpl | 27 class CONTENT_EXPORT NavigationEntryImpl |
28 : public NON_EXPORTED_BASE(NavigationEntry) { | 28 : public NON_EXPORTED_BASE(NavigationEntry) { |
29 public: | 29 public: |
30 // Represents a tree of FrameNavigationEntries that make up this joint session | 30 // Represents a tree of FrameNavigationEntries that make up this joint session |
31 // history item. The tree currently only tracks the main frame by default, | 31 // history item. The tree currently only tracks the main frame by default, |
32 // and is populated with subframe nodes in --site-per-process mode. | 32 // and is populated with subframe nodes in --site-per-process mode. |
33 struct TreeNode { | 33 struct TreeNode { |
34 TreeNode(FrameNavigationEntry* frame_entry); | 34 TreeNode(FrameNavigationEntry* frame_entry); |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 FrameMsg_Navigate_Type::Value navigation_type) const; | 150 FrameMsg_Navigate_Type::Value navigation_type) const; |
151 StartNavigationParams ConstructStartNavigationParams() const; | 151 StartNavigationParams ConstructStartNavigationParams() const; |
152 RequestNavigationParams ConstructRequestNavigationParams( | 152 RequestNavigationParams ConstructRequestNavigationParams( |
153 const FrameNavigationEntry& frame_entry, | 153 const FrameNavigationEntry& frame_entry, |
154 base::TimeTicks navigation_start, | 154 base::TimeTicks navigation_start, |
155 bool is_same_document_history_load, | 155 bool is_same_document_history_load, |
156 bool has_committed_real_load, | 156 bool has_committed_real_load, |
157 bool intended_as_new_entry, | 157 bool intended_as_new_entry, |
158 int pending_offset_to_send, | 158 int pending_offset_to_send, |
159 int current_offset_to_send, | 159 int current_offset_to_send, |
160 int current_length_to_send) const; | 160 int current_length_to_send, |
| 161 LoFiState lofi_state) const; |
161 | 162 |
162 // Once a navigation entry is committed, we should no longer track several | 163 // Once a navigation entry is committed, we should no longer track several |
163 // pieces of non-persisted state, as documented on the members below. | 164 // pieces of non-persisted state, as documented on the members below. |
164 void ResetForCommit(); | 165 void ResetForCommit(); |
165 | 166 |
166 // Exposes the tree of FrameNavigationEntries that make up this joint session | 167 // Exposes the tree of FrameNavigationEntries that make up this joint session |
167 // history item. | 168 // history item. |
168 // In default Chrome, this tree only has a root node with an unshared | 169 // In default Chrome, this tree only has a root node with an unshared |
169 // FrameNavigationEntry. Subframes are only added to the tree if the | 170 // FrameNavigationEntry. Subframes are only added to the tree if the |
170 // --site-per-process flag is passed. | 171 // --site-per-process flag is passed. |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 // persisted, unless specific data is taken out/put back in at save/restore | 478 // persisted, unless specific data is taken out/put back in at save/restore |
478 // time (see TabNavigation for an example of this). | 479 // time (see TabNavigation for an example of this). |
479 std::map<std::string, base::string16> extra_data_; | 480 std::map<std::string, base::string16> extra_data_; |
480 | 481 |
481 DISALLOW_COPY_AND_ASSIGN(NavigationEntryImpl); | 482 DISALLOW_COPY_AND_ASSIGN(NavigationEntryImpl); |
482 }; | 483 }; |
483 | 484 |
484 } // namespace content | 485 } // namespace content |
485 | 486 |
486 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_ | 487 #endif // CONTENT_BROWSER_FRAME_HOST_NAVIGATION_ENTRY_IMPL_H_ |
OLD | NEW |