Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Unified Diff: components/constrained_window/constrained_window_views.cc

Issue 1779383002: MacViews: Remove constrained window dependencies for certificate viewer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: msw@ & rsesek@ review, move sheetDidEnd::: into separate SSLCertificateViewerMac declaration. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/constrained_window/constrained_window_views.cc
diff --git a/components/constrained_window/constrained_window_views.cc b/components/constrained_window/constrained_window_views.cc
index 37d580988a66721c7a47080dc5be34df2daf7d23..53964bd275a1170bcb3aa2086bc9abc6a67ef58f 100644
--- a/components/constrained_window/constrained_window_views.cc
+++ b/components/constrained_window/constrained_window_views.cc
@@ -18,6 +18,10 @@
#include "ui/views/widget/widget_observer.h"
#include "ui/views/window/dialog_delegate.h"
+#if defined(OS_MACOSX)
+#import "components/constrained_window/native_web_contents_modal_dialog_manager_views_mac.h"
+#endif
+
using web_modal::ModalDialogHost;
using web_modal::ModalDialogHostObserver;
@@ -145,6 +149,27 @@ views::Widget* ShowWebModalDialogViews(
return widget;
}
+#if defined(OS_MACOSX)
+views::Widget* ShowWebModalDialogWithOverlayViews(
+ views::WidgetDelegate* dialog,
+ content::WebContents* initiator_web_contents) {
+ DCHECK(constrained_window_views_client);
+ // For embedded WebContents, use the embedder's WebContents for constrained
+ // window.
+ content::WebContents* web_contents =
+ guest_view::GuestViewBase::GetTopLevelWebContents(initiator_web_contents);
+ views::Widget* widget = CreateWebModalDialogViews(dialog, web_contents);
+ web_modal::WebContentsModalDialogManager* manager =
+ web_modal::WebContentsModalDialogManager::FromWebContents(web_contents);
+ std::unique_ptr<web_modal::SingleWebContentsDialogManager> dialog_manager(
+ new NativeWebContentsModalDialogManagerViewsMac(widget->GetNativeWindow(),
+ manager));
+ manager->ShowDialogWithManager(widget->GetNativeWindow(),
+ std::move(dialog_manager));
+ return widget;
+}
+#endif
+
views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog,
content::WebContents* web_contents) {
DCHECK_EQ(ui::MODAL_TYPE_CHILD, dialog->GetModalType());

Powered by Google App Engine
This is Rietveld 408576698