| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "platform/network/ResourceRequest.h" | |
| 6 | |
| 7 #include "platform/network/EncodedFormData.h" | |
| 8 #include "platform/weborigin/KURL.h" | |
| 9 #include "platform/weborigin/Referrer.h" | |
| 10 #include "public/platform/WebCachePolicy.h" | |
| 11 #include "public/platform/WebURLRequest.h" | |
| 12 #include "testing/gtest/include/gtest/gtest.h" | |
| 13 #include "wtf/text/AtomicString.h" | |
| 14 #include <memory> | |
| 15 | |
| 16 namespace blink { | |
| 17 | |
| 18 TEST(ResourceRequestTest, RequestorOriginNonNull) { | |
| 19 ResourceRequest req; | |
| 20 EXPECT_NE(nullptr, req.requestorOrigin().get()); | |
| 21 EXPECT_TRUE(req.requestorOrigin()->isUnique()); | |
| 22 } | |
| 23 | |
| 24 TEST(ResourceRequestTest, CrossThreadResourceRequestData) { | |
| 25 ResourceRequest original; | |
| 26 original.setURL(KURL(ParsedURLString, "http://www.example.com/test.htm")); | |
| 27 original.setCachePolicy(WebCachePolicy::UseProtocolCachePolicy); | |
| 28 original.setTimeoutInterval(10); | |
| 29 original.setFirstPartyForCookies( | |
| 30 KURL(ParsedURLString, "http://www.example.com/first_party.htm")); | |
| 31 original.setRequestorOrigin(SecurityOrigin::create( | |
| 32 KURL(ParsedURLString, "http://www.example.com/first_party.htm"))); | |
| 33 original.setHTTPMethod(HTTPNames::GET); | |
| 34 original.setHTTPHeaderField(AtomicString("Foo"), AtomicString("Bar")); | |
| 35 original.setHTTPHeaderField(AtomicString("Piyo"), AtomicString("Fuga")); | |
| 36 original.setPriority(ResourceLoadPriorityLow, 20); | |
| 37 | |
| 38 RefPtr<EncodedFormData> originalBody(EncodedFormData::create("Test Body")); | |
| 39 original.setHTTPBody(originalBody); | |
| 40 original.setAllowStoredCredentials(false); | |
| 41 original.setReportUploadProgress(false); | |
| 42 original.setHasUserGesture(false); | |
| 43 original.setDownloadToFile(false); | |
| 44 original.setServiceWorkerMode(WebURLRequest::ServiceWorkerMode::All); | |
| 45 original.setFetchRequestMode(WebURLRequest::FetchRequestModeCORS); | |
| 46 original.setFetchCredentialsMode( | |
| 47 WebURLRequest::FetchCredentialsModeSameOrigin); | |
| 48 original.setRequestorID(30); | |
| 49 original.setRequestorProcessID(40); | |
| 50 original.setAppCacheHostID(50); | |
| 51 original.setRequestContext(WebURLRequest::RequestContextAudio); | |
| 52 original.setFrameType(WebURLRequest::FrameTypeNested); | |
| 53 original.setHTTPReferrer( | |
| 54 Referrer("http://www.example.com/referrer.htm", ReferrerPolicyDefault)); | |
| 55 | |
| 56 EXPECT_STREQ("http://www.example.com/test.htm", | |
| 57 original.url().getString().utf8().data()); | |
| 58 EXPECT_EQ(WebCachePolicy::UseProtocolCachePolicy, original.getCachePolicy()); | |
| 59 EXPECT_EQ(10, original.timeoutInterval()); | |
| 60 EXPECT_STREQ("http://www.example.com/first_party.htm", | |
| 61 original.firstPartyForCookies().getString().utf8().data()); | |
| 62 EXPECT_STREQ("www.example.com", | |
| 63 original.requestorOrigin()->host().utf8().data()); | |
| 64 EXPECT_STREQ("GET", original.httpMethod().utf8().data()); | |
| 65 EXPECT_STREQ("Bar", original.httpHeaderFields().get("Foo").utf8().data()); | |
| 66 EXPECT_STREQ("Fuga", original.httpHeaderFields().get("Piyo").utf8().data()); | |
| 67 EXPECT_EQ(ResourceLoadPriorityLow, original.priority()); | |
| 68 EXPECT_STREQ("Test Body", | |
| 69 original.httpBody()->flattenToString().utf8().data()); | |
| 70 EXPECT_FALSE(original.allowStoredCredentials()); | |
| 71 EXPECT_FALSE(original.reportUploadProgress()); | |
| 72 EXPECT_FALSE(original.hasUserGesture()); | |
| 73 EXPECT_FALSE(original.downloadToFile()); | |
| 74 EXPECT_EQ(WebURLRequest::ServiceWorkerMode::All, | |
| 75 original.getServiceWorkerMode()); | |
| 76 EXPECT_EQ(WebURLRequest::FetchRequestModeCORS, original.fetchRequestMode()); | |
| 77 EXPECT_EQ(WebURLRequest::FetchCredentialsModeSameOrigin, | |
| 78 original.fetchCredentialsMode()); | |
| 79 EXPECT_EQ(30, original.requestorID()); | |
| 80 EXPECT_EQ(40, original.requestorProcessID()); | |
| 81 EXPECT_EQ(50, original.appCacheHostID()); | |
| 82 EXPECT_EQ(WebURLRequest::RequestContextAudio, original.requestContext()); | |
| 83 EXPECT_EQ(WebURLRequest::FrameTypeNested, original.frameType()); | |
| 84 EXPECT_STREQ("http://www.example.com/referrer.htm", | |
| 85 original.httpReferrer().utf8().data()); | |
| 86 EXPECT_EQ(ReferrerPolicyDefault, original.getReferrerPolicy()); | |
| 87 | |
| 88 std::unique_ptr<CrossThreadResourceRequestData> data1(original.copyData()); | |
| 89 ResourceRequest copy1(data1.get()); | |
| 90 | |
| 91 EXPECT_STREQ("http://www.example.com/test.htm", | |
| 92 copy1.url().getString().utf8().data()); | |
| 93 EXPECT_EQ(WebCachePolicy::UseProtocolCachePolicy, copy1.getCachePolicy()); | |
| 94 EXPECT_EQ(10, copy1.timeoutInterval()); | |
| 95 EXPECT_STREQ("http://www.example.com/first_party.htm", | |
| 96 copy1.firstPartyForCookies().getString().utf8().data()); | |
| 97 EXPECT_STREQ("www.example.com", | |
| 98 copy1.requestorOrigin()->host().utf8().data()); | |
| 99 EXPECT_STREQ("GET", copy1.httpMethod().utf8().data()); | |
| 100 EXPECT_STREQ("Bar", copy1.httpHeaderFields().get("Foo").utf8().data()); | |
| 101 EXPECT_EQ(ResourceLoadPriorityLow, copy1.priority()); | |
| 102 EXPECT_STREQ("Test Body", copy1.httpBody()->flattenToString().utf8().data()); | |
| 103 EXPECT_FALSE(copy1.allowStoredCredentials()); | |
| 104 EXPECT_FALSE(copy1.reportUploadProgress()); | |
| 105 EXPECT_FALSE(copy1.hasUserGesture()); | |
| 106 EXPECT_FALSE(copy1.downloadToFile()); | |
| 107 EXPECT_EQ(WebURLRequest::ServiceWorkerMode::All, | |
| 108 copy1.getServiceWorkerMode()); | |
| 109 EXPECT_EQ(WebURLRequest::FetchRequestModeCORS, copy1.fetchRequestMode()); | |
| 110 EXPECT_EQ(WebURLRequest::FetchCredentialsModeSameOrigin, | |
| 111 copy1.fetchCredentialsMode()); | |
| 112 EXPECT_EQ(30, copy1.requestorID()); | |
| 113 EXPECT_EQ(40, copy1.requestorProcessID()); | |
| 114 EXPECT_EQ(50, copy1.appCacheHostID()); | |
| 115 EXPECT_EQ(WebURLRequest::RequestContextAudio, copy1.requestContext()); | |
| 116 EXPECT_EQ(WebURLRequest::FrameTypeNested, copy1.frameType()); | |
| 117 EXPECT_STREQ("http://www.example.com/referrer.htm", | |
| 118 copy1.httpReferrer().utf8().data()); | |
| 119 EXPECT_EQ(ReferrerPolicyDefault, copy1.getReferrerPolicy()); | |
| 120 | |
| 121 copy1.setAllowStoredCredentials(true); | |
| 122 copy1.setReportUploadProgress(true); | |
| 123 copy1.setHasUserGesture(true); | |
| 124 copy1.setDownloadToFile(true); | |
| 125 copy1.setServiceWorkerMode(WebURLRequest::ServiceWorkerMode::None); | |
| 126 copy1.setFetchRequestMode(WebURLRequest::FetchRequestModeNoCORS); | |
| 127 copy1.setFetchCredentialsMode(WebURLRequest::FetchCredentialsModeInclude); | |
| 128 | |
| 129 std::unique_ptr<CrossThreadResourceRequestData> data2(copy1.copyData()); | |
| 130 ResourceRequest copy2(data2.get()); | |
| 131 EXPECT_TRUE(copy2.allowStoredCredentials()); | |
| 132 EXPECT_TRUE(copy2.reportUploadProgress()); | |
| 133 EXPECT_TRUE(copy2.hasUserGesture()); | |
| 134 EXPECT_TRUE(copy2.downloadToFile()); | |
| 135 EXPECT_EQ(WebURLRequest::ServiceWorkerMode::None, | |
| 136 copy2.getServiceWorkerMode()); | |
| 137 EXPECT_EQ(WebURLRequest::FetchRequestModeNoCORS, copy1.fetchRequestMode()); | |
| 138 EXPECT_EQ(WebURLRequest::FetchCredentialsModeInclude, | |
| 139 copy1.fetchCredentialsMode()); | |
| 140 } | |
| 141 | |
| 142 TEST(ResourceRequestTest, SetHasUserGesture) { | |
| 143 ResourceRequest original; | |
| 144 EXPECT_FALSE(original.hasUserGesture()); | |
| 145 original.setHasUserGesture(true); | |
| 146 EXPECT_TRUE(original.hasUserGesture()); | |
| 147 original.setHasUserGesture(false); | |
| 148 EXPECT_TRUE(original.hasUserGesture()); | |
| 149 } | |
| 150 | |
| 151 } // namespace blink | |
| OLD | NEW |