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 c2f641a06ea746d11eadee9e362df45ead1fe0ff..bf26648d7317645fdc01cc94fc923c05f0c07afe 100644 |
--- a/chrome/browser/ui/sync/one_click_signin_sync_starter.h |
+++ b/chrome/browser/ui/sync/one_click_signin_sync_starter.h |
@@ -78,6 +78,9 @@ class OneClickSigninSyncStarter : public SigninTracker::Observer, |
// signin before signin completes. |
// |web_contents| is used to show the sync UI if it's showing a blank page |
// and not about to be closed. It can be NULL. |
+ // If |web_contents| is non-NULL and the |continue_url| is non-empty, the |
+ // |web_contents| will be navigated to the |continue_url| once both signin and |
+ // Sync setup are complete. |
// |callback| is always executed before OneClickSigninSyncStarter is deleted. |
// It can be empty. |
OneClickSigninSyncStarter(Profile* profile, |
@@ -88,6 +91,7 @@ class OneClickSigninSyncStarter : public SigninTracker::Observer, |
StartSyncMode start_mode, |
content::WebContents* web_contents, |
ConfirmationRequired display_confirmation, |
+ const GURL& continue_url, |
Callback callback); |
// chrome::BrowserListObserver override. |
@@ -202,6 +206,9 @@ class OneClickSigninSyncStarter : public SigninTracker::Observer, |
// the default "You are signed in" message is displayed. |
void DisplayFinalConfirmationBubble(const base::string16& custom_message); |
+ // Loads the |continue_url_| in the current tab. |
+ void LoadContinueUrl(); |
+ |
Profile* profile_; |
Browser* browser_; |
scoped_ptr<SigninTracker> signin_tracker_; |
@@ -209,6 +216,7 @@ class OneClickSigninSyncStarter : public SigninTracker::Observer, |
chrome::HostDesktopType desktop_type_; |
bool force_same_tab_navigation_; |
ConfirmationRequired confirmation_required_; |
+ GURL continue_url_; |
// Callback executed when sync setup succeeds or fails. |
Callback sync_setup_completed_callback_; |