| // 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. |
| |
| #include "chrome/browser/ui/extensions/extension_dialog_utils.h" |
| |
| #include <utility> |
| |
| #include "content/public/browser/web_contents.h" |
| #include "ui/android/modal_dialog_wrapper.h" |
| #include "ui/base/models/dialog_model.h" |
| |
| void ShowModalDialog(gfx::NativeWindow parent, |
| std::unique_ptr<ui::DialogModel> dialog_model) { |
| ui::ModalDialogWrapper::ShowTabModal(std::move(dialog_model), parent); |
| } |
| |
| void ShowDialog(gfx::NativeWindow parent, |
| const extensions::ExtensionId& /* extension_id */, |
| std::unique_ptr<ui::DialogModel> dialog_model) { |
| // We ignore `extension_id` as dialogs are never anchored to the extension |
| // action button on Android for UX reasons. |
| ShowModalDialog(parent, std::move(dialog_model)); |
| } |
| |
| void ShowDialog(gfx::NativeWindow parent, |
| const std::vector<extensions::ExtensionId>& /* extension_ids */, |
| std::unique_ptr<ui::DialogModel> dialog_model) { |
| // We ignore `extension_ids` as dialogs are never anchored to the extension |
| // action button on Android for UX reasons. |
| ShowModalDialog(parent, std::move(dialog_model)); |
| } |
| |
| void ShowWebModalDialog(content::WebContents* web_contents, |
| std::unique_ptr<ui::DialogModel> dialog_model) { |
| ShowModalDialog(web_contents->GetTopLevelNativeWindow(), |
| std::move(dialog_model)); |
| } |