| Index: content/renderer/history_serialization.cc
|
| diff --git a/content/renderer/history_serialization.cc b/content/renderer/history_serialization.cc
|
| index 7a8167bcfa01980e0e6432e2c403035eea49588e..04460aa7c5e5f45fcec378dd0ff8b9c398027c7e 100644
|
| --- a/content/renderer/history_serialization.cc
|
| +++ b/content/renderer/history_serialization.cc
|
| @@ -26,7 +26,7 @@ namespace {
|
|
|
| void ToNullableString16Vector(const WebVector<WebString>& input,
|
| std::vector<base::NullableString16>* output) {
|
| - output->reserve(input.size());
|
| + output->reserve(output->size() + input.size());
|
| for (size_t i = 0; i < input.size(); ++i)
|
| output->push_back(input[i]);
|
| }
|
| @@ -114,14 +114,20 @@ void GenerateFrameStateFromItem(const WebHistoryItem& item,
|
| }
|
| }
|
|
|
| -void RecursivelyGenerateFrameState(HistoryEntry::HistoryNode* node,
|
| - ExplodedFrameState* state) {
|
| +void RecursivelyGenerateFrameState(
|
| + HistoryEntry::HistoryNode* node,
|
| + ExplodedFrameState* state,
|
| + std::vector<base::NullableString16>* referenced_files) {
|
| GenerateFrameStateFromItem(node->item(), state);
|
| + ToNullableString16Vector(node->item().getReferencedFilePaths(),
|
| + referenced_files);
|
|
|
| std::vector<HistoryEntry::HistoryNode*>& children = node->children();
|
| state->children.resize(children.size());
|
| - for (size_t i = 0; i < children.size(); ++i)
|
| - RecursivelyGenerateFrameState(children[i], &state->children[i]);
|
| + for (size_t i = 0; i < children.size(); ++i) {
|
| + RecursivelyGenerateFrameState(children[i], &state->children[i],
|
| + referenced_files);
|
| + }
|
| }
|
|
|
| void RecursivelyGenerateHistoryItem(const ExplodedFrameState& state,
|
| @@ -169,10 +175,8 @@ void RecursivelyGenerateHistoryItem(const ExplodedFrameState& state,
|
|
|
| PageState HistoryEntryToPageState(HistoryEntry* entry) {
|
| ExplodedPageState state;
|
| - ToNullableString16Vector(entry->root().getReferencedFilePaths(),
|
| - &state.referenced_files);
|
| -
|
| - RecursivelyGenerateFrameState(entry->root_history_node(), &state.top);
|
| + RecursivelyGenerateFrameState(entry->root_history_node(), &state.top,
|
| + &state.referenced_files);
|
|
|
| std::string encoded_data;
|
| if (!EncodePageState(state, &encoded_data))
|
|
|