| Index: third_party/WebKit/Source/core/fetch/RawResourceTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/fetch/RawResourceTest.cpp b/third_party/WebKit/Source/core/fetch/RawResourceTest.cpp
|
| index 9ba94d2c5d6e68b23a3ef6b6ae1c61a8749f2087..a405dd7b92ed771920ef44e3f4b8bc10bbff1a07 100644
|
| --- a/third_party/WebKit/Source/core/fetch/RawResourceTest.cpp
|
| +++ b/third_party/WebKit/Source/core/fetch/RawResourceTest.cpp
|
| @@ -56,7 +56,7 @@ TEST(RawResourceTest, DontIgnoreAcceptForCacheReuse)
|
|
|
| class DummyClient final : public RawResourceClient {
|
| public:
|
| - DummyClient() : m_called(false), m_numberOfRedirectsReceived(0) {}
|
| + DummyClient() : m_called(false) {}
|
| ~DummyClient() override {}
|
|
|
| // ResourceClient implementation.
|
| @@ -71,17 +71,10 @@ public:
|
| m_data.append(data, length);
|
| }
|
|
|
| - void redirectReceived(Resource*, ResourceRequest&, const ResourceResponse&) override
|
| - {
|
| - ++m_numberOfRedirectsReceived;
|
| - }
|
| -
|
| bool called() { return m_called; }
|
| - int numberOfRedirectsReceived() const { return m_numberOfRedirectsReceived; }
|
| const Vector<char>& data() { return m_data; }
|
| private:
|
| bool m_called;
|
| - int m_numberOfRedirectsReceived;
|
| Vector<char> m_data;
|
| };
|
|
|
| @@ -240,81 +233,6 @@ TEST(RawResourceTest, RevalidationSucceededUpdateHeaders)
|
| EXPECT_EQ(0u, client->data().size());
|
| }
|
|
|
| -TEST(RawResourceTest, RedirectDuringRevalidation)
|
| -{
|
| - Resource* resource = RawResource::create(ResourceRequest("https://example.com/1"), Resource::Raw);
|
| - ResourceResponse response;
|
| - response.setURL(KURL(ParsedURLString, "https://example.com/1"));
|
| - response.setHTTPStatusCode(200);
|
| - resource->responseReceived(response, nullptr);
|
| - const char data[5] = "abcd";
|
| - resource->appendData(data, 4);
|
| - resource->finish();
|
| - memoryCache()->add(resource);
|
| -
|
| - EXPECT_FALSE(resource->isCacheValidator());
|
| - EXPECT_EQ("https://example.com/1", resource->resourceRequest().url().getString());
|
| - EXPECT_EQ("https://example.com/1", resource->lastResourceRequest().url().getString());
|
| -
|
| - // Simulate a revalidation.
|
| - resource->setRevalidatingRequest(ResourceRequest("https://example.com/1"));
|
| - EXPECT_TRUE(resource->isCacheValidator());
|
| - EXPECT_EQ("https://example.com/1", resource->resourceRequest().url().getString());
|
| - EXPECT_EQ("https://example.com/1", resource->lastResourceRequest().url().getString());
|
| -
|
| - Persistent<DummyClient> client = new DummyClient;
|
| - resource->addClient(client);
|
| -
|
| - // The revalidating request is redirected.
|
| - ResourceResponse redirectResponse;
|
| - redirectResponse.setURL(KURL(ParsedURLString, "https://example.com/1"));
|
| - redirectResponse.setHTTPHeaderField("location", "https://example.com/2");
|
| - redirectResponse.setHTTPStatusCode(308);
|
| - ResourceRequest redirectedRevalidatingRequest("https://example.com/2");
|
| - resource->willFollowRedirect(redirectedRevalidatingRequest, redirectResponse);
|
| - EXPECT_FALSE(resource->isCacheValidator());
|
| - EXPECT_EQ("https://example.com/1", resource->resourceRequest().url().getString());
|
| - EXPECT_EQ("https://example.com/2", resource->lastResourceRequest().url().getString());
|
| -
|
| - // The final response is received.
|
| - ResourceResponse revalidatingResponse;
|
| - revalidatingResponse.setURL(KURL(ParsedURLString, "https://example.com/2"));
|
| - revalidatingResponse.setHTTPStatusCode(200);
|
| - resource->responseReceived(revalidatingResponse, nullptr);
|
| - const char data2[4] = "xyz";
|
| - resource->appendData(data2, 3);
|
| - resource->finish();
|
| - EXPECT_FALSE(resource->isCacheValidator());
|
| - EXPECT_EQ("https://example.com/1", resource->resourceRequest().url().getString());
|
| - EXPECT_EQ("https://example.com/2", resource->lastResourceRequest().url().getString());
|
| - EXPECT_FALSE(resource->isCacheValidator());
|
| - EXPECT_EQ(200, resource->response().httpStatusCode());
|
| - EXPECT_EQ(3u, resource->resourceBuffer()->size());
|
| - EXPECT_EQ(memoryCache()->resourceForURL(KURL(ParsedURLString, "https://example.com/1")), resource);
|
| -
|
| - EXPECT_TRUE(client->called());
|
| - EXPECT_EQ(1, client->numberOfRedirectsReceived());
|
| - EXPECT_EQ("xyz", String(client->data().data(), client->data().size()));
|
| -
|
| - // Test the case where a client is added after revalidation is completed.
|
| - Persistent<DummyClient> client2 = new DummyClient;
|
| - resource->addClient(client2);
|
| -
|
| - // Because RawResourceClient is added asynchronously,
|
| - // |runPendingTasks()| is called to make |client2| to be notified.
|
| - testing::runPendingTasks();
|
| -
|
| - EXPECT_TRUE(client2->called());
|
| - EXPECT_EQ(1, client2->numberOfRedirectsReceived());
|
| - EXPECT_EQ("xyz", String(client2->data().data(), client2->data().size()));
|
| -
|
| - memoryCache()->remove(resource);
|
| -
|
| - resource->removeClient(client);
|
| - resource->removeClient(client2);
|
| - EXPECT_FALSE(resource->hasClientsOrObservers());
|
| -}
|
| -
|
| TEST(RawResourceTest, AddClientDuringCallback)
|
| {
|
| Resource* raw = RawResource::create(ResourceRequest("data:text/html,"), Resource::Raw);
|
|
|