Chromium Code Reviews| Index: remoting/host/signaling_connector.cc |
| diff --git a/remoting/host/signaling_connector.cc b/remoting/host/signaling_connector.cc |
| index cba384a6e31bebf814dbf556f0845bcbc7647a8e..b40e0f161115b4add4cbd7f1805e6e0401c06182 100644 |
| --- a/remoting/host/signaling_connector.cc |
| +++ b/remoting/host/signaling_connector.cc |
| @@ -31,10 +31,14 @@ SignalingConnector::OAuthCredentials::OAuthCredentials( |
| client_info(client_info_value) { |
| } |
| -SignalingConnector::SignalingConnector(XmppSignalStrategy* signal_strategy) |
| +SignalingConnector::SignalingConnector( |
| + XmppSignalStrategy* signal_strategy, |
| + const base::Closure& auth_failed_callback) |
| : signal_strategy_(signal_strategy), |
| + auth_failed_callback_(auth_failed_callback), |
| reconnect_attempts_(0), |
| refreshing_oauth_token_(false) { |
| + DCHECK(!auth_failed_callback_.is_null()); |
| net::NetworkChangeNotifier::AddOnlineStateObserver(this); |
| net::NetworkChangeNotifier::AddIPAddressObserver(this); |
| signal_strategy_->AddListener(this); |
| @@ -49,10 +53,8 @@ SignalingConnector::~SignalingConnector() { |
| void SignalingConnector::EnableOAuth( |
| scoped_ptr<OAuthCredentials> oauth_credentials, |
| - const base::Closure& oauth_failed_callback, |
| net::URLRequestContextGetter* url_context) { |
| oauth_credentials_ = oauth_credentials.Pass(); |
| - oauth_failed_callback_ = oauth_failed_callback; |
| gaia_oauth_client_.reset(new GaiaOAuthClient(kGaiaOAuth2Url, url_context)); |
| } |
| @@ -67,6 +69,12 @@ void SignalingConnector::OnSignalStrategyStateChange( |
| LOG(INFO) << "Signaling disconnected."; |
| reconnect_attempts_++; |
| ScheduleTryReconnect(); |
| + |
| + // If authentication failed then it means that we have invalid |
|
simonmorris
2012/05/11 19:57:25
"it means that" -> ""
"have invalid" -> "have an i
Sergey Ulanov
2012/05/11 20:48:05
Done.
|
| + // OAuth token, so inform the upper layer about it. |
| + if (signal_strategy_->GetError() == SignalStrategy::AUTHENTICATION_FAILED) { |
| + auth_failed_callback_.Run(); |
|
simonmorris
2012/05/11 19:57:25
Optional suggestion: don't schedule retries in thi
Sergey Ulanov
2012/05/11 20:48:05
Done.
|
| + } |
| } |
| } |
| @@ -106,7 +114,7 @@ void SignalingConnector::OnOAuthError() { |
| LOG(ERROR) << "OAuth: invalid credentials."; |
| refreshing_oauth_token_ = false; |
| reconnect_attempts_++; |
| - oauth_failed_callback_.Run(); |
| + auth_failed_callback_.Run(); |
| } |
| void SignalingConnector::OnNetworkError(int response_code) { |