Index: content/renderer/render_view_browsertest.cc |
diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc |
index 40a99eee120cd0594f88327ec6dbf365d2e902f7..b96e891c09d9f26c6257f49b44a1affe15dbbb50 100644 |
--- a/content/renderer/render_view_browsertest.cc |
+++ b/content/renderer/render_view_browsertest.cc |
@@ -327,6 +327,33 @@ TEST_F(RenderViewImplTest, OnNavigationHttpPost) { |
EXPECT_EQ(0, memcmp(raw_data, element.data.data(), length)); |
} |
+TEST_F(RenderViewImplTest, OnNavigationLoadDataWithBaseURL) { |
+ ViewMsg_Navigate_Params nav_params; |
+ |
+ nav_params.url = GURL("data:text/html,ignored"); |
+ nav_params.navigation_type = ViewMsg_Navigate_Type::NORMAL; |
+ nav_params.transition = PAGE_TRANSITION_TYPED; |
+ nav_params.page_id = -1; |
+ nav_params.base_url_for_data_url = GURL("about:blank"); |
+ const char kHtml[] = "<html><head><title>Data page</title></head></html>"; |
+ nav_params.data_for_data_url = new base::RefCountedStaticMemory( |
+ reinterpret_cast<const uint8*>(kHtml), arraysize(kHtml)); |
+ |
+ view()->OnNavigate(nav_params); |
+ ProcessPendingMessages(); |
+ |
+ const IPC::Message* frame_title_msg = |
+ render_thread_->sink().GetUniqueMessageMatching( |
+ ViewHostMsg_UpdateTitle::ID); |
+ EXPECT_TRUE(frame_title_msg); |
+ |
+ ViewHostMsg_UpdateTitle::Param title_params; |
+ ViewHostMsg_UpdateTitle::Read(frame_title_msg, &title_params); |
+ |
+ // Check post data sent to browser matches |
+ EXPECT_EQ(ASCIIToUTF16("Data page"), title_params.b); |
+} |
+ |
TEST_F(RenderViewImplTest, DecideNavigationPolicy) { |
WebUITestWebUIControllerFactory factory; |
WebUIControllerFactory::RegisterFactory(&factory); |