2015-04-30 03:31:17 +00:00
|
|
|
// Copyright (c) 2015 GitHub, Inc.
|
|
|
|
// Use of this source code is governed by the MIT license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
|
|
|
#include "atom/utility/atom_content_utility_client.h"
|
|
|
|
|
2018-10-04 18:08:56 +00:00
|
|
|
#include "content/public/child/child_thread.h"
|
|
|
|
#include "services/proxy_resolver/proxy_resolver_service.h"
|
|
|
|
#include "services/proxy_resolver/public/mojom/proxy_resolver.mojom.h"
|
|
|
|
|
2015-04-30 03:31:17 +00:00
|
|
|
#if defined(OS_WIN)
|
2015-05-11 12:57:07 +00:00
|
|
|
#include "chrome/utility/printing_handler_win.h"
|
2015-04-30 03:31:17 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
namespace atom {
|
|
|
|
|
2017-01-31 10:18:51 +00:00
|
|
|
AtomContentUtilityClient::AtomContentUtilityClient() {
|
2015-05-04 12:58:48 +00:00
|
|
|
#if defined(OS_WIN)
|
2018-04-12 12:48:32 +00:00
|
|
|
handlers_.push_back(std::make_unique<printing::PrintingHandlerWin>());
|
2015-05-04 12:58:48 +00:00
|
|
|
#endif
|
2015-04-30 03:31:17 +00:00
|
|
|
}
|
|
|
|
|
2018-04-18 01:55:30 +00:00
|
|
|
AtomContentUtilityClient::~AtomContentUtilityClient() {}
|
2015-04-30 03:31:17 +00:00
|
|
|
|
2018-04-18 01:55:30 +00:00
|
|
|
bool AtomContentUtilityClient::OnMessageReceived(const IPC::Message& message) {
|
2017-04-05 03:40:43 +00:00
|
|
|
#if defined(OS_WIN)
|
2017-08-23 23:23:27 +00:00
|
|
|
for (const auto& handler : handlers_) {
|
2017-04-05 03:40:43 +00:00
|
|
|
if (handler->OnMessageReceived(message))
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
2018-10-04 18:08:56 +00:00
|
|
|
void AtomContentUtilityClient::RegisterServices(StaticServiceMap* services) {
|
|
|
|
service_manager::EmbeddedServiceInfo proxy_resolver_info;
|
|
|
|
proxy_resolver_info.task_runner =
|
|
|
|
content::ChildThread::Get()->GetIOTaskRunner();
|
|
|
|
proxy_resolver_info.factory =
|
|
|
|
base::BindRepeating(&proxy_resolver::ProxyResolverService::CreateService);
|
|
|
|
services->emplace(proxy_resolver::mojom::kProxyResolverServiceName,
|
|
|
|
proxy_resolver_info);
|
|
|
|
}
|
|
|
|
|
2015-04-30 03:31:17 +00:00
|
|
|
} // namespace atom
|