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

Side by Side Diff: Source/core/loader/FrameFetchContextTest.cpp

Issue 1022093002: Upgrade: Drop the 'upgraded' signal, expand the 'https' signal. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/loader/FrameFetchContext.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2015, Google Inc. All rights reserved. 2 * Copyright (c) 2015, 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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 fetchRequest.mutableResourceRequest().setFrameType(frameType); 78 fetchRequest.mutableResourceRequest().setFrameType(frameType);
79 79
80 fetchContext->upgradeInsecureRequest(fetchRequest); 80 fetchContext->upgradeInsecureRequest(fetchRequest);
81 81
82 EXPECT_STREQ(expectedURL.string().utf8().data(), fetchRequest.resourceRe quest().url().string().utf8().data()); 82 EXPECT_STREQ(expectedURL.string().utf8().data(), fetchRequest.resourceRe quest().url().string().utf8().data());
83 EXPECT_EQ(expectedURL.protocol(), fetchRequest.resourceRequest().url().p rotocol()); 83 EXPECT_EQ(expectedURL.protocol(), fetchRequest.resourceRequest().url().p rotocol());
84 EXPECT_EQ(expectedURL.host(), fetchRequest.resourceRequest().url().host( )); 84 EXPECT_EQ(expectedURL.host(), fetchRequest.resourceRequest().url().host( ));
85 EXPECT_EQ(expectedURL.port(), fetchRequest.resourceRequest().url().port( )); 85 EXPECT_EQ(expectedURL.port(), fetchRequest.resourceRequest().url().port( ));
86 EXPECT_EQ(expectedURL.hasPort(), fetchRequest.resourceRequest().url().ha sPort()); 86 EXPECT_EQ(expectedURL.hasPort(), fetchRequest.resourceRequest().url().ha sPort());
87 EXPECT_EQ(expectedURL.path(), fetchRequest.resourceRequest().url().path( )); 87 EXPECT_EQ(expectedURL.path(), fetchRequest.resourceRequest().url().path( ));
88
89 bool expectUpgrade = inputURL != expectedURL;
90
91 EXPECT_STREQ(expectUpgrade ? "1" : "",
92 fetchRequest.resourceRequest().httpHeaderField("Upgraded").utf8().da ta());
93 } 88 }
94 89
95 void expectPreferHeader(const char* input, WebURLRequest::FrameType frameTyp e, bool shouldPrefer) 90 void expectHTTPSHeader(const char* input, WebURLRequest::FrameType frameType , bool shouldPrefer)
96 { 91 {
97 KURL inputURL(ParsedURLString, input); 92 KURL inputURL(ParsedURLString, input);
98 93
99 FetchRequest fetchRequest = FetchRequest(ResourceRequest(inputURL), Fetc hInitiatorInfo()); 94 FetchRequest fetchRequest = FetchRequest(ResourceRequest(inputURL), Fetc hInitiatorInfo());
100 fetchRequest.mutableResourceRequest().setRequestContext(WebURLRequest::R equestContextScript); 95 fetchRequest.mutableResourceRequest().setRequestContext(WebURLRequest::R equestContextScript);
101 fetchRequest.mutableResourceRequest().setFrameType(frameType); 96 fetchRequest.mutableResourceRequest().setFrameType(frameType);
102 97
103 fetchContext->upgradeInsecureRequest(fetchRequest); 98 fetchContext->upgradeInsecureRequest(fetchRequest);
104 99
105 EXPECT_STREQ(shouldPrefer ? "tls" : "", 100 EXPECT_STREQ(shouldPrefer ? "1" : "",
106 fetchRequest.resourceRequest().httpHeaderField("Prefer").utf8().data ()); 101 fetchRequest.resourceRequest().httpHeaderField("HTTPS").utf8().data( ));
107 } 102 }
108 103
109 KURL secureURL; 104 KURL secureURL;
110 RefPtr<SecurityOrigin> exampleOrigin; 105 RefPtr<SecurityOrigin> exampleOrigin;
111 RefPtr<SecurityOrigin> secureOrigin; 106 RefPtr<SecurityOrigin> secureOrigin;
112 107
113 OwnPtr<DummyPageHolder> dummyPageHolder; 108 OwnPtr<DummyPageHolder> dummyPageHolder;
114 // We don't use the DocumentLoader directly in any tests, but need to keep i t around as long 109 // We don't use the DocumentLoader directly in any tests, but need to keep i t around as long
115 // as the ResourceFetcher and Document live due to indirect usage. 110 // as the ResourceFetcher and Document live due to indirect usage.
116 RefPtr<DocumentLoader> documentLoader; 111 RefPtr<DocumentLoader> documentLoader;
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 { 178 {
184 struct TestCase { 179 struct TestCase {
185 const char* toRequest; 180 const char* toRequest;
186 WebURLRequest::FrameType frameType; 181 WebURLRequest::FrameType frameType;
187 bool shouldPrefer; 182 bool shouldPrefer;
188 } tests[] = { 183 } tests[] = {
189 { "http://example.test/page.html", WebURLRequest::FrameTypeAuxiliary, tr ue }, 184 { "http://example.test/page.html", WebURLRequest::FrameTypeAuxiliary, tr ue },
190 { "http://example.test/page.html", WebURLRequest::FrameTypeNested, true }, 185 { "http://example.test/page.html", WebURLRequest::FrameTypeNested, true },
191 { "http://example.test/page.html", WebURLRequest::FrameTypeNone, false } , 186 { "http://example.test/page.html", WebURLRequest::FrameTypeNone, false } ,
192 { "http://example.test/page.html", WebURLRequest::FrameTypeTopLevel, tru e }, 187 { "http://example.test/page.html", WebURLRequest::FrameTypeTopLevel, tru e },
193 { "https://example.test/page.html", WebURLRequest::FrameTypeAuxiliary, f alse }, 188 { "https://example.test/page.html", WebURLRequest::FrameTypeAuxiliary, t rue },
194 { "https://example.test/page.html", WebURLRequest::FrameTypeNested, fals e }, 189 { "https://example.test/page.html", WebURLRequest::FrameTypeNested, true },
195 { "https://example.test/page.html", WebURLRequest::FrameTypeNone, false }, 190 { "https://example.test/page.html", WebURLRequest::FrameTypeNone, false },
196 { "https://example.test/page.html", WebURLRequest::FrameTypeTopLevel, fa lse } 191 { "https://example.test/page.html", WebURLRequest::FrameTypeTopLevel, tr ue }
197 }; 192 };
198 193
199 for (auto test : tests) { 194 for (auto test : tests) {
200 document->setInsecureRequestsPolicy(SecurityContext::InsecureRequestsDoN otUpgrade); 195 document->setInsecureRequestsPolicy(SecurityContext::InsecureRequestsDoN otUpgrade);
201 expectPreferHeader(test.toRequest, test.frameType, test.shouldPrefer); 196 expectHTTPSHeader(test.toRequest, test.frameType, test.shouldPrefer);
202 197
203 document->setInsecureRequestsPolicy(SecurityContext::InsecureRequestsUpg rade); 198 document->setInsecureRequestsPolicy(SecurityContext::InsecureRequestsUpg rade);
204 expectPreferHeader(test.toRequest, test.frameType, test.shouldPrefer); 199 expectHTTPSHeader(test.toRequest, test.frameType, test.shouldPrefer);
205 } 200 }
206 } 201 }
207 202
208 class FrameFetchContextHintsTest : public ::testing::Test { 203 class FrameFetchContextHintsTest : public ::testing::Test {
209 public: 204 public:
210 FrameFetchContextHintsTest() { } 205 FrameFetchContextHintsTest() { }
211 206
212 protected: 207 protected:
213 virtual void SetUp() 208 virtual void SetUp()
214 { 209 {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 expectHeader("http://www.example.com/1.gif", "RW", false, ""); 260 expectHeader("http://www.example.com/1.gif", "RW", false, "");
266 261
267 dummyPageHolder->frame().setShouldSendDPRHint(); 262 dummyPageHolder->frame().setShouldSendDPRHint();
268 dummyPageHolder->frame().setShouldSendRWHint(); 263 dummyPageHolder->frame().setShouldSendRWHint();
269 expectHeader("http://www.example.com/1.gif", "DPR", true, "1"); 264 expectHeader("http://www.example.com/1.gif", "DPR", true, "1");
270 expectHeader("http://www.example.com/1.gif", "RW", true, "500"); 265 expectHeader("http://www.example.com/1.gif", "RW", true, "500");
271 } 266 }
272 267
273 } // namespace 268 } // namespace
274 269
OLDNEW
« no previous file with comments | « Source/core/loader/FrameFetchContext.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698