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

Side by Side Diff: chrome/browser/chrome_service_worker_browsertest.cc

Issue 2783623003: Fetch API: Don't exclude the URL fragment in Request#url (Closed)
Patch Set: address comments Created 3 years, 8 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 | third_party/WebKit/LayoutTests/external/wpt/fetch/api/request/request-init-003.sub-expected.txt » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // This file tests that Service Workers (a Content feature) work in the Chromium 5 // This file tests that Service Workers (a Content feature) work in the Chromium
6 // embedder. 6 // embedder.
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 void SetUpOnMainThread() override { 427 void SetUpOnMainThread() override {
428 base::FilePath document_root; 428 base::FilePath document_root;
429 ASSERT_TRUE(ui_test_utils::GetRelativeBuildDirectory(&document_root)); 429 ASSERT_TRUE(ui_test_utils::GetRelativeBuildDirectory(&document_root));
430 embedded_test_server()->AddDefaultHandlers( 430 embedded_test_server()->AddDefaultHandlers(
431 document_root.Append(FILE_PATH_LITERAL("nacl_test_data")) 431 document_root.Append(FILE_PATH_LITERAL("nacl_test_data"))
432 .Append(FILE_PATH_LITERAL("pnacl"))); 432 .Append(FILE_PATH_LITERAL("pnacl")));
433 ChromeServiceWorkerFetchTest::SetUpOnMainThread(); 433 ChromeServiceWorkerFetchTest::SetUpOnMainThread();
434 test_page_url_ = GetURL("/pnacl_url_loader.html"); 434 test_page_url_ = GetURL("/pnacl_url_loader.html");
435 } 435 }
436 436
437 std::string GetRequestStringForPNACL() const { 437 std::string GetRequestStringForPNACL(const std::string& fragment) const {
438 return RequestString(test_page_url_, "navigate", "include") + 438 return RequestString(test_page_url_ + fragment, "navigate", "include") +
439 RequestString(GetURL("/pnacl_url_loader.nmf"), "same-origin", 439 RequestString(GetURL("/pnacl_url_loader.nmf"), "same-origin",
440 "include") + 440 "include") +
441 RequestString(GetURL("/pnacl_url_loader_newlib_pnacl.pexe"), 441 RequestString(GetURL("/pnacl_url_loader_newlib_pnacl.pexe"),
442 "same-origin", "include"); 442 "same-origin", "include");
443 } 443 }
444 444
445 std::string ExecutePNACLUrlLoaderTest(const std::string& mode) { 445 std::string ExecutePNACLUrlLoaderTest(const std::string& mode) {
446 std::string result(ExecuteScriptAndExtractString( 446 std::string result(ExecuteScriptAndExtractString(
447 base::StringPrintf("reportOnFetch = false;" 447 base::StringPrintf("reportOnFetch = false;"
448 "var iframe = document.createElement('iframe');" 448 "var iframe = document.createElement('iframe');"
449 "iframe.src='%s#%s';" 449 "iframe.src='%s#%s';"
450 "document.body.appendChild(iframe);", 450 "document.body.appendChild(iframe);",
451 test_page_url_.c_str(), mode.c_str()))); 451 test_page_url_.c_str(), mode.c_str())));
452 EXPECT_EQ(base::StringPrintf("OnOpen%s", mode.c_str()), result); 452 EXPECT_EQ(base::StringPrintf("OnOpen%s", mode.c_str()), result);
453 return ExecuteScriptAndExtractString("reportRequests();"); 453 return ExecuteScriptAndExtractString("reportRequests();");
454 } 454 }
455 455
456 private: 456 private:
457 std::string test_page_url_; 457 std::string test_page_url_;
458 458
459 DISALLOW_COPY_AND_ASSIGN(ChromeServiceWorkerFetchPPAPITest); 459 DISALLOW_COPY_AND_ASSIGN(ChromeServiceWorkerFetchPPAPITest);
460 }; 460 };
461 461
462 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, SameOrigin) { 462 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, SameOrigin) {
463 // In pnacl_url_loader.cc: 463 // In pnacl_url_loader.cc:
464 // request.SetMethod("GET"); 464 // request.SetMethod("GET");
465 // request.SetURL("/echo"); 465 // request.SetURL("/echo");
466 EXPECT_EQ(GetRequestStringForPNACL() + 466 EXPECT_EQ(GetRequestStringForPNACL("#Same") +
467 RequestString(GetURL("/echo"), "same-origin", "include"), 467 RequestString(GetURL("/echo"), "same-origin", "include"),
468 ExecutePNACLUrlLoaderTest("Same")); 468 ExecutePNACLUrlLoaderTest("Same"));
469 } 469 }
470 470
471 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, SameOriginCORS) { 471 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, SameOriginCORS) {
472 // In pnacl_url_loader.cc: 472 // In pnacl_url_loader.cc:
473 // request.SetMethod("GET"); 473 // request.SetMethod("GET");
474 // request.SetURL("/echo"); 474 // request.SetURL("/echo");
475 // request.SetAllowCrossOriginRequests(true); 475 // request.SetAllowCrossOriginRequests(true);
476 EXPECT_EQ(GetRequestStringForPNACL() + 476 EXPECT_EQ(GetRequestStringForPNACL("#SameCORS") +
477 RequestString(GetURL("/echo"), "cors", "same-origin"), 477 RequestString(GetURL("/echo"), "cors", "same-origin"),
478 ExecutePNACLUrlLoaderTest("SameCORS")); 478 ExecutePNACLUrlLoaderTest("SameCORS"));
479 } 479 }
480 480
481 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, 481 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest,
482 SameOriginCredentials) { 482 SameOriginCredentials) {
483 // In pnacl_url_loader.cc: 483 // In pnacl_url_loader.cc:
484 // request.SetMethod("GET"); 484 // request.SetMethod("GET");
485 // request.SetURL("/echo"); 485 // request.SetURL("/echo");
486 // request.SetAllowCredentials(true); 486 // request.SetAllowCredentials(true);
487 EXPECT_EQ(GetRequestStringForPNACL() + 487 EXPECT_EQ(GetRequestStringForPNACL("#SameCredentials") +
488 RequestString(GetURL("/echo"), "same-origin", "include"), 488 RequestString(GetURL("/echo"), "same-origin", "include"),
489 ExecutePNACLUrlLoaderTest("SameCredentials")); 489 ExecutePNACLUrlLoaderTest("SameCredentials"));
490 } 490 }
491 491
492 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, 492 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest,
493 SameOriginCORSCredentials) { 493 SameOriginCORSCredentials) {
494 // In pnacl_url_loader.cc: 494 // In pnacl_url_loader.cc:
495 // request.SetMethod("GET"); 495 // request.SetMethod("GET");
496 // request.SetURL("/echo"); 496 // request.SetURL("/echo");
497 // request.SetAllowCrossOriginRequests(true); 497 // request.SetAllowCrossOriginRequests(true);
498 // request.SetAllowCredentials(true); 498 // request.SetAllowCredentials(true);
499 EXPECT_EQ(GetRequestStringForPNACL() + 499 EXPECT_EQ(GetRequestStringForPNACL("#SameCORSCredentials") +
500 RequestString(GetURL("/echo"), "cors", "include"), 500 RequestString(GetURL("/echo"), "cors", "include"),
501 ExecutePNACLUrlLoaderTest("SameCORSCredentials")); 501 ExecutePNACLUrlLoaderTest("SameCORSCredentials"));
502 } 502 }
503 503
504 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, OtherOrigin) { 504 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, OtherOrigin) {
505 // In pnacl_url_loader.cc: 505 // In pnacl_url_loader.cc:
506 // request.SetMethod("GET"); 506 // request.SetMethod("GET");
507 // request.SetURL("https://www.example.com/echo"); 507 // request.SetURL("https://www.example.com/echo");
508 // This request fails because AllowCrossOriginRequests is not set. 508 // This request fails because AllowCrossOriginRequests is not set.
509 EXPECT_EQ(GetRequestStringForPNACL(), ExecutePNACLUrlLoaderTest("Other")); 509 EXPECT_EQ(GetRequestStringForPNACL("#Other"),
510 ExecutePNACLUrlLoaderTest("Other"));
510 } 511 }
511 512
512 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, OtherOriginCORS) { 513 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, OtherOriginCORS) {
513 // In pnacl_url_loader.cc: 514 // In pnacl_url_loader.cc:
514 // request.SetMethod("GET"); 515 // request.SetMethod("GET");
515 // request.SetURL("https://www.example.com/echo"); 516 // request.SetURL("https://www.example.com/echo");
516 // request.SetAllowCrossOriginRequests(true); 517 // request.SetAllowCrossOriginRequests(true);
517 EXPECT_EQ( 518 EXPECT_EQ(
518 GetRequestStringForPNACL() + 519 GetRequestStringForPNACL("#OtherCORS") +
519 RequestString("https://www.example.com/echo", "cors", "same-origin"), 520 RequestString("https://www.example.com/echo", "cors", "same-origin"),
520 ExecutePNACLUrlLoaderTest("OtherCORS")); 521 ExecutePNACLUrlLoaderTest("OtherCORS"));
521 } 522 }
522 523
523 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, 524 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest,
524 OtherOriginCredentials) { 525 OtherOriginCredentials) {
525 // In pnacl_url_loader.cc: 526 // In pnacl_url_loader.cc:
526 // request.SetMethod("GET"); 527 // request.SetMethod("GET");
527 // request.SetURL("https://www.example.com/echo"); 528 // request.SetURL("https://www.example.com/echo");
528 // request.SetAllowCredentials(true); 529 // request.SetAllowCredentials(true);
529 // This request fails because AllowCrossOriginRequests is not set. 530 // This request fails because AllowCrossOriginRequests is not set.
530 EXPECT_EQ(GetRequestStringForPNACL(), 531 EXPECT_EQ(GetRequestStringForPNACL("#OtherCredentials"),
531 ExecutePNACLUrlLoaderTest("OtherCredentials")); 532 ExecutePNACLUrlLoaderTest("OtherCredentials"));
532 } 533 }
533 534
534 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest, 535 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPITest,
535 OtherOriginCORSCredentials) { 536 OtherOriginCORSCredentials) {
536 // In pnacl_url_loader.cc: 537 // In pnacl_url_loader.cc:
537 // request.SetMethod("GET"); 538 // request.SetMethod("GET");
538 // request.SetURL("https://www.example.com/echo"); 539 // request.SetURL("https://www.example.com/echo");
539 // request.SetAllowCrossOriginRequests(true); 540 // request.SetAllowCrossOriginRequests(true);
540 // request.SetAllowCredentials(true); 541 // request.SetAllowCredentials(true);
541 EXPECT_EQ( 542 EXPECT_EQ(
542 GetRequestStringForPNACL() + 543 GetRequestStringForPNACL("#OtherCORSCredentials") +
543 RequestString("https://www.example.com/echo", "cors", "include"), 544 RequestString("https://www.example.com/echo", "cors", "include"),
544 ExecutePNACLUrlLoaderTest("OtherCORSCredentials")); 545 ExecutePNACLUrlLoaderTest("OtherCORSCredentials"));
545 } 546 }
546 547
547 class ChromeServiceWorkerFetchPPAPIPrivateTest 548 class ChromeServiceWorkerFetchPPAPIPrivateTest
548 : public ChromeServiceWorkerFetchPPAPITest { 549 : public ChromeServiceWorkerFetchPPAPITest {
549 protected: 550 protected:
550 ChromeServiceWorkerFetchPPAPIPrivateTest() {} 551 ChromeServiceWorkerFetchPPAPIPrivateTest() {}
551 ~ChromeServiceWorkerFetchPPAPIPrivateTest() override {} 552 ~ChromeServiceWorkerFetchPPAPIPrivateTest() override {}
552 553
553 void SetUpCommandLine(base::CommandLine* command_line) override { 554 void SetUpCommandLine(base::CommandLine* command_line) override {
554 ChromeServiceWorkerFetchPPAPITest::SetUpCommandLine(command_line); 555 ChromeServiceWorkerFetchPPAPITest::SetUpCommandLine(command_line);
555 // Sets this flag to test that the fetch request from the plugins with 556 // Sets this flag to test that the fetch request from the plugins with
556 // private permission (PERMISSION_PRIVATE) should not go to the service 557 // private permission (PERMISSION_PRIVATE) should not go to the service
557 // worker. 558 // worker.
558 command_line->AppendSwitch(switches::kEnablePepperTesting); 559 command_line->AppendSwitch(switches::kEnablePepperTesting);
559 } 560 }
560 561
561 private: 562 private:
562 DISALLOW_COPY_AND_ASSIGN(ChromeServiceWorkerFetchPPAPIPrivateTest); 563 DISALLOW_COPY_AND_ASSIGN(ChromeServiceWorkerFetchPPAPIPrivateTest);
563 }; 564 };
564 565
565 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest, SameOrigin) { 566 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest, SameOrigin) {
566 EXPECT_EQ(GetRequestStringForPNACL(), ExecutePNACLUrlLoaderTest("Same")); 567 EXPECT_EQ(GetRequestStringForPNACL("#Same"),
568 ExecutePNACLUrlLoaderTest("Same"));
567 } 569 }
568 570
569 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest, 571 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest,
570 SameOriginCORS) { 572 SameOriginCORS) {
571 EXPECT_EQ(GetRequestStringForPNACL(), ExecutePNACLUrlLoaderTest("SameCORS")); 573 EXPECT_EQ(GetRequestStringForPNACL("#SameCORS"),
574 ExecutePNACLUrlLoaderTest("SameCORS"));
572 } 575 }
573 576
574 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest, 577 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest,
575 SameOriginCredentials) { 578 SameOriginCredentials) {
576 EXPECT_EQ(GetRequestStringForPNACL(), 579 EXPECT_EQ(GetRequestStringForPNACL("#SameCredentials"),
577 ExecutePNACLUrlLoaderTest("SameCredentials")); 580 ExecutePNACLUrlLoaderTest("SameCredentials"));
578 } 581 }
579 582
580 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest, 583 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest,
581 SameOriginCORSCredentials) { 584 SameOriginCORSCredentials) {
582 EXPECT_EQ(GetRequestStringForPNACL(), 585 EXPECT_EQ(GetRequestStringForPNACL("#SameCORSCredentials"),
583 ExecutePNACLUrlLoaderTest("SameCORSCredentials")); 586 ExecutePNACLUrlLoaderTest("SameCORSCredentials"));
584 } 587 }
585 588
586 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest, OtherOrigin) { 589 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest, OtherOrigin) {
587 EXPECT_EQ(GetRequestStringForPNACL(), ExecutePNACLUrlLoaderTest("Other")); 590 EXPECT_EQ(GetRequestStringForPNACL("#Other"),
591 ExecutePNACLUrlLoaderTest("Other"));
588 } 592 }
589 593
590 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest, 594 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest,
591 OtherOriginCORS) { 595 OtherOriginCORS) {
592 EXPECT_EQ(GetRequestStringForPNACL(), ExecutePNACLUrlLoaderTest("OtherCORS")); 596 EXPECT_EQ(GetRequestStringForPNACL("#OtherCORS"),
597 ExecutePNACLUrlLoaderTest("OtherCORS"));
593 } 598 }
594 599
595 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest, 600 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest,
596 OtherOriginCredentials) { 601 OtherOriginCredentials) {
597 EXPECT_EQ(GetRequestStringForPNACL(), 602 EXPECT_EQ(GetRequestStringForPNACL("#OtherCredentials"),
598 ExecutePNACLUrlLoaderTest("OtherCredentials")); 603 ExecutePNACLUrlLoaderTest("OtherCredentials"));
599 } 604 }
600 605
601 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest, 606 IN_PROC_BROWSER_TEST_F(ChromeServiceWorkerFetchPPAPIPrivateTest,
602 OtherOriginCORSCredentials) { 607 OtherOriginCORSCredentials) {
603 EXPECT_EQ(GetRequestStringForPNACL(), 608 EXPECT_EQ(GetRequestStringForPNACL("#OtherCORSCredentials"),
604 ExecutePNACLUrlLoaderTest("OtherCORSCredentials")); 609 ExecutePNACLUrlLoaderTest("OtherCORSCredentials"));
605 } 610 }
606 611
607 } // namespace 612 } // namespace
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/external/wpt/fetch/api/request/request-init-003.sub-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698