Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(424)

Side by Side Diff: content/browser/frame_host/frame_navigation_entry.cc

Issue 1415603018: OOPIF: Support session restore by combining/splitting frame states. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up and fix bugs Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "content/browser/frame_host/frame_navigation_entry.h" 5 #include "content/browser/frame_host/frame_navigation_entry.h"
6 6
7 namespace content { 7 namespace content {
8 8
9 FrameNavigationEntry::FrameNavigationEntry(int frame_tree_node_id) 9 FrameNavigationEntry::FrameNavigationEntry(int frame_tree_node_id)
10 : frame_tree_node_id_(frame_tree_node_id), 10 : frame_tree_node_id_(frame_tree_node_id),
(...skipping 17 matching lines...) Expand all
28 referrer_(referrer) { 28 referrer_(referrer) {
29 } 29 }
30 30
31 FrameNavigationEntry::~FrameNavigationEntry() { 31 FrameNavigationEntry::~FrameNavigationEntry() {
32 } 32 }
33 33
34 FrameNavigationEntry* FrameNavigationEntry::Clone() const { 34 FrameNavigationEntry* FrameNavigationEntry::Clone() const {
35 FrameNavigationEntry* copy = new FrameNavigationEntry(frame_tree_node_id_); 35 FrameNavigationEntry* copy = new FrameNavigationEntry(frame_tree_node_id_);
36 copy->UpdateEntry(frame_unique_name_, item_sequence_number_, 36 copy->UpdateEntry(frame_unique_name_, item_sequence_number_,
37 document_sequence_number_, site_instance_.get(), url_, 37 document_sequence_number_, site_instance_.get(), url_,
38 referrer_, page_state_); 38 referrer_, frame_state_);
39 return copy; 39 return copy;
40 } 40 }
41 41
42 void FrameNavigationEntry::UpdateEntry(const std::string& frame_unique_name, 42 void FrameNavigationEntry::UpdateEntry(const std::string& frame_unique_name,
43 int64 item_sequence_number, 43 int64 item_sequence_number,
44 int64 document_sequence_number, 44 int64 document_sequence_number,
45 SiteInstanceImpl* site_instance, 45 SiteInstanceImpl* site_instance,
46 const GURL& url, 46 const GURL& url,
47 const Referrer& referrer, 47 const Referrer& referrer,
48 const PageState& page_state) { 48 const ExplodedFrameState& frame_state) {
49 frame_unique_name_ = frame_unique_name; 49 frame_unique_name_ = frame_unique_name;
50 item_sequence_number_ = item_sequence_number; 50 item_sequence_number_ = item_sequence_number;
51 document_sequence_number_ = document_sequence_number; 51 document_sequence_number_ = document_sequence_number;
52 site_instance_ = site_instance; 52 site_instance_ = site_instance;
53 url_ = url; 53 url_ = url;
54 referrer_ = referrer; 54 referrer_ = referrer;
55 page_state_ = page_state; 55 frame_state_ = frame_state;
56 } 56 }
57 57
58 void FrameNavigationEntry::set_item_sequence_number( 58 void FrameNavigationEntry::set_item_sequence_number(
59 int64 item_sequence_number) { 59 int64 item_sequence_number) {
60 // Once assigned, the item sequence number shouldn't change. 60 // Once assigned, the item sequence number shouldn't change.
61 DCHECK(item_sequence_number_ == -1 || 61 DCHECK(item_sequence_number_ == -1 ||
62 item_sequence_number_ == item_sequence_number); 62 item_sequence_number_ == item_sequence_number);
63 item_sequence_number_ = item_sequence_number; 63 item_sequence_number_ = item_sequence_number;
64 } 64 }
65 65
66 void FrameNavigationEntry::set_document_sequence_number( 66 void FrameNavigationEntry::set_document_sequence_number(
67 int64 document_sequence_number) { 67 int64 document_sequence_number) {
68 // Once assigned, the document sequence number shouldn't change. 68 // Once assigned, the document sequence number shouldn't change.
69 DCHECK(document_sequence_number_ == -1 || 69 DCHECK(document_sequence_number_ == -1 ||
70 document_sequence_number_ == document_sequence_number); 70 document_sequence_number_ == document_sequence_number);
71 document_sequence_number_ = document_sequence_number; 71 document_sequence_number_ = document_sequence_number;
72 } 72 }
73 73
74 } // namespace content 74 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/frame_navigation_entry.h ('k') | content/browser/frame_host/navigation_controller_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698