| Index: content/browser/frame_host/frame_navigation_entry.h
|
| diff --git a/content/browser/frame_host/frame_navigation_entry.h b/content/browser/frame_host/frame_navigation_entry.h
|
| index 2d38a2533f1edb63b280e12f449cacbce0697cf7..49166c67375326c5b9f06da3ee2a866d4b73db0d 100644
|
| --- a/content/browser/frame_host/frame_navigation_entry.h
|
| +++ b/content/browser/frame_host/frame_navigation_entry.h
|
| @@ -8,6 +8,7 @@
|
| #include "base/basictypes.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "content/browser/site_instance_impl.h"
|
| +#include "content/public/common/page_state.h"
|
| #include "content/public/common/referrer.h"
|
|
|
| namespace content {
|
| @@ -25,7 +26,7 @@ class CONTENT_EXPORT FrameNavigationEntry
|
| : public base::RefCounted<FrameNavigationEntry> {
|
| public:
|
| FrameNavigationEntry();
|
| - FrameNavigationEntry(SiteInstanceImpl* site_instance,
|
| + FrameNavigationEntry(SiteInstanceImpl* instance,
|
| const GURL& url,
|
| const Referrer& referrer);
|
|
|
| @@ -33,6 +34,15 @@ class CONTENT_EXPORT FrameNavigationEntry
|
| // independently from the original.
|
| FrameNavigationEntry* Clone() const;
|
|
|
| + // The ID of the FrameTreeNode this is associated with, which does not change
|
| + // across process swaps or if the FrameTreeNode itself is deleted and later
|
| + // restored for a history navigation.
|
| + // TODO(creis): This should probably be set in the constructor.
|
| + void set_frame_tree_node_id(int frame_tree_node_id) {
|
| + frame_tree_node_id_ = frame_tree_node_id;
|
| + }
|
| + int frame_tree_node_id() const { return frame_tree_node_id_; }
|
| +
|
| // The SiteInstance responsible for rendering this frame. All frames sharing
|
| // a SiteInstance must live in the same process. This is a refcounted pointer
|
| // that keeps the SiteInstance (not necessarily the process) alive as long as
|
| @@ -51,6 +61,20 @@ class CONTENT_EXPORT FrameNavigationEntry
|
| void set_referrer(const Referrer& referrer) { referrer_ = referrer; }
|
| const Referrer& referrer() const { return referrer_; }
|
|
|
| + // Keeps track of where this entry belongs in the frame's session history.
|
| + void set_item_sequence_number(int64 item_sequence_number) {
|
| + item_sequence_number_ = item_sequence_number;
|
| + }
|
| + int64 item_sequence_number() { return item_sequence_number_; }
|
| + void set_document_sequence_number(int64 document_sequence_number) {
|
| + document_sequence_number_ = document_sequence_number;
|
| + }
|
| + int64 document_sequence_number() { return document_sequence_number_; }
|
| +
|
| + // TODO(creis): Make these FrameState.
|
| + void set_page_state(const PageState& state) { page_state_ = state; }
|
| + const PageState& page_state() const { return page_state_; }
|
| +
|
| private:
|
| friend class base::RefCounted<FrameNavigationEntry>;
|
| virtual ~FrameNavigationEntry();
|
| @@ -65,6 +89,10 @@ class CONTENT_EXPORT FrameNavigationEntry
|
| scoped_refptr<SiteInstanceImpl> site_instance_;
|
| GURL url_;
|
| Referrer referrer_;
|
| + PageState page_state_;
|
| + int frame_tree_node_id_;
|
| + int64 item_sequence_number_;
|
| + int64 document_sequence_number_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(FrameNavigationEntry);
|
| };
|
|
|