Chromium Code Reviews| 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/logging.h" | 5 #include "base/logging.h" |
| 6 #include "chrome/browser/extensions/extension_apitest.h" | 6 #include "chrome/browser/extensions/extension_apitest.h" |
| 7 #include "chrome/browser/ui/browser.h" | 7 #include "chrome/browser/ui/browser.h" |
| 8 #include "chrome/common/chrome_switches.h" | 8 #include "chrome/common/chrome_switches.h" |
| 9 #include "chrome/test/base/ui_test_utils.h" | 9 #include "chrome/test/base/ui_test_utils.h" |
| 10 #include "content/public/browser/web_contents.h" | 10 #include "content/public/browser/web_contents.h" |
| 11 #include "googleurl/src/gurl.h" | 11 #include "googleurl/src/gurl.h" |
| 12 #include "net/base/mock_host_resolver.h" | 12 #include "net/base/mock_host_resolver.h" |
| 13 | 13 |
| 14 class ExtensionResourceRequestPolicyTest : public ExtensionApiTest { | 14 class ExtensionResourceRequestPolicyTest : public ExtensionApiTest { |
| 15 protected: | 15 protected: |
| 16 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 16 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
| 17 ExtensionApiTest::SetUpCommandLine(command_line); | 17 ExtensionApiTest::SetUpCommandLine(command_line); |
| 18 command_line->AppendSwitch(switches::kAllowLegacyExtensionManifests); | 18 command_line->AppendSwitch(switches::kAllowLegacyExtensionManifests); |
| 19 command_line->AppendSwitch(switches::kEnableExperimentalExtensionApis); | |
| 20 command_line->AppendSwitch(switches::kEnablePlatformApps); | |
| 19 } | 21 } |
| 20 }; | 22 }; |
| 21 | 23 |
| 22 // Note, this mostly tests the logic of chrome/renderer/extensions/ | 24 // Note, this mostly tests the logic of chrome/renderer/extensions/ |
| 23 // extension_resource_request_policy.*, but we have it as a browser test so that | 25 // extension_resource_request_policy.*, but we have it as a browser test so that |
| 24 // can make sure it works end-to-end. | 26 // can make sure it works end-to-end. |
| 25 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, OriginPrivileges) { | 27 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, OriginPrivileges) { |
| 26 host_resolver()->AddRule("*", "127.0.0.1"); | 28 host_resolver()->AddRule("*", "127.0.0.1"); |
| 27 ASSERT_TRUE(test_server()->Start()); | 29 ASSERT_TRUE(test_server()->Start()); |
| 28 ASSERT_TRUE(LoadExtension(test_data_dir_ | 30 ASSERT_TRUE(LoadExtension(test_data_dir_ |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 186 GURL nonexistent_resource( | 188 GURL nonexistent_resource( |
| 187 test_server()->GetURL( | 189 test_server()->GetURL( |
| 188 "files/extensions/api_test/extension_resource_request_policy/" | 190 "files/extensions/api_test/extension_resource_request_policy/" |
| 189 "web_accessible/nonexistent_resource.html")); | 191 "web_accessible/nonexistent_resource.html")); |
| 190 ui_test_utils::NavigateToURL(browser(), nonexistent_resource); | 192 ui_test_utils::NavigateToURL(browser(), nonexistent_resource); |
| 191 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( | 193 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( |
| 192 browser()->GetSelectedWebContents()->GetRenderViewHost(), L"", | 194 browser()->GetSelectedWebContents()->GetRenderViewHost(), L"", |
| 193 L"window.domAutomationController.send(document.title)", | 195 L"window.domAutomationController.send(document.title)", |
| 194 &result)); | 196 &result)); |
| 195 EXPECT_EQ("Image failed to load", result); | 197 EXPECT_EQ("Image failed to load", result); |
| 198 | |
| 199 GURL nonaccessabile_cer_resource( | |
| 200 test_server()->GetURL( | |
| 201 "files/extensions/api_test/extension_resource_request_policy/" | |
| 202 "web_accessible/nonaccessabile_chrome_resource_scheme.html")); | |
|
Mihai Parparita -not on Chrome
2012/05/16 23:17:44
Typo ("nonaccessabile")
Peng
2012/05/17 14:49:57
Done.
| |
| 203 ui_test_utils::NavigateToURL(browser(), nonaccessabile_cer_resource); | |
| 204 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( | |
| 205 browser()->GetSelectedWebContents()->GetRenderViewHost(), L"", | |
| 206 L"window.domAutomationController.send(document.title)", | |
| 207 &result)); | |
| 208 EXPECT_EQ("Loading CER:// failed.", result); | |
| 196 } | 209 } |
| 197 | 210 |
| 198 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, Iframe) { | 211 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, Iframe) { |
| 199 // Load another extension, which the test one shouldn't be able to get | 212 // Load another extension, which the test one shouldn't be able to get |
| 200 // resources from. | 213 // resources from. |
| 201 ASSERT_TRUE(LoadExtension(test_data_dir_ | 214 ASSERT_TRUE(LoadExtension(test_data_dir_ |
| 202 .AppendASCII("extension_resource_request_policy") | 215 .AppendASCII("extension_resource_request_policy") |
| 203 .AppendASCII("inaccessible"))); | 216 .AppendASCII("inaccessible"))); |
| 204 EXPECT_TRUE(RunExtensionSubtest( | 217 EXPECT_TRUE(RunExtensionSubtest( |
| 205 "extension_resource_request_policy/web_accessible", | 218 "extension_resource_request_policy/web_accessible", |
| 206 "iframe.html")); | 219 "iframe.html")); |
| 207 } | 220 } |
| 221 | |
| 222 #if defined(OS_WIN) | |
|
Mihai Parparita -not on Chrome
2012/05/16 23:17:44
Why is this disabled on Windows?
Peng
2012/05/17 14:49:57
Done
| |
| 223 #define MAYBE_ExtensionAccessibleResources DISABLED_ExtensionAccessibleResources | |
| 224 #else | |
| 225 #define MAYBE_ExtensionAccessibleResources ExtensionAccessibleResources | |
| 226 #endif | |
| 227 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, | |
| 228 MAYBE_ExtensionAccessibleResources) { | |
| 229 ASSERT_TRUE(RunExtensionSubtest("accessible_cer", "main.html")) << message_; | |
| 230 } | |
| OLD | NEW |