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

Side by Side Diff: third_party/WebKit/Source/platform/loader/fetch/ResourceFetcherTest.cpp

Issue 2834733003: Separate preaload matching from MemoryCache (Closed)
Patch Set: rebase Created 3 years, 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, Google Inc. All rights reserved. 2 * Copyright (c) 2013, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 } 486 }
487 487
488 TEST_F(ResourceFetcherTest, PreloadResourceTwice) { 488 TEST_F(ResourceFetcherTest, PreloadResourceTwice) {
489 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); 489 ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
490 490
491 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); 491 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png");
492 RegisterMockedURLLoad(url); 492 RegisterMockedURLLoad(url);
493 493
494 FetchParameters fetch_params_original = 494 FetchParameters fetch_params_original =
495 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 495 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
496 fetch_params_original.SetLinkPreload(true);
496 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); 497 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher);
497 ASSERT_TRUE(resource); 498 ASSERT_TRUE(resource);
499 EXPECT_TRUE(resource->IsLinkPreload());
500 EXPECT_TRUE(fetcher->ContainsAsPreload(resource));
498 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); 501 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
499 fetcher->PreloadStarted(resource);
500 502
501 FetchParameters fetch_params = 503 FetchParameters fetch_params =
502 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 504 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
505 fetch_params.SetLinkPreload(true);
503 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); 506 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher);
504 EXPECT_EQ(resource, new_resource); 507 EXPECT_EQ(resource, new_resource);
505 fetcher->PreloadStarted(resource); 508 EXPECT_TRUE(fetcher->ContainsAsPreload(resource));
506 509
507 fetcher->ClearPreloads(ResourceFetcher::kClearAllPreloads); 510 fetcher->ClearPreloads(ResourceFetcher::kClearAllPreloads);
511 EXPECT_FALSE(fetcher->ContainsAsPreload(resource));
508 EXPECT_FALSE(GetMemoryCache()->Contains(resource)); 512 EXPECT_FALSE(GetMemoryCache()->Contains(resource));
509 EXPECT_FALSE(resource->IsPreloaded()); 513 EXPECT_FALSE(resource->IsPreloaded());
510 } 514 }
511 515
512 TEST_F(ResourceFetcherTest, LinkPreloadResourceAndUse) { 516 TEST_F(ResourceFetcherTest, LinkPreloadResourceAndUse) {
513 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); 517 ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
514 518
515 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); 519 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png");
516 RegisterMockedURLLoad(url); 520 RegisterMockedURLLoad(url);
517 521
518 // Link preload preload scanner 522 // Link preload preload scanner
519 FetchParameters fetch_params_original = 523 FetchParameters fetch_params_original =
520 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 524 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
521 fetch_params_original.SetLinkPreload(true); 525 fetch_params_original.SetLinkPreload(true);
522 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); 526 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher);
523 ASSERT_TRUE(resource); 527 ASSERT_TRUE(resource);
524 EXPECT_TRUE(resource->IsLinkPreload()); 528 EXPECT_TRUE(resource->IsLinkPreload());
525 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); 529 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
526 fetcher->PreloadStarted(resource);
527 530
528 // Resource created by preload scanner 531 // Resource created by preload scanner
529 FetchParameters fetch_params_preload_scanner = 532 FetchParameters fetch_params_preload_scanner =
530 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 533 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
531 Resource* preload_scanner_resource = 534 Resource* preload_scanner_resource =
532 MockResource::Fetch(fetch_params_preload_scanner, fetcher); 535 MockResource::Fetch(fetch_params_preload_scanner, fetcher);
533 EXPECT_EQ(resource, preload_scanner_resource); 536 EXPECT_EQ(resource, preload_scanner_resource);
534 EXPECT_FALSE(resource->IsLinkPreload()); 537 EXPECT_FALSE(resource->IsLinkPreload());
535 fetcher->PreloadStarted(resource);
536 538
537 // Resource created by parser 539 // Resource created by parser
538 FetchParameters fetch_params = 540 FetchParameters fetch_params =
539 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 541 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
540 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); 542 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher);
541 Persistent<MockResourceClient> client = new MockResourceClient(new_resource); 543 Persistent<MockResourceClient> client = new MockResourceClient(new_resource);
542 EXPECT_EQ(resource, new_resource); 544 EXPECT_EQ(resource, new_resource);
543 EXPECT_FALSE(resource->IsLinkPreload()); 545 EXPECT_FALSE(resource->IsLinkPreload());
544 546
545 // DCL reached 547 // DCL reached
546 fetcher->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads); 548 fetcher->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads);
547 EXPECT_TRUE(GetMemoryCache()->Contains(resource)); 549 EXPECT_TRUE(GetMemoryCache()->Contains(resource));
548 EXPECT_FALSE(resource->IsPreloaded()); 550 EXPECT_FALSE(resource->IsPreloaded());
549 } 551 }
550 552
551 TEST_F(ResourceFetcherTest, LinkPreloadResourceMultipleFetchersAndUse) { 553 TEST_F(ResourceFetcherTest, PreloadMatchWithBypassingCache) {
554 ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
555 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png");
556 RegisterMockedURLLoad(url);
557
558 FetchParameters fetch_params_original =
559 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
560 fetch_params_original.SetLinkPreload(true);
561 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher);
562 ASSERT_TRUE(resource);
563 EXPECT_TRUE(resource->IsLinkPreload());
564 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
565
566 FetchParameters fetch_params_second =
567 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
568 fetch_params_second.MutableResourceRequest().SetCachePolicy(
569 WebCachePolicy::kBypassingCache);
570 Resource* second_resource = MockResource::Fetch(fetch_params_second, fetcher);
571 EXPECT_EQ(resource, second_resource);
572 EXPECT_FALSE(resource->IsLinkPreload());
573 }
574
575 TEST_F(ResourceFetcherTest, CrossFramePreloadMatchIsNotAllowed) {
552 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); 576 ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
553 ResourceFetcher* fetcher2 = ResourceFetcher::Create(Context()); 577 ResourceFetcher* fetcher2 = ResourceFetcher::Create(Context());
554 578
555 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); 579 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png");
556 RegisterMockedURLLoad(url); 580 RegisterMockedURLLoad(url);
557 581
558 FetchParameters fetch_params_original = 582 FetchParameters fetch_params_original =
559 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 583 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
560 fetch_params_original.SetLinkPreload(true); 584 fetch_params_original.SetLinkPreload(true);
561 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); 585 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher);
562 ASSERT_TRUE(resource); 586 ASSERT_TRUE(resource);
563 EXPECT_TRUE(resource->IsLinkPreload()); 587 EXPECT_TRUE(resource->IsLinkPreload());
564 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); 588 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
565 fetcher->PreloadStarted(resource);
566 589
567 FetchParameters fetch_params_second = 590 FetchParameters fetch_params_second =
568 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 591 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
569 fetch_params_second.SetLinkPreload(true); 592 fetch_params_second.MutableResourceRequest().SetCachePolicy(
593 WebCachePolicy::kBypassingCache);
570 Resource* second_resource = 594 Resource* second_resource =
571 MockResource::Fetch(fetch_params_second, fetcher2); 595 MockResource::Fetch(fetch_params_second, fetcher2);
572 ASSERT_TRUE(second_resource); 596
573 EXPECT_TRUE(second_resource->IsLinkPreload()); 597 EXPECT_NE(resource, second_resource);
598 EXPECT_TRUE(resource->IsLinkPreload());
599 }
600
601 TEST_F(ResourceFetcherTest, RepetitiveLinkPreloadShouldBeMerged) {
602 ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
603
604 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png");
605 RegisterMockedURLLoad(url);
606
607 FetchParameters fetch_params_for_request =
608 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
609 FetchParameters fetch_params_for_preload = fetch_params_for_request;
610 fetch_params_for_preload.SetLinkPreload(true);
611
612 Resource* resource1 = MockResource::Fetch(fetch_params_for_preload, fetcher);
613 ASSERT_TRUE(resource1);
614 EXPECT_TRUE(resource1->IsPreloaded());
615 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1));
574 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); 616 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
575 fetcher2->PreloadStarted(second_resource);
576 617
577 // Link rel preload scanner 618 // The second preload fetch returnes the first preload.
578 FetchParameters fetch_params_link_preload_scanner = 619 Resource* resource2 = MockResource::Fetch(fetch_params_for_preload, fetcher);
620 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1));
621 EXPECT_TRUE(resource1->IsPreloaded());
622 EXPECT_EQ(resource1, resource2);
623
624 // preload matching
625 Resource* resource3 = MockResource::Fetch(fetch_params_for_request, fetcher);
626 EXPECT_EQ(resource1, resource3);
627 EXPECT_FALSE(fetcher->ContainsAsPreload(resource1));
628 EXPECT_FALSE(resource1->IsPreloaded());
629 }
630
631 TEST_F(ResourceFetcherTest, RepetitiveSpeculativePreloadShouldBeMerged) {
632 ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
633
634 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png");
635 RegisterMockedURLLoad(url);
636
637 FetchParameters fetch_params_for_request =
579 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 638 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
580 fetch_params_link_preload_scanner.SetLinkPreload(true); 639 FetchParameters fetch_params_for_preload = fetch_params_for_request;
581 Resource* link_preload_scanner_resource = 640 fetch_params_for_preload.SetSpeculativePreload(true);
582 MockResource::Fetch(fetch_params_link_preload_scanner, fetcher);
583 EXPECT_EQ(resource, link_preload_scanner_resource);
584 EXPECT_TRUE(resource->IsLinkPreload());
585 fetcher->PreloadStarted(resource);
586 641
587 // Resource created by preload scanner 642 Resource* resource1 = MockResource::Fetch(fetch_params_for_preload, fetcher);
588 FetchParameters fetch_params_preload_scanner = 643 ASSERT_TRUE(resource1);
644 EXPECT_TRUE(resource1->IsPreloaded());
645 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1));
646 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
647
648 // The second preload fetch returnes the first preload.
649 Resource* resource2 = MockResource::Fetch(fetch_params_for_preload, fetcher);
650 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1));
651 EXPECT_TRUE(resource1->IsPreloaded());
652 EXPECT_EQ(resource1, resource2);
653
654 // preload matching
655 Resource* resource3 = MockResource::Fetch(fetch_params_for_request, fetcher);
656 EXPECT_EQ(resource1, resource3);
657 EXPECT_FALSE(fetcher->ContainsAsPreload(resource1));
658 EXPECT_FALSE(resource1->IsPreloaded());
659 }
660
661 TEST_F(ResourceFetcherTest, SpeculativePreloadShouldBePromotedToLinkePreload) {
662 ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
663
664 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png");
665 RegisterMockedURLLoad(url);
666
667 FetchParameters fetch_params_for_request =
589 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 668 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
590 Resource* preload_scanner_resource = 669 FetchParameters fetch_params_for_speculative_preload =
591 MockResource::Fetch(fetch_params_preload_scanner, fetcher); 670 fetch_params_for_request;
592 EXPECT_EQ(resource, preload_scanner_resource); 671 fetch_params_for_speculative_preload.SetSpeculativePreload(true);
593 EXPECT_FALSE(resource->IsLinkPreload()); 672 FetchParameters fetch_params_for_link_preload = fetch_params_for_request;
594 fetcher->PreloadStarted(resource); 673 fetch_params_for_link_preload.SetLinkPreload(true);
595 674
596 // Resource created by preload scanner on the second fetcher 675 Resource* resource1 =
597 FetchParameters fetch_params_preload_scanner2 = 676 MockResource::Fetch(fetch_params_for_speculative_preload, fetcher);
598 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 677 ASSERT_TRUE(resource1);
599 Resource* preload_scanner_resource2 = 678 EXPECT_TRUE(resource1->IsPreloaded());
600 MockResource::Fetch(fetch_params_preload_scanner2, fetcher2); 679 EXPECT_FALSE(resource1->IsLinkPreload());
601 EXPECT_EQ(resource, preload_scanner_resource2); 680 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1));
602 EXPECT_FALSE(resource->IsLinkPreload()); 681 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
603 fetcher2->PreloadStarted(resource);
604 682
605 // Resource created by parser 683 // The second preload fetch returnes the first preload.
606 FetchParameters fetch_params = 684 Resource* resource2 =
607 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 685 MockResource::Fetch(fetch_params_for_link_preload, fetcher);
608 Resource* new_resource = MockResource::Fetch(fetch_params, fetcher); 686 EXPECT_TRUE(fetcher->ContainsAsPreload(resource1));
609 Persistent<MockResourceClient> client = new MockResourceClient(new_resource); 687 EXPECT_TRUE(resource1->IsPreloaded());
610 EXPECT_EQ(resource, new_resource); 688 EXPECT_TRUE(resource1->IsLinkPreload());
611 EXPECT_FALSE(resource->IsLinkPreload()); 689 EXPECT_EQ(resource1, resource2);
612 690
613 // Resource created by parser on the second fetcher 691 // preload matching
614 FetchParameters fetch_params2 = 692 Resource* resource3 = MockResource::Fetch(fetch_params_for_request, fetcher);
615 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 693 EXPECT_EQ(resource1, resource3);
616 Resource* new_resource2 = MockResource::Fetch(fetch_params, fetcher2); 694 EXPECT_FALSE(fetcher->ContainsAsPreload(resource1));
617 Persistent<MockResourceClient> client2 = 695 EXPECT_FALSE(resource1->IsPreloaded());
618 new MockResourceClient(new_resource2); 696 EXPECT_FALSE(resource1->IsLinkPreload());
619 EXPECT_EQ(resource, new_resource2);
620 EXPECT_FALSE(resource->IsLinkPreload());
621
622 // DCL reached on first fetcher
623 EXPECT_TRUE(resource->IsPreloaded());
624 fetcher->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads);
625 EXPECT_TRUE(GetMemoryCache()->Contains(resource));
626 EXPECT_TRUE(resource->IsPreloaded());
627
628 // DCL reached on second fetcher
629 fetcher2->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads);
630 EXPECT_TRUE(GetMemoryCache()->Contains(resource));
631 EXPECT_FALSE(resource->IsPreloaded());
632 } 697 }
633 698
634 TEST_F(ResourceFetcherTest, Revalidate304) { 699 TEST_F(ResourceFetcherTest, Revalidate304) {
635 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html"); 700 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.html");
636 Resource* resource = 701 Resource* resource =
637 RawResource::Create(ResourceRequest(url), Resource::kRaw); 702 RawResource::Create(ResourceRequest(url), Resource::kRaw);
638 GetMemoryCache()->Add(resource); 703 GetMemoryCache()->Add(resource);
639 ResourceResponse response; 704 ResourceResponse response;
640 response.SetURL(url); 705 response.SetURL(url);
641 response.SetHTTPStatusCode(304); 706 response.SetHTTPStatusCode(304);
(...skipping 21 matching lines...) Expand all
663 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png"); 728 KURL url(kParsedURLString, "http://127.0.0.1:8000/foo.png");
664 RegisterMockedURLLoad(url); 729 RegisterMockedURLLoad(url);
665 730
666 FetchParameters fetch_params_original = 731 FetchParameters fetch_params_original =
667 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 732 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
668 fetch_params_original.SetLinkPreload(true); 733 fetch_params_original.SetLinkPreload(true);
669 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher); 734 Resource* resource = MockResource::Fetch(fetch_params_original, fetcher);
670 ASSERT_TRUE(resource); 735 ASSERT_TRUE(resource);
671 EXPECT_TRUE(resource->IsLinkPreload()); 736 EXPECT_TRUE(resource->IsLinkPreload());
672 EXPECT_FALSE(fetcher->IsFetching()); 737 EXPECT_FALSE(fetcher->IsFetching());
673 fetcher->PreloadStarted(resource);
674 738
675 // Resource created by parser on the second fetcher 739 // Resource created by parser on the second fetcher
676 FetchParameters fetch_params2 = 740 FetchParameters fetch_params2 =
677 FetchParameters(ResourceRequest(url), FetchInitiatorInfo()); 741 FetchParameters(ResourceRequest(url), FetchInitiatorInfo());
678 Resource* new_resource2 = MockResource::Fetch(fetch_params2, fetcher2); 742 Resource* new_resource2 = MockResource::Fetch(fetch_params2, fetcher2);
679 Persistent<MockResourceClient> client2 = 743 Persistent<MockResourceClient> client2 =
680 new MockResourceClient(new_resource2); 744 new MockResourceClient(new_resource2);
681 EXPECT_NE(resource, new_resource2); 745 EXPECT_NE(resource, new_resource2);
682 EXPECT_FALSE(fetcher2->IsFetching()); 746 EXPECT_FALSE(fetcher2->IsFetching());
683 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); 747 Platform::Current()->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
684 } 748 }
685 749
686 TEST_F(ResourceFetcherTest, ContentTypeDataURL) { 750 TEST_F(ResourceFetcherTest, ContentTypeDataURL) {
687 ResourceFetcher* fetcher = ResourceFetcher::Create(Context()); 751 ResourceFetcher* fetcher = ResourceFetcher::Create(Context());
688 FetchParameters fetch_params = FetchParameters( 752 FetchParameters fetch_params = FetchParameters(
689 ResourceRequest("data:text/testmimetype,foo"), FetchInitiatorInfo()); 753 ResourceRequest("data:text/testmimetype,foo"), FetchInitiatorInfo());
690 Resource* resource = MockResource::Fetch(fetch_params, fetcher); 754 Resource* resource = MockResource::Fetch(fetch_params, fetcher);
691 ASSERT_TRUE(resource); 755 ASSERT_TRUE(resource);
692 EXPECT_EQ(ResourceStatus::kCached, resource->GetStatus()); 756 EXPECT_EQ(ResourceStatus::kCached, resource->GetStatus());
693 EXPECT_EQ("text/testmimetype", resource->GetResponse().MimeType()); 757 EXPECT_EQ("text/testmimetype", resource->GetResponse().MimeType());
694 EXPECT_EQ("text/testmimetype", resource->GetResponse().HttpContentType()); 758 EXPECT_EQ("text/testmimetype", resource->GetResponse().HttpContentType());
695 } 759 }
696 760
697 } // namespace blink 761 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698