Chromium Code Reviews| Index: content/browser/frame_host/navigation_controller_impl_unittest.cc |
| diff --git a/content/browser/frame_host/navigation_controller_impl_unittest.cc b/content/browser/frame_host/navigation_controller_impl_unittest.cc |
| index e4218c276ea8c6ce4504d1a5976dc73dca79bf11..cf3ba4e6189d0760230bebf703d6093c69c44cbf 100644 |
| --- a/content/browser/frame_host/navigation_controller_impl_unittest.cc |
| +++ b/content/browser/frame_host/navigation_controller_impl_unittest.cc |
| @@ -11,6 +11,7 @@ |
| #include "base/strings/string_util.h" |
| #include "base/strings/utf_string_conversions.h" |
| #include "base/time/time.h" |
| +#include "content/browser/frame_host/cross_site_transferring_request.h" |
| #include "content/browser/frame_host/navigation_controller_impl.h" |
| #include "content/browser/frame_host/navigation_entry_impl.h" |
| #include "content/browser/frame_host/navigation_entry_screenshot_manager.h" |
| @@ -1061,6 +1062,9 @@ TEST_F(NavigationControllerTest, LoadURL_WithBindings) { |
| TestNotificationTracker notifications; |
| RegisterForAllNavNotifications(¬ifications, &controller); |
| + std::vector<GURL> url_chain; |
| + url_chain.push_back(GURL()); |
|
Charlie Reis
2014/03/25 23:51:35
I think we can just pass an empty vector, since th
|
| + |
| const GURL url1("http://foo1"); |
| const GURL url2("http://foo2"); |
| @@ -1086,14 +1090,18 @@ TEST_F(NavigationControllerTest, LoadURL_WithBindings) { |
| increment_active_view_count(); |
| // Navigate to a second URL, simulate the beforeunload ack for the cross-site |
| - // transition, and set bindings on the pending RenderViewHost to simulate a |
| - // privileged url. |
| + // transition, the running of unload handler, and set bindings on the pending |
|
Charlie Reis
2014/03/25 23:51:35
nit: run the unload handler
(Each phrase in the l
|
| + // RenderViewHost to simulate a privileged url. |
| controller.LoadURL(url2, Referrer(), PAGE_TRANSITION_TYPED, std::string()); |
| orig_rvh->SendBeforeUnloadACK(true); |
| - contents()->GetPendingRenderViewHost()->AllowBindings(1); |
| - static_cast<TestRenderViewHost*>( |
| - contents()->GetPendingRenderViewHost())->SendNavigate(1, url2); |
| - orig_rvh->OnSwappedOut(false); |
| + contents()->GetRenderManagerForTesting()->OnCrossSiteResponse( |
| + contents()->GetRenderManagerForTesting()->pending_frame_host(), |
| + GlobalRequestID(0, 0), scoped_ptr<CrossSiteTransferringRequest>(), |
| + url_chain, Referrer(), PAGE_TRANSITION_TYPED, false); |
| + TestRenderViewHost* new_rvh = |
| + static_cast<TestRenderViewHost*>(contents()->GetPendingRenderViewHost()); |
| + new_rvh->AllowBindings(1); |
| + new_rvh->SendNavigate(1, url2); |
| // The second load should be committed, and bindings should be remembered. |
| EXPECT_EQ(controller.GetEntryCount(), 2); |
| @@ -1104,6 +1112,11 @@ TEST_F(NavigationControllerTest, LoadURL_WithBindings) { |
| // Going back, the first entry should still appear unprivileged. |
| controller.GoBack(); |
| + new_rvh->SendBeforeUnloadACK(true); |
| + contents()->GetRenderManagerForTesting()->OnCrossSiteResponse( |
| + contents()->GetRenderManagerForTesting()->pending_frame_host(), |
| + GlobalRequestID(0, 0), scoped_ptr<CrossSiteTransferringRequest>(), |
| + url_chain, Referrer(), PAGE_TRANSITION_TYPED, false); |
| orig_rvh->SendNavigate(0, url1); |
| EXPECT_EQ(0, controller.GetLastCommittedEntryIndex()); |
| EXPECT_EQ(0, NavigationEntryImpl::FromNavigationEntry( |