| Index: chrome/browser/supervised_user/permission_request_creator_apiary.cc
|
| diff --git a/chrome/browser/supervised_user/permission_request_creator_apiary.cc b/chrome/browser/supervised_user/permission_request_creator_apiary.cc
|
| index d6ec4e801ab32b9d200d562cbf90030eb309a79d..f4cf110369af3fd539872ccc7f13386a4e7cd655 100644
|
| --- a/chrome/browser/supervised_user/permission_request_creator_apiary.cc
|
| +++ b/chrome/browser/supervised_user/permission_request_creator_apiary.cc
|
| @@ -36,7 +36,9 @@ const char kState[] = "PENDING";
|
| static const char kAuthorizationHeaderFormat[] = "Authorization: Bearer %s";
|
|
|
| struct PermissionRequestCreatorApiary::Request {
|
| - Request(const GURL& url_requested, const base::Closure& callback);
|
| + Request(const GURL& url_requested,
|
| + const base::Closure& callback,
|
| + int url_fetcher_id);
|
| ~Request();
|
|
|
| GURL url_requested;
|
| @@ -44,47 +46,58 @@ struct PermissionRequestCreatorApiary::Request {
|
| scoped_ptr<OAuth2TokenService::Request> access_token_request;
|
| std::string access_token;
|
| bool access_token_expired;
|
| + int url_fetcher_id;
|
| scoped_ptr<net::URLFetcher> url_fetcher;
|
| };
|
|
|
| PermissionRequestCreatorApiary::Request::Request(const GURL& url_requested,
|
| - const base::Closure& callback)
|
| + const base::Closure& callback,
|
| + int url_fetcher_id)
|
| : url_requested(url_requested),
|
| callback(callback),
|
| - access_token_expired(false) {
|
| + access_token_expired(false),
|
| + url_fetcher_id(url_fetcher_id) {
|
| }
|
|
|
| PermissionRequestCreatorApiary::Request::~Request() {}
|
|
|
| PermissionRequestCreatorApiary::PermissionRequestCreatorApiary(
|
| + const GURL& api_url,
|
| OAuth2TokenService* oauth2_token_service,
|
| scoped_ptr<SupervisedUserSigninManagerWrapper> signin_wrapper,
|
| net::URLRequestContextGetter* context)
|
| : OAuth2TokenService::Consumer("permissions_creator"),
|
| + url_(api_url),
|
| oauth2_token_service_(oauth2_token_service),
|
| signin_wrapper_(signin_wrapper.Pass()),
|
| - context_(context) {}
|
| + context_(context),
|
| + url_fetcher_id_(0) {
|
| + DCHECK(url_.is_valid());
|
| +}
|
|
|
| PermissionRequestCreatorApiary::~PermissionRequestCreatorApiary() {}
|
|
|
| // static
|
| scoped_ptr<PermissionRequestCreator>
|
| -PermissionRequestCreatorApiary::CreateWithProfile(Profile* profile) {
|
| +PermissionRequestCreatorApiary::CreateWithProfile(const GURL& api_url,
|
| + Profile* profile) {
|
| ProfileOAuth2TokenService* token_service =
|
| ProfileOAuth2TokenServiceFactory::GetForProfile(profile);
|
| SigninManagerBase* signin = SigninManagerFactory::GetForProfile(profile);
|
| scoped_ptr<SupervisedUserSigninManagerWrapper> signin_wrapper(
|
| new SupervisedUserSigninManagerWrapper(profile, signin));
|
| scoped_ptr<PermissionRequestCreator> creator(
|
| - new PermissionRequestCreatorApiary(
|
| - token_service, signin_wrapper.Pass(), profile->GetRequestContext()));
|
| + new PermissionRequestCreatorApiary(api_url,
|
| + token_service,
|
| + signin_wrapper.Pass(),
|
| + profile->GetRequestContext()));
|
| return creator.Pass();
|
| }
|
|
|
| void PermissionRequestCreatorApiary::CreatePermissionRequest(
|
| const GURL& url_requested,
|
| const base::Closure& callback) {
|
| - requests_.push_back(new Request(url_requested, callback));
|
| + requests_.push_back(new Request(url_requested, callback, url_fetcher_id_));
|
| StartFetching(requests_.back());
|
| }
|
|
|
| @@ -117,11 +130,9 @@ void PermissionRequestCreatorApiary::OnGetTokenSuccess(
|
| }
|
| DCHECK(it != requests_.end());
|
| (*it)->access_token = access_token;
|
| - GURL url(CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
|
| - switches::kPermissionRequestApiUrl));
|
| - const int id = 0;
|
|
|
| - (*it)->url_fetcher.reset(URLFetcher::Create(id, url, URLFetcher::POST, this));
|
| + (*it)->url_fetcher.reset(
|
| + URLFetcher::Create((*it)->url_fetcher_id, url_, URLFetcher::POST, this));
|
|
|
| (*it)->url_fetcher->SetRequestContext(context_);
|
| (*it)->url_fetcher->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES |
|
|
|