| Index: content/browser/frame_host/frame_navigation_entry.cc
|
| diff --git a/content/browser/frame_host/frame_navigation_entry.cc b/content/browser/frame_host/frame_navigation_entry.cc
|
| index a6fc6d910d3c8f39f0a492c4f7af333570eaef2f..9c37038cd189009fad6a1225acc5bd2226b5ef87 100644
|
| --- a/content/browser/frame_host/frame_navigation_entry.cc
|
| +++ b/content/browser/frame_host/frame_navigation_entry.cc
|
| @@ -23,7 +23,8 @@ FrameNavigationEntry::FrameNavigationEntry(
|
| const GURL& url,
|
| const Referrer& referrer,
|
| const std::string& method,
|
| - int64_t post_id)
|
| + int64_t post_id,
|
| + scoped_refptr<ResourceRequestBody> post_data)
|
| : frame_tree_node_id_(frame_tree_node_id),
|
| frame_unique_name_(frame_unique_name),
|
| item_sequence_number_(item_sequence_number),
|
| @@ -32,28 +33,36 @@ FrameNavigationEntry::FrameNavigationEntry(
|
| url_(url),
|
| referrer_(referrer),
|
| method_(method),
|
| - post_id_(post_id) {}
|
| + post_id_(post_id) {
|
| + DCHECK(!post_data || method_ == "POST");
|
| + post_data_ = post_data;
|
| +}
|
|
|
| FrameNavigationEntry::~FrameNavigationEntry() {
|
| }
|
|
|
| FrameNavigationEntry* FrameNavigationEntry::Clone() const {
|
| + scoped_refptr<ResourceRequestBody> post_data;
|
| + if (post_data_)
|
| + post_data = post_data_->MakeCopy();
|
| FrameNavigationEntry* copy = new FrameNavigationEntry(frame_tree_node_id_);
|
| copy->UpdateEntry(frame_unique_name_, item_sequence_number_,
|
| document_sequence_number_, site_instance_.get(), url_,
|
| - referrer_, page_state_, method_, post_id_);
|
| + referrer_, page_state_, method_, post_id_, post_data);
|
| return copy;
|
| }
|
|
|
| -void FrameNavigationEntry::UpdateEntry(const std::string& frame_unique_name,
|
| - int64_t item_sequence_number,
|
| - int64_t document_sequence_number,
|
| - SiteInstanceImpl* site_instance,
|
| - const GURL& url,
|
| - const Referrer& referrer,
|
| - const PageState& page_state,
|
| - const std::string& method,
|
| - int64_t post_id) {
|
| +void FrameNavigationEntry::UpdateEntry(
|
| + const std::string& frame_unique_name,
|
| + int64_t item_sequence_number,
|
| + int64_t document_sequence_number,
|
| + SiteInstanceImpl* site_instance,
|
| + const GURL& url,
|
| + const Referrer& referrer,
|
| + const PageState& page_state,
|
| + const std::string& method,
|
| + int64_t post_id,
|
| + scoped_refptr<ResourceRequestBody> post_data) {
|
| frame_unique_name_ = frame_unique_name;
|
| item_sequence_number_ = item_sequence_number;
|
| document_sequence_number_ = document_sequence_number;
|
| @@ -63,6 +72,9 @@ void FrameNavigationEntry::UpdateEntry(const std::string& frame_unique_name,
|
| page_state_ = page_state;
|
| method_ = method;
|
| post_id_ = post_id;
|
| +
|
| + DCHECK(!post_data || method_ == "POST");
|
| + post_data_ = post_data;
|
| }
|
|
|
| void FrameNavigationEntry::set_item_sequence_number(
|
|
|