Index: functional/plugins.py |
=================================================================== |
--- functional/plugins.py (revision 70178) |
+++ functional/plugins.py (working copy) |
@@ -139,6 +139,65 @@ |
re.search(plugin_name, x['name'])]) |
self.assertTrue(self._IsEnabled(plugin_name), plugin_name) |
+ def testBlockAllPlugins(self): |
+ """Verify that all the plugins are blocked.""" |
Nirnimesh
2011/01/07 22:44:23
s/are/can be/
Nirnimesh
2011/01/07 22:44:23
Add: Verifies by checking that flash plugin was bl
sunandt
2011/01/13 00:29:34
Done.
sunandt
2011/01/13 00:29:34
Done.
|
+ flash_url = self.GetFileURLForPath(os.path.join(self.DataDir(), |
Nirnimesh
2011/01/07 22:44:23
it's ok to move all args from self.DataDir() to ne
sunandt
2011/01/13 00:29:34
Done.
|
+ 'plugin', 'flash-clicktoplay.html')) |
+ self.NavigateToURL(flash_url) |
+ pid = self._GetPluginPID('Shockwave Flash') |
Nirnimesh
2011/01/07 22:44:23
s/pid/flash_pid/
sunandt
2011/01/13 00:29:34
Done.
|
+ self.assertTrue(pid, msg='No plugin process for Shockwave Flash') |
+ self.Kill(pid) |
Nirnimesh
2011/01/07 22:44:23
Is it necessary to Kill?
sunandt
2011/01/13 00:29:34
Yes. Because the flash process is not killed immed
|
+ self.assertTrue(self.WaitUntil( |
+ lambda: self._GetPluginPID('Shockwave Flash') is None), |
+ msg='Expected Shockwave Flash plugin to die after killing') |
+ # Set the preference to block all plugins. |
+ self.SetPrefs(pyauto.kDefaultContentSettings, {'plugins': 2}) |
+ |
+ self.GetBrowserWindow(0).GetTab(0).Reload() |
+ self.assertFalse(self._GetPluginPID('Shockwave Flash'), |
+ msg='Plug-in not blocked.') |
+ |
+ def testAllowPluginException(self): |
+ """Verify that plugins can be allowed on a domain by adding |
+ an exception(s).""" |
+ # Set the preference to block all plugins. |
+ self.SetPrefs(pyauto.kDefaultContentSettings, {'plugins': 2}) |
+ |
+ flash_url = self.GetFileURLForPath(os.path.join(self.DataDir(), |
Nirnimesh
2011/01/07 22:44:23
repeat
sunandt
2011/01/13 00:29:34
Done.
|
+ 'plugin', 'flash-clicktoplay.html')) |
+ self.NavigateToURL(flash_url) |
+ # Check that plugins are blocked. |
+ self.assertFalse(self._GetPluginPID('Shockwave Flash'), |
+ msg='Plug-in not blocked.') |
+ |
+ # Add an exception to allow plugins on youtube.com. |
+ self.SetPrefs(pyauto.kContentSettingsPatterns, |
+ {'[*.]youtube.com': { 'plugins': 1}}) |
+ self.AppendTab(pyauto.GURL('http://www.youtube.com')) |
+ self.assertTrue(self._GetPluginPID('Shockwave Flash'), |
+ msg='No plugin process for Shockwave Flash') |
+ |
+ def testBlockPluginException(self): |
+ """Verify that plugins can be blocked on a domain by adding |
+ an exception(s).""" |
+ flash_url = self.GetFileURLForPath(os.path.join(self.DataDir(), |
Nirnimesh
2011/01/07 22:44:23
repeat
sunandt
2011/01/13 00:29:34
Done.
|
+ 'plugin', 'flash-clicktoplay.html')) |
+ self.NavigateToURL(flash_url) |
+ pid = self._GetPluginPID('Shockwave Flash') |
+ self.assertTrue(pid, msg='No plugin process for Shockwave Flash') |
+ self.Kill(pid) |
+ self.assertTrue(self.WaitUntil( |
+ lambda: self._GetPluginPID('Shockwave Flash') is None), |
+ msg='Expected Shockwave Flash plugin to die after killing') |
+ |
+ # Add an exception to block plugins on youtube.com. |
+ self.SetPrefs(pyauto.kContentSettingsPatterns, |
+ {'[*.]youtube.com': { 'plugins': 2}}) |
+ self.AppendTab(pyauto.GURL('http://www.youtube.com')) |
+ self.assertFalse(self._GetPluginPID('Shockwave Flash'), |
+ msg='Plug-in not blocked.') |
+ |
+ |
if __name__ == '__main__': |
pyauto_functional.Main() |