MD Downloads: UI review feedback
[chromium-blink-merge.git] / chrome / browser / signin / chrome_signin_helper.h
blob76e7082aa1c3f42bb0713f011b0f65a32dba2169
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_SIGNIN_CHROME_SIGNIN_HELPER_H_
6 #define CHROME_BROWSER_SIGNIN_CHROME_SIGNIN_HELPER_H_
8 #include <string>
10 namespace net {
11 class URLRequest;
13 class GURL;
14 class ProfileIOData;
16 // Utility functions for handling Chrome/Gaia headers during signin process.
17 // In the Mirror world, Chrome identity should always stay in sync with Gaia
18 // identity. Therefore Chrome needs to send Gaia special header for requests
19 // from a connected profile, so that Gaia can modify its response accordingly
20 // and let Chrome handles signin with native UI.
21 namespace signin {
23 // Adds X-Chrome-Connected header to all Gaia requests from a connected profile,
24 // with the exception of requests from gaia webview. Must be called on IO
25 // thread.
26 // Returns true if the account management header was added to the request.
27 bool AppendMirrorRequestHeaderHelper(net::URLRequest* request,
28 const GURL& redirect_url,
29 ProfileIOData* io_data,
30 int child_id,
31 int route_id);
33 // Looks for the X-Chrome-Manage-Accounts response header, and if found,
34 // tries to show the avatar bubble in the browser identified by the
35 // child/route id. Must be called on IO thread.
36 void ProcessMirrorResponseHeaderIfExists(net::URLRequest* request,
37 ProfileIOData* io_data,
38 int child_id,
39 int route_id);
41 }; // namespace signin
43 #endif // CHROME_BROWSER_SIGNIN_CHROME_SIGNIN_HELPER_H_