#ifndef CHROME_BROWSER_GLIC_HOST_WEBUI_CONTENTS_CONTAINER_H_
#define CHROME_BROWSER_GLIC_HOST_WEBUI_CONTENTS_CONTAINER_H_
#include <memory>
#include "base/memory/raw_ptr.h"
#include "chrome/browser/profiles/keep_alive/scoped_profile_keep_alive.h"
#include "content/public/browser/web_contents_observer.h"
namespace glic {
class GlicWindowController;
class WebUIContentsContainer : public content::WebContentsObserver {
public:
WebUIContentsContainer(Profile* profile,
GlicWindowController* glic_window_controller,
bool initially_hidden);
~WebUIContentsContainer() override;
WebUIContentsContainer(const WebUIContentsContainer&) = delete;
WebUIContentsContainer& operator=(const WebUIContentsContainer&) = delete;
private:
void PrimaryMainFrameRenderProcessGone(
base::TerminationStatus status) override;
ScopedProfileKeepAlive profile_keep_alive_;
const std::unique_ptr<content::WebContents> web_contents_;
const raw_ptr<GlicWindowController> glic_window_controller_;
};
}
#endif