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

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

Issue 11728003: Change ExecuteJavaScript* helper functions in browser_test_utils.{h,cc} (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Adding files for gpu_tests and NaCl browser tests. Created 7 years, 11 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"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 44
45 std::string host_b("b.com"); 45 std::string host_b("b.com");
46 GURL::Replacements make_host_b_com; 46 GURL::Replacements make_host_b_com;
47 make_host_b_com.SetHostStr(host_b); 47 make_host_b_com.SetHostStr(host_b);
48 48
49 // A web host that has permission. 49 // A web host that has permission.
50 ui_test_utils::NavigateToURL( 50 ui_test_utils::NavigateToURL(
51 browser(), web_resource.ReplaceComponents(make_host_a_com)); 51 browser(), web_resource.ReplaceComponents(make_host_a_com));
52 std::string result; 52 std::string result;
53 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 53 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
54 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 54 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
55 L"window.domAutomationController.send(document.title)", 55 "",
56 &result)); 56 "window.domAutomationController.send(document.title)",
57 &result));
57 EXPECT_EQ(result, "Loaded"); 58 EXPECT_EQ(result, "Loaded");
58 59
59 // A web host that loads a non-existent extension. 60 // A web host that loads a non-existent extension.
60 GURL non_existent_extension( 61 GURL non_existent_extension(
61 test_server()->GetURL( 62 test_server()->GetURL(
62 "files/extensions/api_test/extension_resource_request_policy/" 63 "files/extensions/api_test/extension_resource_request_policy/"
63 "non_existent_extension.html")); 64 "non_existent_extension.html"));
64 ui_test_utils::NavigateToURL(browser(), non_existent_extension); 65 ui_test_utils::NavigateToURL(browser(), non_existent_extension);
65 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 66 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
66 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 67 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
67 L"window.domAutomationController.send(document.title)", 68 "",
68 &result)); 69 "window.domAutomationController.send(document.title)",
70 &result));
69 EXPECT_EQ(result, "Image failed to load"); 71 EXPECT_EQ(result, "Image failed to load");
70 72
71 // A data URL. Data URLs should always be able to load chrome-extension:// 73 // A data URL. Data URLs should always be able to load chrome-extension://
72 // resources. 74 // resources.
73 std::string file_source; 75 std::string file_source;
74 ASSERT_TRUE(file_util::ReadFileToString( 76 ASSERT_TRUE(file_util::ReadFileToString(
75 test_data_dir_.AppendASCII("extension_resource_request_policy") 77 test_data_dir_.AppendASCII("extension_resource_request_policy")
76 .AppendASCII("index.html"), &file_source)); 78 .AppendASCII("index.html"), &file_source));
77 ui_test_utils::NavigateToURL(browser(), 79 ui_test_utils::NavigateToURL(browser(),
78 GURL(std::string("data:text/html;charset=utf-8,") + file_source)); 80 GURL(std::string("data:text/html;charset=utf-8,") + file_source));
79 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 81 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
80 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 82 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
81 L"window.domAutomationController.send(document.title)", 83 "",
84 "window.domAutomationController.send(document.title)",
82 &result)); 85 &result));
83 EXPECT_EQ(result, "Loaded"); 86 EXPECT_EQ(result, "Loaded");
84 87
85 // A different extension. Legacy (manifest_version 1) extensions should always 88 // A different extension. Legacy (manifest_version 1) extensions should always
86 // be able to load each other's resources. 89 // be able to load each other's resources.
87 ASSERT_TRUE(LoadExtensionWithFlags(test_data_dir_ 90 ASSERT_TRUE(LoadExtensionWithFlags(test_data_dir_
88 .AppendASCII("extension_resource_request_policy") 91 .AppendASCII("extension_resource_request_policy")
89 .AppendASCII("extension2"), 92 .AppendASCII("extension2"),
90 // Tests manifest_version 1 behavior, so warnings are expected. 93 // Tests manifest_version 1 behavior, so warnings are expected.
91 ExtensionBrowserTest::kFlagIgnoreManifestWarnings)); 94 ExtensionBrowserTest::kFlagIgnoreManifestWarnings));
92 ui_test_utils::NavigateToURL( 95 ui_test_utils::NavigateToURL(
93 browser(), 96 browser(),
94 GURL("chrome-extension://pbkkcbgdkliohhfaeefcijaghglkahja/index.html")); 97 GURL("chrome-extension://pbkkcbgdkliohhfaeefcijaghglkahja/index.html"));
95 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 98 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
96 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 99 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
97 L"window.domAutomationController.send(document.title)", 100 "",
101 "window.domAutomationController.send(document.title)",
98 &result)); 102 &result));
99 EXPECT_EQ(result, "Loaded"); 103 EXPECT_EQ(result, "Loaded");
100 } 104 }
101 105
102 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, 106 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest,
103 ExtensionCanLoadHostedAppIcons) { 107 ExtensionCanLoadHostedAppIcons) {
104 ASSERT_TRUE(LoadExtensionWithFlags(test_data_dir_ 108 ASSERT_TRUE(LoadExtensionWithFlags(test_data_dir_
105 .AppendASCII("extension_resource_request_policy") 109 .AppendASCII("extension_resource_request_policy")
106 .AppendASCII("extension"), 110 .AppendASCII("extension"),
107 // Tests manifest_version 1 behavior, so warnings are expected. 111 // Tests manifest_version 1 behavior, so warnings are expected.
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 ASSERT_TRUE(LoadExtension(test_data_dir_ 154 ASSERT_TRUE(LoadExtension(test_data_dir_
151 .AppendASCII("extension_resource_request_policy") 155 .AppendASCII("extension_resource_request_policy")
152 .AppendASCII("web_accessible"))); 156 .AppendASCII("web_accessible")));
153 157
154 GURL accessible_resource( 158 GURL accessible_resource(
155 test_server()->GetURL( 159 test_server()->GetURL(
156 "files/extensions/api_test/extension_resource_request_policy/" 160 "files/extensions/api_test/extension_resource_request_policy/"
157 "web_accessible/accessible_resource.html")); 161 "web_accessible/accessible_resource.html"));
158 ui_test_utils::NavigateToURL(browser(), accessible_resource); 162 ui_test_utils::NavigateToURL(browser(), accessible_resource);
159 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 163 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
160 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 164 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
161 L"window.domAutomationController.send(document.title)", 165 "",
162 &result)); 166 "window.domAutomationController.send(document.title)",
167 &result));
163 EXPECT_EQ("Loaded", result); 168 EXPECT_EQ("Loaded", result);
164 169
165 GURL xhr_accessible_resource( 170 GURL xhr_accessible_resource(
166 test_server()->GetURL( 171 test_server()->GetURL(
167 "files/extensions/api_test/extension_resource_request_policy/" 172 "files/extensions/api_test/extension_resource_request_policy/"
168 "web_accessible/xhr_accessible_resource.html")); 173 "web_accessible/xhr_accessible_resource.html"));
169 ui_test_utils::NavigateToURL( 174 ui_test_utils::NavigateToURL(
170 browser(), xhr_accessible_resource); 175 browser(), xhr_accessible_resource);
171 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 176 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
172 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 177 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
173 L"window.domAutomationController.send(document.title)", 178 "",
174 &result)); 179 "window.domAutomationController.send(document.title)",
180 &result));
175 EXPECT_EQ("XHR completed with status: 200", result); 181 EXPECT_EQ("XHR completed with status: 200", result);
176 182
177 GURL xhr_inaccessible_resource( 183 GURL xhr_inaccessible_resource(
178 test_server()->GetURL( 184 test_server()->GetURL(
179 "files/extensions/api_test/extension_resource_request_policy/" 185 "files/extensions/api_test/extension_resource_request_policy/"
180 "web_accessible/xhr_inaccessible_resource.html")); 186 "web_accessible/xhr_inaccessible_resource.html"));
181 ui_test_utils::NavigateToURL( 187 ui_test_utils::NavigateToURL(
182 browser(), xhr_inaccessible_resource); 188 browser(), xhr_inaccessible_resource);
183 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 189 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
184 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 190 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
185 L"window.domAutomationController.send(document.title)", 191 "",
186 &result)); 192 "window.domAutomationController.send(document.title)",
193 &result));
187 EXPECT_EQ("XHR failed to load resource", result); 194 EXPECT_EQ("XHR failed to load resource", result);
188 195
189 GURL nonaccessible_resource( 196 GURL nonaccessible_resource(
190 test_server()->GetURL( 197 test_server()->GetURL(
191 "files/extensions/api_test/extension_resource_request_policy/" 198 "files/extensions/api_test/extension_resource_request_policy/"
192 "web_accessible/nonaccessible_resource.html")); 199 "web_accessible/nonaccessible_resource.html"));
193 ui_test_utils::NavigateToURL(browser(), nonaccessible_resource); 200 ui_test_utils::NavigateToURL(browser(), nonaccessible_resource);
194 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 201 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
195 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 202 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
196 L"window.domAutomationController.send(document.title)", 203 "",
197 &result)); 204 "window.domAutomationController.send(document.title)",
205 &result));
198 EXPECT_EQ("Image failed to load", result); 206 EXPECT_EQ("Image failed to load", result);
199 207
200 GURL nonexistent_resource( 208 GURL nonexistent_resource(
201 test_server()->GetURL( 209 test_server()->GetURL(
202 "files/extensions/api_test/extension_resource_request_policy/" 210 "files/extensions/api_test/extension_resource_request_policy/"
203 "web_accessible/nonexistent_resource.html")); 211 "web_accessible/nonexistent_resource.html"));
204 ui_test_utils::NavigateToURL(browser(), nonexistent_resource); 212 ui_test_utils::NavigateToURL(browser(), nonexistent_resource);
205 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 213 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
206 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 214 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
207 L"window.domAutomationController.send(document.title)", 215 "",
208 &result)); 216 "window.domAutomationController.send(document.title)",
217 &result));
209 EXPECT_EQ("Image failed to load", result); 218 EXPECT_EQ("Image failed to load", result);
210 219
211 GURL nonaccessible_cer_resource( 220 GURL nonaccessible_cer_resource(
212 test_server()->GetURL( 221 test_server()->GetURL(
213 "files/extensions/api_test/extension_resource_request_policy/" 222 "files/extensions/api_test/extension_resource_request_policy/"
214 "web_accessible/nonaccessible_chrome_resource_scheme.html")); 223 "web_accessible/nonaccessible_chrome_resource_scheme.html"));
215 ui_test_utils::NavigateToURL(browser(), nonaccessible_cer_resource); 224 ui_test_utils::NavigateToURL(browser(), nonaccessible_cer_resource);
216 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 225 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
217 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 226 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
218 L"window.domAutomationController.send(document.title)", 227 "",
219 &result)); 228 "window.domAutomationController.send(document.title)",
229 &result));
220 EXPECT_EQ("Loading CER:// failed.", result); 230 EXPECT_EQ("Loading CER:// failed.", result);
221 231
222 GURL newtab_page("chrome://newtab"); 232 GURL newtab_page("chrome://newtab");
223 GURL accessible_newtab_override( 233 GURL accessible_newtab_override(
224 test_server()->GetURL( 234 test_server()->GetURL(
225 "files/extensions/api_test/extension_resource_request_policy/" 235 "files/extensions/api_test/extension_resource_request_policy/"
226 "web_accessible/accessible_history_navigation.html")); 236 "web_accessible/accessible_history_navigation.html"));
227 ui_test_utils::NavigateToURL(browser(), newtab_page); 237 ui_test_utils::NavigateToURL(browser(), newtab_page);
228 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete( 238 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(
229 browser(), accessible_newtab_override, 2); 239 browser(), accessible_newtab_override, 2);
230 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 240 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
231 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 241 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
232 L"window.domAutomationController.send(document.title)", 242 "",
233 &result)); 243 "window.domAutomationController.send(document.title)",
244 &result));
234 EXPECT_EQ("New Tab Page Loaded Successfully", result); 245 EXPECT_EQ("New Tab Page Loaded Successfully", result);
235 } 246 }
236 247
237 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, 248 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest,
238 WebAccessibleResourcesWithCSP) { 249 WebAccessibleResourcesWithCSP) {
239 std::string result; 250 std::string result;
240 ASSERT_TRUE(test_server()->Start()); 251 ASSERT_TRUE(test_server()->Start());
241 ASSERT_TRUE(LoadExtension(test_data_dir_ 252 ASSERT_TRUE(LoadExtension(test_data_dir_
242 .AppendASCII("extension_resource_request_policy") 253 .AppendASCII("extension_resource_request_policy")
243 .AppendASCII("web_accessible"))); 254 .AppendASCII("web_accessible")));
244 255
245 GURL accessible_resource_with_csp( 256 GURL accessible_resource_with_csp(
246 test_server()->GetURL( 257 test_server()->GetURL(
247 "files/extensions/api_test/extension_resource_request_policy/" 258 "files/extensions/api_test/extension_resource_request_policy/"
248 "web_accessible/accessible_resource_with_csp.html")); 259 "web_accessible/accessible_resource_with_csp.html"));
249 ui_test_utils::NavigateToURL(browser(), accessible_resource_with_csp); 260 ui_test_utils::NavigateToURL(browser(), accessible_resource_with_csp);
250 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString( 261 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
251 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", 262 chrome::GetActiveWebContents(browser())->GetRenderViewHost(),
252 L"window.domAutomationController.send(document.title)", 263 "",
253 &result)); 264 "window.domAutomationController.send(document.title)",
265 &result));
254 EXPECT_EQ("Loaded", result); 266 EXPECT_EQ("Loaded", result);
255 } 267 }
256 268
257 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, Iframe) { 269 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, Iframe) {
258 // Load another extension, which the test one shouldn't be able to get 270 // Load another extension, which the test one shouldn't be able to get
259 // resources from. 271 // resources from.
260 ASSERT_TRUE(LoadExtension(test_data_dir_ 272 ASSERT_TRUE(LoadExtension(test_data_dir_
261 .AppendASCII("extension_resource_request_policy") 273 .AppendASCII("extension_resource_request_policy")
262 .AppendASCII("inaccessible"))); 274 .AppendASCII("inaccessible")));
263 EXPECT_TRUE(RunExtensionSubtest( 275 EXPECT_TRUE(RunExtensionSubtest(
264 "extension_resource_request_policy/web_accessible", 276 "extension_resource_request_policy/web_accessible",
265 "iframe.html")) << message_; 277 "iframe.html")) << message_;
266 } 278 }
267 279
268 #if defined(OS_MACOSX) 280 #if defined(OS_MACOSX)
269 #define MAYBE_ExtensionAccessibleResources DISABLED_ExtensionAccessibleResources 281 #define MAYBE_ExtensionAccessibleResources DISABLED_ExtensionAccessibleResources
270 #else 282 #else
271 #define MAYBE_ExtensionAccessibleResources ExtensionAccessibleResources 283 #define MAYBE_ExtensionAccessibleResources ExtensionAccessibleResources
272 #endif 284 #endif
273 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, 285 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest,
274 MAYBE_ExtensionAccessibleResources) { 286 MAYBE_ExtensionAccessibleResources) {
275 ASSERT_TRUE(RunExtensionSubtest("accessible_cer", "main.html")) << message_; 287 ASSERT_TRUE(RunExtensionSubtest("accessible_cer", "main.html")) << message_;
276 } 288 }
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