OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/prefs/pref_service.h" | 5 #include "base/prefs/pref_service.h" |
6 #include "chrome/browser/content_settings/host_content_settings_map.h" | 6 #include "chrome/browser/content_settings/host_content_settings_map.h" |
7 #include "chrome/browser/extensions/extension_browsertest.h" | 7 #include "chrome/browser/extensions/extension_browsertest.h" |
8 #include "chrome/browser/extensions/extension_service.h" | 8 #include "chrome/browser/extensions/extension_service.h" |
9 #include "chrome/browser/extensions/extension_system.h" | 9 #include "chrome/browser/extensions/extension_system.h" |
10 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/profiles/profile.h" |
11 #include "chrome/browser/ui/browser.h" | 11 #include "chrome/browser/ui/browser.h" |
12 #include "chrome/browser/ui/browser_commands.h" | 12 #include "chrome/browser/ui/browser_commands.h" |
13 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 13 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
14 #include "chrome/common/extensions/extension.h" | 14 #include "chrome/common/extensions/extension.h" |
15 #include "chrome/common/pref_names.h" | 15 #include "chrome/common/pref_names.h" |
16 #include "chrome/test/base/ui_test_utils.h" | 16 #include "chrome/test/base/ui_test_utils.h" |
17 #include "content/public/browser/navigation_controller.h" | 17 #include "content/public/browser/navigation_controller.h" |
| 18 #include "content/public/browser/plugin_service.h" |
18 #include "content/public/browser/web_contents.h" | 19 #include "content/public/browser/web_contents.h" |
19 #include "content/public/test/browser_test_utils.h" | 20 #include "content/public/test/browser_test_utils.h" |
20 #include "net/base/net_util.h" | 21 #include "net/base/net_util.h" |
21 #include "webkit/plugins/npapi/plugin_utils.h" | |
22 | 22 |
23 using content::NavigationController; | 23 using content::NavigationController; |
24 using content::WebContents; | 24 using content::WebContents; |
25 using extensions::Extension; | 25 using extensions::Extension; |
26 | 26 |
27 #if defined(OS_WIN) | 27 #if defined(OS_WIN) |
28 // http://crbug.com/123851 : test flakily fails on win. | 28 // http://crbug.com/123851 : test flakily fails on win. |
29 #define MAYBE_PluginLoadUnload DISABLED_PluginLoadUnload | 29 #define MAYBE_PluginLoadUnload DISABLED_PluginLoadUnload |
30 #elif defined(OS_MACOSX) && defined(ADDRESS_SANITIZER) | 30 #elif defined(OS_MACOSX) && defined(ADDRESS_SANITIZER) |
31 // ExtensionBrowserTest.PluginLoadUnload started failing after the switch to | 31 // ExtensionBrowserTest.PluginLoadUnload started failing after the switch to |
32 // dynamic ASan runtime library on Mac. See http://crbug.com/234591. | 32 // dynamic ASan runtime library on Mac. See http://crbug.com/234591. |
33 #define MAYBE_PluginLoadUnload DISABLED_PluginLoadUnload | 33 #define MAYBE_PluginLoadUnload DISABLED_PluginLoadUnload |
34 #elif defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(ARCH_CPU_ARM_FAMILY) | 34 #elif defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(ARCH_CPU_ARM_FAMILY) |
35 // Timing out on ARM linux http://crbug.com/238460 | 35 // Timing out on ARM linux http://crbug.com/238460 |
36 #define MAYBE_PluginLoadUnload DISABLED_PluginLoadUnload | 36 #define MAYBE_PluginLoadUnload DISABLED_PluginLoadUnload |
37 #else | 37 #else |
38 #define MAYBE_PluginLoadUnload PluginLoadUnload | 38 #define MAYBE_PluginLoadUnload PluginLoadUnload |
39 #endif | 39 #endif |
40 | 40 |
41 // Tests that a renderer's plugin list is properly updated when we load and | 41 // Tests that a renderer's plugin list is properly updated when we load and |
42 // unload an extension that contains a plugin. | 42 // unload an extension that contains a plugin. |
43 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, MAYBE_PluginLoadUnload) { | 43 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, MAYBE_PluginLoadUnload) { |
44 if (!webkit::npapi::NPAPIPluginsSupported()) | 44 if (!content::PluginService::GetInstance()->NPAPIPluginsSupported()) |
45 return; | 45 return; |
46 browser()->profile()->GetPrefs()->SetBoolean(prefs::kPluginsAlwaysAuthorize, | 46 browser()->profile()->GetPrefs()->SetBoolean(prefs::kPluginsAlwaysAuthorize, |
47 true); | 47 true); |
48 | 48 |
49 base::FilePath extension_dir = | 49 base::FilePath extension_dir = |
50 test_data_dir_.AppendASCII("uitest").AppendASCII("plugins"); | 50 test_data_dir_.AppendASCII("uitest").AppendASCII("plugins"); |
51 | 51 |
52 ui_test_utils::NavigateToURL(browser(), | 52 ui_test_utils::NavigateToURL(browser(), |
53 net::FilePathToFileURL(extension_dir.AppendASCII("test.html"))); | 53 net::FilePathToFileURL(extension_dir.AppendASCII("test.html"))); |
54 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); | 54 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 // Timing out on ARM linux http://crbug.com/238467 | 117 // Timing out on ARM linux http://crbug.com/238467 |
118 #define MAYBE_PluginPrivate DISABLED_PluginPrivate | 118 #define MAYBE_PluginPrivate DISABLED_PluginPrivate |
119 #elif defined(OS_WIN) && defined(ARCH_CPU_X86_64) | 119 #elif defined(OS_WIN) && defined(ARCH_CPU_X86_64) |
120 // TODO(jschuh): Failing plugin tests. crbug.com/244653 | 120 // TODO(jschuh): Failing plugin tests. crbug.com/244653 |
121 #define MAYBE_PluginPrivate DISABLED_PluginPrivate | 121 #define MAYBE_PluginPrivate DISABLED_PluginPrivate |
122 #else | 122 #else |
123 #define MAYBE_PluginPrivate PluginPrivate | 123 #define MAYBE_PluginPrivate PluginPrivate |
124 #endif | 124 #endif |
125 // Tests that private extension plugins are only visible to the extension. | 125 // Tests that private extension plugins are only visible to the extension. |
126 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, MAYBE_PluginPrivate) { | 126 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, MAYBE_PluginPrivate) { |
127 if (!webkit::npapi::NPAPIPluginsSupported()) | 127 if (!content::PluginService::GetInstance()->NPAPIPluginsSupported()) |
128 return; | 128 return; |
129 | 129 |
130 browser()->profile()->GetPrefs()->SetBoolean(prefs::kPluginsAlwaysAuthorize, | 130 browser()->profile()->GetPrefs()->SetBoolean(prefs::kPluginsAlwaysAuthorize, |
131 true); | 131 true); |
132 | 132 |
133 base::FilePath extension_dir = | 133 base::FilePath extension_dir = |
134 test_data_dir_.AppendASCII("uitest").AppendASCII("plugins_private"); | 134 test_data_dir_.AppendASCII("uitest").AppendASCII("plugins_private"); |
135 | 135 |
136 ExtensionService* service = extensions::ExtensionSystem::Get( | 136 ExtensionService* service = extensions::ExtensionSystem::Get( |
137 browser()->profile())->extension_service(); | 137 browser()->profile())->extension_service(); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 EXPECT_TRUE(result); | 172 EXPECT_TRUE(result); |
173 #endif | 173 #endif |
174 | 174 |
175 // Now load it through a file URL. The plugin should not load. | 175 // Now load it through a file URL. The plugin should not load. |
176 ui_test_utils::NavigateToURL(browser(), | 176 ui_test_utils::NavigateToURL(browser(), |
177 net::FilePathToFileURL(extension_dir.AppendASCII("test.html"))); | 177 net::FilePathToFileURL(extension_dir.AppendASCII("test.html"))); |
178 ASSERT_TRUE(content::ExecuteScriptAndExtractBool( | 178 ASSERT_TRUE(content::ExecuteScriptAndExtractBool( |
179 tab, "testPluginWorks()", &result)); | 179 tab, "testPluginWorks()", &result)); |
180 EXPECT_FALSE(result); | 180 EXPECT_FALSE(result); |
181 } | 181 } |
OLD | NEW |