Index: functional/browser.py |
=================================================================== |
--- functional/browser.py (revision 67497) |
+++ functional/browser.py (working copy) |
@@ -175,7 +175,44 @@ |
pid2 = self.GetBrowserInfo()['windows'][0]['tabs'][0]['renderer_pid'] |
self.assertNotEqual(pid1, pid2) |
+ def testSharingProcess(self): |
Nirnimesh
2010/11/30 21:31:12
rename: testPopupSharesProcess
sunandt
2010/12/07 02:29:36
Done.
|
+ """Verify that parent tab and popup share a process.""" |
+ file_url = self.GetFileURLForPath(os.path.join( |
+ self.DataDir(), 'popup_blocker', 'popup-blocked-to-post-blank.html')) |
+ self.NavigateToURL(file_url) |
+ blocked_popups = self.GetBlockedPopupsInfo() |
+ self.assertEqual(1, len(blocked_popups), msg='Popup not blocked') |
+ self.UnblockAndLaunchBlockedPopup(0) |
+ self.assertEquals(2, self.GetBrowserWindowCount()) |
+ parent_id = self.GetBrowserInfo()['windows'][0]['tabs'][0]['renderer_pid'] |
Nirnimesh
2010/11/30 21:31:12
s/parent_id/parent_pid/
sunandt
2010/12/07 02:29:36
Done.
|
+ popup_id = self.GetBrowserInfo()['windows'][1]['tabs'][0]['renderer_pid'] |
Nirnimesh
2010/11/30 21:31:12
s/popup_id/popup_pid/
sunandt
2010/12/07 02:29:36
Done.
|
+ self.assertEquals(popup_id, parent_id, |
+ msg='Parent and popup are not sharing a process.') |
+ def testKillSharedProcess(self): |
Nirnimesh
2010/11/30 21:31:12
rename: testKillPopupProcess
sunandt
2010/12/07 02:29:36
We are killing a process which is shared by both t
|
+ """Verify that killing a shared process kills all renderers.""" |
Nirnimesh
2010/11/30 21:31:12
Please elaborate
sunandt
2010/12/07 02:29:36
Done.
|
+ file_url = self.GetFileURLForPath(os.path.join( |
+ self.DataDir(), 'popup_blocker', 'popup-blocked-to-post-blank.html')) |
+ self.NavigateToURL(file_url) |
+ blocked_popups = self.GetBlockedPopupsInfo() |
+ self.assertEqual(1, len(blocked_popups), msg='Popup not blocked') |
+ self.UnblockAndLaunchBlockedPopup(0) |
+ self.assertEquals(2, self.GetBrowserWindowCount()) |
+ # Check that the renderers are alive. |
+ self.assertEquals(1, self.FindInPage('pop-up')['match_count']) |
+ self.assertEquals(1, |
+ self.FindInPage('popup', tab_index=0, windex=1)['match_count']) |
+ renderer_id = self.GetBrowserInfo()['windows'][0]['tabs'][0]['renderer_pid'] |
+ self.Kill(renderer_id) |
+ |
+ # Check that the renderers are killed and their pid equals to browser pid. |
+ browser_pid = self.GetBrowserInfo()['browser_pid'] |
+ self.assertEquals(browser_pid, |
+ self.GetBrowserInfo()['windows'][0]['tabs'][0]['renderer_pid']) |
+ self.assertEquals(browser_pid, |
+ self.GetBrowserInfo()['windows'][1]['tabs'][0]['renderer_pid']) |
+ |
+ |
if __name__ == '__main__': |
pyauto_functional.Main() |