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

Side by Side Diff: content/browser/frame_host/render_frame_host_manager_browsertest.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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <memory> 8 #include <memory>
9 #include <set> 9 #include <set>
10 10
(...skipping 1812 matching lines...) Expand 10 before | Expand all | Expand 10 after
1823 Shell* new_shell = shao.GetShell(); 1823 Shell* new_shell = shao.GetShell();
1824 WebContentsImpl* new_web_contents = static_cast<WebContentsImpl*>( 1824 WebContentsImpl* new_web_contents = static_cast<WebContentsImpl*>(
1825 new_shell->web_contents()); 1825 new_shell->web_contents());
1826 SiteInstance* site_instance2 = new_web_contents->GetSiteInstance(); 1826 SiteInstance* site_instance2 = new_web_contents->GetSiteInstance();
1827 1827
1828 EXPECT_NE(site_instance2, site_instance1); 1828 EXPECT_NE(site_instance2, site_instance1);
1829 EXPECT_TRUE(site_instance2->IsRelatedSiteInstance(site_instance1)); 1829 EXPECT_TRUE(site_instance2->IsRelatedSiteInstance(site_instance1));
1830 RenderViewHost* initial_rvh = new_web_contents-> 1830 RenderViewHost* initial_rvh = new_web_contents->
1831 GetRenderManagerForTesting()->GetSwappedOutRenderViewHost(site_instance1); 1831 GetRenderManagerForTesting()->GetSwappedOutRenderViewHost(site_instance1);
1832 ASSERT_TRUE(initial_rvh); 1832 ASSERT_TRUE(initial_rvh);
1833 // The following condition is what was causing the bug.
1834 EXPECT_EQ(0, initial_rvh->GetEnabledBindings());
1835 1833
1836 // Navigate to url1 and check bindings. 1834 // Navigate to url1 and check bindings.
1837 NavigateToURL(new_shell, url1); 1835 NavigateToURL(new_shell, url1);
1838 // The navigation should have used the first SiteInstance, otherwise 1836 // The navigation should have used the first SiteInstance, otherwise
1839 // |initial_rvh| did not have a chance to be used. 1837 // |initial_rvh| did not have a chance to be used.
1840 EXPECT_EQ(new_web_contents->GetSiteInstance(), site_instance1); 1838 EXPECT_EQ(new_web_contents->GetSiteInstance(), site_instance1);
1841 EXPECT_EQ(BINDINGS_POLICY_WEB_UI, 1839 EXPECT_EQ(BINDINGS_POLICY_WEB_UI,
1842 new_web_contents->GetRenderViewHost()->GetEnabledBindings()); 1840 new_web_contents->GetMainFrame()->GetEnabledBindings());
1843 } 1841 }
1844 1842
1845 // crbug.com/424526 1843 // crbug.com/424526
1846 // The test loads a WebUI page in process-per-tab mode, then navigates to a 1844 // The test loads a WebUI page in process-per-tab mode, then navigates to a
1847 // blank page and then to a regular page. The bug reproduces if blank page is 1845 // blank page and then to a regular page. The bug reproduces if blank page is
1848 // visited in between WebUI and regular page. 1846 // visited in between WebUI and regular page.
1849 IN_PROC_BROWSER_TEST_F(RenderFrameHostManagerTest, 1847 IN_PROC_BROWSER_TEST_F(RenderFrameHostManagerTest,
1850 ForceSwapAfterWebUIBindings) { 1848 ForceSwapAfterWebUIBindings) {
1851 base::CommandLine::ForCurrentProcess()->AppendSwitch( 1849 base::CommandLine::ForCurrentProcess()->AppendSwitch(
1852 switches::kProcessPerTab); 1850 switches::kProcessPerTab);
(...skipping 1243 matching lines...) Expand 10 before | Expand all | Expand 10 after
3096 NavigationEntryImpl* entry = controller.GetLastCommittedEntry(); 3094 NavigationEntryImpl* entry = controller.GetLastCommittedEntry();
3097 ASSERT_EQ(2U, entry->root_node()->children.size()); 3095 ASSERT_EQ(2U, entry->root_node()->children.size());
3098 EXPECT_EQ(regular_web_url, 3096 EXPECT_EQ(regular_web_url,
3099 entry->root_node()->children[1]->frame_entry->url()); 3097 entry->root_node()->children[1]->frame_entry->url());
3100 EXPECT_NE(root->current_frame_host()->GetSiteInstance(), 3098 EXPECT_NE(root->current_frame_host()->GetSiteInstance(),
3101 root->child_at(1)->current_frame_host()->GetSiteInstance()); 3099 root->child_at(1)->current_frame_host()->GetSiteInstance());
3102 } 3100 }
3103 } 3101 }
3104 3102
3105 } // namespace content 3103 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/render_frame_host_impl.cc ('k') | content/browser/frame_host/render_frame_host_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698