Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: chrome/browser/extensions/extension_resource_request_policy_apitest.cc

Issue 10795090: Move ExecuteJavaScript functions from ui_test_utils.h to browser_test_utils.h so they can be reused… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/browser/ui/browser_tabstrip.h" 8 #include "chrome/browser/ui/browser_tabstrip.h"
9 #include "chrome/common/chrome_switches.h" 9 #include "chrome/common/chrome_switches.h"
10 #include "chrome/test/base/ui_test_utils.h" 10 #include "chrome/test/base/ui_test_utils.h"
11 #include "content/public/browser/web_contents.h" 11 #include "content/public/browser/web_contents.h"
12 #include "content/public/test/browser_test_utils.h"
12 #include "googleurl/src/gurl.h" 13 #include "googleurl/src/gurl.h"
13 #include "net/base/mock_host_resolver.h" 14 #include "net/base/mock_host_resolver.h"
14 15
15 class ExtensionResourceRequestPolicyTest : public ExtensionApiTest { 16 class ExtensionResourceRequestPolicyTest : public ExtensionApiTest {
16 protected: 17 protected:
17 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 18 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
18 ExtensionApiTest::SetUpCommandLine(command_line); 19 ExtensionApiTest::SetUpCommandLine(command_line);
19 command_line->AppendSwitch(switches::kAllowLegacyExtensionManifests); 20 command_line->AppendSwitch(switches::kAllowLegacyExtensionManifests);
20 } 21 }
21 }; 22 };
(...skipping 18 matching lines...) Expand all
40 make_host_a_com.SetHostStr(host_a); 41 make_host_a_com.SetHostStr(host_a);
41 42
42 std::string host_b("b.com"); 43 std::string host_b("b.com");
43 GURL::Replacements make_host_b_com; 44 GURL::Replacements make_host_b_com;
44 make_host_b_com.SetHostStr(host_b); 45 make_host_b_com.SetHostStr(host_b);
45 46
46 // A web host that has permission. 47 // A web host that has permission.
47 ui_test_utils::NavigateToURL( 48 ui_test_utils::NavigateToURL(
48 browser(), web_resource.ReplaceComponents(make_host_a_com)); 49 browser(), web_resource.ReplaceComponents(make_host_a_com));
49 std::string result; 50 std::string result;
50 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( 51 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
51 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 52 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
52 L"window.domAutomationController.send(document.title)", 53 L"window.domAutomationController.send(document.title)",
53 &result)); 54 &result));
54 EXPECT_EQ(result, "Loaded"); 55 EXPECT_EQ(result, "Loaded");
55 56
56 // A web host that loads a non-existent extension. 57 // A web host that loads a non-existent extension.
57 GURL non_existent_extension( 58 GURL non_existent_extension(
58 test_server()->GetURL( 59 test_server()->GetURL(
59 "files/extensions/api_test/extension_resource_request_policy/" 60 "files/extensions/api_test/extension_resource_request_policy/"
60 "non_existent_extension.html")); 61 "non_existent_extension.html"));
61 ui_test_utils::NavigateToURL(browser(), non_existent_extension); 62 ui_test_utils::NavigateToURL(browser(), non_existent_extension);
62 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( 63 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
63 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 64 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
64 L"window.domAutomationController.send(document.title)", 65 L"window.domAutomationController.send(document.title)",
65 &result)); 66 &result));
66 EXPECT_EQ(result, "Image failed to load"); 67 EXPECT_EQ(result, "Image failed to load");
67 68
68 // A data URL. Data URLs should always be able to load chrome-extension:// 69 // A data URL. Data URLs should always be able to load chrome-extension://
69 // resources. 70 // resources.
70 std::string file_source; 71 std::string file_source;
71 ASSERT_TRUE(file_util::ReadFileToString( 72 ASSERT_TRUE(file_util::ReadFileToString(
72 test_data_dir_.AppendASCII("extension_resource_request_policy") 73 test_data_dir_.AppendASCII("extension_resource_request_policy")
73 .AppendASCII("index.html"), &file_source)); 74 .AppendASCII("index.html"), &file_source));
74 ui_test_utils::NavigateToURL(browser(), 75 ui_test_utils::NavigateToURL(browser(),
75 GURL(std::string("data:text/html;charset=utf-8,") + file_source)); 76 GURL(std::string("data:text/html;charset=utf-8,") + file_source));
76 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( 77 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
77 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 78 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
78 L"window.domAutomationController.send(document.title)", 79 L"window.domAutomationController.send(document.title)",
79 &result)); 80 &result));
80 EXPECT_EQ(result, "Loaded"); 81 EXPECT_EQ(result, "Loaded");
81 82
82 // A different extension. Legacy (manifest_version 1) extensions should always 83 // A different extension. Legacy (manifest_version 1) extensions should always
83 // be able to load each other's resources. 84 // be able to load each other's resources.
84 ASSERT_TRUE(LoadExtension(test_data_dir_ 85 ASSERT_TRUE(LoadExtension(test_data_dir_
85 .AppendASCII("extension_resource_request_policy") 86 .AppendASCII("extension_resource_request_policy")
86 .AppendASCII("extension2"))); 87 .AppendASCII("extension2")));
87 ui_test_utils::NavigateToURL( 88 ui_test_utils::NavigateToURL(
88 browser(), 89 browser(),
89 GURL("chrome-extension://pbkkcbgdkliohhfaeefcijaghglkahja/index.html")); 90 GURL("chrome-extension://pbkkcbgdkliohhfaeefcijaghglkahja/index.html"));
90 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( 91 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
91 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 92 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
92 L"window.domAutomationController.send(document.title)", 93 L"window.domAutomationController.send(document.title)",
93 &result)); 94 &result));
94 EXPECT_EQ(result, "Loaded"); 95 EXPECT_EQ(result, "Loaded");
95 } 96 }
96 97
97 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, 98 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest,
98 ExtensionCanLoadHostedAppIcons) { 99 ExtensionCanLoadHostedAppIcons) {
99 ASSERT_TRUE(LoadExtension(test_data_dir_ 100 ASSERT_TRUE(LoadExtension(test_data_dir_
100 .AppendASCII("extension_resource_request_policy") 101 .AppendASCII("extension_resource_request_policy")
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 ASSERT_TRUE(test_server()->Start()); 137 ASSERT_TRUE(test_server()->Start());
137 ASSERT_TRUE(LoadExtension(test_data_dir_ 138 ASSERT_TRUE(LoadExtension(test_data_dir_
138 .AppendASCII("extension_resource_request_policy") 139 .AppendASCII("extension_resource_request_policy")
139 .AppendASCII("web_accessible"))); 140 .AppendASCII("web_accessible")));
140 141
141 GURL accessible_resource( 142 GURL accessible_resource(
142 test_server()->GetURL( 143 test_server()->GetURL(
143 "files/extensions/api_test/extension_resource_request_policy/" 144 "files/extensions/api_test/extension_resource_request_policy/"
144 "web_accessible/accessible_resource.html")); 145 "web_accessible/accessible_resource.html"));
145 ui_test_utils::NavigateToURL(browser(), accessible_resource); 146 ui_test_utils::NavigateToURL(browser(), accessible_resource);
146 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( 147 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
147 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 148 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
148 L"window.domAutomationController.send(document.title)", 149 L"window.domAutomationController.send(document.title)",
149 &result)); 150 &result));
150 EXPECT_EQ("Loaded", result); 151 EXPECT_EQ("Loaded", result);
151 152
152 GURL xhr_accessible_resource( 153 GURL xhr_accessible_resource(
153 test_server()->GetURL( 154 test_server()->GetURL(
154 "files/extensions/api_test/extension_resource_request_policy/" 155 "files/extensions/api_test/extension_resource_request_policy/"
155 "web_accessible/xhr_accessible_resource.html")); 156 "web_accessible/xhr_accessible_resource.html"));
156 ui_test_utils::NavigateToURL( 157 ui_test_utils::NavigateToURL(
157 browser(), xhr_accessible_resource); 158 browser(), xhr_accessible_resource);
158 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( 159 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
159 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 160 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
160 L"window.domAutomationController.send(document.title)", 161 L"window.domAutomationController.send(document.title)",
161 &result)); 162 &result));
162 EXPECT_EQ("XHR completed with status: 200", result); 163 EXPECT_EQ("XHR completed with status: 200", result);
163 164
164 GURL xhr_inaccessible_resource( 165 GURL xhr_inaccessible_resource(
165 test_server()->GetURL( 166 test_server()->GetURL(
166 "files/extensions/api_test/extension_resource_request_policy/" 167 "files/extensions/api_test/extension_resource_request_policy/"
167 "web_accessible/xhr_inaccessible_resource.html")); 168 "web_accessible/xhr_inaccessible_resource.html"));
168 ui_test_utils::NavigateToURL( 169 ui_test_utils::NavigateToURL(
169 browser(), xhr_inaccessible_resource); 170 browser(), xhr_inaccessible_resource);
170 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( 171 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
171 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 172 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
172 L"window.domAutomationController.send(document.title)", 173 L"window.domAutomationController.send(document.title)",
173 &result)); 174 &result));
174 EXPECT_EQ("XHR failed to load resource", result); 175 EXPECT_EQ("XHR failed to load resource", result);
175 176
176 GURL nonaccessible_resource( 177 GURL nonaccessible_resource(
177 test_server()->GetURL( 178 test_server()->GetURL(
178 "files/extensions/api_test/extension_resource_request_policy/" 179 "files/extensions/api_test/extension_resource_request_policy/"
179 "web_accessible/nonaccessible_resource.html")); 180 "web_accessible/nonaccessible_resource.html"));
180 ui_test_utils::NavigateToURL(browser(), nonaccessible_resource); 181 ui_test_utils::NavigateToURL(browser(), nonaccessible_resource);
181 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( 182 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
182 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 183 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
183 L"window.domAutomationController.send(document.title)", 184 L"window.domAutomationController.send(document.title)",
184 &result)); 185 &result));
185 EXPECT_EQ("Image failed to load", result); 186 EXPECT_EQ("Image failed to load", result);
186 187
187 GURL nonexistent_resource( 188 GURL nonexistent_resource(
188 test_server()->GetURL( 189 test_server()->GetURL(
189 "files/extensions/api_test/extension_resource_request_policy/" 190 "files/extensions/api_test/extension_resource_request_policy/"
190 "web_accessible/nonexistent_resource.html")); 191 "web_accessible/nonexistent_resource.html"));
191 ui_test_utils::NavigateToURL(browser(), nonexistent_resource); 192 ui_test_utils::NavigateToURL(browser(), nonexistent_resource);
192 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( 193 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
193 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 194 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
194 L"window.domAutomationController.send(document.title)", 195 L"window.domAutomationController.send(document.title)",
195 &result)); 196 &result));
196 EXPECT_EQ("Image failed to load", result); 197 EXPECT_EQ("Image failed to load", result);
197 198
198 GURL nonaccessible_cer_resource( 199 GURL nonaccessible_cer_resource(
199 test_server()->GetURL( 200 test_server()->GetURL(
200 "files/extensions/api_test/extension_resource_request_policy/" 201 "files/extensions/api_test/extension_resource_request_policy/"
201 "web_accessible/nonaccessible_chrome_resource_scheme.html")); 202 "web_accessible/nonaccessible_chrome_resource_scheme.html"));
202 ui_test_utils::NavigateToURL(browser(), nonaccessible_cer_resource); 203 ui_test_utils::NavigateToURL(browser(), nonaccessible_cer_resource);
203 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( 204 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
204 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 205 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
205 L"window.domAutomationController.send(document.title)", 206 L"window.domAutomationController.send(document.title)",
206 &result)); 207 &result));
207 EXPECT_EQ("Loading CER:// failed.", result); 208 EXPECT_EQ("Loading CER:// failed.", result);
208 } 209 }
209 210
210 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, Iframe) { 211 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, Iframe) {
211 // 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
212 // resources from. 213 // resources from.
213 ASSERT_TRUE(LoadExtension(test_data_dir_ 214 ASSERT_TRUE(LoadExtension(test_data_dir_
214 .AppendASCII("extension_resource_request_policy") 215 .AppendASCII("extension_resource_request_policy")
215 .AppendASCII("inaccessible"))); 216 .AppendASCII("inaccessible")));
216 EXPECT_TRUE(RunExtensionSubtest( 217 EXPECT_TRUE(RunExtensionSubtest(
217 "extension_resource_request_policy/web_accessible", 218 "extension_resource_request_policy/web_accessible",
218 "iframe.html")); 219 "iframe.html"));
219 } 220 }
220 221
221 #if defined(OS_MACOSX) 222 #if defined(OS_MACOSX)
222 #define MAYBE_ExtensionAccessibleResources FLAKY_ExtensionAccessibleResources 223 #define MAYBE_ExtensionAccessibleResources FLAKY_ExtensionAccessibleResources
223 #else 224 #else
224 #define MAYBE_ExtensionAccessibleResources ExtensionAccessibleResources 225 #define MAYBE_ExtensionAccessibleResources ExtensionAccessibleResources
225 #endif 226 #endif
226 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, 227 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest,
227 MAYBE_ExtensionAccessibleResources) { 228 MAYBE_ExtensionAccessibleResources) {
228 ASSERT_TRUE(RunExtensionSubtest("accessible_cer", "main.html")) << message_; 229 ASSERT_TRUE(RunExtensionSubtest("accessible_cer", "main.html")) << message_;
229 } 230 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_nacl_browsertest.cc ('k') | chrome/browser/extensions/extension_startup_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698