blob: ba7e99dbfd28124a01ef533a89b86beb420faa9e [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 CHROME_BROWSER_PROFILING_HOST_CHROME_CLIENT_CONNECTION_MANAGER_H_
#define CHROME_BROWSER_PROFILING_HOST_CHROME_CLIENT_CONNECTION_MANAGER_H_
#include "components/heap_profiling/client_connection_manager.h"
namespace heap_profiling {
// This class overrides ClientConnectionManager in order to prevent incognito
// renderers from being profiled.
// Like ClientConnectionManager, this class must only be constructed/accessed
// from the UI thread.
class ChromeClientConnectionManager : public ClientConnectionManager {
public:
ChromeClientConnectionManager(base::WeakPtr<Controller> controller,
Mode mode);
bool AllowedToProfileRenderer(content::RenderProcessHost* host) override;
private:
DISALLOW_COPY_AND_ASSIGN(ChromeClientConnectionManager);
};
} // namespace heap_profiling
#endif // CHROME_BROWSER_PROFILING_HOST_CHROME_CLIENT_CONNECTION_MANAGER_H_