blob: 19e3b1de6790097f637e05ea31f1df62b2c82153 [file] [log] [blame]
// Copyright 2017 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 "content/test/test_mojo_proxy_resolver_factory.h"
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/logging.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
namespace content {
TestMojoProxyResolverFactory::TestMojoProxyResolverFactory()
: service_keepalive_(static_cast<service_manager::ServiceBinding*>(nullptr),
base::nullopt),
binding_(this) {
proxy_resolver_factory_impl_.BindRequest(mojo::MakeRequest(&factory_),
&service_keepalive_);
}
TestMojoProxyResolverFactory::~TestMojoProxyResolverFactory() = default;
void TestMojoProxyResolverFactory::CreateResolver(
const std::string& pac_script,
proxy_resolver::mojom::ProxyResolverRequest req,
proxy_resolver::mojom::ProxyResolverFactoryRequestClientPtr client) {
resolver_created_ = true;
factory_->CreateResolver(pac_script, std::move(req), std::move(client));
}
proxy_resolver::mojom::ProxyResolverFactoryPtr
TestMojoProxyResolverFactory::CreateFactoryInterface() {
DCHECK(!binding_.is_bound());
proxy_resolver::mojom::ProxyResolverFactoryPtr mojo_factory;
binding_.Bind(mojo::MakeRequest(&mojo_factory));
return mojo_factory;
}
} // namespace content