X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fchrome%2Fbrowser%2Fchromeos%2Flogin%2Fui%2Fcaptive_portal_window_proxy.cc;h=11405f3a2dfcedbc2af4feadbbb176c4db8b1617;hb=ac5c4e12d0a033d1c358a787e329f167d4ded761;hp=24b00ecc3556eea6676f91f3af28a84fcc242824;hpb=0a7e0ff458505735434b51cfa564902cdb901fc1;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/chrome/browser/chromeos/login/ui/captive_portal_window_proxy.cc b/src/chrome/browser/chromeos/login/ui/captive_portal_window_proxy.cc index 24b00ec..11405f3 100644 --- a/src/chrome/browser/chromeos/login/ui/captive_portal_window_proxy.cc +++ b/src/chrome/browser/chromeos/login/ui/captive_portal_window_proxy.cc @@ -7,11 +7,12 @@ #include "chrome/browser/chromeos/login/ui/captive_portal_view.h" #include "chrome/browser/chromeos/login/ui/proxy_settings_dialog.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" -#include "components/web_modal/popup_manager.h" +#include "components/web_modal/web_contents_modal_dialog_host.h" +#include "components/web_modal/web_contents_modal_dialog_manager.h" +#include "components/web_modal/web_contents_modal_dialog_manager_delegate.h" #include "ui/views/widget/widget.h" namespace { - // The captive portal dialog is system-modal, but uses the web-content-modal // dialog manager (odd) and requires this atypical dialog widget initialization. views::Widget* CreateWindowAsFramelessChild(views::WidgetDelegate* delegate, @@ -71,15 +72,16 @@ void CaptivePortalWindowProxy::Show() { InitCaptivePortalView(); CaptivePortalView* portal = captive_portal_view_.release(); - web_modal::PopupManager* popup_manager = - web_modal::PopupManager::FromWebContents(web_contents_); - if (popup_manager) { - widget_ = - CreateWindowAsFramelessChild(portal, popup_manager->GetHostView()); - portal->Init(); - widget_->AddObserver(this); - popup_manager->ShowModalDialog(widget_->GetNativeView(), web_contents_); - } + web_modal::WebContentsModalDialogManager* manager = + web_modal::WebContentsModalDialogManager::FromWebContents(web_contents_); + const gfx::NativeWindow parent = + manager->delegate()->GetWebContentsModalDialogHost()->GetHostView(); + widget_ = CreateWindowAsFramelessChild(portal, parent); + portal->Init(); + + widget_->AddObserver(this); + manager->ShowModalDialog(widget_->GetNativeView()); + DCHECK(GetState() == STATE_DISPLAYED); } void CaptivePortalWindowProxy::Close() {