| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/history/web_history_service.h" | 5 #include "chrome/browser/history/web_history_service.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/json/json_reader.h" | 8 #include "base/json/json_reader.h" |
| 9 #include "base/json/json_writer.h" | 9 #include "base/json/json_writer.h" |
| 10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 oauth_scopes.insert(kHistoryOAuthScope); | 95 oauth_scopes.insert(kHistoryOAuthScope); |
| 96 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_) | 96 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_) |
| 97 ->InvalidateToken(oauth_scopes, access_token_); | 97 ->InvalidateToken(oauth_scopes, access_token_); |
| 98 | 98 |
| 99 access_token_ = std::string(); | 99 access_token_ = std::string(); |
| 100 Start(); | 100 Start(); |
| 101 return; | 101 return; |
| 102 } | 102 } |
| 103 url_fetcher_->GetResponseAsString(&response_body_); | 103 url_fetcher_->GetResponseAsString(&response_body_); |
| 104 url_fetcher_.reset(); | 104 url_fetcher_.reset(); |
| 105 is_pending_ = false; |
| 105 callback_.Run(this, true); | 106 callback_.Run(this, true); |
| 106 is_pending_ = false; | 107 // It is valid for the callback to delete |this|, so do not access any |
| 108 // members below here. |
| 107 } | 109 } |
| 108 | 110 |
| 109 // OAuth2TokenService::Consumer interface. | 111 // OAuth2TokenService::Consumer interface. |
| 110 virtual void OnGetTokenSuccess( | 112 virtual void OnGetTokenSuccess( |
| 111 const OAuth2TokenService::Request* request, | 113 const OAuth2TokenService::Request* request, |
| 112 const std::string& access_token, | 114 const std::string& access_token, |
| 113 const base::Time& expiration_time) OVERRIDE { | 115 const base::Time& expiration_time) OVERRIDE { |
| 114 token_request_.reset(); | 116 token_request_.reset(); |
| 115 DCHECK(!access_token.empty()); | 117 DCHECK(!access_token.empty()); |
| 116 access_token_ = access_token; | 118 access_token_ = access_token; |
| 117 | 119 |
| 118 // Got an access token -- start the actual API request. | 120 // Got an access token -- start the actual API request. |
| 119 url_fetcher_.reset(CreateUrlFetcher(access_token)); | 121 url_fetcher_.reset(CreateUrlFetcher(access_token)); |
| 120 url_fetcher_->Start(); | 122 url_fetcher_->Start(); |
| 121 } | 123 } |
| 122 | 124 |
| 123 virtual void OnGetTokenFailure( | 125 virtual void OnGetTokenFailure( |
| 124 const OAuth2TokenService::Request* request, | 126 const OAuth2TokenService::Request* request, |
| 125 const GoogleServiceAuthError& error) OVERRIDE { | 127 const GoogleServiceAuthError& error) OVERRIDE { |
| 126 token_request_.reset(); | 128 token_request_.reset(); |
| 127 LOG(WARNING) << "Failed to get OAuth token: " << error.ToString(); | 129 is_pending_ = false; |
| 128 callback_.Run(this, false); | 130 callback_.Run(this, false); |
| 129 is_pending_ = false; | 131 // It is valid for the callback to delete |this|, so do not access any |
| 132 // members below here. |
| 130 } | 133 } |
| 131 | 134 |
| 132 // Helper for creating a new URLFetcher for the API request. | 135 // Helper for creating a new URLFetcher for the API request. |
| 133 net::URLFetcher* CreateUrlFetcher(const std::string& access_token) { | 136 net::URLFetcher* CreateUrlFetcher(const std::string& access_token) { |
| 134 net::URLFetcher::RequestType request_type = post_data_.empty() ? | 137 net::URLFetcher::RequestType request_type = post_data_.empty() ? |
| 135 net::URLFetcher::GET : net::URLFetcher::POST; | 138 net::URLFetcher::GET : net::URLFetcher::POST; |
| 136 net::URLFetcher* fetcher = net::URLFetcher::Create( | 139 net::URLFetcher* fetcher = net::URLFetcher::Create( |
| 137 url_, request_type, this); | 140 url_, request_type, this); |
| 138 fetcher->SetRequestContext(profile_->GetRequestContext()); | 141 fetcher->SetRequestContext(profile_->GetRequestContext()); |
| 139 fetcher->SetMaxRetriesOn5xx(kMaxRetries); | 142 fetcher->SetMaxRetriesOn5xx(kMaxRetries); |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 base::Time end_time, | 370 base::Time end_time, |
| 368 const ExpireWebHistoryCallback& callback) { | 371 const ExpireWebHistoryCallback& callback) { |
| 369 std::vector<ExpireHistoryArgs> expire_list(1); | 372 std::vector<ExpireHistoryArgs> expire_list(1); |
| 370 expire_list.back().urls = restrict_urls; | 373 expire_list.back().urls = restrict_urls; |
| 371 expire_list.back().begin_time = begin_time; | 374 expire_list.back().begin_time = begin_time; |
| 372 expire_list.back().end_time = end_time; | 375 expire_list.back().end_time = end_time; |
| 373 return ExpireHistory(expire_list, callback); | 376 return ExpireHistory(expire_list, callback); |
| 374 } | 377 } |
| 375 | 378 |
| 376 } // namespace history | 379 } // namespace history |
| OLD | NEW |