| Index: components/web_modal/web_contents_modal_dialog_manager.cc
|
| diff --git a/components/web_modal/web_contents_modal_dialog_manager.cc b/components/web_modal/web_contents_modal_dialog_manager.cc
|
| index 52b404580291059c6c5d0bd1338ffbb2788ad2e6..ddc4fc23555ae0fce14bfd51a835b4e82b555a7c 100644
|
| --- a/components/web_modal/web_contents_modal_dialog_manager.cc
|
| +++ b/components/web_modal/web_contents_modal_dialog_manager.cc
|
| @@ -41,6 +41,16 @@ void WebContentsModalDialogManager::ShowModalDialog(gfx::NativeWindow dialog) {
|
| ShowDialogWithManager(dialog, std::move(mgr));
|
| }
|
|
|
| +// Shows the modal dialog and records that it has a non clipped display (not
|
| +// constrained to bounds of parent window).
|
| +void WebContentsModalDialogManager::ShowNonClippedModalDialog(
|
| + gfx::NativeWindow dialog) {
|
| + nonclipped_child_dialogs_.insert(dialog);
|
| + std::unique_ptr<SingleWebContentsDialogManager> mgr(
|
| + CreateNativeWebModalManager(dialog, this));
|
| + ShowDialogWithManager(dialog, std::move(mgr));
|
| +}
|
| +
|
| // TODO(gbillock): Maybe "ShowBubbleWithManager"?
|
| void WebContentsModalDialogManager::ShowDialogWithManager(
|
| gfx::NativeWindow dialog,
|
| @@ -77,6 +87,7 @@ void WebContentsModalDialogManager::WillClose(gfx::NativeWindow dialog) {
|
| if (dlg == child_dialogs_.end())
|
| return;
|
|
|
| + nonclipped_child_dialogs_.erase(dialog);
|
| bool removed_topmost_dialog = dlg == child_dialogs_.begin();
|
| std::unique_ptr<DialogState> deleter(*dlg);
|
| child_dialogs_.erase(dlg);
|
| @@ -88,6 +99,12 @@ void WebContentsModalDialogManager::WillClose(gfx::NativeWindow dialog) {
|
| BlockWebContentsInteraction(!child_dialogs_.empty());
|
| }
|
|
|
| +bool WebContentsModalDialogManager::IsNonClipped(
|
| + gfx::NativeWindow dialog) const {
|
| + return nonclipped_child_dialogs_.find(dialog) !=
|
| + nonclipped_child_dialogs_.end();
|
| +}
|
| +
|
| WebContentsModalDialogManager::WebContentsModalDialogManager(
|
| content::WebContents* web_contents)
|
| : content::WebContentsObserver(web_contents),
|
|
|