blob: ea0eb7287090d1e75f31f25904fa8c0acd64dbb7 [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_WEBUI_EXAMPLES_BROWSER_CONTENT_BROWSER_CLIENT_H_
#define UI_WEBUI_EXAMPLES_BROWSER_CONTENT_BROWSER_CLIENT_H_
#include <memory>
#include "base/memory/raw_ptr.h"
#include "content/public/browser/content_browser_client.h"
namespace webui_examples {
class BrowserMainParts;
class ContentBrowserClient : public content::ContentBrowserClient {
public:
ContentBrowserClient();
ContentBrowserClient(const ContentBrowserClient&) = delete;
ContentBrowserClient& operator=(const ContentBrowserClient&) = delete;
~ContentBrowserClient() override;
private:
// content::ContentBrowserClient:
std::unique_ptr<content::BrowserMainParts> CreateBrowserMainParts(
bool is_integration_test) override;
std::unique_ptr<content::WebContentsViewDelegate> GetWebContentsViewDelegate(
content::WebContents* web_contents) override;
std::unique_ptr<content::DevToolsManagerDelegate>
CreateDevToolsManagerDelegate() override;
void RegisterBrowserInterfaceBindersForFrame(
content::RenderFrameHost* render_frame_host,
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) override;
std::string GetUserAgent() override;
raw_ptr<BrowserMainParts, AcrossTasksDanglingUntriaged> browser_main_parts_ =
nullptr;
};
} // namespace webui_examples
#endif // UI_WEBUI_EXAMPLES_BROWSER_CONTENT_BROWSER_CLIENT_H_