OLD | NEW |
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 "build/build_config.h" | 5 #include "build/build_config.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <windows.h> | 8 #include <windows.h> |
9 #include <shlobj.h> | 9 #include <shlobj.h> |
10 #endif | 10 #endif |
(...skipping 2592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2603 } | 2603 } |
2604 | 2604 |
2605 TEST_F(URLRequestTest, FirstPartyOnlyCookiesEnabled) { | 2605 TEST_F(URLRequestTest, FirstPartyOnlyCookiesEnabled) { |
2606 LocalHttpTestServer test_server; | 2606 LocalHttpTestServer test_server; |
2607 ASSERT_TRUE(test_server.Start()); | 2607 ASSERT_TRUE(test_server.Start()); |
2608 | 2608 |
2609 // Set up a 'First-Party-Only' cookie (on '127.0.0.1', as that's where | 2609 // Set up a 'First-Party-Only' cookie (on '127.0.0.1', as that's where |
2610 // LocalHttpTestServer points). | 2610 // LocalHttpTestServer points). |
2611 { | 2611 { |
2612 TestNetworkDelegate network_delegate; | 2612 TestNetworkDelegate network_delegate; |
2613 network_delegate.set_first_party_only_cookies_enabled(true); | 2613 network_delegate.set_experimental_cookie_features_enabled(true); |
2614 default_context_.set_network_delegate(&network_delegate); | 2614 default_context_.set_network_delegate(&network_delegate); |
2615 | 2615 |
2616 TestDelegate d; | 2616 TestDelegate d; |
2617 scoped_ptr<URLRequest> req(default_context_.CreateRequest( | 2617 scoped_ptr<URLRequest> req(default_context_.CreateRequest( |
2618 test_server.GetURL( | 2618 test_server.GetURL( |
2619 "set-cookie?FirstPartyCookieToSet=1;First-Party-Only"), | 2619 "set-cookie?FirstPartyCookieToSet=1;First-Party-Only"), |
2620 DEFAULT_PRIORITY, &d)); | 2620 DEFAULT_PRIORITY, &d)); |
2621 req->Start(); | 2621 req->Start(); |
2622 base::RunLoop().Run(); | 2622 base::RunLoop().Run(); |
2623 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2623 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2624 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2624 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2625 EXPECT_EQ(1, network_delegate.set_cookie_count()); | 2625 EXPECT_EQ(1, network_delegate.set_cookie_count()); |
2626 } | 2626 } |
2627 | 2627 |
2628 // Verify that the cookie is sent for first-party requests. | 2628 // Verify that the cookie is sent for first-party requests. |
2629 { | 2629 { |
2630 TestNetworkDelegate network_delegate; | 2630 TestNetworkDelegate network_delegate; |
2631 network_delegate.set_first_party_only_cookies_enabled(true); | 2631 network_delegate.set_experimental_cookie_features_enabled(true); |
2632 default_context_.set_network_delegate(&network_delegate); | 2632 default_context_.set_network_delegate(&network_delegate); |
2633 TestDelegate d; | 2633 TestDelegate d; |
2634 scoped_ptr<URLRequest> req(default_context_.CreateRequest( | 2634 scoped_ptr<URLRequest> req(default_context_.CreateRequest( |
2635 test_server.GetURL("echoheader?Cookie"), DEFAULT_PRIORITY, &d)); | 2635 test_server.GetURL("echoheader?Cookie"), DEFAULT_PRIORITY, &d)); |
2636 req->set_first_party_for_cookies(test_server.GetURL("")); | 2636 req->set_first_party_for_cookies(test_server.GetURL("")); |
2637 req->Start(); | 2637 req->Start(); |
2638 base::RunLoop().Run(); | 2638 base::RunLoop().Run(); |
2639 | 2639 |
2640 EXPECT_TRUE(d.data_received().find("FirstPartyCookieToSet=1") != | 2640 EXPECT_TRUE(d.data_received().find("FirstPartyCookieToSet=1") != |
2641 std::string::npos); | 2641 std::string::npos); |
2642 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2642 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2643 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2643 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2644 } | 2644 } |
2645 | 2645 |
2646 // Verify that the cookie is not-sent for non-first-party requests. | 2646 // Verify that the cookie is not-sent for non-first-party requests. |
2647 { | 2647 { |
2648 TestNetworkDelegate network_delegate; | 2648 TestNetworkDelegate network_delegate; |
2649 network_delegate.set_first_party_only_cookies_enabled(true); | 2649 network_delegate.set_experimental_cookie_features_enabled(true); |
2650 default_context_.set_network_delegate(&network_delegate); | 2650 default_context_.set_network_delegate(&network_delegate); |
2651 TestDelegate d; | 2651 TestDelegate d; |
2652 scoped_ptr<URLRequest> req(default_context_.CreateRequest( | 2652 scoped_ptr<URLRequest> req(default_context_.CreateRequest( |
2653 test_server.GetURL("echoheader?Cookie"), DEFAULT_PRIORITY, &d)); | 2653 test_server.GetURL("echoheader?Cookie"), DEFAULT_PRIORITY, &d)); |
2654 req->set_first_party_for_cookies(GURL("http://third-party.test/")); | 2654 req->set_first_party_for_cookies(GURL("http://third-party.test/")); |
2655 req->Start(); | 2655 req->Start(); |
2656 base::RunLoop().Run(); | 2656 base::RunLoop().Run(); |
2657 | 2657 |
2658 EXPECT_TRUE(d.data_received().find("FirstPartyCookieToSet=1") == | 2658 EXPECT_TRUE(d.data_received().find("FirstPartyCookieToSet=1") == |
2659 std::string::npos); | 2659 std::string::npos); |
2660 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2660 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2661 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2661 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2662 } | 2662 } |
2663 } | 2663 } |
2664 | 2664 |
2665 TEST_F(URLRequestTest, FirstPartyOnlyCookiesDisabled) { | 2665 TEST_F(URLRequestTest, FirstPartyOnlyCookiesDisabled) { |
2666 LocalHttpTestServer test_server; | 2666 LocalHttpTestServer test_server; |
2667 ASSERT_TRUE(test_server.Start()); | 2667 ASSERT_TRUE(test_server.Start()); |
2668 | 2668 |
2669 // Set up a 'First-Party-Only' cookie (on '127.0.0.1', as that's where | 2669 // Set up a 'First-Party-Only' cookie (on '127.0.0.1', as that's where |
2670 // LocalHttpTestServer points). | 2670 // LocalHttpTestServer points). |
2671 { | 2671 { |
2672 TestNetworkDelegate network_delegate; | 2672 TestNetworkDelegate network_delegate; |
2673 network_delegate.set_first_party_only_cookies_enabled(false); | 2673 network_delegate.set_experimental_cookie_features_enabled(false); |
2674 default_context_.set_network_delegate(&network_delegate); | 2674 default_context_.set_network_delegate(&network_delegate); |
2675 | 2675 |
2676 TestDelegate d; | 2676 TestDelegate d; |
2677 scoped_ptr<URLRequest> req(default_context_.CreateRequest( | 2677 scoped_ptr<URLRequest> req(default_context_.CreateRequest( |
2678 test_server.GetURL( | 2678 test_server.GetURL( |
2679 "set-cookie?FirstPartyCookieToSet=1;First-Party-Only"), | 2679 "set-cookie?FirstPartyCookieToSet=1;First-Party-Only"), |
2680 DEFAULT_PRIORITY, &d)); | 2680 DEFAULT_PRIORITY, &d)); |
2681 req->Start(); | 2681 req->Start(); |
2682 base::RunLoop().Run(); | 2682 base::RunLoop().Run(); |
2683 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2683 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2684 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2684 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2685 EXPECT_EQ(1, network_delegate.set_cookie_count()); | 2685 EXPECT_EQ(1, network_delegate.set_cookie_count()); |
2686 } | 2686 } |
2687 | 2687 |
2688 // Verify that the cookie is sent for first-party requests. | 2688 // Verify that the cookie is sent for first-party requests. |
2689 { | 2689 { |
2690 TestNetworkDelegate network_delegate; | 2690 TestNetworkDelegate network_delegate; |
2691 network_delegate.set_first_party_only_cookies_enabled(false); | 2691 network_delegate.set_experimental_cookie_features_enabled(false); |
2692 default_context_.set_network_delegate(&network_delegate); | 2692 default_context_.set_network_delegate(&network_delegate); |
2693 TestDelegate d; | 2693 TestDelegate d; |
2694 scoped_ptr<URLRequest> req(default_context_.CreateRequest( | 2694 scoped_ptr<URLRequest> req(default_context_.CreateRequest( |
2695 test_server.GetURL("echoheader?Cookie"), DEFAULT_PRIORITY, &d)); | 2695 test_server.GetURL("echoheader?Cookie"), DEFAULT_PRIORITY, &d)); |
2696 req->set_first_party_for_cookies(test_server.GetURL("")); | 2696 req->set_first_party_for_cookies(test_server.GetURL("")); |
2697 req->Start(); | 2697 req->Start(); |
2698 base::RunLoop().Run(); | 2698 base::RunLoop().Run(); |
2699 | 2699 |
2700 EXPECT_TRUE(d.data_received().find("FirstPartyCookieToSet=1") != | 2700 EXPECT_TRUE(d.data_received().find("FirstPartyCookieToSet=1") != |
2701 std::string::npos); | 2701 std::string::npos); |
2702 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); | 2702 EXPECT_EQ(0, network_delegate.blocked_get_cookies_count()); |
2703 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); | 2703 EXPECT_EQ(0, network_delegate.blocked_set_cookie_count()); |
2704 } | 2704 } |
2705 | 2705 |
2706 // Verify that the cookie is also sent for non-first-party requests. | 2706 // Verify that the cookie is also sent for non-first-party requests. |
2707 { | 2707 { |
2708 TestNetworkDelegate network_delegate; | 2708 TestNetworkDelegate network_delegate; |
2709 network_delegate.set_first_party_only_cookies_enabled(false); | 2709 network_delegate.set_experimental_cookie_features_enabled(false); |
2710 default_context_.set_network_delegate(&network_delegate); | 2710 default_context_.set_network_delegate(&network_delegate); |
2711 TestDelegate d; | 2711 TestDelegate d; |
2712 scoped_ptr<URLRequest> req(default_context_.CreateRequest( | 2712 scoped_ptr<URLRequest> req(default_context_.CreateRequest( |
2713 test_server.GetURL("echoheader?Cookie"), DEFAULT_PRIORITY, &d)); | 2713 test_server.GetURL("echoheader?Cookie"), DEFAULT_PRIORITY, &d)); |
2714 req->set_first_party_for_cookies(GURL("http://third-party.test/")); | 2714 req->set_first_party_for_cookies(GURL("http://third-party.test/")); |
2715 req->Start(); | 2715 req->Start(); |
2716 base::RunLoop().Run(); | 2716 base::RunLoop().Run(); |
2717 | 2717 |
2718 EXPECT_TRUE(d.data_received().find("FirstPartyCookieToSet=1") != | 2718 EXPECT_TRUE(d.data_received().find("FirstPartyCookieToSet=1") != |
2719 std::string::npos); | 2719 std::string::npos); |
(...skipping 6783 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9503 | 9503 |
9504 req->Start(); | 9504 req->Start(); |
9505 req->Cancel(); | 9505 req->Cancel(); |
9506 job->DetachRequest(); | 9506 job->DetachRequest(); |
9507 base::RunLoop().RunUntilIdle(); | 9507 base::RunLoop().RunUntilIdle(); |
9508 EXPECT_EQ(URLRequestStatus::CANCELED, req->status().status()); | 9508 EXPECT_EQ(URLRequestStatus::CANCELED, req->status().status()); |
9509 EXPECT_EQ(0, d.received_redirect_count()); | 9509 EXPECT_EQ(0, d.received_redirect_count()); |
9510 } | 9510 } |
9511 | 9511 |
9512 } // namespace net | 9512 } // namespace net |
OLD | NEW |