Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: content/browser/frame_host/navigation_controller_impl_unittest.cc

Issue 2566583002: Change allowed bindings to be per RenderFrame instead of per RenderView. (Closed)
Patch Set: rebase Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/frame_host/navigation_controller_impl.h" 5 #include "content/browser/frame_host/navigation_controller_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 1031 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 NavigationControllerImpl& controller = controller_impl(); 1042 NavigationControllerImpl& controller = controller_impl();
1043 TestNotificationTracker notifications; 1043 TestNotificationTracker notifications;
1044 RegisterForAllNavNotifications(&notifications, &controller); 1044 RegisterForAllNavNotifications(&notifications, &controller);
1045 1045
1046 // First make some history, starting with a privileged URL. 1046 // First make some history, starting with a privileged URL.
1047 const GURL kExistingURL1("http://privileged"); 1047 const GURL kExistingURL1("http://privileged");
1048 controller.LoadURL( 1048 controller.LoadURL(
1049 kExistingURL1, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); 1049 kExistingURL1, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string());
1050 int entry_id = controller.GetPendingEntry()->GetUniqueID(); 1050 int entry_id = controller.GetPendingEntry()->GetUniqueID();
1051 // Pretend it has bindings so we can tell if we incorrectly copy it. 1051 // Pretend it has bindings so we can tell if we incorrectly copy it.
1052 main_test_rfh()->GetRenderViewHost()->AllowBindings(2); 1052 main_test_rfh()->AllowBindings(2);
1053 main_test_rfh()->PrepareForCommit(); 1053 main_test_rfh()->PrepareForCommit();
1054 main_test_rfh()->SendNavigate(entry_id, true, kExistingURL1); 1054 main_test_rfh()->SendNavigate(entry_id, true, kExistingURL1);
1055 EXPECT_EQ(1U, navigation_entry_committed_counter_); 1055 EXPECT_EQ(1U, navigation_entry_committed_counter_);
1056 navigation_entry_committed_counter_ = 0; 1056 navigation_entry_committed_counter_ = 0;
1057 1057
1058 // Navigate cross-process to a second URL. 1058 // Navigate cross-process to a second URL.
1059 const GURL kExistingURL2("http://foo/eh"); 1059 const GURL kExistingURL2("http://foo/eh");
1060 controller.LoadURL( 1060 controller.LoadURL(
1061 kExistingURL2, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); 1061 kExistingURL2, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string());
1062 entry_id = controller.GetPendingEntry()->GetUniqueID(); 1062 entry_id = controller.GetPendingEntry()->GetUniqueID();
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
1335 orig_rfh->GetSiteInstance()->IncrementActiveFrameCount(); 1335 orig_rfh->GetSiteInstance()->IncrementActiveFrameCount();
1336 1336
1337 // Navigate to a second URL, simulate the beforeunload ack for the cross-site 1337 // Navigate to a second URL, simulate the beforeunload ack for the cross-site
1338 // transition, and set bindings on the pending RenderViewHost to simulate a 1338 // transition, and set bindings on the pending RenderViewHost to simulate a
1339 // privileged url. 1339 // privileged url.
1340 controller.LoadURL( 1340 controller.LoadURL(
1341 url2, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string()); 1341 url2, Referrer(), ui::PAGE_TRANSITION_TYPED, std::string());
1342 int entry_id = controller.GetPendingEntry()->GetUniqueID(); 1342 int entry_id = controller.GetPendingEntry()->GetUniqueID();
1343 orig_rfh->PrepareForCommit(); 1343 orig_rfh->PrepareForCommit();
1344 TestRenderFrameHost* new_rfh = contents()->GetPendingMainFrame(); 1344 TestRenderFrameHost* new_rfh = contents()->GetPendingMainFrame();
1345 new_rfh->GetRenderViewHost()->AllowBindings(1); 1345 new_rfh->AllowBindings(1);
1346 new_rfh->SendNavigate(entry_id, true, url2); 1346 new_rfh->SendNavigate(entry_id, true, url2);
1347 1347
1348 // The second load should be committed, and bindings should be remembered. 1348 // The second load should be committed, and bindings should be remembered.
1349 EXPECT_EQ(controller.GetEntryCount(), 2); 1349 EXPECT_EQ(controller.GetEntryCount(), 2);
1350 EXPECT_EQ(1, controller.GetLastCommittedEntryIndex()); 1350 EXPECT_EQ(1, controller.GetLastCommittedEntryIndex());
1351 EXPECT_TRUE(controller.CanGoBack()); 1351 EXPECT_TRUE(controller.CanGoBack());
1352 EXPECT_EQ(1, controller.GetLastCommittedEntry()->bindings()); 1352 EXPECT_EQ(1, controller.GetLastCommittedEntry()->bindings());
1353 1353
1354 // Going back, the first entry should still appear unprivileged. 1354 // Going back, the first entry should still appear unprivileged.
1355 controller.GoBack(); 1355 controller.GoBack();
(...skipping 3923 matching lines...) Expand 10 before | Expand all | Expand 10 after
5279 main_test_rfh()->SimulateNavigationStart(url_1); 5279 main_test_rfh()->SimulateNavigationStart(url_1);
5280 EXPECT_EQ(url_1, controller.GetVisibleEntry()->GetURL()); 5280 EXPECT_EQ(url_1, controller.GetVisibleEntry()->GetURL());
5281 EXPECT_EQ(ReloadType::NONE, last_reload_type_); 5281 EXPECT_EQ(ReloadType::NONE, last_reload_type_);
5282 5282
5283 main_test_rfh()->SimulateNavigationCommit(url_2); 5283 main_test_rfh()->SimulateNavigationCommit(url_2);
5284 main_test_rfh()->SimulateNavigationCommit(url_1); 5284 main_test_rfh()->SimulateNavigationCommit(url_1);
5285 main_test_rfh()->SimulateNavigationCommit(url_1); 5285 main_test_rfh()->SimulateNavigationCommit(url_1);
5286 } 5286 }
5287 5287
5288 } // namespace content 5288 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/navigation_controller_impl_browsertest.cc ('k') | content/browser/frame_host/navigator_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698