Chromium Code Reviews| Index: content/renderer/history_entry.cc |
| diff --git a/content/renderer/history_entry.cc b/content/renderer/history_entry.cc |
| index 8d168ee5d3a4df9e88d1ec3a1cecd3c308a741ff..86560b8a1052428ddcd004321062f4d3e9799569 100644 |
| --- a/content/renderer/history_entry.cc |
| +++ b/content/renderer/history_entry.cc |
| @@ -35,8 +35,6 @@ |
| #include "content/renderer/history_entry.h" |
| -#include <deque> |
| - |
| #include "content/renderer/render_frame_impl.h" |
| #include "content/renderer/render_view_impl.h" |
| #include "third_party/WebKit/public/web/WebFrame.h" |
| @@ -53,6 +51,10 @@ HistoryEntry::HistoryNode* HistoryEntry::HistoryNode::AddChild( |
| return children_->back(); |
| } |
| +HistoryEntry::HistoryNode* HistoryEntry::HistoryNode::AddChild() { |
| + return AddChild(WebHistoryItem(), kInvalidFrameRoutingID); |
| +} |
| + |
| HistoryEntry::HistoryNode* HistoryEntry::HistoryNode::CloneAndReplace( |
| HistoryEntry* new_entry, |
| const WebHistoryItem& new_item, |
| @@ -90,13 +92,21 @@ HistoryEntry::HistoryNode* HistoryEntry::HistoryNode::CloneAndReplace( |
| return new_history_node; |
| } |
| +void HistoryEntry::HistoryNode::set_item(const WebHistoryItem& item) { |
| + // The previous HistoryItem might not have ahad a target set, or it might be |
|
Charlie Reis
2014/04/29 00:24:37
nit: ahad -> had
Nate Chapin
2014/04/29 19:31:53
Done.
|
| + // different than the current one. |
| + entry_->unique_names_to_items_[item.target().utf8()] = this; |
| + item_ = item; |
| +} |
| + |
| HistoryEntry::HistoryNode::HistoryNode(HistoryEntry* entry, |
| const WebHistoryItem& item, |
| int64_t frame_id) |
| : entry_(entry), item_(item) { |
| if (frame_id != kInvalidFrameRoutingID) |
| entry_->frames_to_items_[frame_id] = this; |
| - entry_->unique_names_to_items_[item.target().utf8()] = this; |
| + if (!item.isNull()) |
| + entry_->unique_names_to_items_[item.target().utf8()] = this; |
| children_.reset(new ScopedVector<HistoryNode>); |
| } |
| @@ -138,6 +148,7 @@ void HistoryEntry::HistoryNode::RemoveChildren() { |
| } |
| HistoryEntry::HistoryEntry() { |
| + root_.reset(new HistoryNode(this, WebHistoryItem(), kInvalidFrameRoutingID)); |
| } |
| HistoryEntry::~HistoryEntry() { |