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

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

Issue 2221193002: Add testing configs for ParseHTMLOnMainThread experiment (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nits Created 4 years, 4 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
« no previous file with comments | « no previous file | testing/variations/fieldtrial_testing_config_android.json » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/command_line.h" 5 #include "base/command_line.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 #include "chrome/browser/extensions/extension_apitest.h" 8 #include "chrome/browser/extensions/extension_apitest.h"
9 #include "chrome/browser/ui/browser.h" 9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/browser/ui/tabs/tab_strip_model.h" 10 #include "chrome/browser/ui/tabs/tab_strip_model.h"
11 #include "chrome/common/chrome_switches.h" 11 #include "chrome/common/chrome_switches.h"
12 #include "chrome/test/base/test_switches.h" 12 #include "chrome/test/base/test_switches.h"
13 #include "chrome/test/base/ui_test_utils.h" 13 #include "chrome/test/base/ui_test_utils.h"
14 #include "content/public/browser/navigation_handle.h" 14 #include "content/public/browser/navigation_handle.h"
15 #include "content/public/browser/notification_service.h"
15 #include "content/public/browser/web_contents.h" 16 #include "content/public/browser/web_contents.h"
16 #include "content/public/browser/web_contents_observer.h" 17 #include "content/public/browser/web_contents_observer.h"
17 #include "content/public/test/browser_test_utils.h" 18 #include "content/public/test/browser_test_utils.h"
18 #include "extensions/common/switches.h" 19 #include "extensions/common/switches.h"
19 #include "net/dns/mock_host_resolver.h" 20 #include "net/dns/mock_host_resolver.h"
20 #include "net/test/embedded_test_server/embedded_test_server.h" 21 #include "net/test/embedded_test_server/embedded_test_server.h"
21 #include "url/gurl.h" 22 #include "url/gurl.h"
22 23
23 class ExtensionResourceRequestPolicyTest : public ExtensionApiTest { 24 class ExtensionResourceRequestPolicyTest : public ExtensionApiTest {
24 protected: 25 protected:
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 browser()->tab_strip_model()->GetActiveWebContents(), 229 browser()->tab_strip_model()->GetActiveWebContents(),
229 "window.domAutomationController.send(document.title)", 230 "window.domAutomationController.send(document.title)",
230 &result)); 231 &result));
231 EXPECT_EQ("New Tab Page Loaded Successfully", result); 232 EXPECT_EQ("New Tab Page Loaded Successfully", result);
232 } 233 }
233 234
234 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, 235 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest,
235 LinkToWebAccessibleResources) { 236 LinkToWebAccessibleResources) {
236 std::string result; 237 std::string result;
237 ASSERT_TRUE(embedded_test_server()->Start()); 238 ASSERT_TRUE(embedded_test_server()->Start());
238 ASSERT_TRUE(LoadExtension(test_data_dir_ 239 const extensions::Extension* extension = LoadExtension(
239 .AppendASCII("extension_resource_request_policy") 240 test_data_dir_.AppendASCII("extension_resource_request_policy")
240 .AppendASCII("web_accessible"))); 241 .AppendASCII("web_accessible"));
242 ASSERT_TRUE(extension);
241 243
242 GURL accessible_linked_resource(embedded_test_server()->GetURL( 244 GURL accessible_linked_resource(embedded_test_server()->GetURL(
243 "/extensions/api_test/extension_resource_request_policy/" 245 "/extensions/api_test/extension_resource_request_policy/"
244 "web_accessible/accessible_link_resource.html")); 246 "web_accessible/accessible_link_resource.html"));
245 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete( 247 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(
246 browser(), accessible_linked_resource, 1); 248 browser(), accessible_linked_resource, 1);
247 ASSERT_TRUE(content::ExecuteScriptAndExtractString( 249 ASSERT_TRUE(content::ExecuteScriptAndExtractString(
248 browser()->tab_strip_model()->GetActiveWebContents(), 250 browser()->tab_strip_model()->GetActiveWebContents(),
249 "window.domAutomationController.send(document.URL)", 251 "window.domAutomationController.send(document.URL)",
250 &result)); 252 &result));
251 EXPECT_NE("about:blank", result); 253 EXPECT_NE("about:blank", result);
252 254
253 GURL nonaccessible_linked_resource(embedded_test_server()->GetURL( 255 GURL nonaccessible_linked_resource(embedded_test_server()->GetURL(
254 "/extensions/api_test/extension_resource_request_policy/" 256 "/extensions/api_test/extension_resource_request_policy/"
255 "web_accessible/nonaccessible_link_resource.html")); 257 "web_accessible/nonaccessible_link_resource.html"));
256 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), 258 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(),
257 nonaccessible_linked_resource, 2); 259 nonaccessible_linked_resource, 2);
258 ASSERT_TRUE(content::ExecuteScriptAndExtractString( 260 ASSERT_TRUE(content::ExecuteScriptAndExtractString(
259 browser()->tab_strip_model()->GetActiveWebContents(), 261 browser()->tab_strip_model()->GetActiveWebContents(),
260 "window.domAutomationController.send(document.URL)", 262 "window.domAutomationController.send(document.URL)",
261 &result)); 263 &result));
262 EXPECT_EQ("about:blank", result); 264 EXPECT_EQ("about:blank", result);
263 265
266
267 // Redirects can sometimes occur before the load event, so use a
268 // UrlLoadObserver instead of blocking waiting for two load events.
269 GURL accessible_url = extension->GetResourceURL("/test.png");
270 ui_test_utils::UrlLoadObserver accessible_observer(
271 accessible_url, content::NotificationService::AllSources());
264 GURL accessible_client_redirect_resource(embedded_test_server()->GetURL( 272 GURL accessible_client_redirect_resource(embedded_test_server()->GetURL(
265 "/extensions/api_test/extension_resource_request_policy/" 273 "/extensions/api_test/extension_resource_request_policy/"
266 "web_accessible/accessible_redirect_resource.html")); 274 "web_accessible/accessible_redirect_resource.html"));
267 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), 275 ui_test_utils::NavigateToURL(browser(), accessible_client_redirect_resource);
268 accessible_client_redirect_resource, 2); 276 accessible_observer.Wait();
269 ASSERT_TRUE(content::ExecuteScriptAndExtractString( 277 EXPECT_EQ(accessible_url, browser()
270 browser()->tab_strip_model()->GetActiveWebContents(), 278 ->tab_strip_model()
271 "window.domAutomationController.send(document.URL)", 279 ->GetActiveWebContents()
272 &result)); 280 ->GetLastCommittedURL());
273 EXPECT_NE("about:blank", result);
274 281
282 ui_test_utils::UrlLoadObserver nonaccessible_observer(
283 GURL("about:blank"), content::NotificationService::AllSources());
275 GURL nonaccessible_client_redirect_resource(embedded_test_server()->GetURL( 284 GURL nonaccessible_client_redirect_resource(embedded_test_server()->GetURL(
276 "/extensions/api_test/extension_resource_request_policy/" 285 "/extensions/api_test/extension_resource_request_policy/"
277 "web_accessible/nonaccessible_redirect_resource.html")); 286 "web_accessible/nonaccessible_redirect_resource.html"));
278 ui_test_utils::NavigateToURLBlockUntilNavigationsComplete(browser(), 287 ui_test_utils::NavigateToURL(browser(),
279 nonaccessible_client_redirect_resource, 2); 288 nonaccessible_client_redirect_resource);
280 ASSERT_TRUE(content::ExecuteScriptAndExtractString( 289 nonaccessible_observer.Wait();
281 browser()->tab_strip_model()->GetActiveWebContents(), 290 EXPECT_EQ(GURL("about:blank"), browser()
282 "window.domAutomationController.send(document.URL)", 291 ->tab_strip_model()
283 &result)); 292 ->GetActiveWebContents()
284 EXPECT_EQ("about:blank", result); 293 ->GetLastCommittedURL());
285 } 294 }
286 295
287 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest, 296 IN_PROC_BROWSER_TEST_F(ExtensionResourceRequestPolicyTest,
288 WebAccessibleResourcesWithCSP) { 297 WebAccessibleResourcesWithCSP) {
289 std::string result; 298 std::string result;
290 ASSERT_TRUE(embedded_test_server()->Start()); 299 ASSERT_TRUE(embedded_test_server()->Start());
291 ASSERT_TRUE(LoadExtension(test_data_dir_ 300 ASSERT_TRUE(LoadExtension(test_data_dir_
292 .AppendASCII("extension_resource_request_policy") 301 .AppendASCII("extension_resource_request_policy")
293 .AppendASCII("web_accessible"))); 302 .AppendASCII("web_accessible")));
294 303
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 381
373 content::WebContents* web_contents = 382 content::WebContents* web_contents =
374 browser()->tab_strip_model()->GetActiveWebContents(); 383 browser()->tab_strip_model()->GetActiveWebContents();
375 384
376 GURL private_page( 385 GURL private_page(
377 "chrome-extension://kegmjfcnjamahdnldjmlpachmpielcdk/private.html"); 386 "chrome-extension://kegmjfcnjamahdnldjmlpachmpielcdk/private.html");
378 NavigationErrorObserver observer(web_contents, private_page); 387 NavigationErrorObserver observer(web_contents, private_page);
379 ASSERT_TRUE(content::ExecuteScript(web_contents, "navigateFrameNow()")); 388 ASSERT_TRUE(content::ExecuteScript(web_contents, "navigateFrameNow()"));
380 observer.Wait(); 389 observer.Wait();
381 } 390 }
OLDNEW
« no previous file with comments | « no previous file | testing/variations/fieldtrial_testing_config_android.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698