blob: 8ce3cf7bb92fd0cce4ed5c56c65fc03569abfda7 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "platform/loader/testing/MockResource.h"
#include "platform/loader/fetch/FetchParameters.h"
#include "platform/loader/fetch/ResourceFetcher.h"
#include "platform/loader/fetch/ResourceLoaderOptions.h"
namespace blink {
namespace {
class MockResourceFactory final : public NonTextResourceFactory {
public:
MockResourceFactory() : NonTextResourceFactory(Resource::kMock) {}
Resource* Create(const ResourceRequest& request,
const ResourceLoaderOptions& options) const override {
return new MockResource(request, options);
}
};
} // namespace
// static
MockResource* MockResource::Fetch(FetchParameters& params,
ResourceFetcher* fetcher,
ResourceClient* client) {
params.SetRequestContext(WebURLRequest::kRequestContextSubresource);
return static_cast<MockResource*>(
fetcher->RequestResource(params, MockResourceFactory(), client));
}
// static
MockResource* MockResource::Create(const ResourceRequest& request) {
ResourceLoaderOptions options;
return new MockResource(request, options);
}
MockResource::MockResource(const ResourceRequest& request,
const ResourceLoaderOptions& options)
: Resource(request, Resource::kMock, options) {}
} // namespace blink