blob: a4a8820fd20ac9200b4d02ac6e3b93c717c2daaf [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/fetch/MockResource.h"
#include "platform/loader/fetch/FetchRequest.h"
#include "platform/loader/fetch/ResourceFetcher.h"
#include "platform/loader/fetch/ResourceLoaderOptions.h"
namespace blink {
namespace {
class MockResourceFactory final : public ResourceFactory {
public:
MockResourceFactory() : ResourceFactory(Resource::Mock) {}
Resource* create(const ResourceRequest& request,
const ResourceLoaderOptions& options,
const String&) const override {
return new MockResource(request, options);
}
};
} // namespace
// static
MockResource* MockResource::fetch(FetchRequest& request,
ResourceFetcher* fetcher) {
request.mutableResourceRequest().setRequestContext(
WebURLRequest::RequestContextSubresource);
Resource* resource = fetcher->requestResource(request, MockResourceFactory());
return static_cast<MockResource*>(resource);
}
// static
MockResource* MockResource::create(const ResourceRequest& request) {
return new MockResource(request, ResourceLoaderOptions());
}
MockResource::MockResource(const ResourceRequest& request,
const ResourceLoaderOptions& options)
: Resource(request, Resource::Mock, options) {}
} // namespace blink