blob: f661979fb7e4e3c28ec52bf4b1a2f4876e2c588d [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_GLIC_FRE_GLIC_FRE_DIALOG_VIEW_H_
#define CHROME_BROWSER_GLIC_FRE_GLIC_FRE_DIALOG_VIEW_H_
#include "base/memory/raw_ptr.h"
#include "chrome/browser/glic/fre/fre_webui_contents_container.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_observer.h"
#include "ui/views/window/dialog_delegate.h"
class Profile;
namespace glic {
// TODO(crbug.com/393401194): Refactor this to use a separate DialogDelegate and
// View, which is the preferred structure.
class GlicFreDialogView : public views::DialogDelegateView {
public:
GlicFreDialogView(Profile* profile, GlicFreController* fre_controller);
GlicFreDialogView(const GlicFreDialogView&) = delete;
GlicFreDialogView& operator=(const GlicFreDialogView&) = delete;
~GlicFreDialogView() override;
DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kWebViewElementIdForTesting);
content::WebContents* web_contents() { return contents_->web_contents(); }
views::WebView* web_view() { return web_view_; }
private:
std::unique_ptr<FreWebUIContentsContainer> contents_;
raw_ptr<views::WebView> web_view_;
};
} // namespace glic
#endif // CHROME_BROWSER_GLIC_FRE_GLIC_FRE_DIALOG_VIEW_H_