#include "chrome/browser/ui/views/compose/chrome_compose_dialog_controller.h"
#include "base/functional/callback.h"
#include "base/task/sequenced_task_runner.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_dialogs.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/views/bubble/webui_bubble_dialog_view.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "components/compose/core/browser/compose_client.h"
#include "components/compose/core/browser/compose_features.h"
#include "components/compose/core/browser/compose_metrics.h"
#include "components/compose/core/browser/config.h"
#include "ui/views/bubble/bubble_border.h"
#include "ui/views/bubble/bubble_dialog_delegate_view.h"
namespace chrome {
std::unique_ptr<compose::ComposeDialogController> ShowComposeDialog(
content::WebContents& web_contents,
const gfx::RectF& element_bounds_in_screen,
compose::ComposeClient::FieldIdentifier field_ids) { … }
}
ChromeComposeDialogController::~ChromeComposeDialogController() = default;
void ChromeComposeDialogController::ShowComposeDialog(
views::View* anchor_view,
const gfx::RectF& element_bounds_in_screen) { … }
WebUIContentsWrapperT<ComposeUntrustedUI>*
ChromeComposeDialogController::GetBubbleWrapper() const { … }
void ChromeComposeDialogController::ShowUI(
base::OnceClosure focus_lost_callback) { … }
void ChromeComposeDialogController::Close() { … }
bool ChromeComposeDialogController::IsDialogShowing() { … }
void ChromeComposeDialogController::OnWidgetDestroying(views::Widget* widget) { … }
const compose::ComposeClient::FieldIdentifier&
ChromeComposeDialogController::GetFieldIds() { … }
void ChromeComposeDialogController::OnAfterWidgetDestroyed() { … }
ChromeComposeDialogController::ChromeComposeDialogController(
content::WebContents* web_contents,
compose::ComposeClient::FieldIdentifier field_ids)
: … { … }