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

Unified Diff: chrome/browser/ui/sync/one_click_signin_sync_starter.h

Issue 22510004: Show sync setup in same tab as sign in instead of active tab. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add web_contents parameter to ShowSyncSettingsPageInWebContents Created 7 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: chrome/browser/ui/sync/one_click_signin_sync_starter.h
diff --git a/chrome/browser/ui/sync/one_click_signin_sync_starter.h b/chrome/browser/ui/sync/one_click_signin_sync_starter.h
index 3fc359e3c2c4e4a900939782236a2757c00041b2..11c3ce5da4a52a2e8e618244877a29ef9e055205 100644
--- a/chrome/browser/ui/sync/one_click_signin_sync_starter.h
+++ b/chrome/browser/ui/sync/one_click_signin_sync_starter.h
@@ -17,10 +17,15 @@
#include "chrome/browser/ui/browser_list_observer.h"
#include "chrome/browser/ui/host_desktop.h"
#include "chrome/browser/ui/sync/profile_signin_confirmation_helper.h"
+#include "content/public/browser/web_contents_observer.h"
class Browser;
class ProfileSyncService;
+namespace content {
+class WebContents;
+} // namespace content
+
namespace policy {
class CloudPolicyClient;
}
@@ -29,7 +34,8 @@ class CloudPolicyClient;
// starts the sync machine. Instances of this class delete themselves once
// the job is done.
class OneClickSigninSyncStarter : public SigninTracker::Observer,
- public chrome::BrowserListObserver {
+ public chrome::BrowserListObserver,
+ public content::WebContentsObserver {
public:
enum StartSyncMode {
// Starts the process of signing the user in with the SigninManager, and
@@ -75,6 +81,9 @@ class OneClickSigninSyncStarter : public SigninTracker::Observer,
// OneClickSigninSyncStarter from a browser, provide both.
// If |display_confirmation| is true, the user will be prompted to confirm the
// signin before signin completes.
+ // |web_contents| is used to show the sync setup page, if necessary. If NULL,
+ // the sync setup page will be loaded in either a new tab or a tab that is
+ // already showing it.
// |callback| is always executed before OneClickSigninSyncStarter is deleted.
// It can be empty.
OneClickSigninSyncStarter(Profile* profile,
@@ -83,7 +92,7 @@ class OneClickSigninSyncStarter : public SigninTracker::Observer,
const std::string& email,
const std::string& password,
StartSyncMode start_mode,
- bool force_same_tab_navigation,
+ content::WebContents* web_contents,
ConfirmationRequired display_confirmation,
signin::Source source,
Callback callback);
@@ -178,8 +187,8 @@ class OneClickSigninSyncStarter : public SigninTracker::Observer,
// dialog if |configure_sync| is true.
void ShowSettingsPageInNewTab(bool configure_sync);
- // Displays the sync configuration UI in the same tab.
- void ShowSyncSettingsPageOnSameTab();
+ // Displays the sync configuration UI in the provided web contents.
+ void ShowSyncSettingsPageInWebContents(content::WebContents* contents);
// Shows the post-signin confirmation bubble. If |custom_message| is empty,
// the default "You are signed in" message is displayed.
« no previous file with comments | « chrome/browser/ui/sync/one_click_signin_helper.cc ('k') | chrome/browser/ui/sync/one_click_signin_sync_starter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698