Commit 0111964d authored by Yoichi Osato's avatar Yoichi Osato Committed by Commit Bot

Refactor ResourceFetcherTest not to copy ResourceRequest

This patch introduced a subset class of ResourceRequest for test
checking.
This is a preparation to make ResourceRequest non-copyable.

Bug: 787704
Change-Id: I0d0f52533c00078a9955a24eb16b3d9d552ab591
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1994840Reviewed-by: default avatarYutaka Hirano <yhirano@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#730084}
parent 1c2670c8
......@@ -107,6 +107,21 @@ const FetchClientSettingsObjectSnapshot& CreateFetchClientSettingsObject(
FetchClientSettingsObject::InsecureNavigationsSet());
}
class PartialResourceRequest {
public:
PartialResourceRequest() : PartialResourceRequest(ResourceRequest()) {}
PartialResourceRequest(const ResourceRequest& request)
: is_ad_resource_(request.IsAdResource()),
priority_(request.Priority()) {}
bool IsAdResource() const { return is_ad_resource_; }
ResourceLoadPriority Priority() const { return priority_; }
private:
bool is_ad_resource_;
ResourceLoadPriority priority_;
};
} // namespace
class ResourceFetcherTest : public testing::Test {
......@@ -123,7 +138,7 @@ class ResourceFetcherTest : public testing::Test {
const ResourceResponse& redirect_response,
ResourceType,
const FetchInitiatorInfo&) override {
request_ = request;
request_ = PartialResourceRequest(request);
}
void DidChangePriority(uint64_t identifier,
ResourceLoadPriority,
......@@ -149,12 +164,12 @@ class ResourceFetcherTest : public testing::Test {
int64_t encoded_data_length,
IsInternalRequest is_internal_request) override {}
const base::Optional<ResourceRequest>& GetLastRequest() const {
const base::Optional<PartialResourceRequest>& GetLastRequest() const {
return request_;
}
private:
base::Optional<ResourceRequest> request_;
base::Optional<PartialResourceRequest> request_;
};
protected:
......@@ -261,7 +276,8 @@ TEST_F(ResourceFetcherTest, WillSendRequestAdBit) {
Resource* new_resource = RawResource::Fetch(fetch_params, fetcher, nullptr);
EXPECT_EQ(resource, new_resource);
base::Optional<ResourceRequest> new_request = observer->GetLastRequest();
base::Optional<PartialResourceRequest> new_request =
observer->GetLastRequest();
EXPECT_TRUE(new_request.has_value());
EXPECT_TRUE(new_request.value().IsAdResource());
}
......@@ -976,7 +992,8 @@ TEST_F(ResourceFetcherTest, StaleWhileRevalidate) {
EXPECT_TRUE(GetMemoryCache()->Contains(resource));
static_cast<scheduler::FakeTaskRunner*>(fetcher->GetTaskRunner().get())
->RunUntilIdle();
base::Optional<ResourceRequest> swr_request = observer->GetLastRequest();
base::Optional<PartialResourceRequest> swr_request =
observer->GetLastRequest();
ASSERT_TRUE(swr_request.has_value());
EXPECT_EQ(ResourceLoadPriority::kVeryLow, swr_request->Priority());
platform_->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment