| Index: content/renderer/render_view_browsertest.cc
|
| diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc
|
| index 6f003099c57b5bf0105492bbb82b08a84428bf63..8d1e706f6205c6f1868679ae91a842f866b2f4b1 100644
|
| --- a/content/renderer/render_view_browsertest.cc
|
| +++ b/content/renderer/render_view_browsertest.cc
|
| @@ -1859,4 +1859,30 @@ TEST_F(RenderViewImplTest, OnExtendSelectionAndDelete) {
|
| EXPECT_EQ(2, info.selectionEnd);
|
| }
|
|
|
| +// Test that the navigating specific frames works correctly.
|
| +TEST_F(RenderViewImplTest, NavigateFrame) {
|
| + // Load page A.
|
| + LoadHTML("hello <iframe srcdoc='fail' name='frame'></iframe>");
|
| +
|
| + // Navigate the frame only.
|
| + ViewMsg_Navigate_Params nav_params;
|
| + nav_params.url = GURL("data:text/html,world");
|
| + nav_params.navigation_type = ViewMsg_Navigate_Type::NORMAL;
|
| + nav_params.transition = 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;
|
| + nav_params.frame_to_navigate = "frame";
|
| + view()->OnNavigate(nav_params);
|
| + ProcessPendingMessages();
|
| +
|
| + // Copy the document content to std::wstring and compare with the
|
| + // expected result.
|
| + const int kMaxOutputCharacters = 256;
|
| + std::wstring output = UTF16ToWideHack(
|
| + GetMainFrame()->contentAsText(kMaxOutputCharacters));
|
| + EXPECT_EQ(output, L"hello \n\nworld");
|
| +}
|
| +
|
| } // namespace content
|
|
|