| Index: third_party/WebKit/Source/platform/network/ResourceResponseTest.cpp
|
| diff --git a/third_party/WebKit/Source/platform/network/ResourceResponseTest.cpp b/third_party/WebKit/Source/platform/network/ResourceResponseTest.cpp
|
| index 4a6b6e57dc75ed70e3bcea77e32e9b0587bc66d2..573b82710668c31e1b2ab04e37439336ae34bfb3 100644
|
| --- a/third_party/WebKit/Source/platform/network/ResourceResponseTest.cpp
|
| +++ b/third_party/WebKit/Source/platform/network/ResourceResponseTest.cpp
|
| @@ -4,10 +4,45 @@
|
|
|
| #include "platform/network/ResourceResponse.h"
|
|
|
| +#include "platform/CrossThreadFunctional.h"
|
| +#include "platform/WebTaskRunner.h"
|
| +#include "public/platform/Platform.h"
|
| +#include "public/platform/WebThread.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace blink {
|
|
|
| +namespace {
|
| +
|
| +ResourceResponse createTestResponse() {
|
| + ResourceResponse response;
|
| + response.addHTTPHeaderField("age", "0");
|
| + response.addHTTPHeaderField("cache-control", "no-cache");
|
| + response.addHTTPHeaderField("date", "Tue, 17 Jan 2017 04:01:00 GMT");
|
| + response.addHTTPHeaderField("expires", "Tue, 17 Jan 2017 04:11:00 GMT");
|
| + response.addHTTPHeaderField("last-modified", "Tue, 17 Jan 2017 04:00:00 GMT");
|
| + response.addHTTPHeaderField("pragma", "public");
|
| + response.addHTTPHeaderField("etag", "abc");
|
| + response.addHTTPHeaderField("content-disposition",
|
| + "attachment; filename=a.txt");
|
| + return response;
|
| +}
|
| +
|
| +void runHeaderRelatedTest(const ResourceResponse& response) {
|
| + EXPECT_EQ(0, response.age());
|
| + EXPECT_NE(0, response.date());
|
| + EXPECT_NE(0, response.expires());
|
| + EXPECT_NE(0, response.lastModified());
|
| + EXPECT_EQ(true, response.cacheControlContainsNoCache());
|
| +}
|
| +
|
| +void runInThread() {
|
| + ResourceResponse response(createTestResponse());
|
| + runHeaderRelatedTest(response);
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| TEST(ResourceResponseTest, SignedCertificateTimestampIsolatedCopy) {
|
| ResourceResponse::SignedCertificateTimestamp src(
|
| "status", "origin", "logDescription", "logId", 7, "hashAlgorithm",
|
| @@ -32,4 +67,16 @@ TEST(ResourceResponseTest, SignedCertificateTimestampIsolatedCopy) {
|
| EXPECT_NE(src.m_signatureData.impl(), dest.m_signatureData.impl());
|
| }
|
|
|
| +TEST(ResourceResponseTest, CrossThreadAtomicStrings) {
|
| + // This test checks that AtomicStrings in ResourceResponse doesn't cause the
|
| + // failure of ThreadRestrictionVerifier check.
|
| + ResourceResponse response(createTestResponse());
|
| + runHeaderRelatedTest(response);
|
| + std::unique_ptr<WebThread> thread =
|
| + WTF::wrapUnique(Platform::current()->createThread("WorkerThread"));
|
| + thread->getWebTaskRunner()->postTask(BLINK_FROM_HERE,
|
| + crossThreadBind(&runInThread));
|
| + thread.reset();
|
| +}
|
| +
|
| } // namespace blink
|
|
|