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

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

Issue 1944013003: Move ownership of source SiteInstance to the FrameNavigationEntry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months 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 #include <utility> 7 #include <utility>
8 8
9 namespace content { 9 namespace content {
10 10
(...skipping 17 matching lines...) Expand all
28 referrer_(referrer), 28 referrer_(referrer),
29 method_(method), 29 method_(method),
30 post_id_(post_id) {} 30 post_id_(post_id) {}
31 31
32 FrameNavigationEntry::~FrameNavigationEntry() { 32 FrameNavigationEntry::~FrameNavigationEntry() {
33 } 33 }
34 34
35 FrameNavigationEntry* FrameNavigationEntry::Clone() const { 35 FrameNavigationEntry* FrameNavigationEntry::Clone() const {
36 FrameNavigationEntry* copy = new FrameNavigationEntry(); 36 FrameNavigationEntry* copy = new FrameNavigationEntry();
37 copy->UpdateEntry(frame_unique_name_, item_sequence_number_, 37 copy->UpdateEntry(frame_unique_name_, item_sequence_number_,
38 document_sequence_number_, site_instance_.get(), url_, 38 document_sequence_number_, source_site_instance_.get(),
39 referrer_, page_state_, method_, post_id_); 39 site_instance_.get(), url_, referrer_, page_state_, method_,
40 post_id_);
40 return copy; 41 return copy;
41 } 42 }
42 43
43 void FrameNavigationEntry::UpdateEntry(const std::string& frame_unique_name, 44 void FrameNavigationEntry::UpdateEntry(const std::string& frame_unique_name,
44 int64_t item_sequence_number, 45 int64_t item_sequence_number,
45 int64_t document_sequence_number, 46 int64_t document_sequence_number,
47 SiteInstanceImpl* source_site_instance,
46 SiteInstanceImpl* site_instance, 48 SiteInstanceImpl* site_instance,
47 const GURL& url, 49 const GURL& url,
48 const Referrer& referrer, 50 const Referrer& referrer,
49 const PageState& page_state, 51 const PageState& page_state,
50 const std::string& method, 52 const std::string& method,
51 int64_t post_id) { 53 int64_t post_id) {
52 frame_unique_name_ = frame_unique_name; 54 frame_unique_name_ = frame_unique_name;
53 item_sequence_number_ = item_sequence_number; 55 item_sequence_number_ = item_sequence_number;
54 document_sequence_number_ = document_sequence_number; 56 document_sequence_number_ = document_sequence_number;
57 source_site_instance_ = source_site_instance;
55 site_instance_ = site_instance; 58 site_instance_ = site_instance;
56 url_ = url; 59 url_ = url;
57 referrer_ = referrer; 60 referrer_ = referrer;
58 page_state_ = page_state; 61 page_state_ = page_state;
59 method_ = method; 62 method_ = method;
60 post_id_ = post_id; 63 post_id_ = post_id;
61 } 64 }
62 65
63 void FrameNavigationEntry::set_item_sequence_number( 66 void FrameNavigationEntry::set_item_sequence_number(
64 int64_t item_sequence_number) { 67 int64_t item_sequence_number) {
65 // TODO(creis): Assert that this does not change after being assigned, once 68 // TODO(creis): Assert that this does not change after being assigned, once
66 // location.replace is classified as NEW_PAGE rather than EXISTING_PAGE. 69 // location.replace is classified as NEW_PAGE rather than EXISTING_PAGE.
67 // Same for document sequence number. See https://crbug.com/596707. 70 // Same for document sequence number. See https://crbug.com/596707.
68 item_sequence_number_ = item_sequence_number; 71 item_sequence_number_ = item_sequence_number;
69 } 72 }
70 73
71 void FrameNavigationEntry::set_document_sequence_number( 74 void FrameNavigationEntry::set_document_sequence_number(
72 int64_t document_sequence_number) { 75 int64_t document_sequence_number) {
73 document_sequence_number_ = document_sequence_number; 76 document_sequence_number_ = document_sequence_number;
74 } 77 }
75 78
76 } // namespace content 79 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698