| 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 a417685ac10e751681f8c2232f43b32584969359..a4b2685641dc913b1cde62da4d0301c20b563320 100644
|
| --- a/components/web_modal/web_contents_modal_dialog_manager.cc
|
| +++ b/components/web_modal/web_contents_modal_dialog_manager.cc
|
| @@ -71,6 +71,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);
|
| @@ -82,6 +83,16 @@ void WebContentsModalDialogManager::WillClose(gfx::NativeWindow dialog) {
|
| BlockWebContentsInteraction(!child_dialogs_.empty());
|
| }
|
|
|
| +void WebContentsModalDialogManager::AddNonClippedDialog(
|
| + gfx::NativeWindow dialog) {
|
| + nonclipped_child_dialogs_.insert(dialog);
|
| +}
|
| +
|
| +bool WebContentsModalDialogManager::IsNonClipped(
|
| + gfx::NativeWindow dialog) const {
|
| + return base::ContainsKey(nonclipped_child_dialogs_, dialog);
|
| +}
|
| +
|
| WebContentsModalDialogManager::WebContentsModalDialogManager(
|
| content::WebContents* web_contents)
|
| : content::WebContentsObserver(web_contents),
|
|
|