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 "config.h" |
| 6 #include "ResourceRequest.h" |
| 7 |
| 8 #include "platform/network/FormData.h" |
| 9 #include "platform/weborigin/KURL.h" |
| 10 #include "platform/weborigin/Referrer.h" |
| 11 #include "public/platform/WebURLRequest.h" |
| 12 #include "wtf/text/AtomicString.h" |
| 13 #include <gtest/gtest.h> |
| 14 |
| 15 namespace blink { |
| 16 |
| 17 TEST(ResourceRequestTest, CrossThreadResourceRequestData) |
| 18 { |
| 19 ResourceRequest original; |
| 20 original.setURL(KURL(ParsedURLString, "http://www.example.com/test.htm")); |
| 21 original.setCachePolicy(UseProtocolCachePolicy); |
| 22 original.setTimeoutInterval(10); |
| 23 original.setFirstPartyForCookies(KURL(ParsedURLString, "http://www.example.c
om/first_party.htm")); |
| 24 original.setHTTPMethod(AtomicString("GET", AtomicString::ConstructFromLitera
l)); |
| 25 original.setHTTPHeaderField(AtomicString("Foo"), AtomicString("Bar")); |
| 26 original.setHTTPHeaderField(AtomicString("Piyo"), AtomicString("Fuga")); |
| 27 original.setPriority(ResourceLoadPriorityLow, 20); |
| 28 |
| 29 RefPtr<FormData> originalBody(FormData::create("Test Body")); |
| 30 original.setHTTPBody(originalBody); |
| 31 original.setAllowStoredCredentials(false); |
| 32 original.setReportUploadProgress(false); |
| 33 original.setHasUserGesture(false); |
| 34 original.setDownloadToFile(false); |
| 35 original.setSkipServiceWorker(false); |
| 36 original.setRequestorID(30); |
| 37 original.setRequestorProcessID(40); |
| 38 original.setAppCacheHostID(50); |
| 39 original.setRequestContext(WebURLRequest::RequestContextAudio); |
| 40 original.setFrameType(WebURLRequest::FrameTypeNested); |
| 41 original.setHTTPReferrer(Referrer("http://www.example.com/referrer.htm", Ref
errerPolicyDefault)); |
| 42 |
| 43 EXPECT_STREQ("http://www.example.com/test.htm", original.url().string().utf8
().data()); |
| 44 EXPECT_EQ(UseProtocolCachePolicy, original.cachePolicy()); |
| 45 EXPECT_EQ(10, original.timeoutInterval()); |
| 46 EXPECT_STREQ("http://www.example.com/first_party.htm", original.firstPartyFo
rCookies().string().utf8().data()); |
| 47 EXPECT_STREQ("GET", original.httpMethod().utf8().data()); |
| 48 EXPECT_STREQ("Bar", original.httpHeaderFields().get("Foo").utf8().data()); |
| 49 EXPECT_STREQ("Fuga", original.httpHeaderFields().get("Piyo").utf8().data()); |
| 50 EXPECT_EQ(ResourceLoadPriorityLow, original.priority()); |
| 51 EXPECT_STREQ("Test Body", original.httpBody()->flattenToString().utf8().data
()); |
| 52 EXPECT_FALSE(original.allowStoredCredentials()); |
| 53 EXPECT_FALSE(original.reportUploadProgress()); |
| 54 EXPECT_FALSE(original.hasUserGesture()); |
| 55 EXPECT_FALSE(original.downloadToFile()); |
| 56 EXPECT_FALSE(original.skipServiceWorker()); |
| 57 EXPECT_EQ(30, original.requestorID()); |
| 58 EXPECT_EQ(40, original.requestorProcessID()); |
| 59 EXPECT_EQ(50, original.appCacheHostID()); |
| 60 EXPECT_EQ(WebURLRequest::RequestContextAudio, original.requestContext()); |
| 61 EXPECT_EQ(WebURLRequest::FrameTypeNested, original.frameType()); |
| 62 EXPECT_STREQ("http://www.example.com/referrer.htm", original.httpReferrer().
utf8().data()); |
| 63 EXPECT_EQ(ReferrerPolicyDefault, original.referrerPolicy()); |
| 64 |
| 65 OwnPtr<CrossThreadResourceRequestData> data1(original.copyData()); |
| 66 OwnPtr<ResourceRequest> copy1(ResourceRequest::adopt(data1.release())); |
| 67 |
| 68 EXPECT_STREQ("http://www.example.com/test.htm", copy1->url().string().utf8()
.data()); |
| 69 EXPECT_EQ(UseProtocolCachePolicy, copy1->cachePolicy()); |
| 70 EXPECT_EQ(10, copy1->timeoutInterval()); |
| 71 EXPECT_STREQ("http://www.example.com/first_party.htm", copy1->firstPartyForC
ookies().string().utf8().data()); |
| 72 EXPECT_STREQ("GET", copy1->httpMethod().utf8().data()); |
| 73 EXPECT_STREQ("Bar", copy1->httpHeaderFields().get("Foo").utf8().data()); |
| 74 EXPECT_EQ(ResourceLoadPriorityLow, copy1->priority()); |
| 75 EXPECT_STREQ("Test Body", copy1->httpBody()->flattenToString().utf8().data()
); |
| 76 EXPECT_FALSE(copy1->allowStoredCredentials()); |
| 77 EXPECT_FALSE(copy1->reportUploadProgress()); |
| 78 EXPECT_FALSE(copy1->hasUserGesture()); |
| 79 EXPECT_FALSE(copy1->downloadToFile()); |
| 80 EXPECT_FALSE(copy1->skipServiceWorker()); |
| 81 EXPECT_EQ(30, copy1->requestorID()); |
| 82 EXPECT_EQ(40, copy1->requestorProcessID()); |
| 83 EXPECT_EQ(50, copy1->appCacheHostID()); |
| 84 EXPECT_EQ(WebURLRequest::RequestContextAudio, copy1->requestContext()); |
| 85 EXPECT_EQ(WebURLRequest::FrameTypeNested, copy1->frameType()); |
| 86 EXPECT_STREQ("http://www.example.com/referrer.htm", copy1->httpReferrer().ut
f8().data()); |
| 87 EXPECT_EQ(ReferrerPolicyDefault, copy1->referrerPolicy()); |
| 88 |
| 89 copy1->setAllowStoredCredentials(true); |
| 90 copy1->setReportUploadProgress(true); |
| 91 copy1->setHasUserGesture(true); |
| 92 copy1->setDownloadToFile(true); |
| 93 copy1->setSkipServiceWorker(true); |
| 94 |
| 95 OwnPtr<CrossThreadResourceRequestData> data2(copy1->copyData()); |
| 96 OwnPtr<ResourceRequest> copy2(ResourceRequest::adopt(data2.release())); |
| 97 EXPECT_TRUE(copy2->allowStoredCredentials()); |
| 98 EXPECT_TRUE(copy2->reportUploadProgress()); |
| 99 EXPECT_TRUE(copy2->hasUserGesture()); |
| 100 EXPECT_TRUE(copy2->downloadToFile()); |
| 101 EXPECT_TRUE(copy2->skipServiceWorker()); |
| 102 } |
| 103 |
| 104 } // namespace blink |
OLD | NEW |