Commit 58f9af52 authored by David Maunder's avatar David Maunder Committed by Commit Bot

Ensure Task IDs are persisted across restarts

There was a gap in the plumbing of Task IDs when we
serialize/deserialize navigation entries. The Task IDs
were not being re-set on a navigation entry when
we deserialized a navigation entry.

Bug: 983596
Change-Id: I817e1073beb16ed93b4289502ccb3e33a4094ab1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1704518Reviewed-by: default avatarScott Violet <sky@chromium.org>
Commit-Queue: David Maunder <davidjm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#678497}
parent a343db33
...@@ -118,6 +118,11 @@ ContentSerializedNavigationBuilder::ToNavigationEntry( ...@@ -118,6 +118,11 @@ ContentSerializedNavigationBuilder::ToNavigationEntry(
entry->SetTimestamp(navigation->timestamp_); entry->SetTimestamp(navigation->timestamp_);
entry->SetHttpStatusCode(navigation->http_status_code_); entry->SetHttpStatusCode(navigation->http_status_code_);
entry->SetRedirectChain(navigation->redirect_chain_); entry->SetRedirectChain(navigation->redirect_chain_);
sessions::NavigationTaskId* navigation_task_id =
sessions::NavigationTaskId::Get(entry.get());
navigation_task_id->set_id(navigation->task_id());
navigation_task_id->set_parent_id(navigation->parent_task_id());
navigation_task_id->set_root_id(navigation->root_task_id());
const ContentSerializedNavigationDriver::ExtendedInfoHandlerMap& const ContentSerializedNavigationDriver::ExtendedInfoHandlerMap&
extended_info_handlers = ContentSerializedNavigationDriver::GetInstance() extended_info_handlers = ContentSerializedNavigationDriver::GetInstance()
......
...@@ -239,6 +239,12 @@ TEST_F(ContentSerializedNavigationBuilderTest, ToNavigationEntry) { ...@@ -239,6 +239,12 @@ TEST_F(ContentSerializedNavigationBuilderTest, ToNavigationEntry) {
new_navigation_entry->GetRedirectChain()[1]); new_navigation_entry->GetRedirectChain()[1]);
EXPECT_EQ(test_data::kVirtualURL, EXPECT_EQ(test_data::kVirtualURL,
new_navigation_entry->GetRedirectChain()[2]); new_navigation_entry->GetRedirectChain()[2]);
sessions::NavigationTaskId* new_navigation_task_id =
sessions::NavigationTaskId::Get(new_navigation_entry.get());
EXPECT_EQ(test_data::kTaskId, new_navigation_task_id->id());
EXPECT_EQ(test_data::kParentTaskId, new_navigation_task_id->parent_id());
EXPECT_EQ(test_data::kRootTaskId, new_navigation_task_id->root_id());
TestData* test_data = static_cast<TestData*>( TestData* test_data = static_cast<TestData*>(
new_navigation_entry->GetUserData(kExtendedInfoKey1)); new_navigation_entry->GetUserData(kExtendedInfoKey1));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment