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

Unified Diff: chrome/browser/ui/signin_view_controller_delegate.h

Issue 2617583006: Using native sheet to display modal dialogs for sign in (Closed)
Patch Set: Tab/Window modal parameter Created 3 years, 11 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: chrome/browser/ui/signin_view_controller_delegate.h
diff --git a/chrome/browser/ui/signin_view_controller_delegate.h b/chrome/browser/ui/signin_view_controller_delegate.h
index 6f9de730afaa68b05ed917bc8a88e0dbd49901a1..7b514d005f3bf6a30cc76725dc16613c9f0bda39 100644
--- a/chrome/browser/ui/signin_view_controller_delegate.h
+++ b/chrome/browser/ui/signin_view_controller_delegate.h
@@ -46,10 +46,13 @@ class SigninViewControllerDelegate : public content::WebContentsDelegate {
SigninViewController* signin_view_controller,
Browser* browser);
+ // Closes the Sign in dialog. The instance should be considered has being
+ // destroyed.
void CloseModalSignin();
msarda 2017/01/10 15:58:43 There is a typo in this comment: "the instance sho
jlebel 2017/01/11 14:25:24 Done.
// Either navigates back in the signin flow if the history state allows it or
- // closes the flow otherwise.
+ // closes the flow otherwise. If view is closed, the instance should be
+ // considered has being destroyed.
void PerformNavigation();
// This will be called by the base class to request a resize of the native
@@ -65,6 +68,17 @@ class SigninViewControllerDelegate : public content::WebContentsDelegate {
content::WebContents* web_contents_for_testing() { return web_contents_; }
protected:
+ // The presentation type of the modal sign-in dialog.
+ enum DialogModalType {
+ // The sign-in dialog is presented as tab modal: the user may interact with
+ // the parent window and the dialog is dismissed on tab navigation.
+ TAB_MODAL,
+
+ // The sign-in dialog is presented as window modal: the user cannot interact
+ // with the parent window an
+ WINDOW_MODAL
+ };
+
SigninViewControllerDelegate(SigninViewController* signin_view_controller,
content::WebContents* web_contents);
~SigninViewControllerDelegate() override;
@@ -78,7 +92,8 @@ class SigninViewControllerDelegate : public content::WebContentsDelegate {
// This will be called by this base class when the tab-modal window must be
// closed. This should close the platform-specific window that is currently
- // showing the sign in flow or the sync confirmation dialog.
+ // showing the sign in flow or the sync confirmation dialog. After this call,
+ // the current instance should be considered has being destroyed.
virtual void PerformClose() = 0;
private:

Powered by Google App Engine
This is Rietveld 408576698