| Index: content/renderer/render_view_browsertest.cc
|
| ===================================================================
|
| --- content/renderer/render_view_browsertest.cc (revision 130205)
|
| +++ content/renderer/render_view_browsertest.cc (working copy)
|
| @@ -60,6 +60,7 @@
|
| // Ensure the RenderViewImpl sends an ACK to a SwapOut request, even if it is
|
| // already swapped out. http://crbug.com/93427.
|
| TEST_F(RenderViewImplTest, SendSwapOutACK) {
|
| + LoadHTML("<div>Page A</div>");
|
| int initial_page_id = view()->GetPageId();
|
|
|
| // Respond to a swap out request.
|
| @@ -92,6 +93,22 @@
|
| const IPC::Message* msg2 = render_thread_->sink().GetUniqueMessageMatching(
|
| ViewHostMsg_SwapOut_ACK::ID);
|
| ASSERT_TRUE(msg2);
|
| +
|
| + // If we navigate back to this RenderView, ensure we don't send a state
|
| + // update for the swapped out URL. (http://crbug.com/72235)
|
| + ViewMsg_Navigate_Params nav_params;
|
| + nav_params.url = GURL("data:text/html,<div>Page B</div>");
|
| + nav_params.navigation_type = ViewMsg_Navigate_Type::NORMAL;
|
| + nav_params.transition = content::PAGE_TRANSITION_TYPED;
|
| + nav_params.current_history_list_length = 1;
|
| + nav_params.current_history_list_offset = 0;
|
| + nav_params.pending_history_list_offset = 1;
|
| + nav_params.page_id = -1;
|
| + view()->OnNavigate(nav_params);
|
| + ProcessPendingMessages();
|
| + const IPC::Message* msg3 = render_thread_->sink().GetUniqueMessageMatching(
|
| + ViewHostMsg_UpdateState::ID);
|
| + EXPECT_FALSE(msg3);
|
| }
|
|
|
| // Test that we get the correct UpdateState message when we go back twice
|
|
|