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

Side by Side Diff: net/cookies/cookie_monster_unittest.cc

Issue 1409243003: Revert of Implement $Secure- cookie prefix (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 | « net/cookies/cookie_monster.cc ('k') | net/cookies/cookie_options.h » ('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 "net/cookies/cookie_store_unittest.h" 5 #include "net/cookies/cookie_store_unittest.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 return new CookieMonster(NULL, NULL); 93 return new CookieMonster(NULL, NULL);
94 } 94 }
95 95
96 static const bool is_cookie_monster = true; 96 static const bool is_cookie_monster = true;
97 static const bool supports_http_only = true; 97 static const bool supports_http_only = true;
98 static const bool supports_non_dotted_domains = true; 98 static const bool supports_non_dotted_domains = true;
99 static const bool preserves_trailing_dots = true; 99 static const bool preserves_trailing_dots = true;
100 static const bool filters_schemes = true; 100 static const bool filters_schemes = true;
101 static const bool has_path_prefix_bug = false; 101 static const bool has_path_prefix_bug = false;
102 static const int creation_time_granularity_in_ms = 0; 102 static const int creation_time_granularity_in_ms = 0;
103 static const bool enforces_prefixes = true;
104 }; 103 };
105 104
106 INSTANTIATE_TYPED_TEST_CASE_P(CookieMonster, 105 INSTANTIATE_TYPED_TEST_CASE_P(CookieMonster,
107 CookieStoreTest, 106 CookieStoreTest,
108 CookieMonsterTestTraits); 107 CookieMonsterTestTraits);
109 108
110 INSTANTIATE_TYPED_TEST_CASE_P(CookieMonster, 109 INSTANTIATE_TYPED_TEST_CASE_P(CookieMonster,
111 MultiThreadedCookieStoreTest, 110 MultiThreadedCookieStoreTest,
112 CookieMonsterTestTraits); 111 CookieMonsterTestTraits);
113 112
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 const std::string& path, 153 const std::string& path,
155 const base::Time& expiration_time, 154 const base::Time& expiration_time,
156 bool secure, 155 bool secure,
157 bool http_only, 156 bool http_only,
158 bool first_party_only, 157 bool first_party_only,
159 CookiePriority priority) { 158 CookiePriority priority) {
160 DCHECK(cm); 159 DCHECK(cm);
161 ResultSavingCookieCallback<bool> callback; 160 ResultSavingCookieCallback<bool> callback;
162 cm->SetCookieWithDetailsAsync( 161 cm->SetCookieWithDetailsAsync(
163 url, name, value, domain, path, expiration_time, secure, http_only, 162 url, name, value, domain, path, expiration_time, secure, http_only,
164 first_party_only, false /* enforce prefixes */, priority, 163 first_party_only, priority,
165 base::Bind(&ResultSavingCookieCallback<bool>::Run, 164 base::Bind(&ResultSavingCookieCallback<bool>::Run,
166 base::Unretained(&callback))); 165 base::Unretained(&callback)));
167 RunFor(kTimeout); 166 RunFor(kTimeout);
168 EXPECT_TRUE(callback.did_run()); 167 EXPECT_TRUE(callback.did_run());
169 return callback.result(); 168 return callback.result();
170 } 169 }
171 170
172 bool SetAllCookies(CookieMonster* cm, const CookieList& list) { 171 bool SetAllCookies(CookieMonster* cm, const CookieList& list) {
173 DCHECK(cm); 172 DCHECK(cm);
174 ResultSavingCookieCallback<bool> callback; 173 ResultSavingCookieCallback<bool> callback;
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 cookie_monster, 663 cookie_monster,
665 delete_begin, 664 delete_begin,
666 delete_end, 665 delete_end,
667 callback) { 666 callback) {
668 cookie_monster->DeleteAllCreatedBetweenAsync(delete_begin, delete_end, 667 cookie_monster->DeleteAllCreatedBetweenAsync(delete_begin, delete_end,
669 callback->AsCallback()); 668 callback->AsCallback());
670 } 669 }
671 ACTION_P3(SetCookieWithDetailsAction, cookie_monster, cc, callback) { 670 ACTION_P3(SetCookieWithDetailsAction, cookie_monster, cc, callback) {
672 cookie_monster->SetCookieWithDetailsAsync( 671 cookie_monster->SetCookieWithDetailsAsync(
673 cc.url, cc.name, cc.value, cc.domain, cc.path, cc.expiration_time, 672 cc.url, cc.name, cc.value, cc.domain, cc.path, cc.expiration_time,
674 cc.secure, cc.http_only, cc.first_party_only, 673 cc.secure, cc.http_only, cc.first_party_only, cc.priority,
675 false /* enforce prefixes */, cc.priority, callback->AsCallback()); 674 callback->AsCallback());
676 } 675 }
677 676
678 ACTION_P2(GetAllCookiesAction, cookie_monster, callback) { 677 ACTION_P2(GetAllCookiesAction, cookie_monster, callback) {
679 cookie_monster->GetAllCookiesAsync(callback->AsCallback()); 678 cookie_monster->GetAllCookiesAsync(callback->AsCallback());
680 } 679 }
681 680
682 ACTION_P3(DeleteAllForHostAction, cookie_monster, url, callback) { 681 ACTION_P3(DeleteAllForHostAction, cookie_monster, url, callback) {
683 cookie_monster->DeleteAllForHostAsync(url, callback->AsCallback()); 682 cookie_monster->DeleteAllForHostAsync(url, callback->AsCallback());
684 } 683 }
685 684
(...skipping 1783 matching lines...) Expand 10 before | Expand all | Expand 10 after
2469 std::string value = "B"; 2468 std::string value = "B";
2470 std::string domain = std::string(); 2469 std::string domain = std::string();
2471 std::string path = "/foo"; 2470 std::string path = "/foo";
2472 base::Time expiration_time = base::Time(); 2471 base::Time expiration_time = base::Time();
2473 bool secure = false; 2472 bool secure = false;
2474 bool http_only = false; 2473 bool http_only = false;
2475 bool first_party_only = false; 2474 bool first_party_only = false;
2476 CookiePriority priority = COOKIE_PRIORITY_DEFAULT; 2475 CookiePriority priority = COOKIE_PRIORITY_DEFAULT;
2477 cm->SetCookieWithDetailsAsync( 2476 cm->SetCookieWithDetailsAsync(
2478 url, name, value, domain, path, expiration_time, secure, http_only, 2477 url, name, value, domain, path, expiration_time, secure, http_only,
2479 first_party_only, false /* enforce prefixes */, priority, 2478 first_party_only, priority,
2480 base::Bind(&ResultSavingCookieCallback<bool>::Run, 2479 base::Bind(&ResultSavingCookieCallback<bool>::Run,
2481 base::Unretained(callback))); 2480 base::Unretained(callback)));
2482 } 2481 }
2483 2482
2484 void DeleteAllCreatedBetweenTask(CookieMonster* cm, 2483 void DeleteAllCreatedBetweenTask(CookieMonster* cm,
2485 const base::Time& delete_begin, 2484 const base::Time& delete_begin,
2486 const base::Time& delete_end, 2485 const base::Time& delete_end,
2487 ResultSavingCookieCallback<int>* callback) { 2486 ResultSavingCookieCallback<int>* callback) {
2488 cm->DeleteAllCreatedBetweenAsync( 2487 cm->DeleteAllCreatedBetweenAsync(
2489 delete_begin, delete_end, 2488 delete_begin, delete_end,
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
2960 histograms.ExpectTotalCount(cookie_source_histogram, 5); 2959 histograms.ExpectTotalCount(cookie_source_histogram, 5);
2961 2960
2962 // Set a non-Secure cookie on a non-cryptographic scheme. 2961 // Set a non-Secure cookie on a non-cryptographic scheme.
2963 EXPECT_TRUE(SetCookie(cm.get(), http_www_google_.url(), "H=I; path=/")); 2962 EXPECT_TRUE(SetCookie(cm.get(), http_www_google_.url(), "H=I; path=/"));
2964 histograms.ExpectTotalCount(cookie_source_histogram, 6); 2963 histograms.ExpectTotalCount(cookie_source_histogram, 6);
2965 histograms.ExpectBucketCount( 2964 histograms.ExpectBucketCount(
2966 cookie_source_histogram, 2965 cookie_source_histogram,
2967 CookieMonster::COOKIE_SOURCE_NONSECURE_COOKIE_NONCRYPTOGRAPHIC_SCHEME, 1); 2966 CookieMonster::COOKIE_SOURCE_NONSECURE_COOKIE_NONCRYPTOGRAPHIC_SCHEME, 1);
2968 } 2967 }
2969 2968
2970 TEST_F(CookieMonsterTest, SecureCookiePrefix) {
2971 scoped_refptr<CookieMonster> cm(new CookieMonster(NULL, NULL));
2972 // A $Secure- cookie must be Secure.
2973 EXPECT_FALSE(SetCookie(cm.get(), https_www_google_.url(), "$Secure-A=B"));
2974 EXPECT_FALSE(
2975 SetCookie(cm.get(), https_www_google_.url(), "$Secure-A=B; httponly"));
2976
2977 // A typoed prefix does not have to be Secure.
2978 EXPECT_TRUE(
2979 SetCookie(cm.get(), https_www_google_.url(), "$secure-A=B; Secure"));
2980 EXPECT_TRUE(SetCookie(cm.get(), https_www_google_.url(), "$secure-A=C;"));
2981 EXPECT_TRUE(
2982 SetCookie(cm.get(), https_www_google_.url(), "$SecureA=B; Secure"));
2983 EXPECT_TRUE(SetCookie(cm.get(), https_www_google_.url(), "$SecureA=C;"));
2984
2985 EXPECT_TRUE(
2986 SetCookie(cm.get(), https_www_google_.url(), "$Secure-A=B; Secure"));
2987
2988 // A $Secure- cookie can't be set on a non-secure origin.
2989 EXPECT_FALSE(
2990 SetCookie(cm.get(), http_www_google_.url(), "$Secure-A=B; Secure"));
2991 }
2992
2993 class CookieMonsterNotificationTest : public CookieMonsterTest { 2969 class CookieMonsterNotificationTest : public CookieMonsterTest {
2994 public: 2970 public:
2995 CookieMonsterNotificationTest() 2971 CookieMonsterNotificationTest()
2996 : test_url_("http://www.google.com/foo"), 2972 : test_url_("http://www.google.com/foo"),
2997 store_(new MockPersistentCookieStore), 2973 store_(new MockPersistentCookieStore),
2998 monster_(new CookieMonster(store_.get(), NULL)) {} 2974 monster_(new CookieMonster(store_.get(), NULL)) {}
2999 2975
3000 ~CookieMonsterNotificationTest() override {} 2976 ~CookieMonsterNotificationTest() override {}
3001 2977
3002 CookieMonster* monster() { return monster_.get(); } 2978 CookieMonster* monster() { return monster_.get(); }
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
3140 monster()->AddCallbackForCookie( 3116 monster()->AddCallbackForCookie(
3141 test_url_, "abc", 3117 test_url_, "abc",
3142 base::Bind(&RecordCookieChanges, &cookies1, nullptr))); 3118 base::Bind(&RecordCookieChanges, &cookies1, nullptr)));
3143 SetCookie(monster(), test_url_, "abc=def"); 3119 SetCookie(monster(), test_url_, "abc=def");
3144 base::MessageLoop::current()->RunUntilIdle(); 3120 base::MessageLoop::current()->RunUntilIdle();
3145 EXPECT_EQ(1U, cookies0.size()); 3121 EXPECT_EQ(1U, cookies0.size());
3146 EXPECT_EQ(1U, cookies0.size()); 3122 EXPECT_EQ(1U, cookies0.size());
3147 } 3123 }
3148 3124
3149 } // namespace net 3125 } // namespace net
OLDNEW
« no previous file with comments | « net/cookies/cookie_monster.cc ('k') | net/cookies/cookie_options.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698