| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 "google_apis/gcm/gcm_client_impl.h" | 5 #include "google_apis/gcm/gcm_client_impl.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 }; | 62 }; |
| 63 | 63 |
| 64 // Indicates a message type of the received message. | 64 // Indicates a message type of the received message. |
| 65 enum MessageType { | 65 enum MessageType { |
| 66 UNKNOWN, // Undetermined type. | 66 UNKNOWN, // Undetermined type. |
| 67 DATA_MESSAGE, // Regular data message. | 67 DATA_MESSAGE, // Regular data message. |
| 68 DELETED_MESSAGES, // Messages were deleted on the server. | 68 DELETED_MESSAGES, // Messages were deleted on the server. |
| 69 SEND_ERROR, // Error sending a message. | 69 SEND_ERROR, // Error sending a message. |
| 70 }; | 70 }; |
| 71 | 71 |
| 72 // MCS endpoints. SSL Key pinning is done automatically due to the *.google.com | |
| 73 // pinning rule. | |
| 74 // Note: modifying the endpoints will affect the ability to compare the | |
| 75 // GCM.CurrentEnpoint histogram across versions. | |
| 76 const char kMCSEndpointMain[] = "https://mtalk.google.com:5228"; | |
| 77 const char kMCSEndpointFallback[] = "https://mtalk.google.com:443"; | |
| 78 | |
| 79 const int kMaxRegistrationRetries = 5; | 72 const int kMaxRegistrationRetries = 5; |
| 80 const char kMessageTypeDataMessage[] = "gcm"; | 73 const char kMessageTypeDataMessage[] = "gcm"; |
| 81 const char kMessageTypeDeletedMessagesKey[] = "deleted_messages"; | 74 const char kMessageTypeDeletedMessagesKey[] = "deleted_messages"; |
| 82 const char kMessageTypeKey[] = "message_type"; | 75 const char kMessageTypeKey[] = "message_type"; |
| 83 const char kMessageTypeSendErrorKey[] = "send_error"; | 76 const char kMessageTypeSendErrorKey[] = "send_error"; |
| 84 const char kSendErrorMessageIdKey[] = "google.message_id"; | 77 const char kSendErrorMessageIdKey[] = "google.message_id"; |
| 85 const char kSendMessageFromValue[] = "gcm@chrome.com"; | 78 const char kSendMessageFromValue[] = "gcm@chrome.com"; |
| 86 const int64 kDefaultUserSerialNumber = 0LL; | 79 const int64 kDefaultUserSerialNumber = 0LL; |
| 87 | 80 |
| 88 GCMClient::Result ToGCMClientResult(MCSClient::MessageSendStatus status) { | 81 GCMClient::Result ToGCMClientResult(MCSClient::MessageSendStatus status) { |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 } | 222 } |
| 230 | 223 |
| 231 state_ = INITIAL_DEVICE_CHECKIN; | 224 state_ = INITIAL_DEVICE_CHECKIN; |
| 232 device_checkin_info_.Reset(); | 225 device_checkin_info_.Reset(); |
| 233 StartCheckin(); | 226 StartCheckin(); |
| 234 } | 227 } |
| 235 | 228 |
| 236 void GCMClientImpl::InitializeMCSClient( | 229 void GCMClientImpl::InitializeMCSClient( |
| 237 scoped_ptr<GCMStore::LoadResult> result) { | 230 scoped_ptr<GCMStore::LoadResult> result) { |
| 238 std::vector<GURL> endpoints; | 231 std::vector<GURL> endpoints; |
| 239 endpoints.push_back(GURL(kMCSEndpointMain)); | 232 endpoints.push_back(gservices_settings_.mcs_main_endpoint()); |
| 240 endpoints.push_back(GURL(kMCSEndpointFallback)); | 233 endpoints.push_back(gservices_settings_.mcs_fallback_endpoint()); |
| 241 connection_factory_ = internals_builder_->BuildConnectionFactory( | 234 connection_factory_ = internals_builder_->BuildConnectionFactory( |
| 242 endpoints, | 235 endpoints, |
| 243 kDefaultBackoffPolicy, | 236 kDefaultBackoffPolicy, |
| 244 network_session_, | 237 network_session_, |
| 245 net_log_.net_log(), | 238 net_log_.net_log(), |
| 246 &recorder_); | 239 &recorder_); |
| 247 mcs_client_ = internals_builder_->BuildMCSClient( | 240 mcs_client_ = internals_builder_->BuildMCSClient( |
| 248 chrome_build_proto_.chrome_version(), | 241 chrome_build_proto_.chrome_version(), |
| 249 clock_.get(), | 242 clock_.get(), |
| 250 connection_factory_.get(), | 243 connection_factory_.get(), |
| (...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 764 | 757 |
| 765 recorder_.RecordIncomingSendError( | 758 recorder_.RecordIncomingSendError( |
| 766 data_message_stanza.category(), | 759 data_message_stanza.category(), |
| 767 data_message_stanza.to(), | 760 data_message_stanza.to(), |
| 768 data_message_stanza.id()); | 761 data_message_stanza.id()); |
| 769 delegate_->OnMessageSendError(data_message_stanza.category(), | 762 delegate_->OnMessageSendError(data_message_stanza.category(), |
| 770 send_error_details); | 763 send_error_details); |
| 771 } | 764 } |
| 772 | 765 |
| 773 } // namespace gcm | 766 } // namespace gcm |
| OLD | NEW |