| 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/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/logging.h" | 6 #include "base/logging.h" |
| 7 #include "chrome/browser/extensions/extension_apitest.h" | 7 #include "chrome/browser/extensions/extension_apitest.h" |
| 8 #include "chrome/browser/ui/browser.h" | 8 #include "chrome/browser/ui/browser.h" |
| 9 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 9 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 10 #include "chrome/test/base/test_switches.h" | 10 #include "chrome/test/base/test_switches.h" |
| 11 #include "chrome/test/base/ui_test_utils.h" | 11 #include "chrome/test/base/ui_test_utils.h" |
| 12 #include "content/public/browser/web_contents.h" | 12 #include "content/public/browser/web_contents.h" |
| 13 #include "content/public/test/browser_test_utils.h" | 13 #include "content/public/test/browser_test_utils.h" |
| 14 #include "extensions/common/switches.h" | 14 #include "extensions/common/switches.h" |
| 15 #include "net/dns/mock_host_resolver.h" | 15 #include "net/dns/mock_host_resolver.h" |
| 16 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 16 #include "url/gurl.h" | 17 #include "url/gurl.h" |
| 17 | 18 |
| 18 class ExtensionResourceRequestPolicyTest : public ExtensionApiTest { | 19 class ExtensionResourceRequestPolicyTest : public ExtensionApiTest { |
| 19 protected: | 20 protected: |
| 20 void SetUpCommandLine(base::CommandLine* command_line) override { | 21 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 21 ExtensionApiTest::SetUpCommandLine(command_line); | 22 ExtensionApiTest::SetUpCommandLine(command_line); |
| 22 command_line->AppendSwitch( | 23 command_line->AppendSwitch( |
| 23 extensions::switches::kAllowLegacyExtensionManifests); | 24 extensions::switches::kAllowLegacyExtensionManifests); |
| 24 } | 25 } |
| 25 }; | 26 }; |
| 26 | 27 |
| 27 // Note, this mostly tests the logic of chrome/renderer/extensions/ | 28 // Note, this mostly tests the logic of chrome/renderer/extensions/ |
| 28 // extension_resource_request_policy.*, but we have it as a browser test so that | 29 // extension_resource_request_policy.*, but we have it as a browser test so that |
| 29 // can make sure it works end-to-end. | 30 // can make sure it works end-to-end. |
| 30 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, OriginPrivileges) { | 31 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, OriginPrivileges) { |
| 31 #if defined(OS_WIN) && defined(USE_ASH) | 32 #if defined(OS_WIN) && defined(USE_ASH) |
| 32 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 33 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 33 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 34 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 34 switches::kAshBrowserTests)) | 35 switches::kAshBrowserTests)) |
| 35 return; | 36 return; |
| 36 #endif | 37 #endif |
| 37 | 38 |
| 38 host_resolver()->AddRule("*", "127.0.0.1"); | 39 host_resolver()->AddRule("*", "127.0.0.1"); |
| 39 ASSERT_TRUE(test_server()->Start()); | 40 ASSERT_TRUE(embedded_test_server()->Start()); |
| 40 ASSERT_TRUE(LoadExtensionWithFlags(test_data_dir_ | 41 ASSERT_TRUE(LoadExtensionWithFlags(test_data_dir_ |
| 41 .AppendASCII("extension_resource_request_policy") | 42 .AppendASCII("extension_resource_request_policy") |
| 42 .AppendASCII("extension"), | 43 .AppendASCII("extension"), |
| 43 // Tests manifest_version 1 behavior, so warnings are expected. | 44 // Tests manifest_version 1 behavior, so warnings are expected. |
| 44 ExtensionBrowserTest::kFlagIgnoreManifestWarnings)); | 45 ExtensionBrowserTest::kFlagIgnoreManifestWarnings)); |
| 45 | 46 |
| 46 GURL web_resource( | 47 GURL web_resource(embedded_test_server()->GetURL( |
| 47 test_server()->GetURL( | 48 "/extensions/api_test/extension_resource_request_policy/" |
| 48 "files/extensions/api_test/extension_resource_request_policy/" | 49 "index.html")); |
| 49 "index.html")); | |
| 50 | 50 |
| 51 GURL::Replacements make_host_a_com; | 51 GURL::Replacements make_host_a_com; |
| 52 make_host_a_com.SetHostStr("a.com"); | 52 make_host_a_com.SetHostStr("a.com"); |
| 53 | 53 |
| 54 GURL::Replacements make_host_b_com; | 54 GURL::Replacements make_host_b_com; |
| 55 make_host_b_com.SetHostStr("b.com"); | 55 make_host_b_com.SetHostStr("b.com"); |
| 56 | 56 |
| 57 // A web host that has permission. | 57 // A web host that has permission. |
| 58 ui_test_utils::NavigateToURL( | 58 ui_test_utils::NavigateToURL( |
| 59 browser(), web_resource.ReplaceComponents(make_host_a_com)); | 59 browser(), web_resource.ReplaceComponents(make_host_a_com)); |
| 60 std::string result; | 60 std::string result; |
| 61 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 61 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 62 browser()->tab_strip_model()->GetActiveWebContents(), | 62 browser()->tab_strip_model()->GetActiveWebContents(), |
| 63 "window.domAutomationController.send(document.title)", | 63 "window.domAutomationController.send(document.title)", |
| 64 &result)); | 64 &result)); |
| 65 EXPECT_EQ(result, "Loaded"); | 65 EXPECT_EQ(result, "Loaded"); |
| 66 | 66 |
| 67 // A web host that loads a non-existent extension. | 67 // A web host that loads a non-existent extension. |
| 68 GURL non_existent_extension( | 68 GURL non_existent_extension(embedded_test_server()->GetURL( |
| 69 test_server()->GetURL( | 69 "/extensions/api_test/extension_resource_request_policy/" |
| 70 "files/extensions/api_test/extension_resource_request_policy/" | 70 "non_existent_extension.html")); |
| 71 "non_existent_extension.html")); | |
| 72 ui_test_utils::NavigateToURL(browser(), non_existent_extension); | 71 ui_test_utils::NavigateToURL(browser(), non_existent_extension); |
| 73 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 72 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 74 browser()->tab_strip_model()->GetActiveWebContents(), | 73 browser()->tab_strip_model()->GetActiveWebContents(), |
| 75 "window.domAutomationController.send(document.title)", | 74 "window.domAutomationController.send(document.title)", |
| 76 &result)); | 75 &result)); |
| 77 EXPECT_EQ(result, "Image failed to load"); | 76 EXPECT_EQ(result, "Image failed to load"); |
| 78 | 77 |
| 79 // A data URL. Data URLs should always be able to load chrome-extension:// | 78 // A data URL. Data URLs should always be able to load chrome-extension:// |
| 80 // resources. | 79 // resources. |
| 81 std::string file_source; | 80 std::string file_source; |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 | 146 |
| 148 // This test times out regularly on win_rel trybots. See http://crbug.com/122154 | 147 // This test times out regularly on win_rel trybots. See http://crbug.com/122154 |
| 149 #if defined(OS_WIN) | 148 #if defined(OS_WIN) |
| 150 #define MAYBE_WebAccessibleResources DISABLED_WebAccessibleResources | 149 #define MAYBE_WebAccessibleResources DISABLED_WebAccessibleResources |
| 151 #else | 150 #else |
| 152 #define MAYBE_WebAccessibleResources WebAccessibleResources | 151 #define MAYBE_WebAccessibleResources WebAccessibleResources |
| 153 #endif | 152 #endif |
| 154 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, | 153 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, |
| 155 MAYBE_WebAccessibleResources) { | 154 MAYBE_WebAccessibleResources) { |
| 156 std::string result; | 155 std::string result; |
| 157 ASSERT_TRUE(test_server()->Start()); | 156 ASSERT_TRUE(embedded_test_server()->Start()); |
| 158 ASSERT_TRUE(LoadExtension(test_data_dir_ | 157 ASSERT_TRUE(LoadExtension(test_data_dir_ |
| 159 .AppendASCII("extension_resource_request_policy") | 158 .AppendASCII("extension_resource_request_policy") |
| 160 .AppendASCII("web_accessible"))); | 159 .AppendASCII("web_accessible"))); |
| 161 | 160 |
| 162 GURL accessible_resource( | 161 GURL accessible_resource(embedded_test_server()->GetURL( |
| 163 test_server()->GetURL( | 162 "/extensions/api_test/extension_resource_request_policy/" |
| 164 "files/extensions/api_test/extension_resource_request_policy/" | 163 "web_accessible/accessible_resource.html")); |
| 165 "web_accessible/accessible_resource.html")); | |
| 166 ui_test_utils::NavigateToURL(browser(), accessible_resource); | 164 ui_test_utils::NavigateToURL(browser(), accessible_resource); |
| 167 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 165 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 168 browser()->tab_strip_model()->GetActiveWebContents(), | 166 browser()->tab_strip_model()->GetActiveWebContents(), |
| 169 "window.domAutomationController.send(document.title)", | 167 "window.domAutomationController.send(document.title)", |
| 170 &result)); | 168 &result)); |
| 171 EXPECT_EQ("Loaded", result); | 169 EXPECT_EQ("Loaded", result); |
| 172 | 170 |
| 173 GURL xhr_accessible_resource( | 171 GURL xhr_accessible_resource(embedded_test_server()->GetURL( |
| 174 test_server()->GetURL( | 172 "/extensions/api_test/extension_resource_request_policy/" |
| 175 "files/extensions/api_test/extension_resource_request_policy/" | 173 "web_accessible/xhr_accessible_resource.html")); |
| 176 "web_accessible/xhr_accessible_resource.html")); | |
| 177 ui_test_utils::NavigateToURL( | 174 ui_test_utils::NavigateToURL( |
| 178 browser(), xhr_accessible_resource); | 175 browser(), xhr_accessible_resource); |
| 179 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 176 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 180 browser()->tab_strip_model()->GetActiveWebContents(), | 177 browser()->tab_strip_model()->GetActiveWebContents(), |
| 181 "window.domAutomationController.send(document.title)", | 178 "window.domAutomationController.send(document.title)", |
| 182 &result)); | 179 &result)); |
| 183 EXPECT_EQ("XHR completed with status: 200", result); | 180 EXPECT_EQ("XHR completed with status: 200", result); |
| 184 | 181 |
| 185 GURL xhr_inaccessible_resource( | 182 GURL xhr_inaccessible_resource(embedded_test_server()->GetURL( |
| 186 test_server()->GetURL( | 183 "/extensions/api_test/extension_resource_request_policy/" |
| 187 "files/extensions/api_test/extension_resource_request_policy/" | 184 "web_accessible/xhr_inaccessible_resource.html")); |
| 188 "web_accessible/xhr_inaccessible_resource.html")); | |
| 189 ui_test_utils::NavigateToURL( | 185 ui_test_utils::NavigateToURL( |
| 190 browser(), xhr_inaccessible_resource); | 186 browser(), xhr_inaccessible_resource); |
| 191 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 187 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 192 browser()->tab_strip_model()->GetActiveWebContents(), | 188 browser()->tab_strip_model()->GetActiveWebContents(), |
| 193 "window.domAutomationController.send(document.title)", | 189 "window.domAutomationController.send(document.title)", |
| 194 &result)); | 190 &result)); |
| 195 EXPECT_EQ("XHR failed to load resource", result); | 191 EXPECT_EQ("XHR failed to load resource", result); |
| 196 | 192 |
| 197 GURL nonaccessible_resource( | 193 GURL nonaccessible_resource(embedded_test_server()->GetURL( |
| 198 test_server()->GetURL( | 194 "/extensions/api_test/extension_resource_request_policy/" |
| 199 "files/extensions/api_test/extension_resource_request_policy/" | 195 "web_accessible/nonaccessible_resource.html")); |
| 200 "web_accessible/nonaccessible_resource.html")); | |
| 201 ui_test_utils::NavigateToURL(browser(), nonaccessible_resource); | 196 ui_test_utils::NavigateToURL(browser(), nonaccessible_resource); |
| 202 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 197 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 203 browser()->tab_strip_model()->GetActiveWebContents(), | 198 browser()->tab_strip_model()->GetActiveWebContents(), |
| 204 "window.domAutomationController.send(document.title)", | 199 "window.domAutomationController.send(document.title)", |
| 205 &result)); | 200 &result)); |
| 206 EXPECT_EQ("Image failed to load", result); | 201 EXPECT_EQ("Image failed to load", result); |
| 207 | 202 |
| 208 GURL nonexistent_resource( | 203 GURL nonexistent_resource(embedded_test_server()->GetURL( |
| 209 test_server()->GetURL( | 204 "/extensions/api_test/extension_resource_request_policy/" |
| 210 "files/extensions/api_test/extension_resource_request_policy/" | 205 "web_accessible/nonexistent_resource.html")); |
| 211 "web_accessible/nonexistent_resource.html")); | |
| 212 ui_test_utils::NavigateToURL(browser(), nonexistent_resource); | 206 ui_test_utils::NavigateToURL(browser(), nonexistent_resource); |
| 213 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 207 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 214 browser()->tab_strip_model()->GetActiveWebContents(), | 208 browser()->tab_strip_model()->GetActiveWebContents(), |
| 215 "window.domAutomationController.send(document.title)", | 209 "window.domAutomationController.send(document.title)", |
| 216 &result)); | 210 &result)); |
| 217 EXPECT_EQ("Image failed to load", result); | 211 EXPECT_EQ("Image failed to load", result); |
| 218 | 212 |
| 219 GURL nonaccessible_cer_resource( | 213 GURL nonaccessible_cer_resource(embedded_test_server()->GetURL( |
| 220 test_server()->GetURL( | 214 "/extensions/api_test/extension_resource_request_policy/" |
| 221 "files/extensions/api_test/extension_resource_request_policy/" | 215 "web_accessible/nonaccessible_chrome_resource_scheme.html")); |
| 222 "web_accessible/nonaccessible_chrome_resource_scheme.html")); | |
| 223 ui_test_utils::NavigateToURL(browser(), nonaccessible_cer_resource); | 216 ui_test_utils::NavigateToURL(browser(), nonaccessible_cer_resource); |
| 224 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 217 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 225 browser()->tab_strip_model()->GetActiveWebContents(), | 218 browser()->tab_strip_model()->GetActiveWebContents(), |
| 226 "window.domAutomationController.send(document.title)", | 219 "window.domAutomationController.send(document.title)", |
| 227 &result)); | 220 &result)); |
| 228 EXPECT_EQ("Loading CER:// failed.", result); | 221 EXPECT_EQ("Loading CER:// failed.", result); |
| 229 | 222 |
| 230 GURL newtab_page("chrome://newtab"); | 223 GURL newtab_page("chrome://newtab"); |
| 231 GURL accessible_newtab_override( | 224 GURL accessible_newtab_override(embedded_test_server()->GetURL( |
| 232 test_server()->GetURL( | 225 "/extensions/api_test/extension_resource_request_policy/" |
| 233 "files/extensions/api_test/extension_resource_request_policy/" | 226 "web_accessible/accessible_history_navigation.html")); |
| 234 "web_accessible/accessible_history_navigation.html")); | |
| 235 ui_test_utils::NavigateToURL(browser(), newtab_page); | 227 ui_test_utils::NavigateToURL(browser(), newtab_page); |
| 236 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete( | 228 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete( |
| 237 browser(), accessible_newtab_override, 2); | 229 browser(), accessible_newtab_override, 2); |
| 238 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 230 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 239 browser()->tab_strip_model()->GetActiveWebContents(), | 231 browser()->tab_strip_model()->GetActiveWebContents(), |
| 240 "window.domAutomationController.send(document.title)", | 232 "window.domAutomationController.send(document.title)", |
| 241 &result)); | 233 &result)); |
| 242 EXPECT_EQ("New Tab Page Loaded Successfully", result); | 234 EXPECT_EQ("New Tab Page Loaded Successfully", result); |
| 243 } | 235 } |
| 244 | 236 |
| 245 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, | 237 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, |
| 246 LinkToWebAccessibleResources) { | 238 LinkToWebAccessibleResources) { |
| 247 std::string result; | 239 std::string result; |
| 248 ASSERT_TRUE(test_server()->Start()); | 240 ASSERT_TRUE(embedded_test_server()->Start()); |
| 249 ASSERT_TRUE(LoadExtension(test_data_dir_ | 241 ASSERT_TRUE(LoadExtension(test_data_dir_ |
| 250 .AppendASCII("extension_resource_request_policy") | 242 .AppendASCII("extension_resource_request_policy") |
| 251 .AppendASCII("web_accessible"))); | 243 .AppendASCII("web_accessible"))); |
| 252 | 244 |
| 253 GURL accessible_linked_resource( | 245 GURL accessible_linked_resource(embedded_test_server()->GetURL( |
| 254 test_server()->GetURL( | 246 "/extensions/api_test/extension_resource_request_policy/" |
| 255 "files/extensions/api_test/extension_resource_request_policy/" | 247 "web_accessible/accessible_link_resource.html")); |
| 256 "web_accessible/accessible_link_resource.html")); | |
| 257 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), | 248 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), |
| 258 accessible_linked_resource, 2); | 249 accessible_linked_resource, 2); |
| 259 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 250 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 260 browser()->tab_strip_model()->GetActiveWebContents(), | 251 browser()->tab_strip_model()->GetActiveWebContents(), |
| 261 "window.domAutomationController.send(document.URL)", | 252 "window.domAutomationController.send(document.URL)", |
| 262 &result)); | 253 &result)); |
| 263 EXPECT_NE("about:blank", result); | 254 EXPECT_NE("about:blank", result); |
| 264 | 255 |
| 265 GURL nonaccessible_linked_resource( | 256 GURL nonaccessible_linked_resource(embedded_test_server()->GetURL( |
| 266 test_server()->GetURL( | 257 "/extensions/api_test/extension_resource_request_policy/" |
| 267 "files/extensions/api_test/extension_resource_request_policy/" | 258 "web_accessible/nonaccessible_link_resource.html")); |
| 268 "web_accessible/nonaccessible_link_resource.html")); | |
| 269 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), | 259 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), |
| 270 nonaccessible_linked_resource, 2); | 260 nonaccessible_linked_resource, 2); |
| 271 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 261 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 272 browser()->tab_strip_model()->GetActiveWebContents(), | 262 browser()->tab_strip_model()->GetActiveWebContents(), |
| 273 "window.domAutomationController.send(document.URL)", | 263 "window.domAutomationController.send(document.URL)", |
| 274 &result)); | 264 &result)); |
| 275 EXPECT_EQ("about:blank", result); | 265 EXPECT_EQ("about:blank", result); |
| 276 | 266 |
| 277 GURL accessible_client_redirect_resource( | 267 GURL accessible_client_redirect_resource(embedded_test_server()->GetURL( |
| 278 test_server()->GetURL( | 268 "/extensions/api_test/extension_resource_request_policy/" |
| 279 "files/extensions/api_test/extension_resource_request_policy/" | 269 "web_accessible/accessible_redirect_resource.html")); |
| 280 "web_accessible/accessible_redirect_resource.html")); | |
| 281 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), | 270 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), |
| 282 accessible_client_redirect_resource, 2); | 271 accessible_client_redirect_resource, 2); |
| 283 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 272 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 284 browser()->tab_strip_model()->GetActiveWebContents(), | 273 browser()->tab_strip_model()->GetActiveWebContents(), |
| 285 "window.domAutomationController.send(document.URL)", | 274 "window.domAutomationController.send(document.URL)", |
| 286 &result)); | 275 &result)); |
| 287 EXPECT_NE("about:blank", result); | 276 EXPECT_NE("about:blank", result); |
| 288 | 277 |
| 289 GURL nonaccessible_client_redirect_resource( | 278 GURL nonaccessible_client_redirect_resource(embedded_test_server()->GetURL( |
| 290 test_server()->GetURL( | 279 "/extensions/api_test/extension_resource_request_policy/" |
| 291 "files/extensions/api_test/extension_resource_request_policy/" | 280 "web_accessible/nonaccessible_redirect_resource.html")); |
| 292 "web_accessible/nonaccessible_redirect_resource.html")); | |
| 293 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), | 281 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), |
| 294 nonaccessible_client_redirect_resource, 2); | 282 nonaccessible_client_redirect_resource, 2); |
| 295 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 283 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 296 browser()->tab_strip_model()->GetActiveWebContents(), | 284 browser()->tab_strip_model()->GetActiveWebContents(), |
| 297 "window.domAutomationController.send(document.URL)", | 285 "window.domAutomationController.send(document.URL)", |
| 298 &result)); | 286 &result)); |
| 299 EXPECT_EQ("about:blank", result); | 287 EXPECT_EQ("about:blank", result); |
| 300 } | 288 } |
| 301 | 289 |
| 302 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, | 290 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, |
| 303 WebAccessibleResourcesWithCSP) { | 291 WebAccessibleResourcesWithCSP) { |
| 304 std::string result; | 292 std::string result; |
| 305 ASSERT_TRUE(test_server()->Start()); | 293 ASSERT_TRUE(embedded_test_server()->Start()); |
| 306 ASSERT_TRUE(LoadExtension(test_data_dir_ | 294 ASSERT_TRUE(LoadExtension(test_data_dir_ |
| 307 .AppendASCII("extension_resource_request_policy") | 295 .AppendASCII("extension_resource_request_policy") |
| 308 .AppendASCII("web_accessible"))); | 296 .AppendASCII("web_accessible"))); |
| 309 | 297 |
| 310 GURL accessible_resource_with_csp( | 298 GURL accessible_resource_with_csp(embedded_test_server()->GetURL( |
| 311 test_server()->GetURL( | 299 "/extensions/api_test/extension_resource_request_policy/" |
| 312 "files/extensions/api_test/extension_resource_request_policy/" | 300 "web_accessible/accessible_resource_with_csp.html")); |
| 313 "web_accessible/accessible_resource_with_csp.html")); | |
| 314 ui_test_utils::NavigateToURL(browser(), accessible_resource_with_csp); | 301 ui_test_utils::NavigateToURL(browser(), accessible_resource_with_csp); |
| 315 ASSERT_TRUE(content::ExecuteScriptAndExtractString( | 302 ASSERT_TRUE(content::ExecuteScriptAndExtractString( |
| 316 browser()->tab_strip_model()->GetActiveWebContents(), | 303 browser()->tab_strip_model()->GetActiveWebContents(), |
| 317 "window.domAutomationController.send(document.title)", | 304 "window.domAutomationController.send(document.title)", |
| 318 &result)); | 305 &result)); |
| 319 EXPECT_EQ("Loaded", result); | 306 EXPECT_EQ("Loaded", result); |
| 320 } | 307 } |
| 321 | 308 |
| 322 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, Iframe) { | 309 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, Iframe) { |
| 323 // Load another extension, which the test one shouldn't be able to get | 310 // Load another extension, which the test one shouldn't be able to get |
| 324 // resources from. | 311 // resources from. |
| 325 ASSERT_TRUE(LoadExtension(test_data_dir_ | 312 ASSERT_TRUE(LoadExtension(test_data_dir_ |
| 326 .AppendASCII("extension_resource_request_policy") | 313 .AppendASCII("extension_resource_request_policy") |
| 327 .AppendASCII("inaccessible"))); | 314 .AppendASCII("inaccessible"))); |
| 328 EXPECT_TRUE(RunExtensionSubtest( | 315 EXPECT_TRUE(RunExtensionSubtest( |
| 329 "extension_resource_request_policy/web_accessible", | 316 "extension_resource_request_policy/web_accessible", |
| 330 "iframe.html")) << message_; | 317 "iframe.html")) << message_; |
| 331 } | 318 } |
| 332 | 319 |
| 333 #if defined(OS_MACOSX) | 320 #if defined(OS_MACOSX) |
| 334 #define MAYBE_ExtensionAccessibleResources DISABLED_ExtensionAccessibleResources | 321 #define MAYBE_ExtensionAccessibleResources DISABLED_ExtensionAccessibleResources |
| 335 #else | 322 #else |
| 336 #define MAYBE_ExtensionAccessibleResources ExtensionAccessibleResources | 323 #define MAYBE_ExtensionAccessibleResources ExtensionAccessibleResources |
| 337 #endif | 324 #endif |
| 338 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, | 325 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, |
| 339 MAYBE_ExtensionAccessibleResources) { | 326 MAYBE_ExtensionAccessibleResources) { |
| 340 ASSERT_TRUE(RunExtensionSubtest("accessible_cer", "main.html")) << message_; | 327 ASSERT_TRUE(RunExtensionSubtest("accessible_cer", "main.html")) << message_; |
| 341 } | 328 } |
| OLD | NEW |