blob: 98a6e1ed9a8c132bfc3b1c54761446bbfad49687 [file] [log] [blame]
// Copyright 2018 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.
#ifndef CONTENT_BROWSER_GPU_VIZ_DEVTOOLS_CONNECTOR_H_
#define CONTENT_BROWSER_GPU_VIZ_DEVTOOLS_CONNECTOR_H_
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
#include "content/common/content_export.h"
#include "services/network/public/mojom/tcp_socket.mojom.h"
namespace content {
// Creates a TCP server socket, and uses it to connect the viz devtools server
// on the gpu process.
class CONTENT_EXPORT VizDevToolsConnector {
public:
VizDevToolsConnector();
~VizDevToolsConnector();
void ConnectVizDevTools();
private:
void OnVizDevToolsSocketCreated(network::mojom::TCPServerSocketPtrInfo socket,
int result,
int port);
base::WeakPtrFactory<VizDevToolsConnector> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(VizDevToolsConnector);
};
} // namespace content
#endif // CONTENT_BROWSER_GPU_VIZ_DEVTOOLS_CONNECTOR_H_