| Index: google_apis/gaia/gaia_auth_fetcher.h
 | 
| diff --git a/google_apis/gaia/gaia_auth_fetcher.h b/google_apis/gaia/gaia_auth_fetcher.h
 | 
| index 744c33feb188aa8a0236be698d0e3a65e9cffdc6..0243d60da96f5a9d8fa0381aca913a293db9ae80 100644
 | 
| --- a/google_apis/gaia/gaia_auth_fetcher.h
 | 
| +++ b/google_apis/gaia/gaia_auth_fetcher.h
 | 
| @@ -191,6 +191,18 @@ class GaiaAuthFetcher : public net::URLFetcherDelegate {
 | 
|    // /MergeSession requests.
 | 
|    void StartGetCheckConnectionInfo();
 | 
|  
 | 
| +  // Starts listing any sessions that exist for the IDP. If all requested scopes
 | 
| +  // have been approved by the session user, then a login hint is included in
 | 
| +  // the response.
 | 
| +  void StartListIDPSessions(const std::string& scopes,
 | 
| +                            const std::string& domain);
 | 
| +
 | 
| +  // Generates an access token for the session, specifying the scopes and
 | 
| +  // |login_hint|.
 | 
| +  void StartGetTokenResponse(const std::string& scopes,
 | 
| +                             const std::string& domain,
 | 
| +                             const std::string& login_hint);
 | 
| +
 | 
|    // Implementation of net::URLFetcherDelegate
 | 
|    void OnURLFetchComplete(const net::URLFetcher* source) override;
 | 
|  
 | 
| @@ -314,6 +326,14 @@ class GaiaAuthFetcher : public net::URLFetcherDelegate {
 | 
|                                         const net::URLRequestStatus& status,
 | 
|                                         int response_code);
 | 
|  
 | 
| +  void OnListIdpSessionsFetched(const std::string& data,
 | 
| +                                const net::URLRequestStatus& status,
 | 
| +                                int response_code);
 | 
| +
 | 
| +  void OnGetTokenResponseFetched(const std::string& data,
 | 
| +                                 const net::URLRequestStatus& status,
 | 
| +                                 int response_code);
 | 
| +
 | 
|    // Tokenize the results of a ClientLogin fetch.
 | 
|    static void ParseClientLoginResponse(const std::string& data,
 | 
|                                         std::string* sid,
 | 
| @@ -334,6 +354,9 @@ class GaiaAuthFetcher : public net::URLFetcherDelegate {
 | 
|    static bool ParseClientLoginToOAuth2Cookie(const std::string& cookie,
 | 
|                                               std::string* auth_code);
 | 
|  
 | 
| +  static bool ParseListIdpSessionsResponse(const std::string& data,
 | 
| +                                           std::string* login_hint);
 | 
| +
 | 
|    // Is this a special case Gaia error for TwoFactor auth?
 | 
|    static bool IsSecondFactorSuccess(const std::string& alleged_error);
 | 
|  
 | 
| @@ -375,6 +398,13 @@ class GaiaAuthFetcher : public net::URLFetcherDelegate {
 | 
|    static std::string MakeOAuthLoginBody(const std::string& service,
 | 
|                                          const std::string& source);
 | 
|  
 | 
| +  static std::string MakeListIDPSessionsBody(const std::string& scopes,
 | 
| +                                             const std::string& domain);
 | 
| +
 | 
| +  static std::string MakeGetTokenResponseBody(const std::string& scopes,
 | 
| +                                              const std::string& domain,
 | 
| +                                              const std::string& login_hint);
 | 
| +
 | 
|    // Create a fetcher usable for making any Gaia request.  |body| is used
 | 
|    // as the body of the POST request sent to GAIA.  Any strings listed in
 | 
|    // |headers| are added as extra HTTP headers in the request.
 | 
| @@ -410,12 +440,13 @@ class GaiaAuthFetcher : public net::URLFetcherDelegate {
 | 
|    const GURL oauth_login_gurl_;
 | 
|    const GURL list_accounts_gurl_;
 | 
|    const GURL get_check_connection_info_url_;
 | 
| +  const GURL oauth2_iframe_url_;
 | 
|  
 | 
|    // While a fetch is going on:
 | 
|    scoped_ptr<net::URLFetcher> fetcher_;
 | 
|    GURL client_login_to_oauth2_gurl_;
 | 
|    std::string request_body_;
 | 
| -  std::string requested_service_; // Currently tracked for IssueAuthToken only.
 | 
| +  std::string requested_service_;
 | 
|    bool fetch_pending_;
 | 
|  
 | 
|    friend class GaiaAuthFetcherTest;
 | 
| 
 |